biscuit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

default.nix (2247B)


      1 { stdenv
      2 , pkg-config
      3 , buildPackages
      4 , callPackage
      5 , fetchFromGitHub
      6 , fetchurl
      7 , gdk-pixbuf
      8 , glib
      9 , gobject-introspection
     10 , gtk3
     11 , harfbuzz
     12 , lib
     13 , librsvg
     14 , lua53Packages
     15 , lua5_3
     16 , makeWrapper
     17 , pango
     18 , wrapGAppsHook3
     19 , writeText
     20 }:
     21 let
     22   luaPackages = lua53Packages;
     23   fennel = luaPackages.fennel;
     24   lgi = luaPackages.buildLuaPackage {
     25     pname = "lgi";
     26     version = "0.9.2-2";
     27     buildInputs = [ gobject-introspection ];
     28     nativeBuildInputs = [ pkg-config ];
     29 
     30     src = fetchFromGitHub {
     31       owner = "lgi-devs";
     32       repo = "lgi";
     33       rev = "e06ad94c8a1c84e3cdb80cee293450a280dfcbc7";
     34       hash = "sha256-VYr/DV1FAyzPe6p6Quc1nmsHup23IAMfz532rL167Q4=";
     35     };
     36   };
     37   luaDbusProxy = callPackage ./lua-dbus-proxy.nix {
     38     inherit (luaPackages) buildLuaPackage;
     39     inherit lgi;
     40     lua = lua5_3;
     41   };
     42   inifile = luaPackages.buildLuaPackage rec {
     43     pname = "inifile";
     44     name = "${pname}-${version}";
     45     version  = "1.0.2";
     46     src = fetchFromGitHub {
     47       owner = "bartbes";
     48       repo = "inifile";
     49       rev = "f0b41a8a927f3413310510121c5767021957a4e0";
     50       sha256 = "1ry0q238vbp8wxwy4qp1aychh687lvbckcf647pmc03rwkakxm4r";
     51     };
     52     buildPhase = ":";
     53     installPhase = ''
     54         mkdir -p "$out/share/lua/${lua.luaversion}"
     55         cp inifile.lua "$out/share/lua/${lua.luaversion}/"
     56       '';
     57   };
     58   lua = lua5_3.withPackages (ps: with ps; [
     59     luaDbusProxy
     60     inifile
     61     inspect
     62     lgi
     63     luafilesystem
     64     luaposix
     65     penlight
     66     readline
     67   ]);
     68 in stdenv.mkDerivation {
     69   pname = "saturn";
     70   version = "0.4.9";            # nearly Saturn 0.5
     71   src =./.;
     72 
     73   buildInputs = [
     74     lua
     75     gtk3.dev
     76     gobject-introspection # .dev
     77     gdk-pixbuf
     78     glib
     79   ];
     80   nativeBuildInputs = [
     81     buildPackages.lua
     82     gobject-introspection
     83     makeWrapper
     84     fennel
     85     wrapGAppsHook3
     86   ];
     87 
     88   makeFlags = [ "PREFIX=${placeholder "out"}" ];
     89 
     90   postInstall = ''
     91     mkdir -p $out/share/dbus-1/services
     92 
     93     cat <<SERVICE > $out/share/dbus-1/services/net.telent.saturn.service
     94     [D-BUS Service]
     95     Name=net.telent.saturn
     96     Exec=$out/bin/saturn
     97     SERVICE
     98 
     99     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"
    100 '';
    101 }