nixpkgs/pkgs/development/lua-modules/nfd/default.nix
Matthieu Coudron 50e877ed89 buildLuarocksPackage: accept structured luarocks config
There is an arbitrary mapping being done right now between
nixpkgs lua infrastructre and luarocks config schema.
This is confusing if you use lua so let's make it possible to use the
lua names in the nixpkgs, thanks to the lib.generators.toLua convertor.

The only nixpkgs thing to remember should be to put the config into `luarocksConfig`

`buildLuarocksPackage.extraVariables` should become `buildLuarocksPackage.luarocksConfig.variables`
2024-02-17 15:58:13 +01:00

42 lines
1.1 KiB
Nix

{ stdenv, fetchFromGitHub, buildLuarocksPackage, lua, pkg-config, lib
, substituteAll, zenity, AppKit }:
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;
})
];
knownRockspec = "lua/nfd-scm-1.rockspec";
luarocksConfig.LUA_LIBDIR = "${lua}/lib";
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optionals stdenv.isDarwin [ AppKit ];
fixupPhase = ''
find $out -name nfd_zenity.so -execdir mv {} nfd.so \;
'';
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 = lib.licenses.zlib;
maintainers = [ lib.maintainers.scoder12 ];
broken = lua.luaversion != "5.1";
};
}