default.nix (1767B)
1 { stdenv 2 , callPackage 3 , fennel 4 , fetchFromGitHub 5 , fetchurl 6 , gobject-introspection 7 , gtk3 8 , lib 9 , librsvg 10 , lua53Packages 11 , luaDbusProxy 12 , lua5_3 13 , makeWrapper 14 , writeText 15 }: 16 let inifile = let lua = lua5_3; in lua53Packages.buildLuaPackage rec { 17 pname = "inifile"; 18 name = "${pname}-${version}"; 19 version = "1.0.2"; 20 src = fetchFromGitHub { 21 owner = "bartbes"; 22 repo = "inifile"; 23 rev = "f0b41a8a927f3413310510121c5767021957a4e0"; 24 sha256 = "1ry0q238vbp8wxwy4qp1aychh687lvbckcf647pmc03rwkakxm4r"; 25 }; 26 buildPhase = ":"; 27 installPhase = '' 28 mkdir -p "$out/share/lua/${lua.luaversion}" 29 cp inifile.lua "$out/share/lua/${lua.luaversion}/" 30 ''; 31 }; 32 33 lua = lua5_3.withPackages (ps: with ps; [ 34 luaDbusProxy 35 inifile 36 inspect 37 lgi 38 luafilesystem 39 luaposix 40 penlight 41 readline 42 ]); 43 in stdenv.mkDerivation { 44 pname = "saturn"; 45 version = "0.4.9"; # nearly Saturn 0.5 46 src =./.; 47 inherit fennel; 48 49 buildInputs = [ lua gtk3 gobject-introspection.dev ]; 50 nativeBuildInputs = [ lua makeWrapper ]; 51 52 makeFlags = [ "PREFIX=${placeholder "out"}" ]; 53 # GDK_PIXBUF_MODULE_FILE setting is to support SVG icons without 54 # their having been transformed to bitmaps. 55 # This makes a big difference to how many icons are displayed on 56 # my machine 57 postInstall = '' 58 mkdir -p $out/share/dbus-1/services 59 60 cat <<SERVICE > $out/share/dbus-1/services/net.telent.saturn.service 61 [D-BUS Service] 62 Name=net.telent.saturn 63 Exec=$out/bin/saturn 64 SERVICE 65 66 wrapProgram $out/bin/saturn --set GDK_PIXBUF_MODULE_FILE ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" 67 ''; 68 }