evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / gu / guacamole-server / package.nix
blob42bf481e252aca1e5b45bb1e71985b940d8ef80b
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch2
5 , pkg-config
6 , autoPatchelfHook
7 , autoreconfHook
8 , cairo
9 , ffmpeg-headless
10 , freerdp
11 , libjpeg_turbo
12 , libpng
13 , libossp_uuid
14 , libpulseaudio
15 , libssh2
16 , libtelnet
17 , libvncserver
18 , libvorbis
19 , libwebp
20 , libwebsockets
21 , makeBinaryWrapper
22 , openssl
23 , pango
24 , perl
25 , nixosTests
28 stdenv.mkDerivation (finalAttrs: {
29   pname = "guacamole-server";
30   version = "1.5.5";
32   src = fetchFromGitHub {
33     owner = "apache";
34     repo = "guacamole-server";
35     rev = finalAttrs.version;
36     hash = "sha256-ZrUaoWkZ3I/LxE7csDXXeUZ92jZDhkZ1c8EQU0gI1yY=";
37   };
39   patches = [
40     # GUACAMOLE-1952: Add compatibility with FFMPEG 7.0
41     (fetchpatch2 {
42       url = "https://github.com/apache/guacamole-server/commit/cc8addf9beb90305037a32f9f861a893be4cae08.patch?full_index=1";
43       hash = "sha256-VCr2/8lQHKVdsdah9gvak4MjFHO+X4ixE5+zsvwIY1I=";
44     })
45   ];
47   NIX_CFLAGS_COMPILE = [
48     "-Wno-error=format-truncation"
49     "-Wno-error=format-overflow"
50   ];
52   strictDeps = true;
54   nativeBuildInputs = [
55     autoPatchelfHook
56     autoreconfHook
57     makeBinaryWrapper
58     perl
59     pkg-config
60   ];
62   buildInputs = [
63     cairo
64     ffmpeg-headless
65     freerdp
66     libjpeg_turbo
67     libossp_uuid
68     libpng
69     libpulseaudio
70     libssh2
71     libtelnet
72     libvncserver
73     libvorbis
74     libwebp
75     libwebsockets
76     openssl
77     pango
78   ];
80   configureFlags = [
81     "--with-freerdp-plugin-dir=${placeholder "out"}/lib"
82   ];
84   postPatch = ''
85     patchShebangs ./src/protocols/rdp/**/*.pl
86   '';
88   postInstall = ''
89     ln -s ${freerdp}/lib/* $out/lib/
90     wrapProgram $out/sbin/guacd --prefix LD_LIBRARY_PATH ":" $out/lib
91   '';
93   passthru.tests = {
94     inherit (nixosTests) guacamole-server;
95   };
97   meta = {
98     description = "Clientless remote desktop gateway";
99     homepage = "https://guacamole.apache.org/";
100     license = lib.licenses.asl20;
101     mainProgram = "guacd";
102     maintainers = [ lib.maintainers.drupol ];
103     platforms = [ "x86_64-linux" "i686-linux" ];
104   };