Commit 91c80fae authored by Spencer Pogorzelski's avatar Spencer Pogorzelski Committed by Matthieu Coudron
Browse files

luaPackages.nfd: init at scm-1

parent d6417bd3
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
{ 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 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
@@ -104,6 +104,11 @@ in
    };
  };

  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";