base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / graphics / waifu2x-converter-cpp / default.nix
blobcf150a59c8dbc332bd71656def9040fd4913bca8
1 { cmake, fetchFromGitHub, makeWrapper, opencv4, lib, stdenv, ocl-icd, opencl-headers, OpenCL
2 , config
3 , cudaSupport ? config.cudaSupport, cudatoolkit ? null
4 }:
6 stdenv.mkDerivation rec {
7   pname = "waifu2x-converter-cpp";
8   version = "5.3.4";
10   src = fetchFromGitHub {
11     owner = "DeadSix27";
12     repo = pname;
13     rev = "v${version}";
14     sha256 = "0rv8bnyxz89za6gwk9gmdbaf3j7c1j52mip7h81rir288j35m84x";
15   };
17   patches = [
18     # Remove the hard-coded compiler on Darwin and use the one in stdenv.
19     ./waifu2x_darwin_build.diff
20   ];
22   buildInputs = [
23     opencv4
24   ] ++ lib.optional cudaSupport cudatoolkit
25     ++ lib.optional stdenv.hostPlatform.isDarwin OpenCL
26     ++ lib.optionals stdenv.hostPlatform.isLinux [ ocl-icd opencl-headers ];
28   nativeBuildInputs = [ cmake makeWrapper ];
30   preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
31     wrapProgram $out/bin/waifu2x-converter-cpp --prefix LD_LIBRARY_PATH : "${ocl-icd}/lib"
32   '';
34   cmakeFlags = [
35     # file RPATH_CHANGE could not write new RPATH
36     "-DCMAKE_SKIP_BUILD_RPATH=ON"
37   ];
39   meta = {
40     description = "Improved fork of Waifu2X C++ using OpenCL and OpenCV";
41     homepage = "https://github.com/DeadSix27/waifu2x-converter-cpp";
42     license = lib.licenses.mit;
43     maintainers = [ lib.maintainers.xzfc ];
44     platforms = lib.platforms.linux ++ lib.platforms.darwin;
45     mainProgram = "waifu2x-converter-cpp";
46   };