luaPackages.nfd: init at scm-1

Changed files
+93
pkgs
development
lua-modules
top-level
+41
pkgs/development/lua-modules/nfd/default.nix
···
+
{ fetchFromGitHub, buildLuarocksPackage, lua, maintainers, pkg-config
+
, substituteAll, zenity }:
+
+
buildLuarocksPackage {
+
pname = "nfd";
+
version = "scm-1";
+
+
src = fetchFromGitHub {
+
owner = "Vexatos";
+
repo = "nativefiledialog";
+
rev = "2f74a5758e8df9b27158d444953697bc13fe90d8";
+
sha256 = "1f52mb0s9zrpsqjp10bx92wzqmy1lq7fg1fk1nd6xmv57kc3b1qv";
+
fetchSubmodules = true;
+
};
+
+
# use zenity because default gtk impl just crashes
+
patches = [
+
(substituteAll {
+
src = ./zenity.patch;
+
inherit zenity;
+
})
+
];
+
rockspecDir = "lua";
+
+
extraVariables.LUA_LIBDIR = "${lua}/lib";
+
nativeBuildInputs = [ pkg-config ];
+
+
fixupPhase = ''
+
find $out -name nfd_zenity.so -execdir mv {} nfd.so \;
+
'';
+
+
disabled = with lua; (luaversion != "5.1");
+
+
meta = {
+
description =
+
"A tiny, neat lua library that portably invokes native file open and save dialogs.";
+
homepage = "https://github.com/Alloyed/nativefiledialog/tree/master/lua";
+
license.fullName = "zlib";
+
maintainers = [ maintainers.scoder12 ];
+
};
+
}
+47
pkgs/development/lua-modules/nfd/zenity.patch
···
+
diff --git a/lua/Makefile.linux b/lua/Makefile.linux
+
index 9f5aa68..77660d4 100644
+
--- a/lua/Makefile.linux
+
+++ b/lua/Makefile.linux
+
@@ -37,5 +37,5 @@ nfd_zenity.o: src/nfd_zenity.c
+
clean:
+
rm nfd_common.o nfd_gtk.o nfd_wrap_lua.o nfd.so
+
+
-install: nfd.so
+
- cp nfd.so $(INST_LIBDIR)
+
+install:
+
+ cp nfd*.so $(INST_LIBDIR)
+
diff --git a/lua/nfd-scm-1.rockspec b/lua/nfd-scm-1.rockspec
+
index 503399d..2d0a7da 100644
+
--- a/lua/nfd-scm-1.rockspec
+
+++ b/lua/nfd-scm-1.rockspec
+
@@ -17,9 +17,6 @@ supported_platforms = { "linux", "macosx", "windows" }
+
external_dependencies = {
+
platforms = {
+
linux = {
+
- gtk3 = {
+
- library = "gtk-3",
+
- }
+
}
+
}
+
}
+
@@ -28,6 +25,7 @@ build = {
+
linux = {
+
type = "make",
+
makefile = "lua/Makefile.linux",
+
+ build_target = "nfd_zenity.so",
+
build_variables = {
+
CFLAGS="$(CFLAGS)",
+
LIBFLAG="$(LIBFLAG)",
+
diff --git a/src/nfd_zenity.c b/src/nfd_zenity.c
+
index 43ccc6d..3fcdea0 100644
+
--- a/src/nfd_zenity.c
+
+++ b/src/nfd_zenity.c
+
@@ -109,6 +109,8 @@ ZenityCommon(char** command,
+
command[i] = tmp;
+
}
+
+
+ // caller always sets command[0] to "zenity"
+
+ command[0] = strdup("@zenity@/bin/zenity");
+
AddFiltersToCommandArgs(command, commandLen, filterList);
+
+
int byteCount = 0;
+5
pkgs/top-level/lua-packages.nix
···
};
};
+
nfd = callPackage ../development/lua-modules/nfd {
+
inherit (lib) maintainers;
+
inherit (pkgs.gnome) zenity;
+
};
+
vicious = luaLib.toLuaModule( stdenv.mkDerivation rec {
pname = "vicious";
version = "2.5.1";