diff --git a/PaymentServer.cabal b/PaymentServer.cabal index dd51a39404009e27bf993c5eac9c2842374ef8e2..c5a6aef4f0dd0588a9a88a9e0cb3d6e93a2c32e3 100644 --- a/PaymentServer.cabal +++ b/PaymentServer.cabal @@ -44,7 +44,7 @@ library , sqlite-simple default-language: Haskell2010 ghc-options: -Wmissing-import-lists -Wunused-imports - pkgconfig-depends: ristretto + pkgconfig-depends: libchallenge_bypass_ristretto executable PaymentServer-exe hs-source-dirs: app diff --git a/nix/PaymentServer.nix b/nix/PaymentServer.nix index 0816f96d9959f118ef572b0673ad83abbfd210e1..98421eb30f09b35a5cccff8f4e8e1ccee3f7d050 100644 --- a/nix/PaymentServer.nix +++ b/nix/PaymentServer.nix @@ -2,19 +2,19 @@ let buildDepError = pkg: builtins.throw '' The Haskell package set does not contain the package: ${pkg} (build dependency). - + If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix. ''; sysDepError = pkg: builtins.throw '' The Nixpkgs package set does not contain the package: ${pkg} (system dependency). - + You may need to augment the system package mapping in haskell.nix so that it can be found. ''; pkgConfDepError = pkg: builtins.throw '' The pkg-conf packages does not contain the package: ${pkg} (pkg-conf dependency). - + You may need to augment the pkg-conf package mapping in haskell.nix so that it can be found. ''; exeDepError = pkg: @@ -24,16 +24,16 @@ let legacyExeDepError = pkg: builtins.throw '' The Haskell package set does not contain the package: ${pkg} (executable dependency). - + If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix. ''; buildToolDepError = pkg: builtins.throw '' Neither the Haskell package set or the Nixpkgs package set contain the package: ${pkg} (build tool dependency). - + If this is a system dependency: You may need to augment the system package mapping in haskell.nix so that it can be found. - + If this is a Haskell dependency: If you are using Stackage, make sure that you are using a snapshot that contains the package. Otherwise you may need to update the Hackage snapshot you are using, usually by updating haskell.nix. ''; @@ -78,7 +78,7 @@ in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }: (hsPkgs."sqlite-simple" or (buildDepError "sqlite-simple")) ]; pkgconfig = [ - (pkgconfPkgs."ristretto" or (pkgConfDepError "ristretto")) + (pkgconfPkgs."libchallenge_bypass_ristretto" or (pkgConfDepError "libchallenge_bypass_ristretto")) ]; }; exes = { @@ -97,4 +97,4 @@ in { system, compiler, flags, pkgs, hsPkgs, pkgconfPkgs, ... }: }; }; }; - } // rec { src = (pkgs.lib).mkDefault ../.; } \ No newline at end of file + } // rec { src = (pkgs.lib).mkDefault ../.; } diff --git a/nix/challenge-bypass-ristretto-repo.nix b/nix/challenge-bypass-ristretto-repo.nix new file mode 100644 index 0000000000000000000000000000000000000000..c7e246f6c2bfb2b8b2fb73bc02ef38b818ac4ddf --- /dev/null +++ b/nix/challenge-bypass-ristretto-repo.nix @@ -0,0 +1,9 @@ +let + pkgs = import <nixpkgs> {}; +in + pkgs.fetchFromGitHub { + owner = "LeastAuthority"; + repo = "python-challenge-bypass-ristretto"; + rev = "f1a7cfab1a7f1bf8b3345c228c2183064889ad83"; + sha256 = "12myak2jwaisljs7bmx1vydgd0fnxvkaisk4zsf0kshwxrlnyh3x"; + } \ No newline at end of file diff --git a/nix/challenge-bypass-ristretto.nix b/nix/challenge-bypass-ristretto.nix new file mode 100644 index 0000000000000000000000000000000000000000..cded558877b038c7e8c87a82e328f0a8650a3516 --- /dev/null +++ b/nix/challenge-bypass-ristretto.nix @@ -0,0 +1,5 @@ +{ fetchFromGitHub, callPackage }: +let + src = import ./challenge-bypass-ristretto-repo.nix; +in + callPackage "${src}/challenge-bypass-ristretto.nix" { } diff --git a/nix/overlay.nix b/nix/overlay.nix index 2673b39a9a30912c088deed29eeaa6a698e0f232..482cbb066d6bb562c8046d9e73285aff2c38d199 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -1,3 +1,3 @@ self: super: { - ristretto = super.callPackage ./ristretto.nix { }; + challenge-bypass-ristretto = super.callPackage ./challenge-bypass-ristretto.nix { }; } diff --git a/nix/privacypass-repo.nix b/nix/privacypass-repo.nix deleted file mode 100644 index 6b0c64cff07889c23400e15e1d2824d3ac8905cf..0000000000000000000000000000000000000000 --- a/nix/privacypass-repo.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchFromGitHub }: -fetchFromGitHub { - owner = "LeastAuthority"; - repo = "privacypass"; - rev = "45855401e163f8e622bd93a5c5bce13de8c8510a"; - sha256 = "sha256:15wv8vas6x8cdicylp0m632c916p7qxq1k4lnchr8c92lldp0rv7"; -} diff --git a/nix/ristretto.nix b/nix/ristretto.nix deleted file mode 100644 index 4e0912840d99a23263408dd86be620e23c92d7e3..0000000000000000000000000000000000000000 --- a/nix/ristretto.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ fetchFromGitHub, callPackage }: -let - src = import ./privacypass-repo.nix { inherit fetchFromGitHub; }; -in - callPackage "${src}/ristretto.nix" { } diff --git a/ristretto.nix b/ristretto.nix deleted file mode 100644 index 8af584c022d28a62c6b3ec5c1dd9638e8c4a6325..0000000000000000000000000000000000000000 --- a/ristretto.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ fetchFromGitHub, callPackage }: -let - src = fetchFromGitHub { - owner = "LeastAuthority"; - repo = "privacypass"; - rev = "45855401e163f8e622bd93a5c5bce13de8c8510a"; - sha256 = "15wv8vas6x8cdicylp0m632c916p7qxq1k4lnchr8c92lldp0rv7"; - }; -in - callPackage "${src}/ristretto.nix" { } diff --git a/shell.nix b/shell.nix index b474e0029a87c9da6fcdec474f80089c1aa05a2c..5b5500af771778732fef0ffbe0f0104c38fe8d3e 100644 --- a/shell.nix +++ b/shell.nix @@ -1,6 +1,16 @@ { pkgs ? import <nixpkgs> { } }: -pkgs.mkShell { - buildInputs = [ - pkgs.stack - ]; -} +let + haskellDotNix = pkgs.fetchFromGitHub { + owner = "input-output-hk"; + repo = "haskell.nix"; + rev = "33dc7bce3444f8957dec9dccb484dd4b40ee463d"; + sha256 = "0ffv3sfjkba4b565gpgs0qznd2jh5v60ql03dkc5bgx2sh8yfhsv"; + }; + nix-tools = (import pkgs.path (import haskellDotNix)).haskell-nix.nix-tools; +in + pkgs.mkShell { + buildInputs = [ + pkgs.stack + nix-tools + ]; + } diff --git a/stack-shell.nix b/stack-shell.nix index 8800cbbd773f7386033d30036ff026a169420e5f..bcbca4e2d6c8184374da5db1be50fb9ae2fd1a42 100644 --- a/stack-shell.nix +++ b/stack-shell.nix @@ -3,15 +3,15 @@ { ghc }: let pkgs = import <nixpkgs> { }; - # Get our Ristretto bindings. - ristretto = pkgs.callPackage ./ristretto.nix { }; + # Get our bindings. + challenge-bypass-ristretto = pkgs.callPackage ./nix/challenge-bypass-ristretto.nix { }; in # This is what you're supposed to call in a stack shell-file. I don't # *really* know what it does but I know it works... pkgs.haskell.lib.buildStackProject { inherit ghc; - name = "PrivacyPass"; + name = "challenge-bypass-ristretto"; # zlib is a common dependency of many of our dependencies. and we put our - # ristretto library in as well. - buildInputs = [ pkgs.zlib ristretto ]; + # challenge-bypass-ristretto library in as well. + buildInputs = [ pkgs.zlib challenge-bypass-ristretto ]; }