Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 atk,
7 cairo,
8 gdk-pixbuf,
9 glib,
10 gtk3,
11 openssl,
12 pango,
13}:
14
15rustPlatform.buildRustPackage rec {
16 pname = "noaa-apt";
17 version = "1.4.0";
18
19 src = fetchFromGitHub {
20 owner = "martinber";
21 repo = "noaa-apt";
22 rev = "v${version}";
23 sha256 = "sha256-wmjglF2+BFmlTfvqt90nbCxuldN8AEFXj7y9tgTvA2Y=";
24 };
25
26 nativeBuildInputs = [
27 pkg-config
28 ];
29
30 buildInputs = [
31 atk
32 cairo
33 gdk-pixbuf
34 glib
35 gtk3
36 openssl
37 pango
38 ];
39
40 cargoHash = "sha256-du44N+G9/nN5YuOpkWXvr1VaSQfjCpZYJ8yDc48ATIU=";
41
42 preBuild = ''
43 # Used by macro pointing to resource location at compile time.
44 export NOAA_APT_RES_DIR=$out/share/noaa-apt
45 '';
46
47 postInstall = ''
48 # Resources.
49 mkdir -p $out/share/noaa-apt
50 cp -R $src/res/* $out/share/noaa-apt/
51
52 # Desktop icon.
53 install -Dm644 -t $out/share/applications $src/debian/ar.com.mbernardi.noaa-apt.desktop
54 install -Dm644 -t $out/share/icons/hicolor/48x48/apps $src/debian/ar.com.mbernardi.noaa-apt.png
55 install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/debian/ar.com.mbernardi.noaa-apt.svg
56 '';
57
58 meta = {
59 description = "NOAA APT image decoder";
60 homepage = "https://noaa-apt.mbernardi.com.ar/";
61 license = lib.licenses.gpl3Only;
62 maintainers = with lib.maintainers; [
63 trepetti
64 tmarkus
65 ];
66 platforms = lib.platforms.all;
67 changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}";
68 mainProgram = "noaa-apt";
69 };
70}