From b2aaa5f82c6d078bc38d0d8ab0e66d7be449caec Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Wed, 11 Dec 2019 13:57:19 -0500
Subject: [PATCH] re-use upstream tahoe-lafs nix packaging instead of
 duplicating it

---
 default.nix    | 12 +++++++++--
 overlays.nix   |  2 +-
 tahoe-lafs.nix | 55 ++++++++------------------------------------------
 3 files changed, 19 insertions(+), 50 deletions(-)

diff --git a/default.nix b/default.nix
index 046aae0..868ef99 100644
--- a/default.nix
+++ b/default.nix
@@ -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;
+}
diff --git a/overlays.nix b/overlays.nix
index 06a2aab..c3f9f6a 100644
--- a/overlays.nix
+++ b/overlays.nix
@@ -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
diff --git a/tahoe-lafs.nix b/tahoe-lafs.nix
index c75f6db..c305267 100644
--- a/tahoe-lafs.nix
+++ b/tahoe-lafs.nix
@@ -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";
+  }
\ No newline at end of file
-- 
GitLab