Skip to content
This repository has been archived by the owner on Jun 17, 2020. It is now read-only.

Commit

Permalink
ensure pkgs/default.nix is up to date
Browse files Browse the repository at this point in the history
  • Loading branch information
cleverca22 committed Jun 30, 2017
1 parent bc1a2e8 commit ee131c4
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 50 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ install:
- touch keys/key{0,1,2,3,4,5,6,7,8,9,10,11,12,13,41}.sk
script:
- ./scripts/find-all-revisions.sh
- nix-shell -p cabal2nix stack cabal-install ghc -Q -j 4 --run scripts/check-stack2nix.sh
- nixops --version
# check all scripts compile
- iohk-ops --help
Expand Down
10 changes: 8 additions & 2 deletions default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ let
});

socket-io-src = pkgs.fetchgit (removeAttrs (importJSON ./pkgs/engine-io.json) ["date"]);
in (import pkgs/default.nix { inherit pkgs compiler; }).override {
iohkpkgs = ((import pkgs/default.nix { inherit pkgs compiler; }).override {
overrides = self: super: {
cardano-sl-core = prodMode super.cardano-sl-core;
cardano-sl = overrideCabal super.cardano-sl (drv: {
Expand Down Expand Up @@ -55,4 +55,10 @@ in (import pkgs/default.nix { inherit pkgs compiler; }).override {
#enableLibraryProfiling = false;
#});
};
}
});
cabal2nixpkgs = rec {
# extra packages to expose, that have no relation to pkgs/default.nix
stack2nix = compiler.callPackage ./pkgs/stack2nix.nix {};
iohk-ops = compiler.callPackage (import ./iohk) {};
};
in iohkpkgs // cabal2nixpkgs
5 changes: 2 additions & 3 deletions jobsets/cardano.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ in { pkgs ? (import fixedNixpkgs {}), supportedSystems ? [ "x86_64-linux" ] }:
let
iohkpkgs = import ./../default.nix { inherit pkgs; };
in with pkgs; rec {
inherit (iohkpkgs) cardano-report-server-static cardano-sl-static cardano-sl-explorer-static cardano-sl iohk-ops;
stack2nix = iohkpkgs.callPackage ./../pkgs/stack2nix.nix {};
inherit (iohkpkgs) cardano-report-server-static cardano-sl-static cardano-sl-explorer-static cardano-sl iohk-ops stack2nix;
tests = import ./../tests { inherit pkgs supportedSystems; };
iohk-shell-env = import ./../shell.nix { inherit pkgs iohkpkgs stack2nix; };
iohk-shell-env = import ./../shell.nix { inherit pkgs iohkpkgs; };
}
45 changes: 20 additions & 25 deletions pkgs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -762,8 +762,6 @@ self: {
pname = "authenticate-oauth";
version = "1.6";
sha256 = "0xc37yql79r9idjfdhzg85syrwwgaxggcv86myi6zq2pzl89yvfj";
revision = "1";
editedCabalFile = "ba9e93e7b949fa4799ae7b3cb302df38dc7fb0be0460803b6c48636317b2bcbb";
libraryHaskellDepends = [
base
base64-bytestring
Expand Down Expand Up @@ -1431,8 +1429,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
isLibrary = true;
isExecutable = true;
Expand Down Expand Up @@ -1623,7 +1621,6 @@ self: {
bytestring
cardano-sl-core
cardano-sl-infra
cardano-sl-lrc
cardano-sl-ssc
cardano-sl-txp
cardano-sl-update
Expand Down Expand Up @@ -1688,8 +1685,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/core; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1762,8 +1759,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/db; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1800,8 +1797,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/godtossing; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1848,8 +1845,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/infra; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1910,8 +1907,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/lrc; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1940,8 +1937,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/ssc; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -1977,8 +1974,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/txp; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -2023,8 +2020,8 @@ self: {
version = "0.4.4";
src = fetchgit {
url = "https://github.com/input-output-hk/cardano-sl.git";
sha256 = "1li70k82mvyn4psmwcjjdhvcbrdliq0mcxx3g7q8r1cpam77c27k";
rev = "4bcf1e6b601d531f753ebdb6aec23e19d4b08e6c";
sha256 = "05zk3bm27lmcfi2a93c70r3s0z79ah31j3zkib52arm5y15yh55h";
rev = "1239a6a876fbbb970e836c8bc6bb72d781ba2fa9";
};
postUnpack = "sourceRoot+=/update; echo source root reset to \$sourceRoot";
libraryHaskellDepends = [
Expand Down Expand Up @@ -5174,8 +5171,6 @@ self: {
pname = "memory";
version = "0.14.5";
sha256 = "01d1bg8pkhw9mpyd7nm5zzpqv9kh9cj2fkd2ywvkay7np2r14820";
revision = "1";
editedCabalFile = "fe81cc9b260784b0e8e71d4953441fc97a575200732ded56ce25c0900744e605";
libraryHaskellDepends = [
base
bytestring
Expand Down Expand Up @@ -8194,8 +8189,8 @@ self: {
universum = callPackage ({ base, bytestring, containers, deepseq, exceptions, ghc-prim, hashable, microlens, microlens-mtl, mkDerivation, mtl, safe, stdenv, stm, text, text-format, transformers, type-operators, unordered-containers, utf8-string, vector }:
mkDerivation {
pname = "universum";
version = "0.4.3";
sha256 = "17rrikfid54z8h95qns5q7bdxadnnggv1pl2d9ilz9pz9hi7a9g6";
version = "0.4.2";
sha256 = "1chyj0mrrfhzhd6wrj9wlxyil9jiyq6yvk27dvh6qzj7qrw2ilzz";
libraryHaskellDepends = [
base
bytestring
Expand Down
14 changes: 9 additions & 5 deletions pkgs/generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ function runInShell {
}

set -xe
set -v

# Get relative path to script directory
scriptDir=$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")
Expand All @@ -15,23 +16,26 @@ source ${scriptDir}/../scripts/set_nixpath.sh
# Generate stack2nix Nix package
runInShell cabal2nix \
--no-check \
--revision $(jq .rev < ../stack2nix-src.json -r) \
--revision $(jq .rev < ${scriptDir}/../stack2nix-src.json -r) \
https://github.com/input-output-hk/stack2nix.git > $scriptDir/stack2nix.nix

# Build stack2nix Nix package
nix-build -E "with import <nixpkgs> {}; haskell.packages.ghc802.callPackage ${scriptDir}/stack2nix.nix {}" -o $scriptDir/stack2nix
nix-build ${scriptDir}/.. -A stack2nix -o $scriptDir/stack2nix

# Generate explorer until it's merged with cardano-sl repo
runInShell cabal2nix \
--no-check \
--revision $(jq .rev < ../cardano-sl-explorer-src.json -r) \
--revision $(jq .rev < ${scriptDir}/../cardano-sl-explorer-src.json -r) \
https://github.com/input-output-hk/cardano-sl-explorer.git > $scriptDir/cardano-sl-explorer.nix

# Generate cardano-sl package set
runInShell $scriptDir/stack2nix/bin/stack2nix \
--revision $(jq .rev < ../cardano-sl-src.json -r) \
https://github.com/input-output-hk/cardano-sl.git > $scriptDir/default.nix
--revision $(jq .rev < ${scriptDir}/../cardano-sl-src.json -r) \
https://github.com/input-output-hk/cardano-sl.git > $scriptDir/default.nix.new
mv $scriptDir/default.nix.new $scriptDir/default.nix

# Generate iohk-ops expression for Hydra
# Manual build with: nix-build --no-build-output --cores 0 -E "with import <nixpkgs> {}; haskell.packages.ghc802.callPackage iohk/default.nix {}"
pushd $scriptDir
runInShell cabal2nix ./.. > $scriptDir/../iohk/default.nix
popd
22 changes: 11 additions & 11 deletions pkgs/stack2nix.nix
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{ mkDerivation, async, base, bytestring, containers, data-fix
, directory, fetchgit, filepath, Glob, hnix, monad-parallel
, optparse-applicative, process, SafeSemaphore, stdenv, temporary
, text, yaml
{ mkDerivation, async, base, bytestring, Cabal, containers
, data-fix, directory, fetchgit, filepath, Glob, hnix
, monad-parallel, optparse-applicative, process, SafeSemaphore
, stdenv, temporary, text, yaml
}:
mkDerivation {
pname = "stack2nix";
version = "0.1.0.0";
version = "0.1.2.0";
src = fetchgit {
url = "https://github.com/input-output-hk/stack2nix.git";
sha256 = "1vc8w9b7i4wr1jx5zj7kvxj1901ck15scj3556h8j8c64g6ppr8k";
rev = "8f087b92f83be078e8cfe86fb243121dca4601ba";
sha256 = "076rsasis3vxbfrp5r3aar4yz9qcrawy8hysvbix62823w12lfas";
rev = "3f2d4d31b1936dda71ce9a3be145c6407685045e";
};
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
async base bytestring containers data-fix directory filepath Glob
hnix monad-parallel process SafeSemaphore temporary text yaml
async base bytestring Cabal containers data-fix directory filepath
Glob hnix monad-parallel process SafeSemaphore temporary text yaml
];
executableHaskellDepends = [ base optparse-applicative ];
executableHaskellDepends = [ base Cabal optparse-applicative ];
doCheck = false;
description = "Convert stack.yaml files into Nix build instructions.";
license = stdenv.lib.licenses.bsd3;
license = stdenv.lib.licenses.mit;
}
10 changes: 10 additions & 0 deletions scripts/check-stack2nix.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash

set -xe

# Get relative path to script directory
scriptDir=$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")

source ${scriptDir}/../pkgs/generate.sh

git diff --text --exit-code
5 changes: 1 addition & 4 deletions shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
, nixpkgs ? lib.fetchNixPkgs
, pkgs ? import nixpkgs {}
, iohkpkgs ? import ./default.nix { inherit pkgs; }
, stack2nix ? iohkpkgs.callPackage ./pkgs/stack2nix.nix {}
}: let

compiler = pkgs.haskell.packages."${ghcVer}";
Expand All @@ -24,8 +23,6 @@ ghc = ghcOrig.override (oldArgs: {
in with new; parent // {
# intero = overGithub old.intero "commercialhaskell/intero"
# "e546ea086d72b5bf8556727e2983930621c3cb3c" "1qv7l5ri3nysrpmnzfssw8wvdvz0f6bmymnz1agr66fplazid4pn" { doCheck = false; };
inherit stack2nix;
iohk-ops = iohkpkgs.callPackage (import ./iohk) {};
};
});

Expand Down Expand Up @@ -59,6 +56,6 @@ mkDerivation {
license = stdenv.lib.licenses.mit;
};

drv = ghc.callPackage drvf {};
drv = pkgs.haskellPackages.callPackage drvf { inherit (iohkpkgs) stack2nix iohk-ops; };

in if pkgs.lib.inNixShell then drv.env else drv

0 comments on commit ee131c4

Please sign in to comment.