lol
1{ lib
2, stdenv
3, fetchFromGitHub
4, wrapQtAppsHook
5, cmake
6, qtbase
7, qtsvg
8, qttools
9, testers
10, zint
11}:
12
13stdenv.mkDerivation rec {
14 pname = "zint";
15 version = "2.11.1";
16
17 src = fetchFromGitHub {
18 owner = "zint";
19 repo = "zint";
20 rev = version;
21 sha256 = "sha256-ozhXy7ftmGz1XvmF8AS1ifWJ3Q5hLSsysB8qLUP60n8=";
22 };
23
24 patches = [ ./qobject.patch ];
25
26 outputs = [ "out" "dev" ];
27
28 nativeBuildInputs = [ cmake wrapQtAppsHook ];
29
30 buildInputs = [ qtbase qtsvg qttools ];
31
32 cmakeFlags = [ "-DZINT_QT6:BOOL=ON" ];
33
34 postInstall = ''
35 install -Dm644 -t $out/share/applications $src/zint-qt.desktop
36 install -Dm644 -t $out/share/pixmaps $src/zint-qt.png
37 install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/frontend_qt/images/scalable/zint-qt.svg
38 '';
39
40 passthru.tests.version = testers.testVersion {
41 package = zint;
42 command = "zint --version";
43 inherit version;
44 };
45
46 meta = with lib; {
47 description = "A barcode generating tool and library";
48 longDescription = ''
49 The Zint project aims to provide a complete cross-platform open source
50 barcode generating solution. The package currently consists of a Qt based
51 GUI, a CLI command line executable and a library with an API to allow
52 developers access to the capabilities of Zint.
53 '';
54 homepage = "https://www.zint.org.uk";
55 changelog = "https://github.com/zint/zint/blob/${version}/ChangeLog";
56 license = licenses.gpl3Plus;
57 maintainers = with maintainers; [ azahi ];
58 };
59}