diff options
author | Oliver Matthews <oliver@codersoffortune.net> | 2015-04-06 15:31:40 +0000 |
---|---|---|
committer | Oliver Matthews <oliver@codersoffortune.net> | 2015-04-06 15:31:40 +0000 |
commit | 0539ed477151a3adfff5012cabff0527a9a8c0bb (patch) | |
tree | 01a1bce66f4b7b3fa5816666bf9875e05c29a40b | |
parent | 16730fa87aea11333933202637233c530fc182fc (diff) | |
download | nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar.gz nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar.bz2 nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar.lz nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar.xz nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.tar.zst nixlib-0539ed477151a3adfff5012cabff0527a9a8c0bb.zip |
Add support for btsync 2.x branch
-rw-r--r-- | lib/maintainers.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/networking/btsync.nix | 27 | ||||
-rw-r--r-- | pkgs/applications/networking/bittorrentsync/1.4.x.nix (renamed from pkgs/applications/networking/bittorrentsync/default.nix) | 0 | ||||
-rw-r--r-- | pkgs/applications/networking/bittorrentsync/2.0.x.nix | 42 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
5 files changed, 70 insertions, 4 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix index fcc78723f4b3..98a792104373 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -54,6 +54,7 @@ copumpkin = "Dan Peebles <pumpkingod@gmail.com>"; coroa = "Jonas Hörsch <jonas@chaoflow.net>"; cstrahan = "Charles Strahan <charles.c.strahan@gmail.com>"; + cwoac = "Oliver Matthews <oliver@codersoffortune.net>"; DamienCassou = "Damien Cassou <damien.cassou@gmail.com>"; davidrusu = "David Rusu <davidrusu.me@gmail.com>"; dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>"; diff --git a/nixos/modules/services/networking/btsync.nix b/nixos/modules/services/networking/btsync.nix index 34bddf908731..0bfd3b74348f 100644 --- a/nixos/modules/services/networking/btsync.nix +++ b/nixos/modules/services/networking/btsync.nix @@ -4,6 +4,9 @@ with lib; let cfg = config.services.btsync; + + bittorrentSync = cfg.package; + listenAddr = cfg.httpListenAddr + ":" + (toString cfg.httpListenPort); boolStr = x: if x then "true" else "false"; @@ -57,7 +60,7 @@ let '' { "device_name": "${cfg.deviceName}", - "storage_path": "/var/lib/btsync/", + "storage_path": "${cfg.storagePath}", "listening_port": ${toString cfg.listeningPort}, "use_gui": false, @@ -195,6 +198,24 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.bittorrentSync14; + example = literalExample "pkgs.bittorrentSync20"; + description = '' + Branch of bittorrent sync to use. + ''; + }; + + storagePath = mkOption { + type = types.path; + default = "/var/lib/btsync"; + example = "/var/lib/btsync"; + description = '' + Where to store the bittorrent sync files. + ''; + }; + apiKey = mkOption { type = types.str; default = ""; @@ -258,7 +279,7 @@ in users.extraUsers.btsync = { description = "Bittorrent Sync Service user"; - home = "/var/lib/btsync"; + home = cfg.storagePath; createHome = true; uid = config.ids.uids.btsync; group = "btsync"; @@ -292,6 +313,6 @@ in }; }; - environment.systemPackages = [ pkgs.bittorrentSync ]; + environment.systemPackages = [ cfg.package ]; }; } diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/1.4.x.nix index 1b439daa853e..1b439daa853e 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/1.4.x.nix diff --git a/pkgs/applications/networking/bittorrentsync/2.0.x.nix b/pkgs/applications/networking/bittorrentsync/2.0.x.nix new file mode 100644 index 000000000000..9a7c07c322ed --- /dev/null +++ b/pkgs/applications/networking/bittorrentsync/2.0.x.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, patchelf }: + +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 "cbce76f73f47c23d9073644504fa454976629450d008354bd8faef1bddf368fd" + else if stdenv.system == "i686-linux" then "d3e8583c8a54cbeb34ea3621daf0498316a959d944b30f24aa4e518a851ecdeb" + else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; + + libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; +in +stdenv.mkDerivation rec { + name = "btsync-${version}"; + version = "2.0.93"; + + src = fetchurl { + url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; + inherit sha256; + }; + + 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 cwoac ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8ada7f2f27c..0a42b11c8507 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11743,7 +11743,9 @@ let sxiv = callPackage ../applications/graphics/sxiv { }; - bittorrentSync = callPackage ../applications/networking/bittorrentsync { }; + bittorrentSync = bittorrentSync14; + bittorrentSync14 = callPackage ../applications/networking/bittorrentsync/1.4.x.nix { }; + bittorrentSync20 = callPackage ../applications/networking/bittorrentsync/2.0.x.nix { }; copy-com = callPackage ../applications/networking/copy-com { }; |