From e1a0508f2355d307b01a1c0d498e8241d9694b07 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Wed, 31 Mar 2021 18:44:34 -0400 Subject: [PATCH] Replace all of our overlays with use of a forked nixpkgs The nixpkgs fork already contains all of the changes our overlays were responsible for - but as direct nixpkgs changes instead. --- nixos/modules/issuer.nix | 4 +- nixos/modules/leasereport-repo.nix | 9 ---- nixos/modules/leasereport.nix | 12 ------ nixos/modules/overlays.nix | 56 ------------------------- nixos/modules/private-storage.nix | 5 +-- nixos/modules/pspkgs.nix | 4 -- nixos/modules/tests/private-storage.nix | 4 +- nixos/modules/tests/tahoe.nix | 2 +- nixos/modules/zkap-overlay.nix | 4 -- nixos/pkgs/tahoe-lafs-repo.nix | 9 ---- nixos/pkgs/tahoe-lafs.nix | 5 --- nixos/pkgs/twisted.nix | 11 ----- nixos/pkgs/twisted.patch | 23 ---------- nixos/pkgs/zkapauthorizer-repo.nix | 9 ---- nixos/pkgs/zkapauthorizer.nix | 1 - nixos/pkgs/zkapissuer-repo.nix | 9 ---- nixos/pkgs/zkapissuer.nix | 5 --- nixpkgs.json | 4 +- shell.nix | 2 +- 19 files changed, 8 insertions(+), 170 deletions(-) delete mode 100644 nixos/modules/leasereport-repo.nix delete mode 100644 nixos/modules/leasereport.nix delete mode 100644 nixos/modules/overlays.nix delete mode 100644 nixos/modules/pspkgs.nix delete mode 100644 nixos/modules/zkap-overlay.nix delete mode 100644 nixos/pkgs/tahoe-lafs-repo.nix delete mode 100644 nixos/pkgs/tahoe-lafs.nix delete mode 100644 nixos/pkgs/twisted.nix delete mode 100644 nixos/pkgs/twisted.patch delete mode 100644 nixos/pkgs/zkapauthorizer-repo.nix delete mode 100644 nixos/pkgs/zkapauthorizer.nix delete mode 100644 nixos/pkgs/zkapissuer-repo.nix delete mode 100644 nixos/pkgs/zkapissuer.nix diff --git a/nixos/modules/issuer.nix b/nixos/modules/issuer.nix index 7654bf1f..6ad4f1b8 100644 --- a/nixos/modules/issuer.nix +++ b/nixos/modules/issuer.nix @@ -1,8 +1,6 @@ # A NixOS module which can run a Ristretto-based issuer for PrivateStorage # ZKAPs. { lib, pkgs, config, ... }: let - pspkgs = pkgs.callPackage ./pspkgs.nix { }; - zkapissuer = pspkgs.callPackage ../pkgs/zkapissuer.nix { }; cfg = config.services.private-storage-issuer; in { imports = [ @@ -13,7 +11,7 @@ in { options = { services.private-storage-issuer.enable = lib.mkEnableOption "PrivateStorage ZKAP Issuer Service"; services.private-storage-issuer.package = lib.mkOption { - default = zkapissuer.components.exes."PaymentServer-exe"; + default = pkgs.zkapissuer.components.exes."PaymentServer-exe"; type = lib.types.package; example = lib.literalExample "pkgs.zkapissuer.components.exes.\"PaymentServer-exe\""; description = '' diff --git a/nixos/modules/leasereport-repo.nix b/nixos/modules/leasereport-repo.nix deleted file mode 100644 index a474311b..00000000 --- a/nixos/modules/leasereport-repo.nix +++ /dev/null @@ -1,9 +0,0 @@ -let - pkgs = import <nixpkgs> {}; -in - pkgs.fetchFromGitHub { - owner = "PrivateStorageio"; - repo = "LeaseReport"; - rev = "92f6567160c1459b5992f1cb8535aee0c23bc093"; - sha256 = "04k1q170n4dwvakgi9gsc8mbbhqzcnygiw51rqyrf9blrsdh5fma"; - } \ No newline at end of file diff --git a/nixos/modules/leasereport.nix b/nixos/modules/leasereport.nix deleted file mode 100644 index a44a8d97..00000000 --- a/nixos/modules/leasereport.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ callPackage }: -let - leasereport = import ./leasereport-repo.nix; - - # Pin a particular version of haskell.nix. The particular version isn't - # special. It's just recent at the time this expression was written and it - # is known to work with LeaseReport. It could be bumped if necessary but - # this would probably only happen as a result of bumping the resolver in - # stack.yaml. - haskellNixSrc = builtins.fetchTarball https://github.com/input-output-hk/haskell.nix/archive/f6663a8449f5e4a7393aa24601600c8f6e352c97.tar.gz; -in - (callPackage "${leasereport}/nix" { inherit haskellNixSrc; }).LeaseReport.components.exes.LeaseReport diff --git a/nixos/modules/overlays.nix b/nixos/modules/overlays.nix deleted file mode 100644 index 376ffa56..00000000 --- a/nixos/modules/overlays.nix +++ /dev/null @@ -1,56 +0,0 @@ -let - # Define a Python packageOverride that puts our version of some Python - # packages into python27Packages. - pythonPackageOverride = python-self: python-super: rec { - # Get our Twisted derivation. Pass in the old one so it can have pieces - # overridden. It needs to be passed in explicitly because callPackage is - # specially crafted to always pull attributes from the fixed-point. That - # is, `python-self.callPackage` and `python-super.callPackage` will *both* - # try to pass `python-self.twisted`. So we take it upon ourselves to pass - # the "correct" Twisted (it is correct because we call its override method - # and that never converges if it is the fixed point Twisted). - twisted = python-self.callPackage ../pkgs/twisted.nix { - inherit (python-super) twisted; - }; - - # Put in our preferred version of tahoe-lafs as well. - tahoe-lafs = python-self.callPackage ../pkgs/tahoe-lafs.nix { }; - - # This is handy too... - zkapauthorizer = python-self.callPackage ../pkgs/zkapauthorizer.nix { - # And explicitly configure it with our preferred version of Tahoe-LAFS. - inherit tahoe-lafs; - }; - }; -in -self: super: { - leasereport = self.callPackage ./leasereport.nix { }; - - # Use self.python27 to get the fixed point of all packages (that is, to - # respect all of the overrides). This is important since we want the - # overridden Twisted as a dependency of this env, not the original one. - # - # This might seem to violate the advice to use super for "library - # functionality" but python27.buildEnv should be considered a derivation - # instead because it implies a whole mess of derivations (all of the Python - # modules available). - privatestorage = self.python27.buildEnv.override - { # ... for dropin.cache - ignoreCollisions = true; - extraLibs = - [ self.python27Packages.tahoe-lafs - self.python27Packages.zkapauthorizer - ]; - }; - - # Using super.python27 here causes us to define a python27 that overrides - # the value from the previously overlay, not from the fixed point. This is - # important because this override never converges. - python27 = super.python27.override (old: { - packageOverrides = - if old ? packageOverrides then - super.lib.composeExtensions old.packageOverrides pythonPackageOverride - else - pythonPackageOverride; - }); -} diff --git a/nixos/modules/private-storage.nix b/nixos/modules/private-storage.nix index 0490af1e..52720e61 100644 --- a/nixos/modules/private-storage.nix +++ b/nixos/modules/private-storage.nix @@ -2,7 +2,6 @@ # preferred configuration for the Private Storage grid. { pkgs, lib, config, ... }: let - pspkgs = pkgs.callPackage ./pspkgs.nix { }; # Grab the configuration for this module for convenient access below. cfg = config.services.private-storage; storage-node-name = "storage"; @@ -32,7 +31,7 @@ in options = { services.private-storage.enable = lib.mkEnableOption "private storage service"; services.private-storage.tahoe.package = lib.mkOption - { default = pspkgs.privatestorage; + { default = pkgs.privatestorage; type = lib.types.package; example = lib.literalExample "pkgs.tahoelafs"; description = '' @@ -154,7 +153,7 @@ in environment.systemPackages = [ # Provide a useful tool for reporting about shares. - pspkgs.leasereport + pkgs.leasereport ]; }; diff --git a/nixos/modules/pspkgs.nix b/nixos/modules/pspkgs.nix deleted file mode 100644 index 697bc5a0..00000000 --- a/nixos/modules/pspkgs.nix +++ /dev/null @@ -1,4 +0,0 @@ -# Derive a brand new version of pkgs which has our overlays applied. This is -# where the `privatestorage` derivation is added to nixpkgs. -{ pkgs }: -pkgs.extend (import ./overlays.nix) diff --git a/nixos/modules/tests/private-storage.nix b/nixos/modules/tests/private-storage.nix index ff771bc1..bf15b397 100644 --- a/nixos/modules/tests/private-storage.nix +++ b/nixos/modules/tests/private-storage.nix @@ -1,7 +1,5 @@ { pkgs }: let - pspkgs = import ../pspkgs.nix { inherit pkgs; }; - sshPrivateKey = ./probeuser_ed25519; sshPublicKey = ./probeuser_ed25519.pub; sshUsers = { @@ -100,7 +98,7 @@ in { pkgs.daemonize # A Tahoe-LAFS configuration capable of using the right storage # plugin. - pspkgs.privatestorage + pkgs.privatestorage # Support for the tests we'll run. (pkgs.python3.withPackages (ps: [ ps.requests ps.hyperlink ])) ]; diff --git a/nixos/modules/tests/tahoe.nix b/nixos/modules/tests/tahoe.nix index be3d51a0..df7acdf3 100644 --- a/nixos/modules/tests/tahoe.nix +++ b/nixos/modules/tests/tahoe.nix @@ -6,7 +6,7 @@ ]; services.tahoe.nodes.storage = { - package = (pkgs.callPackage ../pspkgs.nix { }).privatestorage; + package = pkgs.privatestorage; sections = { node = { nickname = "storage"; diff --git a/nixos/modules/zkap-overlay.nix b/nixos/modules/zkap-overlay.nix deleted file mode 100644 index 167a9b9f..00000000 --- a/nixos/modules/zkap-overlay.nix +++ /dev/null @@ -1,4 +0,0 @@ -let - src = import ../pkgs/zkapauthorizer-repo.nix; -in - import "${src}/overlays.nix" diff --git a/nixos/pkgs/tahoe-lafs-repo.nix b/nixos/pkgs/tahoe-lafs-repo.nix deleted file mode 100644 index dd5ecbb6..00000000 --- a/nixos/pkgs/tahoe-lafs-repo.nix +++ /dev/null @@ -1,9 +0,0 @@ -let - pkgs = import <nixpkgs> {}; -in - pkgs.fetchFromGitHub { - owner = "tahoe-lafs"; - repo = "tahoe-lafs"; - rev = "23e1223c94330741f5b1dda476c3aeb42c3a012f"; - sha256 = "1zh37rvkiigciwadgrjvnq9519lap1c260v8593g65qrpc1zwjxz"; - } \ No newline at end of file diff --git a/nixos/pkgs/tahoe-lafs.nix b/nixos/pkgs/tahoe-lafs.nix deleted file mode 100644 index 3289c5f5..00000000 --- a/nixos/pkgs/tahoe-lafs.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ callPackage }: -let - tahoe-lafs-repo = import ./tahoe-lafs-repo.nix; -in - callPackage "${tahoe-lafs-repo}/nix" { } diff --git a/nixos/pkgs/twisted.nix b/nixos/pkgs/twisted.nix deleted file mode 100644 index efa56cd0..00000000 --- a/nixos/pkgs/twisted.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ twisted }: -twisted.overrideAttrs (old: { - prePatch = old.patchPhase; - patchPhase = null; - # Add a patch which adds more logging to a namer resolver failure case. The - # NixOS system test harness might be setting up a weird semi-broken system - # that provokes a weird behavior out of getaddrinfo() that Twisted doesn't - # normally handle. The logging can help with debugging this case. We - # should think about upstreaming something related to this. - patches = (if old ? "patches" then old.patches else []) ++ [ ./twisted.patch ]; -}) diff --git a/nixos/pkgs/twisted.patch b/nixos/pkgs/twisted.patch deleted file mode 100644 index 9f50368c..00000000 --- a/nixos/pkgs/twisted.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/twisted/internet/_resolver.py b/src/twisted/internet/_resolver.py -index 1c16174a2..8c8249db4 100644 ---- a/src/twisted/internet/_resolver.py -+++ b/src/twisted/internet/_resolver.py -@@ -74,6 +74,8 @@ class GAIResolver(object): - L{getaddrinfo} in a thread. - """ - -+ _log = Logger() -+ - def __init__(self, reactor, getThreadPool=None, getaddrinfo=getaddrinfo): - """ - Create a L{GAIResolver}. -@@ -124,6 +126,9 @@ class GAIResolver(object): - socketType) - except gaierror: - return [] -+ except Exception as e: -+ self._log.failure("Problem resolving {hostName}", hostName=hostName) -+ return [] - d = deferToThreadPool(self._reactor, pool, get) - resolution = HostResolution(hostName) - resolutionReceiver.resolutionBegan(resolution) diff --git a/nixos/pkgs/zkapauthorizer-repo.nix b/nixos/pkgs/zkapauthorizer-repo.nix deleted file mode 100644 index 595e7b4c..00000000 --- a/nixos/pkgs/zkapauthorizer-repo.nix +++ /dev/null @@ -1,9 +0,0 @@ -let - pkgs = import <nixpkgs> {}; -in - pkgs.fetchFromGitHub { - owner = "PrivateStorageio"; - repo = "ZKAPAuthorizer"; - rev = "e4430a0050cef286b723da7f8013c7affd5a58f7"; - sha256 = "148d79zppsd6bnyagbx126s9x9yy975dx6rrbm26dh98kl1r8mbh"; - } \ No newline at end of file diff --git a/nixos/pkgs/zkapauthorizer.nix b/nixos/pkgs/zkapauthorizer.nix deleted file mode 100644 index a76a770e..00000000 --- a/nixos/pkgs/zkapauthorizer.nix +++ /dev/null @@ -1 +0,0 @@ -import "${import ./zkapauthorizer-repo.nix}/default.nix" diff --git a/nixos/pkgs/zkapissuer-repo.nix b/nixos/pkgs/zkapissuer-repo.nix deleted file mode 100644 index 54242c06..00000000 --- a/nixos/pkgs/zkapissuer-repo.nix +++ /dev/null @@ -1,9 +0,0 @@ -let - pkgs = import <nixpkgs> {}; -in - pkgs.fetchFromGitHub { - owner = "PrivateStorageio"; - repo = "PaymentServer"; - rev = "139323f403fa0847606f8e58d950b68f0dc59105"; - sha256 = "0jx5h469hvc8i7k61cj2240z6gwza0l5zlm55wj1kd0dqgigi0lj"; - } \ No newline at end of file diff --git a/nixos/pkgs/zkapissuer.nix b/nixos/pkgs/zkapissuer.nix deleted file mode 100644 index 2cf44d8f..00000000 --- a/nixos/pkgs/zkapissuer.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ callPackage }: -let - paymentServer = import ./zkapissuer-repo.nix; -in - (callPackage "${paymentServer}/nix" { }).PaymentServer diff --git a/nixpkgs.json b/nixpkgs.json index ee46e76d..82873e94 100644 --- a/nixpkgs.json +++ b/nixpkgs.json @@ -1,4 +1,4 @@ { "name": "nixpkgs" -, "url": "https://github.com/PrivateStorageio/nixpkgs/353333ef340952c05332e3c271dff953264cb017.tar.gz" -, "sha256": "sha256:0bv34yz892yxhx2kb8a1yr5pm0g8ck5w021yj87r7kfnp416apdh" +, "url": "https://github.com/PrivateStorageio/nixpkgs/archive/2315cd3f6f875cb6c79179622ee100c3c14d2278.tar.gz" +, "sha256": "sha256:03yic72sxdij3h4k1df055b2j4wh1wnv3fnvra5fdv1mnvpsgh6j" } diff --git a/shell.nix b/shell.nix index 26aaad60..0c9c12f9 100644 --- a/shell.nix +++ b/shell.nix @@ -15,7 +15,7 @@ let morph = pkgs.callPackage (morph-src + "/nix-packaging") { }; in pkgs.mkShell { - NIX_PATH = "nixpkgs=${nixpkgs-pin.url}"; + NIX_PATH = "nixpkgs=${nixpkgs.path}"; buildInputs = [ morph ]; -- GitLab