nixpkgs/pkgs/applications/misc/megasync/default.nix
ElXreno 7a1d22c600 megasync: init at 3.7.1.0 (#53126)
* megasync: init at 3.7.1.0

* Removed inkscape from dependencies
2019-02-08 17:46:43 -05:00

130 lines
2.5 KiB
Nix

{ stdenv
, autoconf
, automake
, bash
, bashInteractive
, c-ares
, cryptopp
, curl
, doxygen
, freeimage
, fetchFromGitHub
, hicolor-icon-theme
, libmediainfo
, libraw
, libsodium
, libtool
, libuv
, libzen
, lsb-release
, makeDesktopItem
, pkgconfig
, qt5
, readline
, sqlite
, swig
, unzip
, wget }:
stdenv.mkDerivation rec {
name = "megasync-${version}";
version = "3.7.1.0";
src = fetchFromGitHub {
owner = "meganz";
repo = "MEGAsync";
rev = "v${version}_Linux";
sha256 = "1spw2xc3m02rxljdv8z3zm8a3yyrk4a355q81zgh84jwkfds9qjy";
fetchSubmodules = true;
};
desktopItem = makeDesktopItem {
name = "megasync";
exec = "megasync";
icon = "megasync";
comment = meta.description;
desktopName = "MEGASync";
genericName = "File Synchronizer";
categories = "Network;FileTransfer;";
startupNotify = "false";
};
nativeBuildInputs = [
doxygen
libsodium
lsb-release
qt5.qmake
qt5.qttools
swig
];
buildInputs = [
autoconf
automake
bash
c-ares
cryptopp
curl
freeimage
hicolor-icon-theme
libmediainfo
libraw
libtool
libuv
libzen
pkgconfig
qt5.qtbase
qt5.qtsvg
sqlite
unzip
wget
];
patchPhase = ''
for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do
substituteInPlace "$file" \
--replace "/bin/bash" "${bashInteractive}/bin/bash"
done
'';
configurePhase = ''
cd src/MEGASync/mega
./autogen.sh
./configure \
--disable-examples \
--disable-java \
--disable-php \
--disable-python \
--enable-chat \
--with-cares \
--with-cryptopp \
--with-curl \
--with-sodium \
--with-sqlite \
--with-zlib \
--without-freeimage \
--without-termcap \
--without-ffmpeg
cd ../..
'';
buildPhase = ''
qmake CONFIG+="release" MEGA.pro
lrelease MEGASync/MEGASync.pro
make -j $NIX_BUILD_CORES
'';
installPhase = ''
mkdir -p $out/share/icons
install -Dm 755 MEGASync/megasync $out/bin/megasync
cp -r ${desktopItem}/share/applications $out/share
cp MEGASync/gui/images/uptodate.svg $out/share/icons/megasync.svg
'';
meta = with stdenv.lib; {
description = "Easy automated syncing between your computers and your MEGA Cloud Drive";
homepage = https://mega.nz/;
license = licenses.free;
platforms = [ "i686-linux" "x86_64-linux" ];
};
}