default.nix (2075B)
1 { stdenv 2 , callPackage 3 , copyDesktopItems 4 , fennel 5 , fetchFromGitHub 6 , fetchurl 7 , glib-networking 8 , gobject-introspection 9 , gtk3 10 , gnome3 11 , lib 12 , librsvg 13 , lua53Packages 14 , lua5_3 15 , makeDesktopItem 16 , makeWrapper 17 , pandoc 18 , webkitgtk 19 , writeText 20 }: 21 let pname = "dunlin"; 22 lume = let lua = lua5_3; in lua53Packages.buildLuaPackage rec { 23 pname = "lume"; 24 version = "1"; 25 src = fetchFromGitHub { 26 repo = "lume"; owner = "rxi"; 27 rev = "98847e7812cf28d3d64b289b03fad71dc704547d"; 28 hash = "sha256-/u23EqgjjkU8FV9oXvMNXBkY8JAOJUhJAzXTSibJthU="; 29 }; 30 buildPhase = ":"; 31 installPhase = '' 32 mkdir -p "$out/share/lua/${lua.luaversion}" 33 cp lume.lua "$out/share/lua/${lua.luaversion}" 34 ''; 35 }; 36 37 lsqlite3 = callPackage ./lsqlite3.nix { lua = lua5_3; }; 38 39 lua = lua5_3.withPackages (ps: with ps; [ 40 lgi 41 luafilesystem 42 luaposix 43 readline 44 lume 45 lsqlite3 46 ]); 47 fennel_ = lua.pkgs.fennel; 48 glib_networking_gio = "${glib-networking}/lib/gio/modules"; 49 in stdenv.mkDerivation rec { 50 inherit pname; 51 fennel = fennel_; 52 53 version = "0.1"; 54 src = lib.sources.cleanSource ./.; 55 56 GIO_EXTRA_MODULES = glib_networking_gio; 57 58 buildInputs = [ 59 lua 60 gtk3 61 webkitgtk 62 gobject-introspection.dev 63 fennel 64 glib-networking 65 ]; 66 nativeBuildInputs = [ 67 lua 68 pandoc 69 makeWrapper 70 copyDesktopItems 71 ]; 72 73 makeFlags = [ "PREFIX=${placeholder "out"}" ]; 74 75 desktopItems = [ 76 (makeDesktopItem rec { 77 desktopName = "Just Browsing"; 78 name = pname; 79 exec = pname; 80 categories = ["Network"] ; 81 # icon = ./just.png; 82 genericName = "Web browser"; 83 }) 84 ]; 85 86 postInstall = '' 87 makeWrapper ${fennel}/bin/fennel \ 88 $out/bin/${pname} \ 89 --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \ 90 --prefix GIO_EXTRA_MODULES ":" "${glib_networking_gio}" \ 91 --add-flags "--add-fennel-path $out/lib/just/?.fnl" \ 92 --add-flags "--add-package-path $out/lib/just/?.lua" \ 93 --add-flags "$out/lib/just/just.fnl" 94 ''; 95 }