biscuit/pkgs/maps/default.nix

86 lines
1.6 KiB
Nix
Raw Permalink Normal View History

2024-07-22 21:25:25 +00:00
{ stdenv
, pkg-config
, buildPackages
, callPackage
, clutter
, fetchFromGitHub
, fetchurl
, gobject-introspection
, gtk3
, lib
, lua53Packages
, lua5_3
, makeDesktopItem
, makeWrapper
, wrapGAppsHook3
, writeText
, osm-gps-map
, glib-networking
, copyDesktopItems
}:
let
luaPackages = lua53Packages;
fennel = luaPackages.fennel;
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=";
};
};
lua = lua5_3.withPackages (ps: with ps; [
lgi
luafilesystem
luaposix
readline
]);
pname = "maps";
in stdenv.mkDerivation {
inherit pname;
version = "0.1";
src =./.;
buildInputs = [
lua
gtk3.dev
gobject-introspection # .dev
osm-gps-map
glib-networking
# gdk-pixbuf
# glib
# libchamplain
];
nativeBuildInputs = [
buildPackages.lua
gobject-introspection
makeWrapper
fennel
wrapGAppsHook3
copyDesktopItems
];
GIO_EXTRA_MODULES = [ "${glib-networking.out}/lib/gio/modules" ];
makeFlags = [ "PREFIX=${placeholder "out"}" "NAME=${pname}" ];
postInstall = ''
mkdir -p $out/share/icons/
cp icon.svg $out/share/icons/${pname}.svg
'';
desktopItems = [
(makeDesktopItem {
name = pname;
desktopName = "Maps";
exec = pname;
type = "Application";
icon = "nix-snowflake"; # "${placeholder "out"}/share/icons/${pname}.svg";
})
];
}