Something went wrong. Try again.
lol
Something went wrong. Try again.
2.3 kB · 101 lines
Nix
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102{ gnupg, gpgme, isLuaJIT, lib, libgit2, libgpg-error, lua, lux-cli, nix, openssl, perl, pkg-config, rustPlatform, toLuaModule, stdenv,}:let luaMajorMinor = lib.take 2 (lib.splitVersion lua.version); luxLuaVersionDir = if isLuaJIT then "jit" else lib.concatStringsSep "." luaMajorMinor; luaVersionDir = if isLuaJIT then "5.1" else lib.concatStringsSep "." luaMajorMinor; luaFeature = if isLuaJIT then "luajit" else "lua${lib.concatStringsSep "" luaMajorMinor}";intoLuaModule ( rustPlatform.buildRustPackage rec { pname = "lux-lua";
version = lux-cli.version;
src = lux-cli.src;
buildAndTestSubdir = "lux-lua"; buildNoDefaultFeatures = true; buildFeatures = [ luaFeature ];
cargoHash = lux-cli.cargoHash;
nativeBuildInputs = [ perl pkg-config ];
buildInputs = [ gnupg gpgme libgit2 libgpg-error openssl ];
propagatedBuildInputs = [ lua ];
doCheck = false; # lux-lua tests are broken in nixpkgs useNextest = true; nativeCheckInputs = [ lua nix ];
env = { LIBGIT2_NO_VENDOR = 1; LIBSSH2_SYS_USE_PKG_CONFIG = 1; LUX_SKIP_IMPURE_TESTS = 1; # Disable impure unit tests # Allow undefined symbols on Darwin - they must be provided by the Lua runtime RUSTFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-C link-arg=-undefined -C link-arg=dynamic_lookup"; };
buildPhase = '' runHook preBuild cargo xtask-${luaFeature} dist mkdir -p $out runHook postBuild '';
installPhase = '' runHook preInstall cp -r target/dist/share $out cp -r target/dist/lib $out mkdir -p $out/lib/lua ln -s $out/share/lux-lua/${luxLuaVersionDir} $out/lib/lua/${luaVersionDir} runHook postInstall '';
cargoTestFlags = [ "--lib" # Disable impure integration tests ];
meta = { description = "Lua API for the Lux package manager"; homepage = "https://lux.lumen-labs.org/"; changelog = "https://github.com/lumen-oss/lux/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ mrcjkb ]; platforms = lib.platforms.all; }; })