exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

default.nix (2069B)


      1 # Nix package for GNUnet development
      2 #
      3 ## INSTALL
      4 #
      5 # To build and install the package in the user environment, use:
      6 #
      7 # $ nix-env -f . -i
      8 #
      9 ## BUILD ONLY
     10 #
     11 # To build the package and add it to the nix store, use:
     12 #
     13 # $ nix-build
     14 #
     15 ## SHELL
     16 #
     17 # To launch a shell with all dependencies installed in the environment, use one of the following:
     18 #    $ nix-shell
     19 #
     20 # After entering nix-shell, build it:
     21 #
     22 # $ configurePhase
     23 # $ buildPhase
     24 #
     25 ## NIXPKGS
     26 #
     27 # For all of the above commands, nixpkgs to use can be set the following way:
     28 #
     29 # a) by default it uses nixpkgs pinned to a known working version
     30 #
     31 # b) use nixpkgs from the system:
     32 #    --arg pkgs 0
     33 #
     34 # c) use nixpkgs at a given path
     35 #    --arg pkgs /path/to/nixpkgs
     36 #
     37 ## CCACHE
     38 #
     39 # To enable ccache, use the following:
     40 #
     41 #    --argstr ccache_dir /var/cache/ccache
     42 
     43 # or when using nix-shell:
     44 #    --argstr ccache_dir ~/.ccache
     45 #
     46 # and make sure the given directory is writable by the nixpkgs group when using nix-build or nix-env -i,
     47 # or the current user when using nix-shell
     48 #
     49 
     50 {
     51  pkgs ? null,
     52  ccache_dir ? "",
     53 }:
     54 
     55 let
     56   syspkgs = import <nixpkgs> { };
     57   pinpkgs = syspkgs.fetchFromGitHub {
     58     owner = "NixOS";
     59     repo = "nixpkgs";
     60 
     61     # binary cache exists for revisions in https://nixos.org/releases/nixos/<release>/<build>/git-revision
     62     rev = "c4469edac1fc1fa5e5b5aa2ceadeda8f3f92d30a"; # https://nixos.org/releases/nixos/16.09/nixos-16.09beta430.c4469ed/git-revision
     63     sha256 = "1x6hmf815d5anfxrxl6iivfkk60q5qxa6waa9xnwhwkbc14rhvn9";
     64   };
     65   usepkgs = if null == pkgs then
     66              import pinpkgs {}
     67             else
     68               if 0 == pkgs then
     69                 import <nixpkgs> { }
     70               else
     71                 import pkgs {};
     72   stdenv = usepkgs.stdenvAdapters.keepDebugInfo usepkgs.stdenv;
     73 
     74 in {
     75     gnunet-dev = usepkgs.callPackage ./gnunet/gnunet-dev.nix {
     76       inherit ccache_dir;
     77     };
     78   taler-exchange-dev = usepkgs.callPackage ./taler-exchange-dev.nix {
     79     inherit ccache_dir;
     80     gnunet-dev = usepkgs.callPackage ./gnunet/gnunet-dev.nix {
     81       inherit ccache_dir;
     82     };
     83   };
     84 }