Skip to content

Commit

Permalink
Merge pull request #70 from PrivateStorageio/better-tahoe-lafs-packaging
Browse files Browse the repository at this point in the history
Re-use upstream tahoe-lafs nix packaging instead of duplicating it.
  • Loading branch information
exarkun committed Dec 13, 2019
2 parents 2cfa5a4 + b2aaa5f commit 092c482
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 50 deletions.
12 changes: 10 additions & 2 deletions default.nix
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
{ pkgs ? import ./nixpkgs.nix { }, hypothesisProfile ? null, collectCoverage ? false, testSuite ? null, trialArgs ? null }:
pkgs.python27Packages.zkapauthorizer.override { inherit hypothesisProfile collectCoverage testSuite trialArgs; }
{ pkgs ? import <nixpkgs> { }
, hypothesisProfile ? null
, collectCoverage ? false
, testSuite ? null
, trialArgs ? null
}:
let pkgs' = pkgs.extend (import ./overlays.nix);
in pkgs'.python27Packages.zkapauthorizer.override {
inherit hypothesisProfile collectCoverage testSuite trialArgs;
}
2 changes: 1 addition & 1 deletion overlays.nix
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ self: super: {

# tahoe-lafs in nixpkgs is packaged as an application! so we have to
# re-package it ourselves as a library.
tahoe-lafs = python-self.callPackage ./tahoe-lafs.nix { };
tahoe-lafs = python-self.callPackage ((import ./tahoe-lafs.nix) + "/nix") { };

# we depend on the privacypass python library, a set of bindings to the
# challenge-bypass-ristretto Rust library
Expand Down
55 changes: 8 additions & 47 deletions tahoe-lafs.nix
Original file line number Diff line number Diff line change
@@ -1,48 +1,9 @@
{ fetchFromGitHub, nettools, python
, twisted, foolscap, nevow, zfec
, setuptools, setuptoolsTrial, pyasn1, zope_interface
, service-identity, pyyaml, magic-wormhole, treq, appdirs
, beautifulsoup4, eliot, autobahn, cryptography
}:
python.pkgs.buildPythonPackage rec {
version = "1.14.0.dev";
name = "tahoe-lafs-${version}";
src = fetchFromGitHub {
owner = "LeastAuthority";
let
pkgs = import <nixpkgs> {};
in
pkgs.fetchFromGitHub {
owner = "tahoe-lafs";
repo = "tahoe-lafs";
# A branch of master with the storage plugin web resource reuse issue
# resolved. https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3265
rev = "1fef61981940bbd63ffc4242c3b589258622d117";
sha256 = "0kgkg7wd0nkj8f5p46341vjkr6nz3kf0fimd44d9kypm4rn8xczv";
};

postPatch = ''
sed -i "src/allmydata/util/iputil.py" \
-es"|_linux_path = '/sbin/ifconfig'|_linux_path = '${nettools}/bin/ifconfig'|g"
# Chroots don't have /etc/hosts and /etc/resolv.conf, so work around
# that.
for i in $(find src/allmydata/test -type f)
do
sed -i "$i" -e"s/localhost/127.0.0.1/g"
done
'';


propagatedBuildInputs = with python.pkgs; [
twisted foolscap nevow zfec appdirs
setuptoolsTrial pyasn1 zope_interface
service-identity pyyaml magic-wormhole treq
beautifulsoup4 eliot autobahn cryptography setuptools
];

checkInputs = with python.pkgs; [
hypothesis
testtools
fixtures
];

checkPhase = ''
$out/bin/tahoe --version
'';
}
rev = "34aeefd3ddbf28dafbc3477e52461eafa53b545d";
sha256 = "0l8n4njbzgiwmn3qsmvzyzqlb0y9bj9g2jvpdynvsn1ggxrqmvsq";
}

0 comments on commit 092c482

Please sign in to comment.