biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / megasync / default.nix
blobef35db703087766a00cd3d3a5d2c7112b1546ec9
1 { lib
2 , stdenv
3 , autoconf
4 , automake
5 , c-ares
6 , cryptopp
7 , curl
8 , doxygen
9 , fetchFromGitHub
10 , ffmpeg
11 , libmediainfo
12 , libraw
13 , libsodium
14 , libtool
15 , libuv
16 , libzen
17 , lsb-release
18 , mkDerivation
19 , pkg-config
20 , qtbase
21 , qttools
22 , qtx11extras
23 , sqlite
24 , swig
25 , unzip
26 , wget
28 mkDerivation rec {
29   pname = "megasync";
30   version = "4.9.1.0";
32   src = fetchFromGitHub {
33     owner = "meganz";
34     repo = "MEGAsync";
35     rev = "v${version}_Linux";
36     hash = "sha256-Y1nfY5iP64iSCYwzqxbjZAQNHyj4yVbSudSInm+yJzY=";
37     fetchSubmodules = true;
38   };
40   nativeBuildInputs = [
41     autoconf
42     automake
43     doxygen
44     libtool
45     lsb-release
46     pkg-config
47     qttools
48     swig
49     unzip
50   ];
51   buildInputs = [
52     c-ares
53     cryptopp
54     curl
55     ffmpeg
56     libmediainfo
57     libraw
58     libsodium
59     libuv
60     libzen
61     qtbase
62     qtx11extras
63     sqlite
64     wget
65   ];
67   patches = [
68     # Distro and version targets attempt to use lsb_release which is broken
69     # (see issue: https://github.com/NixOS/nixpkgs/issues/22729)
70     ./noinstall-distro-version.patch
71     # megasync target is not part of the install rule thanks to a commented block
72     ./install-megasync.patch
73   ];
75   postPatch = ''
76     for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do
77       substituteInPlace "$file" --replace "/bin/bash" "${stdenv.shell}"
78     done
79   '';
81   dontUseQmakeConfigure = true;
82   enableParallelBuilding = true;
84   preConfigure = ''
85     cd src/MEGASync/mega
86     ./autogen.sh
87   '';
89   configureFlags = [
90     "--disable-examples"
91     "--disable-java"
92     "--disable-php"
93     "--enable-chat"
94     "--with-cares"
95     "--with-cryptopp"
96     "--with-curl"
97     "--with-ffmpeg"
98     "--without-freeimage"
99     "--without-readline"
100     "--without-termcap"
101     "--with-sodium"
102     "--with-sqlite"
103     "--with-zlib"
104   ];
106   postConfigure = ''
107     cd ../..
108   '';
110   preBuild = ''
111     qmake CONFIG+="nofreeimage release" MEGA.pro
112     pushd MEGASync
113       lrelease MEGASync.pro
114       DESKTOP_DESTDIR="$out" qmake PREFIX="$out" -o Makefile MEGASync.pro CONFIG+="nofreeimage release"
115     popd
116   '';
118   meta = with lib; {
119     description =
120       "Easy automated syncing between your computers and your MEGA Cloud Drive";
121     homepage = "https://mega.nz/";
122     license = licenses.unfree;
123     platforms = [ "i686-linux" "x86_64-linux" ];
124     maintainers = [ ];
125   };