100 lines
2.0 KiB
Nix
100 lines
2.0 KiB
Nix
|
{ stdenv
|
||
|
, pkg-config
|
||
|
, buildPackages
|
||
|
, callPackage
|
||
|
, fennel
|
||
|
, fetchFromGitHub
|
||
|
, fetchurl
|
||
|
, gdk-pixbuf
|
||
|
, glib
|
||
|
, gobject-introspection
|
||
|
, gtk3
|
||
|
, harfbuzz
|
||
|
, lib
|
||
|
, librsvg
|
||
|
, lua53Packages
|
||
|
, lua5_3
|
||
|
, makeWrapper
|
||
|
, pango
|
||
|
, wrapGAppsHook3
|
||
|
, writeText
|
||
|
}:
|
||
|
let
|
||
|
luaPackages = lua53Packages;
|
||
|
lgi = luaPackages.buildLuaPackage {
|
||
|
pname = "lgi";
|
||
|
version = "0.9.2-2";
|
||
|
buildInputs = [ gobject-introspection ];
|
||
|
nativeBuildInputs = [ pkg-config ];
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "lgi-devs";
|
||
|
repo = "lgi";
|
||
|
rev = "e06ad94c8a1c84e3cdb80cee293450a280dfcbc7";
|
||
|
hash = "sha256-VYr/DV1FAyzPe6p6Quc1nmsHup23IAMfz532rL167Q4=";
|
||
|
};
|
||
|
};
|
||
|
luaDbusProxy = callPackage ./lua-dbus-proxy.nix {
|
||
|
inherit (luaPackages) buildLuaPackage;
|
||
|
inherit lgi;
|
||
|
lua = lua5_3;
|
||
|
};
|
||
|
inifile = luaPackages.buildLuaPackage rec {
|
||
|
pname = "inifile";
|
||
|
name = "${pname}-${version}";
|
||
|
version = "1.0.2";
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "bartbes";
|
||
|
repo = "inifile";
|
||
|
rev = "f0b41a8a927f3413310510121c5767021957a4e0";
|
||
|
sha256 = "1ry0q238vbp8wxwy4qp1aychh687lvbckcf647pmc03rwkakxm4r";
|
||
|
};
|
||
|
buildPhase = ":";
|
||
|
installPhase = ''
|
||
|
mkdir -p "$out/share/lua/${lua.luaversion}"
|
||
|
cp inifile.lua "$out/share/lua/${lua.luaversion}/"
|
||
|
'';
|
||
|
};
|
||
|
lua = lua5_3.withPackages (ps: with ps; [
|
||
|
luaDbusProxy
|
||
|
inifile
|
||
|
inspect
|
||
|
lgi
|
||
|
luafilesystem
|
||
|
luaposix
|
||
|
penlight
|
||
|
readline
|
||
|
]);
|
||
|
in stdenv.mkDerivation {
|
||
|
pname = "saturn";
|
||
|
version = "0.4.9"; # nearly Saturn 0.5
|
||
|
src =./.;
|
||
|
|
||
|
buildInputs = [
|
||
|
lua
|
||
|
gtk3.dev
|
||
|
gobject-introspection # .dev
|
||
|
gdk-pixbuf
|
||
|
glib
|
||
|
];
|
||
|
nativeBuildInputs = [
|
||
|
buildPackages.lua
|
||
|
gobject-introspection
|
||
|
makeWrapper
|
||
|
fennel
|
||
|
wrapGAppsHook3
|
||
|
];
|
||
|
|
||
|
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||
|
|
||
|
postInstall = ''
|
||
|
mkdir -p $out/share/dbus-1/services
|
||
|
|
||
|
cat <<SERVICE > $out/share/dbus-1/services/net.telent.saturn.service
|
||
|
[D-BUS Service]
|
||
|
Name=net.telent.saturn
|
||
|
Exec=$out/bin/saturn
|
||
|
SERVICE
|
||
|
'';
|
||
|
}
|