115 lines
2.1 KiB
Nix
115 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
cmake,
|
|
pkg-config,
|
|
openssl,
|
|
zeromq,
|
|
cppzmq,
|
|
tbb_2021_11,
|
|
spdlog,
|
|
libsodium,
|
|
fmt,
|
|
vips,
|
|
nlohmann_json,
|
|
libsixel,
|
|
microsoft-gsl,
|
|
chafa,
|
|
cli11,
|
|
libexif,
|
|
range-v3,
|
|
enableOpencv ? stdenv.hostPlatform.isLinux,
|
|
opencv,
|
|
enableWayland ? stdenv.hostPlatform.isLinux,
|
|
extra-cmake-modules,
|
|
wayland,
|
|
wayland-protocols,
|
|
wayland-scanner,
|
|
enableX11 ? stdenv.hostPlatform.isLinux,
|
|
xorg,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "ueberzugpp";
|
|
version = "2.9.6";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jstkdng";
|
|
repo = "ueberzugpp";
|
|
rev = "v${version}";
|
|
hash = "sha256-qo9Rwnx6Oh8DRcCBUMS3JVdNyx1iZSB2Z1qfptUoPFQ=";
|
|
};
|
|
|
|
strictDeps = true;
|
|
|
|
nativeBuildInputs =
|
|
[
|
|
cmake
|
|
pkg-config
|
|
]
|
|
++ lib.optionals enableWayland [
|
|
wayland-scanner
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
openssl
|
|
zeromq
|
|
cppzmq
|
|
tbb_2021_11
|
|
spdlog
|
|
libsodium
|
|
fmt
|
|
vips
|
|
nlohmann_json
|
|
libsixel
|
|
microsoft-gsl
|
|
chafa
|
|
cli11
|
|
libexif
|
|
range-v3
|
|
]
|
|
++ lib.optionals enableOpencv [
|
|
opencv
|
|
]
|
|
++ lib.optionals enableWayland [
|
|
extra-cmake-modules
|
|
wayland
|
|
wayland-protocols
|
|
]
|
|
++ lib.optionals enableX11 [
|
|
xorg.libX11
|
|
xorg.xcbutilimage
|
|
];
|
|
|
|
cmakeFlags =
|
|
lib.optionals (!enableOpencv) [
|
|
"-DENABLE_OPENCV=OFF"
|
|
]
|
|
++ lib.optionals enableWayland [
|
|
"-DENABLE_WAYLAND=ON"
|
|
]
|
|
++ lib.optionals (!enableX11) [
|
|
"-DENABLE_X11=OFF"
|
|
];
|
|
|
|
# error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer
|
|
preBuild =
|
|
lib.optionalString
|
|
(stdenv.hostPlatform.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "11.0")
|
|
''
|
|
export MACOSX_DEPLOYMENT_TARGET=10.14
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Drop in replacement for ueberzug written in C++";
|
|
homepage = "https://github.com/jstkdng/ueberzugpp";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = with maintainers; [
|
|
aleksana
|
|
wegank
|
|
];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|