pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / ue / ueberzugpp / package.nix
blob0422c54a9d16e37bee1b5d880d1a1fa86550e92e
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , pkg-config
6 , openssl
7 , zeromq
8 , cppzmq
9 , tbb_2021_11
10 , spdlog
11 , libsodium
12 , fmt
13 , vips
14 , nlohmann_json
15 , libsixel
16 , microsoft-gsl
17 , chafa
18 , cli11
19 , libexif
20 , range-v3
21 , enableOpencv ? stdenv.hostPlatform.isLinux
22 , opencv
23 , enableWayland ? stdenv.hostPlatform.isLinux
24 , extra-cmake-modules
25 , wayland
26 , wayland-protocols
27 , wayland-scanner
28 , enableX11 ? stdenv.hostPlatform.isLinux
29 , xorg
32 stdenv.mkDerivation rec {
33   pname = "ueberzugpp";
34   version = "2.9.6";
36   src = fetchFromGitHub {
37     owner = "jstkdng";
38     repo = "ueberzugpp";
39     rev = "v${version}";
40     hash = "sha256-qo9Rwnx6Oh8DRcCBUMS3JVdNyx1iZSB2Z1qfptUoPFQ=";
41   };
43   strictDeps = true;
45   nativeBuildInputs = [
46     cmake
47     pkg-config
48   ] ++ lib.optionals enableWayland [
49     wayland-scanner
50   ];
52   buildInputs = [
53     openssl
54     zeromq
55     cppzmq
56     tbb_2021_11
57     spdlog
58     libsodium
59     fmt
60     vips
61     nlohmann_json
62     libsixel
63     microsoft-gsl
64     chafa
65     cli11
66     libexif
67     range-v3
68   ] ++ lib.optionals enableOpencv [
69     opencv
70   ] ++ lib.optionals enableWayland [
71     extra-cmake-modules
72     wayland
73     wayland-protocols
74   ] ++ lib.optionals enableX11 [
75     xorg.libX11
76     xorg.xcbutilimage
77   ];
79   cmakeFlags = lib.optionals (!enableOpencv) [
80     "-DENABLE_OPENCV=OFF"
81   ] ++ lib.optionals enableWayland [
82     "-DENABLE_WAYLAND=ON"
83   ] ++ lib.optionals (!enableX11) [
84     "-DENABLE_X11=OFF"
85   ];
87   # error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer
88   preBuild = lib.optionalString (stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11.0") ''
89     export MACOSX_DEPLOYMENT_TARGET=10.14
90   '';
92   meta = with lib; {
93     description = "Drop in replacement for ueberzug written in C++";
94     homepage = "https://github.com/jstkdng/ueberzugpp";
95     license = licenses.gpl3Plus;
96     maintainers = with maintainers; [ aleksana wegank ];
97     platforms = platforms.unix;
98   };