diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2018-03-11 13:43:50 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2018-03-12 16:41:59 +0100 |
commit | bb8e1c4512e6556dfc46fc9af10d005599b84b7f (patch) | |
tree | 34d3cea7f5622c53e6b72180be844a77173e4f4b /pkgs/applications/networking/mailreaders | |
parent | 29c33ba5af01fbce3aa255dac2328c50a4a1a745 (diff) | |
download | nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar.gz nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar.bz2 nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar.lz nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar.xz nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.tar.zst nixlib-bb8e1c4512e6556dfc46fc9af10d005599b84b7f.zip |
lumail: Fix package definition
Includes: * Package gets a flag to use the debug build * install phase installs all lua scripts from the package and makes lumail find them * global configuration which is shipped with the package can be overridden, if desired * parallel building enabled
Diffstat (limited to 'pkgs/applications/networking/mailreaders')
-rw-r--r-- | pkgs/applications/networking/mailreaders/lumail/default.nix | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/pkgs/applications/networking/mailreaders/lumail/default.nix b/pkgs/applications/networking/mailreaders/lumail/default.nix index ff85c98d9702..5a333c8d982c 100644 --- a/pkgs/applications/networking/mailreaders/lumail/default.nix +++ b/pkgs/applications/networking/mailreaders/lumail/default.nix @@ -1,8 +1,28 @@ { stdenv, fetchurl, pkgconfig, lua5_2, file, ncurses, gmime, pcre-cpp -, perl, perlPackages }: +, perl, perlPackages +, debugBuild ? false +, alternativeGlobalConfigFilePath ? null +}: let - version = "3.1"; + version = "3.1"; + binaryName = if debugBuild then "lumail2-debug" else "lumail2"; + alternativeConfig = builtins.toFile "lumail2.lua" + (builtins.readFile alternativeGlobalConfigFilePath); + + globalConfig = if isNull alternativeGlobalConfigFilePath then '' + mkdir -p $out/etc/lumail2 + cp global.config.lua $out/etc/lumail2.lua + for n in ./lib/*.lua; do + cp "$n" $out/etc/lumail2/ + done + '' else '' + ln -s ${alternativeConfig} $out/etc/lumail2.lua + ''; + + getPath = type : "${lua}/lib/?.${type};"; + luaPath = getPath "lua"; + luaCPath = getPath "so"; in stdenv.mkDerivation { name = "lumail-${version}"; @@ -12,7 +32,9 @@ stdenv.mkDerivation { sha256 = "0vj7p7f02m3w8wb74ilajcwznc4ai4h2ikkz9ildy0c00aqsi5w4"; }; - nativeBuildInputs = [ pkgconfig ]; + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; buildInputs = [ lua5_2 file ncurses gmime pcre-cpp perl perlPackages.JSON perlPackages.NetIMAPClient @@ -29,16 +51,26 @@ stdenv.mkDerivation { sed -e "s|^#\!\(.*/perl.*\)$|#\!\1$perlFlags|" -i perl.d/imap-proxy ''; + buildFlags = if debugBuild then "lumail2-debug" else ""; + + installPhase = '' + mkdir -p $out/bin || true + install -m755 ${binaryName} $out/bin/ + '' + + globalConfig + + '' + wrapProgram $out/bin/${binaryName} \ + --prefix LUA_PATH : "${luaPath}" \ + --prefix LUA_CPATH : "${luaCPath}" + ''; + makeFlags = [ "LVER=lua" "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc" + "LUMAIL_LIBS=$(out)/etc/lumail2" ]; - postInstall = '' - cp lumail2.user.lua $out/etc/lumail2/ - ''; - meta = with stdenv.lib; { description = "Console-based email client"; homepage = https://lumail.org/; |