diff --git a/pkgs/applications/networking/bittorrentsync/1.4.x.nix b/pkgs/applications/networking/bittorrentsync/1.4.x.nix index 6c72937d6b70..9d57cdaaf20d 100644 --- a/pkgs/applications/networking/bittorrentsync/1.4.x.nix +++ b/pkgs/applications/networking/bittorrentsync/1.4.x.nix @@ -1,42 +1,9 @@ -{ stdenv, fetchurl, patchelf }: +{ stdenv, fetchurl, ... } @ args: -let - arch = if stdenv.system == "x86_64-linux" then "x64" - else if stdenv.system == "i686-linux" then "i386" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - sha256 = if stdenv.system == "x86_64-linux" then "0bw3ds3ndcnkry5mpv645z2bfi5z387bh0f7b35blxq1yv93r83f" - else if stdenv.system == "i686-linux" then "1qwaj7l7nsd4afx7ksb4b1c22mki9qa40803v9x1a8bhbdfhkczk" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; -in -stdenv.mkDerivation rec { - name = "btsync-${version}"; +import ./generic.nix (args // { version = "1.4.111"; - - src = fetchurl { - url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; - inherit sha256; + sha256s = { + "x86_64-linux" = "0bw3ds3ndcnkry5mpv645z2bfi5z387bh0f7b35blxq1yv93r83f"; + "i686-linux" = "1qwaj7l7nsd4afx7ksb4b1c22mki9qa40803v9x1a8bhbdfhkczk"; }; - - dontStrip = true; # Don't strip, otherwise patching the rpaths breaks - sourceRoot = "."; - buildInputs = [ patchelf ]; - - installPhase = '' - mkdir -p "$out/bin/" - cp -r "btsync" "$out/bin/" - - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${libPath} "$out/bin/btsync" - ''; - - meta = { - description = "Automatically sync files via secure, distributed technology"; - homepage = "http://www.bittorrent.com/sync"; - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ]; - }; -} +}) diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix index c99b2570cf6d..f8ba6a5c5f6d 100644 --- a/pkgs/applications/networking/bittorrentsync/2.0.x.nix +++ b/pkgs/applications/networking/bittorrentsync/2.0.x.nix @@ -1,41 +1,9 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, ... } @ args: -let - arch = if stdenv.system == "x86_64-linux" then "x64" - else if stdenv.system == "i686-linux" then "i386" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - sha256 = if stdenv.system == "x86_64-linux" then "1hnw6bv60xrnc733gm1ilywc0y93k2g6bmwgnww9qk7ivbvi6pd1" - else if stdenv.system == "i686-linux" then "0hj8nbq6mava15m1hxaqq371fqk0whdx5iqsbnppyci0jjnr4qv1" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; -in -stdenv.mkDerivation rec { - name = "btsync-${version}"; +import ./generic.nix (args // { version = "2.3.7"; - - src = fetchurl { - url = "https://download-cdn.getsync.com/${version}/linux-${arch}/BitTorrent-Sync_${arch}.tar.gz"; - inherit sha256; + sha256s = { + "x86_64-linux" = "1hnw6bv60xrnc733gm1ilywc0y93k2g6bmwgnww9qk7ivbvi6pd1"; + "i686-linux" = "0hj8nbq6mava15m1hxaqq371fqk0whdx5iqsbnppyci0jjnr4qv1"; }; - - dontStrip = true; # Don't strip, otherwise patching the rpaths breaks - sourceRoot = "."; - - installPhase = '' - mkdir -p "$out/bin/" - cp -r "btsync" "$out/bin/" - - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath ${libPath} "$out/bin/btsync" - ''; - - meta = { - description = "Automatically sync files via secure, distributed technology"; - homepage = https://www.getsync.com/; - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice cwoac ]; - }; -} +}) diff --git a/pkgs/applications/networking/bittorrentsync/generic.nix b/pkgs/applications/networking/bittorrentsync/generic.nix new file mode 100644 index 000000000000..6d8735609eaf --- /dev/null +++ b/pkgs/applications/networking/bittorrentsync/generic.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, version, sha256s, ... } @ args: + +let + arch = { + "x86_64-linux" = "x64"; + "i686-linux" = "i386"; + }.${stdenv.system}; + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; +in + +stdenv.mkDerivation rec { + name = "btsync-${version}"; + inherit version; + + src = fetchurl { + # annoyingly, downloads for 1.4 and 2.3 do not follow the same URL layout; this is + # a simple work-around, in place of overriding the url in the caller. + urls = [ + "https://download-cdn.getsync.com/${version}/linux-${arch}/BitTorrent-Sync_${arch}.tar.gz" + "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz" + ]; + sha256 = sha256s.${stdenv.system}; + }; + + dontStrip = true; # Don't strip, otherwise patching the rpaths breaks + sourceRoot = "."; + + installPhase = '' + install -D btsync "$out/bin/btsync" + patchelf --interpreter "$(< $NIX_CC/nix-support/dynamic-linker)" --set-rpath ${libPath} "$out/bin/btsync" + ''; + + meta = { + description = "Automatically sync files via secure, distributed technology"; + homepage = https://www.getsync.com/; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice cwoac ]; + }; +}