eufon/just/default.nix

62 lines
1.3 KiB
Nix

{ stdenv
, callPackage
, copyDesktopItems
, fetchFromGitHub
, fetchurl
, glib-networking
, gobject-introspection
, gtk3
, gnome3
, lib
, librsvg
, lua53Packages
, lua5_3
, makeDesktopItem
, makeWrapper
, writeText
}:
let pname = "just";
fennel = fetchurl {
name = "fennel.lua";
url = "https://fennel-lang.org/downloads/fennel-1.0.0";
hash = "sha256:1nha32yilzagfwrs44hc763jgwxd700kaik1is7x7lsjjvkgapw7";
};
webkitgtk = gnome3.webkitgtk;
lua = lua5_3.withPackages (ps: with ps; [
inspect
lgi
luafilesystem
luaposix
readline
]);
glib_networking_gio = "${glib-networking}/lib/gio/modules";
in stdenv.mkDerivation {
inherit pname fennel;
version = "0.1";
src =./.;
GIO_EXTRA_MODULES = glib_networking_gio;
buildInputs = [ lua gtk3 webkitgtk gobject-introspection.dev
glib-networking ];
nativeBuildInputs = [ lua makeWrapper copyDesktopItems ];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
desktopItems = [
(makeDesktopItem rec {
desktopName = "Just Browsing";
name = pname;
exec = pname;
categories = "Network;" ;
icon = ./just.png;
genericName = "Web browser";
})
];
postInstall = ''
wrapProgram $out/bin/just --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" --prefix GIO_EXTRA_MODULES ":" "${glib_networking_gio}"
'';
}