zint: split library and GUI (#407308)

This commit is contained in:
Sandro 2025-06-29 22:47:29 +02:00 committed by GitHub
commit e0b8ebc2d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 40 additions and 29 deletions

View File

@ -13,7 +13,7 @@
pkg-config,
python3,
wrapGAppsHook4,
zint,
libzint,
}:
stdenv.mkDerivation (finalAttrs: {
@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace src/model/meson.build \
--replace-fail /app/lib ${lib.getLib zint}/lib
--replace-fail /app/lib ${lib.getLib libzint}/lib
'';
strictDeps = true;
@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
gtk4
libadwaita
zint
libzint
];
meta = with lib; {

View File

@ -8,9 +8,10 @@
qt6,
versionCheckHook,
zlib,
withGUI ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "zint";
pname = "zint${lib.optionalString withGUI "-qt"}";
version = "2.15.0";
outputs = [
@ -32,13 +33,16 @@ stdenv.mkDerivation (finalAttrs: {
./fix-installation-of-cmake-files.patch
];
nativeBuildInputs = [
cmake
ninja
qt6.wrapQtAppsHook
];
nativeBuildInputs =
[
cmake
ninja
]
++ lib.optionals withGUI [
qt6.wrapQtAppsHook
];
buildInputs = [
buildInputs = lib.optionals withGUI [
qt6.qtbase
qt6.qtsvg
qt6.qttools
@ -49,12 +53,18 @@ stdenv.mkDerivation (finalAttrs: {
zlib
];
cmakeFlags = [ (lib.cmakeBool "ZINT_QT6" true) ];
cmakeFlags =
[
(lib.cmakeBool "ZINT_USE_QT" withGUI)
]
++ lib.optionals withGUI [
(lib.cmakeBool "ZINT_QT6" true) # do not use Qt 5
];
doInstallCheck = true;
nativeCheckInputs = [ versionCheckHook ];
postInstall = ''
postInstall = lib.optionalString withGUI ''
install -Dm644 -t $out/share/applications $src/zint-qt.desktop
install -Dm644 -t $out/share/pixmaps $src/zint-qt.png
install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/frontend_qt/images/scalable/zint-qt.svg
@ -64,8 +74,8 @@ stdenv.mkDerivation (finalAttrs: {
description = "Barcode generating tool and library";
longDescription = ''
The Zint project aims to provide a complete cross-platform open source
barcode generating solution. The package currently consists of a Qt based
GUI, a CLI command line executable and a library with an API to allow
barcode generating solution. The package currently consists of "${lib.optionalString withGUI "a Qt based GUI, "}
a CLI command line executable and a library with an API to allow
developers access to the capabilities of Zint.
'';
homepage = "https://www.zint.org.uk";
@ -73,6 +83,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.gpl3Plus;
maintainers = [ lib.maintainers.azahi ];
platforms = platforms.all;
mainProgram = "zint";
mainProgram = "zint${lib.optionalString withGUI "-qt"}";
};
})

View File

@ -5,7 +5,7 @@
gitUpdater,
python3,
stdenv,
zint,
libzint,
}:
stdenv.mkDerivation (finalAttrs: {
@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
zint
libzint
];
cmakeFlags = [

View File

@ -7,7 +7,7 @@
pybind11,
libzxing-cpp,
pytestCheckHook,
zint,
libzint,
}:
buildPythonPackage rec {
@ -41,7 +41,7 @@ buildPythonPackage rec {
cmake
];
buildInputs = [ zint ];
buildInputs = [ libzint ];
nativeCheckInputs = [
pillow

View File

@ -545,6 +545,7 @@ mapAliases {
dgsh = throw "'dgsh' has been removed, as it was broken and unmaintained"; # added 2024-05-09
dibbler = throw "dibbler was removed because it is not maintained anymore"; # Added 2024-05-14
dillong = throw "'dillong' has been removed, as upstream is abandoned since 2021-12-13. Use either 'dillo' or 'dillo-plus'. The latter integrates features from dillong."; # Added 2024-10-07
dina-font-pcf = throw "'dina-font-pcf' has been renamed to/replaced by 'dina-font'"; # Converted to throw 2024-10-17
directvnc = throw "'directvnc' has been removed as it was unmaintained upstream since 2015 and failed to build with gcc 14"; # Added 2025-05-17
diskonaut = throw "'diskonaut' was removed due to lack of upstream maintenance"; # Added 2025-01-25
dispad = throw "dispad has been remove because it doesn't compile and has been unmaintained since 2014"; # Added 2025-04-25
@ -553,6 +554,7 @@ mapAliases {
dleyna-renderer = dleyna; # Added 2025-04-19
dleyna-server = dleyna; # Added 2025-04-19
dnnl = throw "'dnnl' has been renamed to/replaced by 'oneDNN'"; # Converted to throw 2024-10-17
dnscrypt-proxy2 = dnscrypt-proxy; # Added 2023-02-02
dnscrypt-wrapper = throw "dnscrypt-wrapper was removed because it has been effectively unmaintained since 2018. Use DNSCcrypt support in dnsdist instead"; # Added 2024-09-14
docear = throw "Docear was removed because it was unmaintained upstream. JabRef, Zotero, or Mendeley are potential replacements."; # Added 2024-11-02
docker_24 = throw "'docker_24' has been removed because it has been unmaintained since June 2024. Use docker_25 or newer instead."; # Added 2024-12-21
@ -1439,6 +1441,7 @@ mapAliases {
oil = lib.warnOnInstantiate "Oil has been replaced with the faster native C++ version and renamed to 'oils-for-unix'. See also https://github.com/oils-for-unix/oils/wiki/Oils-Deployments" oils-for-unix; # Added 2024-10-22
oneDNN_2 = throw "oneDNN_2 has been removed as it was only used by rocmPackages.migraphx"; # added 2025-07-18
onevpl-intel-gpu = lib.warnOnInstantiate "onevpl-intel-gpu has been renamed to vpl-gpu-rt" vpl-gpu-rt; # Added 2024-06-04
openai-triton-llvm = triton-llvm; # added 2024-07-18
openai-whisper-cpp = whisper-cpp; # Added 2024-12-13
opencv2 = throw "opencv2 has been removed as it is obsolete and was not used by any other package; please migrate to OpenCV 4"; # Added 2024-08-20
opencv3 = throw "opencv3 has been removed as it is obsolete and was not used by any other package; please migrate to OpenCV 4"; # Added 2024-08-20
@ -1568,6 +1571,7 @@ mapAliases {
''; # Added 2025-03-07
polypane = throw "'polypane' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-06-25
poretools = throw "poretools has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-06-03
posix_man_pages = throw "'posix_man_pages' has been renamed to/replaced by 'man-pages-posix'"; # Converted to throw 2024-10-17
powerdns = pdns; # Added 2022-03-28
presage = throw "presage has been removed, as it has been unmaintained since 2018"; # Added 2024-03-24
projectm = throw "Since version 4, 'projectm' has been split into 'libprojectm' (the library) and 'projectm-sdl-cpp' (the SDL2 frontend). ProjectM 3 has been moved to 'projectm_3'"; # Added 2024-11-10
@ -1995,8 +1999,9 @@ mapAliases {
transifex-client = transifex-cli; # Added 2023-12-29
trfl = throw "trfl has been removed, because it has not received an update for 3 years and was broken"; # Added 2024-07-25
trezor_agent = trezor-agent; # Added 2024-01-07
openai-triton-llvm = triton-llvm; # added 2024-07-18
trust-dns = hickory-dns; # Added 2024-08-07
ttyrec = throw "'ttyrec' has been renamed to/replaced by 'ovh-ttyrec'"; # Converted to throw 2024-10-17
tuic = throw "`tuic` has been removed due to lack of upstream maintenance, consider using other tuic implementations"; # Added 2025-02-08
tumpa = throw "tumpa has been removed, as it is broken"; # Added 2024-07-15
turbogit = throw "turbogit has been removed as it is unmaintained upstream and depends on an insecure version of libgit2"; # Added 2024-08-25
tvbrowser-bin = tvbrowser; # Added 2023-03-02
@ -2004,7 +2009,6 @@ mapAliases {
typst-fmt = typstfmt; # Added 2023-07-15
typst-lsp = throw "'typst-lsp' has been removed due to lack of upstream maintenance, consider using 'tinymist' instead"; # Added 2025-01-25
typst-preview = throw "The features of 'typst-preview' have been consolidated to 'tinymist', an all-in-one language server for typst"; # Added 2024-07-07
tuic = throw "`tuic` has been removed due to lack of upstream maintenance, consider using other tuic implementations"; # Added 2025-02-08
### U ###
@ -2204,6 +2208,8 @@ mapAliases {
zig_0_11 = throw "zig 0.11 has been removed, upgrade to a newer version instead"; # Added 2025-04-09
zimlib = throw "'zimlib' has been removed because it was an outdated and unused version of 'libzim'"; # Added 2025-03-07
zinc = zincsearch; # Added 2023-05-28
zint = zint-qt; # Added 2025-05-15
zplugin = throw "'zplugin' has been renamed to/replaced by 'zinit'"; # Converted to throw 2024-10-17
zk-shell = throw "zk-shell has been removed as it was broken and unmaintained"; # Added 2024-08-10
zkg = throw "'zkg' has been replaced by 'zeek'";
zsh-history = throw "'zsh-history' has been removed as it was unmaintained"; # Added 2025-04-17
@ -2212,18 +2218,11 @@ mapAliases {
mainProgram = "zq";
};
}); # Added 2023-02-06
zyn-fusion = zynaddsubfx; # Added 2022-08-05
zz = throw "'zz' has been removed because it was archived in 2022 and had no maintainer"; # added 2024-05-10
### UNSORTED ###
dina-font-pcf = throw "'dina-font-pcf' has been renamed to/replaced by 'dina-font'"; # Converted to throw 2024-10-17
dnscrypt-proxy2 = dnscrypt-proxy; # Added 2023-02-02
posix_man_pages = throw "'posix_man_pages' has been renamed to/replaced by 'man-pages-posix'"; # Converted to throw 2024-10-17
ttyrec = throw "'ttyrec' has been renamed to/replaced by 'ovh-ttyrec'"; # Converted to throw 2024-10-17
zplugin = throw "'zplugin' has been renamed to/replaced by 'zinit'"; # Converted to throw 2024-10-17
zyn-fusion = zynaddsubfx; # Added 2022-08-05
inherit (stdenv.hostPlatform) system; # Added 2021-10-22
inherit (stdenv) buildPlatform hostPlatform targetPlatform; # Added 2023-01-09

View File

@ -9737,6 +9737,8 @@ with pkgs;
zigStdenv = if stdenv.cc.isZig then stdenv else lowPrio zig.passthru.stdenv;
libzint = zint-qt.override { withGUI = false; };
aroccPackages = recurseIntoAttrs (callPackage ../development/compilers/arocc { });
arocc = aroccPackages.latest;