git.iko.soy/typeable/cabal2nix
on master help sign in
.travis.yml+137−78
since splitsnapshots
unifiedsplit
@@ -1,102 +1,161 @@
1# This Travis job script has been generated by a script via
1# This Travis job script has been generated by a script via
2#
2#
3−# runghc make_travis_yml_2.hs '--no-installed' '--doctest' '--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen' '--hlint' '-o' '.travis.yml' 'cabal2nix.cabal'
3+# haskell-ci '--installed=+all -Cabal' '--hlint' '--doctest' '--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen' '-o' '.travis.yml' 'cabal2nix.cabal' '--head-hackage' '--head-hackage-jobs' '> 8.8'
4#
4#
5−# For more information, see https://github.com/hvr/multi-ghc-travis
5+# For more information, see https://github.com/haskell-CI/haskell-ci
6#
6#
7+# version: 0.9.20200306
8+#
9+version: ~> 1.0
7language: c
10language: c
8−sudo: false
11+os: linux
9−
12+dist: xenial
10git:
13git:
11− submodules: false # whether to recursively clone submodules
14+ # whether to recursively clone submodules
12−
15+ submodules: false
13cache:
16cache:
14 directories:
17 directories:
15 - $HOME/.cabal/packages
18 - $HOME/.cabal/packages
16 - $HOME/.cabal/store
19 - $HOME/.cabal/store
17−
20+ - $HOME/.hlint
18before_cache:
21before_cache:
19− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/build-reports.log
22+ - rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
20 # remove files that are regenerated by 'cabal update'
23 # remove files that are regenerated by 'cabal update'
21− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/00-index.*
24+ - rm -fv $CABALHOME/packages/hackage.haskell.org/00-index.*
22− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/*.json
25+ - rm -fv $CABALHOME/packages/hackage.haskell.org/*.json
23− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.cache
26+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.cache
24− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar
27+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
25− - rm -fv $HOME/.cabal/packages/hackage.haskell.org/01-index.tar.idx
28+ - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
26−
27− - rm -rfv $HOME/.cabal/packages/head.hackage
29+ - rm -rfv $CABALHOME/packages/head.hackage
28−
30+jobs:
29−matrix:
30 include:
31 include:
31− - compiler: "ghc-8.2.2"
32+ - compiler: ghc-8.10.1
32− # env: TEST=--disable-tests BENCH=--disable-benchmarks
33+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.10.1","cabal-install-3.2"]}}
33− addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}
34+ os: linux
34−
35+ - compiler: ghc-8.8.3
36+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.8.3","cabal-install-3.0"]}}
37+ os: linux
38+ - compiler: ghc-8.6.5
39+ addons: {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.6.5","cabal-install-3.0"]}}
40+ os: linux
41+ allow_failures:
42+ - compiler: ghc-8.8.3
43+ - compiler: ghc-8.10.1
35before_install:
44before_install:
36− - HC=${CC}
45+ - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
46+ - WITHCOMPILER="-w $HC"
47+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
37− - HCPKG=${HC/ghc/ghc-pkg}
48+ - HCPKG="$HC-pkg"
38 - unset CC
49 - unset CC
39− - ROOTDIR=$(pwd)
50+ - CABAL=/opt/ghc/bin/cabal
40− - mkdir -p $HOME/.local/bin
51+ - CABALHOME=$HOME/.cabal
41− - "PATH=/opt/ghc/bin:/opt/ghc-ppa-tools/bin:$HOME/local/bin:$PATH"
52+ - export PATH="$CABALHOME/bin:$PATH"
53+ - TOP=$(pwd)
42− - HCNUMVER=$(( $(${HC} --numeric-version|sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
54+ - "HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\d+)\\.(\\d+)\\.(\\d+)(\\.(\\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"
43 - echo $HCNUMVER
55 - echo $HCNUMVER
44−
56+ - CABAL="$CABAL -vnormal+nowrap"
57+ - set -o pipefail
58+ - TEST=--enable-tests
59+ - BENCH=--enable-benchmarks
60+ - HEADHACKAGE=false
61+ - if [ $HCNUMVER -ge 80800 ] ; then HEADHACKAGE=true ; fi
62+ - rm -f $CABALHOME/config
63+ - |
64+ echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
65+ echo "remote-build-reporting: anonymous" >> $CABALHOME/config
66+ echo "write-ghc-environment-files: always" >> $CABALHOME/config
67+ echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
68+ echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
69+ echo "world-file: $CABALHOME/world" >> $CABALHOME/config
70+ echo "extra-prog-path: $CABALHOME/bin" >> $CABALHOME/config
71+ echo "symlink-bindir: $CABALHOME/bin" >> $CABALHOME/config
72+ echo "installdir: $CABALHOME/bin" >> $CABALHOME/config
73+ echo "build-summary: $CABALHOME/logs/build.log" >> $CABALHOME/config
74+ echo "store-dir: $CABALHOME/store" >> $CABALHOME/config
75+ echo "install-dirs user" >> $CABALHOME/config
76+ echo " prefix: $CABALHOME" >> $CABALHOME/config
77+ echo "repository hackage.haskell.org" >> $CABALHOME/config
78+ echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
79+ - |
80+ if $HEADHACKAGE; then
81+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config
82+ echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config
83+ echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config
84+ echo " secure: True" >> $CABALHOME/config
85+ echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config
86+ echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config
87+ echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config
88+ echo " key-threshold: 3" >> $CABALHOME/config
89+ fi
45install:
90install:
46− - cabal --version
91+ - ${CABAL} --version
47 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
92 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
48− - BENCH=${BENCH---enable-benchmarks}
93+ - |
49− - TEST=${TEST---enable-tests}
94+ echo "program-default-options" >> $CABALHOME/config
50− - HADDOCK=${HADDOCK-true}
95+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
51− - INSTALLED=${INSTALLED-true}
96+ - cat $CABALHOME/config
52− - GHCHEAD=${GHCHEAD-false}
97+ - rm -fv cabal.project cabal.project.local cabal.project.freeze
53− - travis_retry cabal update -v
98+ - travis_retry ${CABAL} v2-update -v
54− - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
99+ - (cd /tmp && ${CABAL} v2-install $WITHCOMPILER -j2 doctest --constraint='doctest ==0.16.2.*')
55− - rm -fv cabal.project cabal.project.local
100+ - if [ $HCNUMVER -lt 80800 ] ; then HLINTVER=$(cd /tmp && (${CABAL} v2-install -v $WITHCOMPILER --dry-run hlint --constraint='hlint ==2.2.*' | perl -ne 'if (/\bhlint-(\d+(\.\d+)*)\b/) { print "$1"; last; }')); echo "HLint version $HLINTVER" ; fi
56− - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
101+ - "if [ $HCNUMVER -lt 80800 ] ; then if [ ! -e $HOME/.hlint/hlint-$HLINTVER/hlint ]; then echo \"Downloading HLint version $HLINTVER\"; mkdir -p $HOME/.hlint; curl --write-out 'Status Code: %{http_code} Redirects: %{num_redirects} Total time: %{time_total} Total Dsize: %{size_download}\\n' --silent --location --output $HOME/.hlint/hlint-$HLINTVER.tar.gz \"https://github.com/ndmitchell/hlint/releases/download/v$HLINTVER/hlint-$HLINTVER-x86_64-linux.tar.gz\"; tar -xzv -f $HOME/.hlint/hlint-$HLINTVER.tar.gz -C $HOME/.hlint; fi ; fi"
57− - if [ $HCNUMVER -ge 80000 ]; then cabal new-install -w ${HC} --symlink-bindir=$HOME/.local/bin doctest --constraint='doctest ==0.13.*'; fi
102+ - if [ $HCNUMVER -lt 80800 ] ; then mkdir -p $CABALHOME/bin && ln -sf "$HOME/.hlint/hlint-$HLINTVER/hlint" $CABALHOME/bin/hlint ; fi
58− - if [ $HCNUMVER -eq 80202 ]; then cabal new-install -w ${HC} --symlink-bindir=$HOME/.local/bin hlint --constraint='hlint ==2.0.*'; fi
103+ - if [ $HCNUMVER -lt 80800 ] ; then hlint --version ; fi
59− - "printf 'packages: \".\"\\n' > cabal.project"
104+ # Generate cabal.project
105+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
106+ - touch cabal.project
107+ - |
108+ echo "packages: ." >> cabal.project
109+ - |
110+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(Cabal|cabal2nix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
111+ - cat cabal.project || true
60− - cat cabal.project
112+ - cat cabal.project.local || true
61− - if [ -f "./configure.ac" ]; then
113+ - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
62− (cd "." && autoreconf -i);
114+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
63− fi
115+ - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
64− - rm -f cabal.project.freeze
116+ - rm cabal.project.freeze
65− - cabal new-build -w ${HC} ${TEST} ${BENCH} --project-file="cabal.project" --dep -j2 all
117+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
66− - cabal new-build -w ${HC} --disable-tests --disable-benchmarks --project-file="cabal.project" --dep -j2 all
118+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
67− - rm -rf .ghc.environment.* "."/dist
68− - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
69−
70−# Here starts the actual work to be performed for the package under test;
71−# any command which exits with a non-zero exit code causes the build to fail.
72script:
119script:
73− # test that source-distributions can be generated
120+ - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
74− - (cd "." && cabal sdist)
121+ # Packaging...
122+ - ${CABAL} v2-sdist all
123+ # Unpacking...
75− - mv "."/dist/cabal2nix-*.tar.gz ${DISTDIR}/
124+ - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
76 - cd ${DISTDIR} || false
125 - cd ${DISTDIR} || false
77− - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
126+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
78− - "printf 'packages: cabal2nix-*/*.cabal\\n' > cabal.project"
127+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
128+ - PKGDIR_cabal2nix="$(find . -maxdepth 1 -type d -regex '.*/cabal2nix-[0-9.]*')"
129+ # Generate cabal.project
130+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
131+ - touch cabal.project
132+ - |
133+ echo "packages: ${PKGDIR_cabal2nix}" >> cabal.project
134+ - |
135+ - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(Cabal|cabal2nix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
79− - cat cabal.project
136+ - cat cabal.project || true
137+ - cat cabal.project.local || true
138+ # Building...
80 # this builds all libraries and executables (without tests/benchmarks)
139 # this builds all libraries and executables (without tests/benchmarks)
81− - cabal new-build -w ${HC} --disable-tests --disable-benchmarks all
140+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
82−
141+ # Building with tests and benchmarks...
83−
84 # build & run tests, build benchmarks
142 # build & run tests, build benchmarks
85− - cabal new-build -w ${HC} ${TEST} ${BENCH} all
143+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
86− - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} ${BENCH} all; fi
144+ # Testing...
87−
145+ - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all
88− # doctest
146+ # Doctest...
89− - if [ $HCNUMVER -ge 80000 ]; then (cd cabal2nix-* && doctest -i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen src); fi
147+ - (cd ${PKGDIR_cabal2nix} && doctest -i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen src)
90−
148+ # HLint..
91− # hlint
149+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint src) ; fi
150+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint hackage2nix) ; fi
92− - if [ $HCNUMVER -eq 80202 ]; then (cd cabal2nix-* && hlint src); fi
151+ - if [ $HCNUMVER -lt 80800 ] ; then (cd ${PKGDIR_cabal2nix} && hlint cabal2nix) ; fi
93−
94− # cabal check
152+ # cabal check...
95− - (cd cabal2nix-* && cabal check)
153+ - (cd ${PKGDIR_cabal2nix} && ${CABAL} -vnormal check)
96−
154+ # haddock...
97− # haddock
155+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all
98− - rm -rf ./dist-newstyle
156+ # Building without installed constraints for packages in global-db...
99− - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
157+ - rm -f cabal.project.local
158+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
100
159
101−# REGENDATA ["--no-installed","--doctest","--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen","--hlint","-o",".travis.yml","cabal2nix.cabal"]
160+# REGENDATA ("0.9.20200306",["--installed=+all -Cabal","--hlint","--doctest","--doctest-options=-i ../dist-newstyle/build/*/*/cabal2nix-*/build/autogen","-o",".travis.yml","cabal2nix.cabal","--head-hackage","--head-hackage-jobs","> 8.8"])
102# EOF
161# EOF
README.md+12−7
@@ -1,6 +1,11 @@
1Cabal2nix
1Cabal2nix
2=========
2=========
3
3
4+[![hackage release](https://img.shields.io/hackage/v/cabal2nix.svg?label=hackage)](http://hackage.haskell.org/package/cabal2nix)
5+[![stackage LTS package](http://stackage.org/package/cabal2nix/badge/lts)](http://stackage.org/lts/package/cabal2nix)
6+[![stackage Nightly package](http://stackage.org/package/cabal2nix/badge/nightly)](http://stackage.org/nightly/package/cabal2nix)
7+[![travis build status](https://img.shields.io/travis/NixOS/cabal2nix/master.svg?label=travis+build)](https://travis-ci.org/NixOS/cabal2nix)
8+
4`cabal2nix` converts a single Cabal file into a single Nix build expression.
9`cabal2nix` converts a single Cabal file into a single Nix build expression.
5For example:
10For example:
6
11
@@ -22,16 +27,16 @@ direct `http://host/path/pkg.cabal` URL can be provided, as well as a
22`file:///local/path/pkg.cabal` URI that doesn't depend on network access.
27`file:///local/path/pkg.cabal` URI that doesn't depend on network access.
23However, if the source hash is not already in `cabal2nix`'s cache or provided
28However, if the source hash is not already in `cabal2nix`'s cache or provided
24using the `--sha256` option, `cabal2nix` still needs to download the source
29using the `--sha256` option, `cabal2nix` still needs to download the source
25−code to compute the hash, which obviously still causes network traffic. Run the
30+code to compute the hash, which still causes network traffic. Run the utility
26−utility with `--help` to see the complete list of supported command line flags.
31+with `--help` to see the complete list of supported command-line flags.
27
32
28−Detailed instructions how to use those generated files with Nix can be found at
33+Detailed instructions on how to use those generated files with Nix can be found at
29−http://nixos.org/nixpkgs/manual/#users-guide-to-the-haskell-infrastructure.
34+https://nixos.org/nixpkgs/manual/#how-to-create-nix-builds-for-your-own-private-haskell-packages.
30
35
31`cabal2nix` can also build derivations for projects from other sources than
36`cabal2nix` can also build derivations for projects from other sources than
32−hackage. You only need to provide an URI that points to a cabal project. The
37+Hackage. You only need to provide a URI that points to a cabal project. The
33−most common usecase for this is probably to generate a derivation for a project
38+most common use-case for this is probably to generate a derivation for a
34−on the local file system:
39+project on the local file system:
35
40
36 $ cabal get mtl-2.2.1 && cd mtl-2.2.1
41 $ cabal get mtl-2.2.1 && cd mtl-2.2.1
37 $ cabal2nix .
42 $ cabal2nix .
cabal2nix.cabal+138−179
@@ -1,193 +1,152 @@
1−name: cabal2nix
1+name: cabal2nix
2−version: 2.9
2+version: 2.15.1
3−synopsis: Convert Cabal files into Nix build instructions.
3+synopsis: Convert Cabal files into Nix build instructions.
4−category: Distribution, Nix
5−stability: stable
6−homepage: https://github.com/nixos/cabal2nix#readme
7−bug-reports: https://github.com/nixos/cabal2nix/issues
8−author: Peter Simons,
9− Andres Loeh,
10− Benno Fünfstück,
11− Mateusz Kowalczyk,
12− Michael Alan Dorman,
13− Tom Smalley,
14− Mathijs Kwik,
15− Shea Levy,
16− Dmitry Malikov,
17− Eric Seidel,
18− Jacob Mitchell,
19− Graham Christensen,
20− Hamish Mackenzie,
21− Nikolay Amiantov,
22− Aycan iRiCAN,
23− Bryan Gardiner,
24− Joe Hermaszewski,
25− John Wiegley,
26− Philipp Hausmann,
27− Spencer Janssen,
28− Tom Hunger,
29− William Casarin,
30− koral,
31− ksaric,
32− Adam Vogt,
33− Alexey Shmalko,
34− Corey O'Connor,
35− Cray Elliott,
36− David Johnson,
37− Dmitry Bushev,
38− Domen Kožar,
39− Felix Kunzmann,
40− Gabriel Ebner,
41− Gergely Risko,
42− Joachim Fasting,
43− John Albietz,
44− John Chee,
45− Jussi Maki,
46− Lisanna Dettwyler,
47− Mark Laws,
48− Mark Wotton,
49− Matthew Pickering,
50− Matthew Stewart,
51− Matvey Aksenov,
52− Nicholas Clarke,
53− Nicolas Rolland,
54− Oliver Charles,
55− Pascal Wittmann,
56− Patrick John Wheeler,
57− Phil de Joux,
58− Piotr Bogdan,
59− Profpatsch,
60− Raymond Gauthier,
61− Renzo Carbonara,
62− Rodney Lorrimar,
63− Sibi,
64− Sukant Hajra,
65− Tanner Doshier,
66− Vaibhav Sagar,
67− Viktar Basharymau,
68− danbst,
69− karsten gebbert,
70− laMudri,
71− Александр Цамутали
72−maintainer: Peter Simons <simons@cryp.to>
73−license: BSD3
74−license-file: LICENSE
75−tested-with: GHC == 8.2.2
76−build-type: Simple
77−cabal-version: 1.24
78−
79description:
4description:
80− Convert Cabal files into Nix build instructions. Users of Nix can install the
5+ Convert Cabal files into Nix build instructions. Users of Nix can install the latest
81− latest version by running:
6+ version by running:
82 .
7 .
83 > nix-env -i cabal2nix
8 > nix-env -i cabal2nix
84−
9+license: BSD3
10+license-file: LICENSE
11+author: Peter Simons, Andres Loeh, Benno Fünfstück, Mateusz Kowalczyk,
12+ Michael Alan Dorman, Tom Smalley, Mathijs Kwik, Shea Levy, Dmitry
13+ Malikov, Eric Seidel, Jacob Mitchell, Graham Christensen,
14+ Hamish Mackenzie, Nikolay Amiantov, Aycan iRiCAN, Bryan
15+ Gardiner, Joe Hermaszewski, John Wiegley, Philipp Hausmann,
16+ Spencer Janssen, Tom Hunger, William Casarin, koral,
17+ ksaric, Adam Vogt, Alexey Shmalko, Corey O'Connor, Cray
18+ Elliott, David Johnson, Dmitry Bushev, Domen Kožar, Felix
19+ Kunzmann, Gabriel Ebner, Gergely Risko, Joachim Fasting,
20+ John Albietz, John Chee, Jussi Maki, Lisanna Dettwyler,
21+ Mark Laws, Mark Wotton, Matthew Pickering, Matthew Stewart,
22+ Matvey Aksenov, Nicholas Clarke, Nicolas Rolland, Oliver
23+ Charles, Pascal Wittmann, Patrick John Wheeler, Phil de
24+ Joux, Piotr Bogdan, Profpatsch, Raymond Gauthier, Renzo
25+ Carbonara, Rodney Lorrimar, Sibi, Sukant Hajra, Tanner
26+ Doshier, Vaibhav Sagar, Viktar Basharymau, danbst, karsten
27+ gebbert, laMudri, Александр Цамутали
28+maintainer: Peter Simons <simons@cryp.to>
29+stability: stable
30+tested-with: GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1
31+category: Distribution, Nix
32+homepage: https://github.com/nixos/cabal2nix#readme
33+bug-reports: https://github.com/nixos/cabal2nix/issues
34+build-type: Simple
85−extra-source-files:
35+extra-source-files: README.md
86− README.md
87− test/golden-test-cases/*.cabal
36+ test/golden-test-cases/*.cabal
88− test/golden-test-cases/*.nix.golden
37+ test/golden-test-cases/*.nix.golden
38+cabal-version: 1.24
89
39
90source-repository head
40source-repository head
91− type: git
41+ type: git
92 location: https://github.com/nixos/cabal2nix
42 location: https://github.com/nixos/cabal2nix
93
43
94library
44library
45+ exposed-modules: Cabal2nix
46+ Distribution.Nixpkgs.Fetch
47+ Distribution.Nixpkgs.Haskell
48+ Distribution.Nixpkgs.Haskell.BuildInfo
49+ Distribution.Nixpkgs.Haskell.Constraint
50+ Distribution.Nixpkgs.Haskell.Derivation
51+ Distribution.Nixpkgs.Haskell.FromCabal
52+ Distribution.Nixpkgs.Haskell.FromCabal.Configuration
53+ Distribution.Nixpkgs.Haskell.FromCabal.Flags
54+ Distribution.Nixpkgs.Haskell.FromCabal.License
55+ Distribution.Nixpkgs.Haskell.FromCabal.Name
56+ Distribution.Nixpkgs.Haskell.FromCabal.Normalize
57+ Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
58+ Distribution.Nixpkgs.Haskell.Hackage
59+ Distribution.Nixpkgs.Haskell.OrphanInstances
60+ Distribution.Nixpkgs.Haskell.PackageSourceSpec
61+ other-modules: Paths_cabal2nix
95− hs-source-dirs:
62+ hs-source-dirs: src
96− src
97− other-extensions: CPP DeriveGeneric FlexibleInstances MultiParamTypeClasses OverloadedStrings RecordWildCards ScopedTypeVariables StandaloneDeriving TemplateHaskell
98− ghc-options: -Wall
99− build-depends:
63+ build-depends: base > 4.11
100− Cabal >2.2
64+ , Cabal == 3.0.*
101− , aeson
65+ , aeson > 1
102− , ansi-wl-pprint
66+ , ansi-wl-pprint
103− , base <5
104− , bytestring
67+ , bytestring
105− , containers
68+ , containers >= 0.5.9
106− , deepseq >=1.4
69+ , deepseq >= 1.4
107− , directory
70+ , directory
108− , distribution-nixpkgs >=1.1.1
71+ , distribution-nixpkgs >= 1.3.1
109− , filepath
72+ , filepath
110− , hackage-db >=2.0.1
73+ , hackage-db >= 2.0.1
111− , hopenssl >=2
74+ , hopenssl >= 2
112− , hpack >= 0.26
75+ , hpack >= 0.29.6
113− , language-nix
76+ , language-nix
114− , lens
77+ , lens
115− , optparse-applicative
78+ , optparse-applicative
116− , pretty >=1.1.2
79+ , pretty >= 1.1.2
117− , process
80+ , process
118− , split
81+ , split
119− , text
82+ , text
120− , time
83+ , time
121− , transformers
84+ , transformers
122− , yaml
85+ , yaml
123− exposed-modules:
124− Cabal2nix
125− Distribution.Nixpkgs.Fetch
126− Distribution.Nixpkgs.Haskell
127− Distribution.Nixpkgs.Haskell.BuildInfo
128− Distribution.Nixpkgs.Haskell.Constraint
129− Distribution.Nixpkgs.Haskell.Derivation
130− Distribution.Nixpkgs.Haskell.FromCabal
131− Distribution.Nixpkgs.Haskell.FromCabal.Configuration
132− Distribution.Nixpkgs.Haskell.FromCabal.Flags
133− Distribution.Nixpkgs.Haskell.FromCabal.License
134− Distribution.Nixpkgs.Haskell.FromCabal.Name
135− Distribution.Nixpkgs.Haskell.FromCabal.Normalize
136− Distribution.Nixpkgs.Haskell.FromCabal.PostProcess
137− Distribution.Nixpkgs.Haskell.Hackage
138− Distribution.Nixpkgs.Haskell.OrphanInstances
139− Distribution.Nixpkgs.Haskell.PackageSourceSpec
140− other-modules:
141− Paths_cabal2nix
142− default-language: Haskell2010
86+ default-language: Haskell2010
87+ other-extensions: MultiParamTypeClasses
88+ ScopedTypeVariables
89+ FlexibleInstances
90+ CPP
91+ TemplateHaskell
92+ StandaloneDeriving
93+ RecordWildCards
94+ OverloadedStrings
95+ DeriveGeneric
96+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
97+ -Wredundant-constraints
143
98
144executable cabal2nix
99executable cabal2nix
145− main-is: Main.hs
100+ main-is: Main.hs
146− hs-source-dirs: cabal2nix
101+ hs-source-dirs: cabal2nix
147− ghc-options: -Wall
148− build-depends: base, cabal2nix
102+ build-depends: base, cabal2nix
149− default-language: Haskell2010
103+ default-language: Haskell2010
104+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
105+ -Wredundant-constraints
150
106
151executable hackage2nix
107executable hackage2nix
152− main-is: Main.hs
108+ main-is: Main.hs
109+ other-modules: HackageGit
110+ Paths_cabal2nix
153− hs-source-dirs: hackage2nix
111+ hs-source-dirs: hackage2nix
154− ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
155− build-depends:
112+ build-depends: base < 5
156− Cabal >2.2
113+ , Cabal
157− , aeson
114+ , aeson
158− , base <5
159− , bytestring
115+ , bytestring
160− , cabal2nix
116+ , cabal2nix
161− , containers
117+ , containers
162− , directory
118+ , directory
163− , distribution-nixpkgs >=1.1.1
119+ , distribution-nixpkgs >= 1.2
164− , filepath
120+ , filepath
165− , hopenssl >=2
121+ , hopenssl >= 2
166− , language-nix
122+ , language-nix
167− , lens
123+ , lens
168− , monad-par
124+ , monad-par
169− , monad-par-extras
125+ , monad-par-extras
170− , mtl
126+ , mtl
171− , optparse-applicative
127+ , optparse-applicative
172− , pretty >=1.1.2
128+ , pretty >= 1.1.2
173− other-modules:
174− Paths_cabal2nix
175− HackageGit
176− default-language: Haskell2010
129+ default-language: Haskell2010
130+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
131+ -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-maxN16
177
132
178test-suite regression-test
133test-suite regression-test
179− type: exitcode-stdio-1.0
134+ type: exitcode-stdio-1.0
180− main-is: Main.hs
135+ main-is: Main.hs
181− hs-source-dirs: test
136+ hs-source-dirs: test
182− build-depends: base
137+ build-depends: base
183− , Cabal >2.2
138+ , Cabal
184− , cabal2nix
139+ , cabal2nix
140+ , containers
141+ , directory
185− , filepath
142+ , filepath
186− , language-nix
143+ , language-nix
187− , lens
144+ , lens
188− , pretty
145+ , pretty
146+ , process > 1.2
189− , tasty
147+ , tasty
190− , tasty-golden
148+ , tasty-golden
191− -- TODO: Why does 1K not work any longer?
149+ default-language: Haskell2010
192− ghc-options: -Wall -with-rtsopts=-K48K
150+ build-tools: cabal2nix
193− default-language: Haskell2010
151+ ghc-options: -Wall -Wcompat -Wincomplete-uni-patterns -Wincomplete-record-updates
152+ -Wredundant-constraints -threaded -with-rtsopts=-K64K
doc/01-use-function-application-to-escape-override-hell.md+1−1
@@ -116,7 +116,7 @@ reflection. Nixpkgs defines the Haskell package set recursively as a function
116produce and then uses that information to the produce the attribute set it's
116produce and then uses that information to the produce the attribute set it's
117already received as an argument. It's a mind-boggling way to define a recursive
117already received as an argument. It's a mind-boggling way to define a recursive
118attribute set `rec { ... }` without actually using the `rec` keyword. Every
118attribute set `rec { ... }` without actually using the `rec` keyword. Every
119−computable function of this kind has a fixed point: a value `x` that satifies
119+computable function of this kind has a fixed point: a value `x` that satisfies
120`f x = x`. That `x` is the result we actually want --- it's an ordinary
120`f x = x`. That `x` is the result we actually want --- it's an ordinary
121attribute set with all the `self`-references resolved and replaced by actual
121attribute set with all the `self`-references resolved and replaced by actual
122values. The details of fixed points aren't important, though. What's important
122values. The details of fixed points aren't important, though. What's important
doc/hal8.md+1−1
@@ -190,7 +190,7 @@ Haskell Platform later, so one doesn't have to worry that every single install
190is going to be that expensive.
190is going to be that expensive.
191
191
192In its last step, `nix-env` creates a "user environment" at
192In its last step, `nix-env` creates a "user environment" at
193−`$HOME/.nix-profile`, which simplies use of the installed packages a lot. That
193+`$HOME/.nix-profile`, which simplifies use of the installed packages a lot. That
194environment uses symlinks to create a view of the Nix store that combines those
194environment uses symlinks to create a view of the Nix store that combines those
195packages that have been installed into a single hierarchy. For example, the
195packages that have been installed into a single hierarchy. For example, the
196path `~/.nix-profile/bin/ghc` will be a symlink to
196path `~/.nix-profile/bin/ghc` will be a symlink to
hackage2nix/Main.hs+30−17
@@ -10,11 +10,10 @@ import Control.Monad
10import Control.Monad.Par.Combinator
10import Control.Monad.Par.Combinator
11import Control.Monad.Par.IO
11import Control.Monad.Par.IO
12import Control.Monad.Trans ( liftIO )
12import Control.Monad.Trans ( liftIO )
13−import Data.List
13+import Data.List ( intercalate )
14import Data.Map.Strict ( Map )
14import Data.Map.Strict ( Map )
15import qualified Data.Map.Strict as Map
15import qualified Data.Map.Strict as Map
16import Data.Maybe
16import Data.Maybe
17−import Data.Monoid
18import Data.Set ( Set )
17import Data.Set ( Set )
19import qualified Data.Set as Set
18import qualified Data.Set as Set
20import Data.String
19import Data.String
@@ -24,10 +23,11 @@ import Distribution.Nixpkgs.Haskell.Constraint
24import Distribution.Nixpkgs.Haskell.FromCabal
23import Distribution.Nixpkgs.Haskell.FromCabal
25import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
24import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
26import Distribution.Nixpkgs.Haskell.FromCabal.Flags
25import Distribution.Nixpkgs.Haskell.FromCabal.Flags
26+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
27import Distribution.Nixpkgs.Meta
27import Distribution.Nixpkgs.Meta
28import Distribution.Nixpkgs.PackageMap
28import Distribution.Nixpkgs.PackageMap
29import Distribution.Package
29import Distribution.Package
30−import Distribution.PackageDescription hiding ( options, buildDepends, extraLibs, buildTools )
30+import Distribution.PackageDescription hiding ( options, extraLibs, buildTools, homepage )
31import Distribution.System
31import Distribution.System
32import Distribution.Text
32import Distribution.Text
33import Distribution.Version
33import Distribution.Version
@@ -63,7 +63,7 @@ main = do
63 pinfo :: ParserInfo CLI
63 pinfo :: ParserInfo CLI
64 pinfo = info
64 pinfo = info
65 ( helper
65 ( helper
66− <*> infoOption ("hackage2nix " ++ display Main.version) (long "version" <> help "Show version number")
66+ <*> infoOption ("hackage2nix " ++ prettyShow Main.version) (long "version" <> help "Show version number")
67 <*> cliOptions
67 <*> cliOptions
68 )
68 )
69 ( fullDesc
69 ( fullDesc
@@ -72,13 +72,15 @@ main = do
72 CLI {..} <- execParser pinfo
72 CLI {..} <- execParser pinfo
73
73
74 config <- readConfiguration (nixpkgsRepository </> configFile)
74 config <- readConfiguration (nixpkgsRepository </> configFile)
75− nixpkgs <- readNixpkgPackageMap nixpkgsRepository Nothing
75+ nixpkgs <- readNixpkgPackageMap ["-f", nixpkgsRepository, "--arg", "config", "{ allowAliases = false; }"]
76 preferredVersions <- readPreferredVersions (fromMaybe (hackageRepository </> "preferred-versions") preferredVersionsFile)
76 preferredVersions <- readPreferredVersions (fromMaybe (hackageRepository </> "preferred-versions") preferredVersionsFile)
77 let fixup = Map.delete "acme-everything" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
77 let fixup = Map.delete "acme-everything" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
78 . Map.delete "som" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
78 . Map.delete "som" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
79 . Map.delete "type" -- TODO: https://github.com/NixOS/cabal2nix/issues/163
79 . Map.delete "type" -- TODO: https://github.com/NixOS/cabal2nix/issues/163
80 . Map.delete "control-invariants" -- TODO: depends on "assert"
80 . Map.delete "control-invariants" -- TODO: depends on "assert"
81+ . Map.delete "with" -- TODO: https://github.com/NixOS/cabal2nix/issues/164
82+ . Map.delete "telega" -- TODO: depends on "with"
81− . over (at ("hermes")) ((fmap (set (contains "1.3.4.3") False))) -- TODO: https://github.com/haskell/hackage-server/issues/436
83+ . over (at "hermes") (fmap (set (contains "1.3.4.3") False)) -- TODO: https://github.com/haskell/hackage-server/issues/436
82 hackage <- fixup <$> readHackage hackageRepository
84 hackage <- fixup <$> readHackage hackageRepository
83 let
85 let
84 hackagePackagesFile :: FilePath
86 hackagePackagesFile :: FilePath
@@ -91,7 +93,7 @@ main = do
91 latestVersionSet = Map.map Set.findMax (Map.filter (not . Set.null) (Map.mapWithKey (enforcePreferredVersions preferredVersions) hackage))
93 latestVersionSet = Map.map Set.findMax (Map.filter (not . Set.null) (Map.mapWithKey (enforcePreferredVersions preferredVersions) hackage))
92
94
93 defaultPackageOverridesSet :: PackageSet
95 defaultPackageOverridesSet :: PackageSet
94− defaultPackageOverridesSet = Map.fromList [ (name, resolveConstraint c hackage) | c@(Dependency name _) <- defaultPackageOverrides config ]
96+ defaultPackageOverridesSet = Map.fromList [ (name, resolveConstraint c hackage) | c@(Dependency name _ _) <- defaultPackageOverrides config ]
95
97
96 generatedDefaultPackageSet :: PackageSet
98 generatedDefaultPackageSet :: PackageSet
97 generatedDefaultPackageSet = (defaultPackageOverridesSet `Map.union` latestVersionSet) `Map.difference` corePackageSet
99 generatedDefaultPackageSet = (defaultPackageOverridesSet `Map.union` latestVersionSet) `Map.difference` corePackageSet
@@ -104,7 +106,7 @@ main = do
104
106
105 extraPackageSet :: PackageMultiSet
107 extraPackageSet :: PackageMultiSet
106 extraPackageSet = Map.unionsWith Set.union
108 extraPackageSet = Map.unionsWith Set.union
107− [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency name _) <- extraPackages config ]
109+ [ Map.singleton name (Set.singleton (resolveConstraint c hackage)) | c@(Dependency name _ _) <- extraPackages config ]
108
110
109 db :: PackageMultiSet
111 db :: PackageMultiSet
110 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
112 db = Map.unionsWith Set.union [ Map.map Set.singleton generatedDefaultPackageSet
@@ -114,7 +116,7 @@ main = do
114 ]
116 ]
115
117
116 haskellResolver :: Dependency -> Bool
118 haskellResolver :: Dependency -> Bool
117− haskellResolver (Dependency name vrange)
119+ haskellResolver (Dependency name vrange _)
118 | Just v <- Map.lookup name corePackageSet = v `withinRange` vrange
120 | Just v <- Map.lookup name corePackageSet = v `withinRange` vrange
119 | Just v <- Map.lookup name generatedDefaultPackageSet = v `withinRange` vrange
121 | Just v <- Map.lookup name generatedDefaultPackageSet = v `withinRange` vrange
120 | otherwise = False
122 | otherwise = False
@@ -133,8 +135,13 @@ main = do
133 (descr, cabalSHA256) <- readPackage hackageRepository pkgId
135 (descr, cabalSHA256) <- readPackage hackageRepository pkgId
134 meta <- readPackageMeta hackageRepository pkgId
136 meta <- readPackageMeta hackageRepository pkgId
135
137
136− let isInDefaultPackageSet :: Bool
138+ let isInDefaultPackageSet, isHydraEnabled, isBroken :: Bool
137− isInDefaultPackageSet = maybe False (== v) (Map.lookup name generatedDefaultPackageSet)
139+ isInDefaultPackageSet = (== Just v) (Map.lookup name generatedDefaultPackageSet)
140+ isHydraEnabled = isInDefaultPackageSet && not (isBroken || name `Set.member` dontDistributePackages config)
141+ isBroken = any (withinRange v) [ vr | Dependency pn vr _ <- brokenPackages config, pn == name ]
142+
143+ droppedPlatforms :: Set Platform
144+ droppedPlatforms = Map.findWithDefault mempty name (unsupportedPlatforms config)
138
145
139 tarballSHA256 :: SHA256Hash
146 tarballSHA256 :: SHA256Hash
140 tarballSHA256 = fromMaybe (error (display pkgId ++ ": meta data has no hash for the tarball"))
147 tarballSHA256 = fromMaybe (error (display pkgId ++ ": meta data has no hash for the tarball"))
@@ -148,14 +155,17 @@ main = do
148
155
149 drv :: Derivation
156 drv :: Derivation
150 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
157 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
151− & src .~ DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" tarballSHA256
158+ & src .~ urlDerivationSource ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") tarballSHA256
152 & editedCabalFile .~ cabalSHA256
159 & editedCabalFile .~ cabalSHA256
153− & metaSection.hydraPlatforms %~ (`Set.difference` Map.findWithDefault Set.empty name (dontDistributePackages config))
160+ & metaSection.platforms %~ (`Set.difference` Map.findWithDefault Set.empty name (unsupportedPlatforms config))
161+ & metaSection.hydraPlatforms %~ (if Set.null droppedPlatforms then id else (`Set.difference` droppedPlatforms))
162+ & metaSection.hydraPlatforms %~ (if isHydraEnabled then id else const Set.empty)
163+ & metaSection.broken ||~ isBroken
154 & metaSection.maintainers .~ Map.findWithDefault Set.empty name globalPackageMaintainers
164 & metaSection.maintainers .~ Map.findWithDefault Set.empty name globalPackageMaintainers
155− & metaSection.hydraPlatforms %~ (if isInDefaultPackageSet then id else const Set.empty)
165+ & metaSection.homepage .~ ""
156
166
157 overrides :: Doc
167 overrides :: Doc
158− overrides = fcat $ punctuate space [ disp b <> semi | b <- Set.toList ((view (dependencies . each) drv) `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
168+ overrides = fcat $ punctuate space [ pPrint b <> semi | b <- Set.toList (view (dependencies . each) drv `Set.union` view extraFunctionArgs drv), not (isFromHackage b) ]
159 return $ render $ nest 2 $
169 return $ render $ nest 2 $
160 hang (doubleQuotes (text attr) <+> equals <+> text "callPackage") 2 (parens (pPrint drv)) <+> (braces overrides <> semi)
170 hang (doubleQuotes (text attr) <+> equals <+> text "callPackage") 2 (parens (pPrint drv)) <+> (braces overrides <> semi)
161
171
@@ -189,10 +199,13 @@ enforcePreferredVersions cs pkg = Set.filter (\v -> PackageIdentifier pkg v `sat
189
199
190resolveConstraint :: Constraint -> Hackage -> Version
200resolveConstraint :: Constraint -> Hackage -> Version
191resolveConstraint c = fromMaybe (error msg) . resolveConstraint' c
201resolveConstraint c = fromMaybe (error msg) . resolveConstraint' c
192− where msg = "constraint " ++ display c ++ " cannot be resolved in Hackage"
202+ where msg = unlines [ "constraint " ++ display c ++ " cannot be resolved in Hackage"
203+ , "This could be due the package being missing in the hackage directory"
204+ , "or the file system not being case sensitive."
205+ ]
193
206
194resolveConstraint' :: Constraint -> Hackage -> Maybe Version
207resolveConstraint' :: Constraint -> Hackage -> Maybe Version
195−resolveConstraint' (Dependency name vrange) hackage
208+resolveConstraint' (Dependency name vrange _) hackage
196 | Just vset' <- Map.lookup name hackage
209 | Just vset' <- Map.lookup name hackage
197 , vset <- Set.filter (`withinRange` vrange) vset'
210 , vset <- Set.filter (`withinRange` vrange) vset'
198 , not (Set.null vset) = Just (Set.findMax vset)
211 , not (Set.null vset) = Just (Set.findMax vset)
hackage2nix/README.md+3
@@ -15,6 +15,9 @@ and we want to check that hackage-packages.nix will be updated correctly.
15On macOS you can use [this](https://gist.github.com/dixson3/8360571) to create one
15On macOS you can use [this](https://gist.github.com/dixson3/8360571) to create one
16(you can replace 60g with 4g as that should be plenty).
16(you can replace 60g with 4g as that should be plenty).
17
17
18+There is a [video on YouTube](https://www.youtube.com/watch?v=qX0mgtSm360)
19+that gives a thorough walk-through of these steps.
20+
18#### Setup
21#### Setup
19Replace `git@github.com:NixOS/nixpkgs.git` with a fork you have access to.
22Replace `git@github.com:NixOS/nixpkgs.git` with a fork you have access to.
20```
23```
src/Cabal2nix.hs+96−42
@@ -1,20 +1,22 @@
1−{-# LANGUAGE RecordWildCards #-}
1+{-# LANGUAGE LambdaCase #-}
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE RecordWildCards #-}
3
4
4module Cabal2nix
5module Cabal2nix
5− ( main, cabal2nix, cabal2nix', cabal2nixWithDB
6+ ( main, cabal2nix, cabal2nix', cabal2nixWithDB, parseArgs
7+ , Options(..)
6 )
8 )
7 where
9 where
8
10
9import Control.Exception ( bracket )
11import Control.Exception ( bracket )
10import Control.Lens
12import Control.Lens
11−import Control.Monad ( when )
13+import Control.Monad
14+import Data.List ( intercalate, isPrefixOf )
15+import Data.List.Split
12−import Data.Maybe ( fromMaybe, isJust )
16+import Data.Maybe ( fromMaybe, isJust, listToMaybe )
13−import Data.Monoid ( (<>) )
14import qualified Data.Set as Set
17import qualified Data.Set as Set
15import Data.String
18import Data.String
16import Data.Time
19import Data.Time
17−import qualified Distribution.Compat.ReadP as P
18import Distribution.Compiler
20import Distribution.Compiler
19import Distribution.Nixpkgs.Fetch
21import Distribution.Nixpkgs.Fetch
20import Distribution.Nixpkgs.Haskell
22import Distribution.Nixpkgs.Haskell
@@ -22,29 +24,31 @@ import Distribution.Nixpkgs.Haskell.FromCabal
22import Distribution.Nixpkgs.Haskell.FromCabal.Flags
24import Distribution.Nixpkgs.Haskell.FromCabal.Flags
23import qualified Distribution.Nixpkgs.Haskell.FromCabal.PostProcess as PP (pkg)
25import qualified Distribution.Nixpkgs.Haskell.FromCabal.PostProcess as PP (pkg)
24import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
26import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
27+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
25import Distribution.Nixpkgs.Haskell.PackageSourceSpec
28import Distribution.Nixpkgs.Haskell.PackageSourceSpec
26import Distribution.Nixpkgs.Meta
29import Distribution.Nixpkgs.Meta
27−import Distribution.PackageDescription ( mkFlagName, mkFlagAssignment, FlagAssignment )
28import Distribution.Package ( packageId )
30import Distribution.Package ( packageId )
31+import Distribution.PackageDescription ( mkFlagName, mkFlagAssignment, FlagAssignment )
32+import Distribution.Parsec as P
29import Distribution.Simple.Utils ( lowercase )
33import Distribution.Simple.Utils ( lowercase )
30import Distribution.System
34import Distribution.System
31−import Distribution.Text
32import Language.Nix
35import Language.Nix
33import Options.Applicative
36import Options.Applicative
34import Paths_cabal2nix ( version )
37import Paths_cabal2nix ( version )
35import System.Environment ( getArgs )
38import System.Environment ( getArgs )
36import System.IO ( hFlush, hPutStrLn, stdout, stderr )
39import System.IO ( hFlush, hPutStrLn, stdout, stderr )
37import qualified Text.PrettyPrint.ANSI.Leijen as P2
40import qualified Text.PrettyPrint.ANSI.Leijen as P2
38−import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi )
41+import Text.PrettyPrint.HughesPJClass ( Doc, Pretty(..), text, vcat, hcat, semi, render, prettyShow )
39
42
40data Options = Options
43data Options = Options
41 { optSha256 :: Maybe String
44 { optSha256 :: Maybe String
42 , optMaintainer :: [String]
45 , optMaintainer :: [String]
43--, optPlatform :: [String] -- TODO: fix command line handling of platforms
46--, optPlatform :: [String] -- TODO: fix command line handling of platforms
44 , optHaddock :: Bool
47 , optHaddock :: Bool
45− , optHpack :: Bool
48+ , optHpack :: HpackUse
46 , optDoCheck :: Bool
49 , optDoCheck :: Bool
47 , optJailbreak :: Bool
50 , optJailbreak :: Bool
51+ , optDoBenchmark :: Bool
48 , optRevision :: Maybe String
52 , optRevision :: Maybe String
49 , optHyperlinkSource :: Bool
53 , optHyperlinkSource :: Bool
50 , optEnableLibraryProfiling :: Bool
54 , optEnableLibraryProfiling :: Bool
@@ -58,9 +62,10 @@ data Options = Options
58 , optSystem :: Platform
62 , optSystem :: Platform
59 , optSubpath :: Maybe FilePath
63 , optSubpath :: Maybe FilePath
60 , optHackageSnapshot :: Maybe UTCTime
64 , optHackageSnapshot :: Maybe UTCTime
65+ , optNixpkgsIdentifier :: NixpkgsResolver
61 , optUrl :: String
66 , optUrl :: String
67+ , optFetchSubmodules :: Bool
62 }
68 }
63− deriving (Show)
64
69
65options :: Parser Options
70options :: Parser Options
66options = Options
71options = Options
@@ -68,9 +73,17 @@ options = Options
68 <*> many (strOption $ long "maintainer" <> metavar "MAINTAINER" <> help "maintainer of this package (may be specified multiple times)")
73 <*> many (strOption $ long "maintainer" <> metavar "MAINTAINER" <> help "maintainer of this package (may be specified multiple times)")
69-- <*> many (strOption $ long "platform" <> metavar "PLATFORM" <> help "supported build platforms (may be specified multiple times)")
74-- <*> many (strOption $ long "platform" <> metavar "PLATFORM" <> help "supported build platforms (may be specified multiple times)")
70 <*> flag True False (long "no-haddock" <> help "don't run Haddock when building this package")
75 <*> flag True False (long "no-haddock" <> help "don't run Haddock when building this package")
76+ <*>
77+ (
71− <*> switch (long "hpack" <> help "run hpack before configuring this package (only non-hackage packages)")
78+ flag' ForceHpack (long "hpack" <> help "run hpack before configuring this package (only non-hackage packages)")
79+ <|>
80+ flag' NoHpack (long "no-hpack" <> help "disable hpack run and use only cabal disregarding package.yaml existence")
81+ <|>
82+ pure PackageYamlHpack
83+ )
72 <*> flag True False (long "no-check" <> help "don't run regression test suites of this package")
84 <*> flag True False (long "no-check" <> help "don't run regression test suites of this package")
73 <*> switch (long "jailbreak" <> help "disregard version restrictions on build inputs")
85 <*> switch (long "jailbreak" <> help "disregard version restrictions on build inputs")
86+ <*> switch (long "benchmark" <> help "enable benchmarks for this package")
74 <*> optional (strOption $ long "revision" <> help "revision to use when fetching from VCS")
87 <*> optional (strOption $ long "revision" <> help "revision to use when fetching from VCS")
75 <*> flag True False (long "no-hyperlink-source" <> help "don't generate pretty-printed source code for the documentation")
88 <*> flag True False (long "no-hyperlink-source" <> help "don't generate pretty-printed source code for the documentation")
76 <*> switch (long "enable-library-profiling" <> help "enable library profiling in the generated build")
89 <*> switch (long "enable-library-profiling" <> help "enable library profiling in the generated build")
@@ -80,11 +93,13 @@ options = Options
80 <*> optional (strOption $ long "hackage-db" <> metavar "PATH" <> help "path to the local hackage db in tar format")
93 <*> optional (strOption $ long "hackage-db" <> metavar "PATH" <> help "path to the local hackage db in tar format")
81 <*> switch (long "shell" <> help "generate output suitable for nix-shell")
94 <*> switch (long "shell" <> help "generate output suitable for nix-shell")
82 <*> many (strOption $ short 'f' <> long "flag" <> help "Cabal flag (may be specified multiple times)")
95 <*> many (strOption $ short 'f' <> long "flag" <> help "Cabal flag (may be specified multiple times)")
83− <*> option (readP parse) (long "compiler" <> help "compiler to use when evaluating the Cabal file" <> value buildCompilerId <> showDefaultWith display)
96+ <*> option parseCabal (long "compiler" <> help "compiler to use when evaluating the Cabal file" <> value buildCompilerId <> showDefaultWith prettyShow)
84− <*> option (readP parsePlatform) (long "system" <> help "target system to use when evaluating the Cabal file" <> value buildPlatform <> showDefaultWith display)
97+ <*> option (maybeReader parsePlatform) (long "system" <> help "host system (in either short Nix format or full LLVM style) to use when evaluating the Cabal file" <> value buildPlatform <> showDefaultWith prettyShow)
85 <*> optional (strOption $ long "subpath" <> metavar "PATH" <> help "Path to Cabal file's directory relative to the URI (default is root directory)")
98 <*> optional (strOption $ long "subpath" <> metavar "PATH" <> help "Path to Cabal file's directory relative to the URI (default is root directory)")
86 <*> optional (option utcTimeReader (long "hackage-snapshot" <> help "hackage snapshot time, ISO format"))
99 <*> optional (option utcTimeReader (long "hackage-snapshot" <> help "hackage snapshot time, ISO format"))
100+ <*> pure (\i -> Just (binding # (i, path # [ident # "pkgs", i])))
87 <*> strArgument (metavar "URI")
101 <*> strArgument (metavar "URI")
102+ <*> flag True False (long "dont-fetch-submodules" <> help "do not fetch git submodules from git sources")
88
103
89-- | A parser for the date. Hackage updates happen maybe once or twice a month.
104-- | A parser for the date. Hackage updates happen maybe once or twice a month.
90-- Example: parseTime defaultTimeLocale "%FT%T%QZ" "2017-11-20T12:18:35Z" :: Maybe UTCTime
105-- Example: parseTime defaultTimeLocale "%FT%T%QZ" "2017-11-20T12:18:35Z" :: Maybe UTCTime
@@ -94,21 +109,60 @@ utcTimeReader = eitherReader $ \arg ->
94 Nothing -> Left $ "Cannot parse date, ISO format used ('2017-11-20T12:18:35Z'): " ++ arg
109 Nothing -> Left $ "Cannot parse date, ISO format used ('2017-11-20T12:18:35Z'): " ++ arg
95 Just utcTime -> Right utcTime
110 Just utcTime -> Right utcTime
96
111
97−readP :: P.ReadP a a -> ReadM a
112+parseCabal :: Parsec a => ReadM a
98−readP p = eitherReader $ \s -> case [ r' | (r',"") <- P.readP_to_S p s ] of
113+parseCabal = eitherReader eitherParsec
99− (r:_) -> Right r
114+
100− _ -> Left ("invalid value " ++ show s)
115+-- | Replicate the normalization performed by GHC_CONVERT_CPU in GHC's aclocal.m4
116+-- since the output of that is what Cabal parses.
117+ghcConvertArch :: String -> String
118+ghcConvertArch arch = case arch of
119+ "i486" -> "i386"
120+ "i586" -> "i386"
121+ "i686" -> "i386"
122+ "amd64" -> "x86_64"
123+ _ -> fromMaybe arch $ listToMaybe
124+ [prefix | prefix <- archPrefixes, prefix `isPrefixOf` arch]
125+ where archPrefixes =
126+ [ "aarch64", "alpha", "arm", "hppa1_1", "hppa", "m68k", "mipseb"
127+ , "mipsel", "mips", "powerpc64le", "powerpc64", "powerpc", "s390x"
128+ , "sparc64", "sparc"
129+ ]
130+
131+-- | Replicate the normalization performed by GHC_CONVERT_OS in GHC's aclocal.m4
132+-- since the output of that is what Cabal parses.
133+ghcConvertOS :: String -> String
134+ghcConvertOS os = case os of
135+ "watchos" -> "ios"
136+ "tvos" -> "ios"
137+ "linux-android" -> "linux-android"
138+ "linux-androideabi" -> "linux-androideabi"
139+ _ | "linux-" `isPrefixOf` os -> "linux"
140+ _ -> fromMaybe os $ listToMaybe
141+ [prefix | prefix <- osPrefixes, prefix `isPrefixOf` os]
142+ where osPrefixes =
143+ [ "gnu", "openbsd", "aix", "darwin", "solaris2", "freebsd", "nto-qnx"]
144+
145+parseArch :: String -> Arch
146+parseArch = classifyArch Permissive . ghcConvertArch
101
147
102−parsePlatform :: P.ReadP r Platform
148+parseOS :: String -> OS
103−parsePlatform = do arch <- P.choice [P.string "i686" >> return I386, P.string "x86_64" >> return X86_64]
149+parseOS = classifyOS Permissive . ghcConvertOS
104− _ <- P.char '-'
150+
105− os <- P.choice [P.string "linux" >> return Linux, P.string "darwin" >> return OSX]
151+parsePlatform :: String -> Maybe Platform
106− return (Platform arch os)
152+parsePlatform = parsePlatformParts . splitOn "-"
153+
154+parsePlatformParts :: [String] -> Maybe Platform
155+parsePlatformParts = \case
156+ [arch, os] ->
157+ Just $ Platform (parseArch arch) (parseOS os)
158+ (arch : _ : osParts) ->
159+ Just $ Platform (parseArch arch) $ parseOS $ intercalate "-" osParts
160+ _ -> Nothing
107
161
108pinfo :: ParserInfo Options
162pinfo :: ParserInfo Options
109pinfo = info
163pinfo = info
110 ( helper
164 ( helper
111− <*> infoOption ("cabal2nix " ++ display version) (long "version" <> help "Show version number")
165+ <*> infoOption ("cabal2nix " ++ prettyShow version) (long "version" <> help "Show version number")
112 <*> options
166 <*> options
113 )
167 )
114 ( fullDesc
168 ( fullDesc
@@ -137,23 +191,21 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() ->
137 cabal2nix =<< getArgs
191 cabal2nix =<< getArgs
138
192
139hpackOverrides :: Derivation -> Derivation
193hpackOverrides :: Derivation -> Derivation
140−hpackOverrides = over phaseOverrides (++ "preConfigure = \"hpack\";")
194+hpackOverrides = over phaseOverrides (++ "prePatch = \"hpack\";")
141 . set (libraryDepends . tool . contains (PP.pkg "hpack")) True
195 . set (libraryDepends . tool . contains (PP.pkg "hpack")) True
142
196
143−cabal2nix' :: [String] -> IO (Either Doc Derivation)
197+cabal2nix' :: Options -> IO (Either Doc Derivation)
144−cabal2nix' args = do
198+cabal2nix' opts@Options{..} = do
145− opts@Options {..} <- handleParseResult $ execParserPure defaultPrefs pinfo args
199+ pkg <- getPackage optHpack optFetchSubmodules optHackageDb optHackageSnapshot $
146−
147− pkg <- getPackage optHpack optHackageDb optHackageSnapshot $ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
200+ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
148 processPackage opts pkg
201 processPackage opts pkg
149
202
150−cabal2nixWithDB :: DB.HackageDB -> [String] -> IO (Either Doc Derivation)
203+cabal2nixWithDB :: DB.HackageDB -> Options -> IO (Either Doc Derivation)
151−cabal2nixWithDB db args = do
204+cabal2nixWithDB db opts@Options{..} = do
152− opts@Options {..} <- handleParseResult $ execParserPure defaultPrefs pinfo args
153 when (isJust optHackageDb) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-db"
205 when (isJust optHackageDb) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-db"
154 when (isJust optHackageSnapshot) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-snapshot"
206 when (isJust optHackageSnapshot) $ hPutStrLn stderr "WARN: HackageDB provided directly; ignoring --hackage-snapshot"
155−
207+ pkg <- getPackage' optHpack optFetchSubmodules (return db) $
156− pkg <- getPackage' optHpack (return db) $ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
208+ Source optUrl (fromMaybe "" optRevision) (maybe UnknownHash Guess optSha256) (fromMaybe "" optSubpath)
157 processPackage opts pkg
209 processPackage opts pkg
158
210
159processPackage :: Options -> Package -> IO (Either Doc Derivation)
211processPackage :: Options -> Package -> IO (Either Doc Derivation)
@@ -167,7 +219,7 @@ processPackage Options{..} pkg = do
167
219
168 deriv :: Derivation
220 deriv :: Derivation
169 deriv = withHpackOverrides $ fromGenericPackageDescription (const True)
221 deriv = withHpackOverrides $ fromGenericPackageDescription (const True)
170− (\i -> Just (binding # (i, path # [i])))
222+ optNixpkgsIdentifier
171 optSystem
223 optSystem
172 (unknownCompilerInfo optCompiler NoAbiTag)
224 (unknownCompilerInfo optCompiler NoAbiTag)
173 flags
225 flags
@@ -175,7 +227,7 @@ processPackage Options{..} pkg = do
175 (pkgCabal pkg)
227 (pkgCabal pkg)
176 & src .~ pkgSource pkg
228 & src .~ pkgSource pkg
177 & subpath .~ fromMaybe "." optSubpath
229 & subpath .~ fromMaybe "." optSubpath
178− & runHaddock .~ optHaddock
230+ & runHaddock %~ (optHaddock &&)
179 & jailbreak .~ optJailbreak
231 & jailbreak .~ optJailbreak
180 & hyperlinkSource .~ optHyperlinkSource
232 & hyperlinkSource .~ optHyperlinkSource
181 & enableLibraryProfiling .~ (fromMaybe False optEnableProfiling || optEnableLibraryProfiling)
233 & enableLibraryProfiling .~ (fromMaybe False optEnableProfiling || optEnableLibraryProfiling)
@@ -183,6 +235,7 @@ processPackage Options{..} pkg = do
183 & metaSection.maintainers .~ Set.fromList (map (review ident) optMaintainer)
235 & metaSection.maintainers .~ Set.fromList (map (review ident) optMaintainer)
184-- & metaSection.platforms .~ Set.fromList optPlatform
236-- & metaSection.platforms .~ Set.fromList optPlatform
185 & doCheck &&~ optDoCheck
237 & doCheck &&~ optDoCheck
238+ & doBenchmark ||~ optDoBenchmark
186 & extraFunctionArgs %~ Set.union (Set.fromList ("inherit stdenv":map (fromString . ("inherit " ++)) optExtraArgs))
239 & extraFunctionArgs %~ Set.union (Set.fromList ("inherit stdenv":map (fromString . ("inherit " ++)) optExtraArgs))
187
240
188 shell :: Doc
241 shell :: Doc
@@ -210,11 +263,12 @@ processPackage Options{..} pkg = do
210 pure $ if optNixShellOutput then Left shell else Right deriv
263 pure $ if optNixShellOutput then Left shell else Right deriv
211
264
212cabal2nix :: [String] -> IO ()
265cabal2nix :: [String] -> IO ()
213−cabal2nix args = do
266+cabal2nix = parseArgs >=> cabal2nix' >=> putStrLn . either render prettyShow
214− v <- cabal2nix' args
267+
215− print $ case v of
268+parseArgs :: [String] -> IO Options
216− Left shell -> shell
269+parseArgs = handleParseResult . execParserPure defaultPrefs pinfo
217− Right d -> pPrint d
270+
271+-- Utils
218
272
219readFlagList :: [String] -> FlagAssignment
273readFlagList :: [String] -> FlagAssignment
220readFlagList = mkFlagAssignment . map tagWithValue
274readFlagList = mkFlagAssignment . map tagWithValue
src/Distribution/Nixpkgs/Fetch.hs+47−9
@@ -6,7 +6,7 @@
6module Distribution.Nixpkgs.Fetch
6module Distribution.Nixpkgs.Fetch
7 ( Source(..)
7 ( Source(..)
8 , Hash(..)
8 , Hash(..)
9− , DerivationSource(..), fromDerivationSource
9+ , DerivationSource(..), fromDerivationSource, urlDerivationSource
10 , fetch
10 , fetch
11 , fetchWith
11 , fetchWith
12 ) where
12 ) where
@@ -18,7 +18,10 @@ import Control.Monad.IO.Class
18import Control.Monad.Trans.Maybe
18import Control.Monad.Trans.Maybe
19import Data.Aeson
19import Data.Aeson
20import qualified Data.ByteString.Lazy.Char8 as BS
20import qualified Data.ByteString.Lazy.Char8 as BS
21+import qualified Data.List as L
22+import Data.Maybe
21import GHC.Generics ( Generic )
23import GHC.Generics ( Generic )
24+import Language.Nix.PrettyPrinting as PP
22import System.Directory
25import System.Directory
23import System.Environment
26import System.Environment
24import System.Exit
27import System.Exit
@@ -56,6 +59,7 @@ data DerivationSource = DerivationSource
56 , derivUrl :: String -- ^ URL to fetch from.
59 , derivUrl :: String -- ^ URL to fetch from.
57 , derivRevision :: String -- ^ Revision to use. Leave empty if the fetcher doesn't support revisions.
60 , derivRevision :: String -- ^ Revision to use. Leave empty if the fetcher doesn't support revisions.
58 , derivHash :: String -- ^ The hash of the source.
61 , derivHash :: String -- ^ The hash of the source.
62+ , derivSubmodule :: Maybe Bool -- ^ The fetchSubmodule setting (if any)
59 }
63 }
60 deriving (Show, Eq, Ord, Generic)
64 deriving (Show, Eq, Ord, Generic)
61
65
@@ -66,22 +70,46 @@ instance FromJSON DerivationSource where
66 <$> o .: "url"
70 <$> o .: "url"
67 <*> o .: "rev"
71 <*> o .: "rev"
68 <*> o .: "sha256"
72 <*> o .: "sha256"
73+ <*> o .: "fetchSubmodules"
69 parseJSON _ = error "invalid DerivationSource"
74 parseJSON _ = error "invalid DerivationSource"
70
75
76+instance PP.Pretty DerivationSource where
77+ pPrint DerivationSource {..} =
78+ let isHackagePackage = "mirror://hackage/" `L.isPrefixOf` derivUrl
79+ fetched = derivKind /= ""
80+ in if isHackagePackage then attr "sha256" $ string derivHash
81+ else if not fetched then attr "src" $ text derivUrl
82+ else vcat
83+ [ text "src" <+> equals <+> text ("fetch" ++ derivKind) <+> lbrace
84+ , nest 2 $ vcat
85+ [ attr "url" $ string derivUrl
86+ , attr "sha256" $ string derivHash
87+ , if derivRevision /= "" then attr "rev" (string derivRevision) else PP.empty
88+ , boolattr "fetchSubmodules" (isJust derivSubmodule) (fromJust derivSubmodule)
89+ ]
90+ , rbrace PP.<> semi
91+ ]
92+
93+
94+urlDerivationSource :: String -> String -> DerivationSource
95+urlDerivationSource url hash = DerivationSource "url" url "" hash Nothing
96+
71fromDerivationSource :: DerivationSource -> Source
97fromDerivationSource :: DerivationSource -> Source
72fromDerivationSource DerivationSource{..} = Source derivUrl derivRevision (Certain derivHash) "."
98fromDerivationSource DerivationSource{..} = Source derivUrl derivRevision (Certain derivHash) "."
73
99
74-- | Fetch a source, trying any of the various nix-prefetch-* scripts.
100-- | Fetch a source, trying any of the various nix-prefetch-* scripts.
101+fetch :: forall a.
102+ Bool -- ^ If True, fetch submodules when the source is a git repository
75−fetch :: forall a. (String -> MaybeT IO a) -- ^ This function is passed the output path name as an argument.
103+ -> (String -> MaybeT IO a) -- ^ This function is passed the output path name as an argument.
76 -- It should return 'Nothing' if the file doesn't match the expected format.
104 -- It should return 'Nothing' if the file doesn't match the expected format.
77 -- This is required, because we cannot always check if a download succeeded otherwise.
105 -- This is required, because we cannot always check if a download succeeded otherwise.
78 -> Source -- ^ The source to fetch from.
106 -> Source -- ^ The source to fetch from.
79 -> IO (Maybe (DerivationSource, a)) -- ^ The derivation source and the result of the processing function. Returns Nothing if the download failed.
107 -> IO (Maybe (DerivationSource, a)) -- ^ The derivation source and the result of the processing function. Returns Nothing if the download failed.
80−fetch f = runMaybeT . fetchers where
108+fetch optSubModules f = runMaybeT . fetchers where
81 fetchers :: Source -> MaybeT IO (DerivationSource, a)
109 fetchers :: Source -> MaybeT IO (DerivationSource, a)
82 fetchers source = msum . (fetchLocal source :) $ map (\fetcher -> fetchWith fetcher source >>= process)
110 fetchers source = msum . (fetchLocal source :) $ map (\fetcher -> fetchWith fetcher source >>= process)
83 [ (False, "url", [])
111 [ (False, "url", [])
84− , (True, "git", ["--fetch-submodules"])
112+ , (True, "git", ["--fetch-submodules" | optSubModules ])
85 , (True, "hg", [])
113 , (True, "hg", [])
86 , (True, "svn", [])
114 , (True, "svn", [])
87 , (True, "bzr", [])
115 , (True, "bzr", [])
@@ -100,17 +128,19 @@ fetch f = runMaybeT . fetchers where
100 guard $ existsDir || existsFile
128 guard $ existsDir || existsFile
101 let path' | '/' `elem` path = path
129 let path' | '/' `elem` path = path
102 | otherwise = "./" ++ path
130 | otherwise = "./" ++ path
103− process (DerivationSource "" path' "" "", path') <|> localArchive path'
131+ process (localDerivationSource path', path') <|> localArchive path'
104
132
105 localArchive :: FilePath -> MaybeT IO (DerivationSource, a)
133 localArchive :: FilePath -> MaybeT IO (DerivationSource, a)
106 localArchive path = do
134 localArchive path = do
107 absolutePath <- liftIO $ canonicalizePath path
135 absolutePath <- liftIO $ canonicalizePath path
108− unpacked <- snd <$> fetchWith (False, "zip", []) (Source ("file://" ++ absolutePath) "" UnknownHash ".")
136+ unpacked <- snd <$> fetchWith (False, "url", ["--unpack"]) (Source ("file://" ++ absolutePath) "" UnknownHash ".")
109− process (DerivationSource "" absolutePath "" "", unpacked)
137+ process (localDerivationSource absolutePath, unpacked)
110
138
111 process :: (DerivationSource, FilePath) -> MaybeT IO (DerivationSource, a)
139 process :: (DerivationSource, FilePath) -> MaybeT IO (DerivationSource, a)
112 process (derivSource, file) = (,) derivSource <$> f file
140 process (derivSource, file) = (,) derivSource <$> f file
113
141
142+ localDerivationSource p = DerivationSource "" p "" "" Nothing
143+
114-- | Like 'fetch', but allows to specify which script to use.
144-- | Like 'fetch', but allows to specify which script to use.
115fetchWith :: (Bool, String, [String]) -> Source -> MaybeT IO (DerivationSource, FilePath)
145fetchWith :: (Bool, String, [String]) -> Source -> MaybeT IO (DerivationSource, FilePath)
116fetchWith (supportsRev, kind, addArgs) source = do
146fetchWith (supportsRev, kind, addArgs) source = do
@@ -131,11 +161,19 @@ fetchWith (supportsRev, kind, addArgs) source = do
131 ExitFailure _ -> return Nothing
161 ExitFailure _ -> return Nothing
132 ExitSuccess -> do
162 ExitSuccess -> do
133 buf <- BS.hGetContents stdoutH
163 buf <- BS.hGetContents stdoutH
134− let (l:ls) = reverse (BS.lines buf)
164+ let (l,ls) = case reverse (BS.lines buf) of
165+ [] -> error "This can't happen, but GHC doesn't know that."
166+ (x:xs) -> (x,xs)
135 buf' = BS.unlines (reverse ls)
167 buf' = BS.unlines (reverse ls)
136 case length ls of
168 case length ls of
137 0 -> return Nothing
169 0 -> return Nothing
138− 1 -> return (Just (DerivationSource kind (sourceUrl source) "" (BS.unpack (head ls)) , sourceUrl source))
170+ 1 -> return (Just (DerivationSource { derivKind = kind
171+ , derivUrl = sourceUrl source
172+ , derivRevision = ""
173+ , derivHash = BS.unpack (head ls)
174+ , derivSubmodule = Nothing
175+ }
176+ , sourceUrl source))
139 _ -> case eitherDecode buf' of
177 _ -> case eitherDecode buf' of
140 Left err -> error ("invalid JSON: " ++ err ++ " in " ++ show buf')
178 Left err -> error ("invalid JSON: " ++ err ++ " in " ++ show buf')
141 Right ds -> return (Just (ds { derivKind = kind }, BS.unpack l))
179 Right ds -> return (Just (ds { derivKind = kind }, BS.unpack l))
src/Distribution/Nixpkgs/Haskell/BuildInfo.hs+3−3
@@ -11,7 +11,7 @@ module Distribution.Nixpkgs.Haskell.BuildInfo
11
11
12import Control.DeepSeq
12import Control.DeepSeq
13import Control.Lens
13import Control.Lens
14−import Data.Semigroup
14+import Data.Semigroup as Sem
15import Data.Set ( Set )
15import Data.Set ( Set )
16import Data.Set.Lens
16import Data.Set.Lens
17import GHC.Generics ( Generic )
17import GHC.Generics ( Generic )
@@ -31,13 +31,13 @@ makeLenses ''BuildInfo
31instance Each BuildInfo BuildInfo (Set Binding) (Set Binding) where
31instance Each BuildInfo BuildInfo (Set Binding) (Set Binding) where
32 each f (BuildInfo a b c d) = BuildInfo <$> f a <*> f b <*> f c <*> f d
32 each f (BuildInfo a b c d) = BuildInfo <$> f a <*> f b <*> f c <*> f d
33
33
34−instance Semigroup BuildInfo where
34+instance Sem.Semigroup BuildInfo where
35 BuildInfo w1 x1 y1 z1 <> BuildInfo w2 x2 y2 z2 =
35 BuildInfo w1 x1 y1 z1 <> BuildInfo w2 x2 y2 z2 =
36 BuildInfo (w1 <> w2) (x1 <> x2) (y1 <> y2) (z1 <> z2)
36 BuildInfo (w1 <> w2) (x1 <> x2) (y1 <> y2) (z1 <> z2)
37
37
38instance Monoid BuildInfo where
38instance Monoid BuildInfo where
39 mempty = BuildInfo mempty mempty mempty mempty
39 mempty = BuildInfo mempty mempty mempty mempty
40− mappend = (<>)
40+ mappend = (Sem.<>)
41
41
42instance NFData BuildInfo
42instance NFData BuildInfo
43
43
src/Distribution/Nixpkgs/Haskell/Constraint.hs+1−1
@@ -9,7 +9,7 @@ import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
9type Constraint = Dependency
9type Constraint = Dependency
10
10
11satisfiesConstraint :: PackageIdentifier -> Constraint -> Bool
11satisfiesConstraint :: PackageIdentifier -> Constraint -> Bool
12−satisfiesConstraint (PackageIdentifier pn v) (Dependency cn vr) = (pn /= cn) || (v `withinRange` vr)
12+satisfiesConstraint (PackageIdentifier pn v) (Dependency cn vr _) = (pn /= cn) || (v `withinRange` vr)
13
13
14satisfiesConstraints :: PackageIdentifier -> [Constraint] -> Bool
14satisfiesConstraints :: PackageIdentifier -> [Constraint] -> Bool
15satisfiesConstraints p = all (satisfiesConstraint p)
15satisfiesConstraints p = all (satisfiesConstraint p)
src/Distribution/Nixpkgs/Haskell/Derivation.hs+8−17
@@ -7,7 +7,7 @@
7module Distribution.Nixpkgs.Haskell.Derivation
7module Distribution.Nixpkgs.Haskell.Derivation
8 ( Derivation, nullDerivation, pkgid, revision, src, subpath, isLibrary, isExecutable
8 ( Derivation, nullDerivation, pkgid, revision, src, subpath, isLibrary, isExecutable
9 , extraFunctionArgs, libraryDepends, executableDepends, testDepends, configureFlags
9 , extraFunctionArgs, libraryDepends, executableDepends, testDepends, configureFlags
10− , cabalFlags, runHaddock, jailbreak, doCheck, testTarget, hyperlinkSource, enableSplitObjs
10+ , cabalFlags, runHaddock, jailbreak, doCheck, doBenchmark, testTarget, hyperlinkSource, enableSplitObjs
11 , enableLibraryProfiling, enableExecutableProfiling, phaseOverrides, editedCabalFile, metaSection
11 , enableLibraryProfiling, enableExecutableProfiling, phaseOverrides, editedCabalFile, metaSection
12 , dependencies, setupDepends, benchmarkDepends, enableSeparateDataOutput
12 , dependencies, setupDepends, benchmarkDepends, enableSeparateDataOutput
13 )
13 )
@@ -15,7 +15,7 @@ module Distribution.Nixpkgs.Haskell.Derivation
15
15
16import Control.DeepSeq
16import Control.DeepSeq
17import Control.Lens
17import Control.Lens
18−import Data.List
18+import Data.List ( isPrefixOf )
19import Data.Set ( Set )
19import Data.Set ( Set )
20import qualified Data.Set as Set
20import qualified Data.Set as Set
21import Data.Set.Lens
21import Data.Set.Lens
@@ -55,6 +55,7 @@ data Derivation = MkDerivation
55 , _runHaddock :: Bool
55 , _runHaddock :: Bool
56 , _jailbreak :: Bool
56 , _jailbreak :: Bool
57 , _doCheck :: Bool
57 , _doCheck :: Bool
58+ , _doBenchmark :: Bool
58 , _testTarget :: String
59 , _testTarget :: String
59 , _hyperlinkSource :: Bool
60 , _hyperlinkSource :: Bool
60 , _enableLibraryProfiling :: Bool
61 , _enableLibraryProfiling :: Bool
@@ -86,6 +87,7 @@ nullDerivation = MkDerivation
86 , _runHaddock = error "undefined Derivation.runHaddock"
87 , _runHaddock = error "undefined Derivation.runHaddock"
87 , _jailbreak = error "undefined Derivation.jailbreak"
88 , _jailbreak = error "undefined Derivation.jailbreak"
88 , _doCheck = error "undefined Derivation.doCheck"
89 , _doCheck = error "undefined Derivation.doCheck"
90+ , _doBenchmark = error "undefined Derivation.doBenchmark"
89 , _testTarget = error "undefined Derivation.testTarget"
91 , _testTarget = error "undefined Derivation.testTarget"
90 , _hyperlinkSource = error "undefined Derivation.hyperlinkSource"
92 , _hyperlinkSource = error "undefined Derivation.hyperlinkSource"
91 , _enableLibraryProfiling = error "undefined Derivation.enableLibraryProfiling"
93 , _enableLibraryProfiling = error "undefined Derivation.enableLibraryProfiling"
@@ -110,9 +112,9 @@ instance Pretty Derivation where
110 pPrint drv@MkDerivation {..} = funargs (map text ("mkDerivation" : toAscList inputs)) $$ vcat
112 pPrint drv@MkDerivation {..} = funargs (map text ("mkDerivation" : toAscList inputs)) $$ vcat
111 [ text "mkDerivation" <+> lbrace
113 [ text "mkDerivation" <+> lbrace
112 , nest 2 $ vcat
114 , nest 2 $ vcat
113− [ attr "pname" $ doubleQuotes $ disp (packageName _pkgid)
115+ [ attr "pname" $ doubleQuotes $ pPrint (packageName _pkgid)
114− , attr "version" $ doubleQuotes $ disp (packageVersion _pkgid)
116+ , attr "version" $ doubleQuotes $ pPrint (packageVersion _pkgid)
115− , sourceAttr _src
117+ , pPrint _src
116 , onlyIf (_subpath /= ".") $ attr "postUnpack" postUnpack
118 , onlyIf (_subpath /= ".") $ attr "postUnpack" postUnpack
117 , onlyIf (_revision > 0) $ attr "revision" $ doubleQuotes $ int _revision
119 , onlyIf (_revision > 0) $ attr "revision" $ doubleQuotes $ int _revision
118 , onlyIf (not (null _editedCabalFile) && _revision > 0) $ attr "editedCabalFile" $ string _editedCabalFile
120 , onlyIf (not (null _editedCabalFile) && _revision > 0) $ attr "editedCabalFile" $ string _editedCabalFile
@@ -131,6 +133,7 @@ instance Pretty Derivation where
131 , boolattr "doHaddock" (not _runHaddock) _runHaddock
133 , boolattr "doHaddock" (not _runHaddock) _runHaddock
132 , boolattr "jailbreak" _jailbreak _jailbreak
134 , boolattr "jailbreak" _jailbreak _jailbreak
133 , boolattr "doCheck" (not _doCheck) _doCheck
135 , boolattr "doCheck" (not _doCheck) _doCheck
136+ , boolattr "doBenchmark" _doBenchmark _doBenchmark
134 , onlyIf (not (null _testTarget)) $ attr "testTarget" $ string _testTarget
137 , onlyIf (not (null _testTarget)) $ attr "testTarget" $ string _testTarget
135 , boolattr "hyperlinkSource" (not _hyperlinkSource) _hyperlinkSource
138 , boolattr "hyperlinkSource" (not _hyperlinkSource) _hyperlinkSource
136 , onlyIf (not (null _phaseOverrides)) $ vcat ((map text . lines) _phaseOverrides)
139 , onlyIf (not (null _phaseOverrides)) $ vcat ((map text . lines) _phaseOverrides)
@@ -148,17 +151,5 @@ instance Pretty Derivation where
148 renderedFlags = [ text "-f" <> (if enable then empty else char '-') <> text (unFlagName f) | (f, enable) <- unFlagAssignment _cabalFlags ]
151 renderedFlags = [ text "-f" <> (if enable then empty else char '-') <> text (unFlagName f) | (f, enable) <- unFlagAssignment _cabalFlags ]
149 ++ map text (toAscList _configureFlags)
152 ++ map text (toAscList _configureFlags)
150 isHackagePackage = "mirror://hackage/" `isPrefixOf` derivUrl _src
153 isHackagePackage = "mirror://hackage/" `isPrefixOf` derivUrl _src
151− sourceAttr DerivationSource {..}
152− | isHackagePackage = attr "sha256" $ string derivHash
153− | derivKind /= "" = vcat
154− [ text "src" <+> equals <+> text ("fetch" ++ derivKind) <+> lbrace
155− , nest 2 $ vcat
156− [ attr "url" $ string derivUrl
157− , attr "sha256" $ string derivHash
158− , if derivRevision /= "" then attr "rev" (string derivRevision) else empty
159− ]
160− , rbrace <> semi
161− ]
162− | otherwise = attr "src" $ text derivUrl
163
154
164 postUnpack = string $ "sourceRoot+=/" ++ _subpath ++ "; echo source root reset to $sourceRoot"
155 postUnpack = string $ "sourceRoot+=/" ++ _subpath ++ "; echo source root reset to $sourceRoot"
src/Distribution/Nixpkgs/Haskell/FromCabal.hs+29−15
@@ -11,7 +11,6 @@ import Data.Maybe
11import Data.Set ( Set )
11import Data.Set ( Set )
12import qualified Data.Set as Set
12import qualified Data.Set as Set
13import Distribution.Compiler
13import Distribution.Compiler
14−import Distribution.License
15import Distribution.Nixpkgs.Haskell
14import Distribution.Nixpkgs.Haskell
16import qualified Distribution.Nixpkgs.Haskell as Nix
15import qualified Distribution.Nixpkgs.Haskell as Nix
17import Distribution.Nixpkgs.Haskell.Constraint
16import Distribution.Nixpkgs.Haskell.Constraint
@@ -53,20 +52,20 @@ finalizeGenericPackageDescription haskellResolver arch compiler flags constraint
53 finalize resolver = finalizePD flags requestedComponents resolver arch compiler constraints genDesc
52 finalize resolver = finalizePD flags requestedComponents resolver arch compiler constraints genDesc
54
53
55 requestedComponents :: ComponentRequestedSpec
54 requestedComponents :: ComponentRequestedSpec
56− requestedComponents = defaultComponentRequestedSpec
55+ requestedComponents = ComponentRequestedSpec
57 { testsRequested = True
56 { testsRequested = True
58 , benchmarksRequested = True
57 , benchmarksRequested = True
59 }
58 }
60
59
61 jailbroken :: HaskellResolver -> HaskellResolver
60 jailbroken :: HaskellResolver -> HaskellResolver
62− jailbroken resolver (Dependency pkg _) = resolver (Dependency pkg anyVersion)
61+ jailbroken resolver (Dependency pkg _ _) = resolver (Dependency pkg anyVersion mempty)
63
62
64 withInternalLibs :: HaskellResolver -> HaskellResolver
63 withInternalLibs :: HaskellResolver -> HaskellResolver
65 withInternalLibs resolver d = depPkgName d `elem` internalNames || resolver d
64 withInternalLibs resolver d = depPkgName d `elem` internalNames || resolver d
66
65
67 internalNames :: [PackageName]
66 internalNames :: [PackageName]
68 internalNames = [ unqualComponentNameToPackageName n | (n,_) <- condSubLibraries genDesc ]
67 internalNames = [ unqualComponentNameToPackageName n | (n,_) <- condSubLibraries genDesc ]
69− ++ [ unqualComponentNameToPackageName n | Just n <- libName <$> subLibraries (packageDescription genDesc) ]
68+ ++ [ unqualComponentNameToPackageName n | LSubLibName n <- libName <$> subLibraries (packageDescription genDesc) ]
70
69
71 in case finalize (jailbroken (withInternalLibs haskellResolver)) of
70 in case finalize (jailbroken (withInternalLibs haskellResolver)) of
72 Left m -> case finalize (const True) of
71 Left m -> case finalize (const True) of
@@ -89,9 +88,10 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags Package
89 & Nix.setupDepends .~ maybe mempty convertSetupBuildInfo setupBuildInfo
88 & Nix.setupDepends .~ maybe mempty convertSetupBuildInfo setupBuildInfo
90 & configureFlags .~ mempty
89 & configureFlags .~ mempty
91 & cabalFlags .~ flags
90 & cabalFlags .~ flags
92− & runHaddock .~ maybe True (not . null . exposedModules) library
91+ & runHaddock .~ doHaddockPhase
93 & jailbreak .~ False
92 & jailbreak .~ False
94 & doCheck .~ True
93 & doCheck .~ True
94+ & doBenchmark .~ False
95 & testTarget .~ mempty
95 & testTarget .~ mempty
96 & hyperlinkSource .~ True
96 & hyperlinkSource .~ True
97 & enableSplitObjs .~ True
97 & enableSplitObjs .~ True
@@ -108,7 +108,7 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags Package
108 & Nix.description .~ synopsis
108 & Nix.description .~ synopsis
109 & Nix.license .~ nixLicense
109 & Nix.license .~ nixLicense
110 & Nix.platforms .~ Nix.allKnownPlatforms
110 & Nix.platforms .~ Nix.allKnownPlatforms
111− & Nix.hydraPlatforms .~ (if nixLicense == Nix.Known "stdenv.lib.licenses.unfree" then Set.empty else Nix.allKnownPlatforms)
111+ & Nix.hydraPlatforms .~ (if isFreeLicense nixLicense then Nix.allKnownPlatforms else Set.empty)
112 & Nix.maintainers .~ mempty
112 & Nix.maintainers .~ mempty
113 & Nix.broken .~ not (null missingDeps)
113 & Nix.broken .~ not (null missingDeps)
114 )
114 )
@@ -116,35 +116,49 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags Package
116 xrev = maybe 0 read (lookup "x-revision" customFieldsPD)
116 xrev = maybe 0 read (lookup "x-revision" customFieldsPD)
117
117
118 nixLicense :: Nix.License
118 nixLicense :: Nix.License
119− nixLicense = fromCabalLicense (either licenseFromSPDX id licenseRaw)
119+ nixLicense = either fromSPDXLicense fromCabalLicense licenseRaw
120
120
121 resolveInHackage :: Identifier -> Binding
121 resolveInHackage :: Identifier -> Binding
122− resolveInHackage i | (i^.ident) `elem` [ unPackageName n | (Dependency n _) <- missingDeps ] = bindNull i
122+ resolveInHackage i | (i^.ident) `elem` [ unPackageName n | (Dependency n _ _) <- missingDeps ] = bindNull i
123 | otherwise = binding # (i, path # ["self",i]) -- TODO: "self" shouldn't be hardcoded.
123 | otherwise = binding # (i, path # ["self",i]) -- TODO: "self" shouldn't be hardcoded.
124
124
125+ -- TODO: This is all very confusing. Haskell packages refer to the Nixpkgs
126+ -- derivation 'foo' as 'pkgs.foo', because they live in the 'haskellPackages'
127+ -- name space -- not on the top level. Therefore, we built our Nixpkgs lookup
128+ -- function so that top level names are returned as 'pkgs.foo'. As a result, we
129+ -- end up pre-pending that path to all kinds of names all over the place. I
130+ -- suppose the correct approach would be to assume that the lookup function
131+ -- returns names that live in the top-level and to adapt the code in
132+ -- PostProcess.hs et all to that fact.
125 goodScopes :: Set [Identifier]
133 goodScopes :: Set [Identifier]
126 goodScopes = Set.fromList (map ("pkgs":) [[], ["xorg"], ["xlibs"], ["gnome2"], ["gnome"], ["gnome3"], ["kde4"]])
134 goodScopes = Set.fromList (map ("pkgs":) [[], ["xorg"], ["xlibs"], ["gnome2"], ["gnome"], ["gnome3"], ["kde4"]])
127
135
128 resolveInNixpkgs :: Identifier -> Binding
136 resolveInNixpkgs :: Identifier -> Binding
129 resolveInNixpkgs i
137 resolveInNixpkgs i
130 | i `elem` ["clang","lldb","llvm"] = binding # (i, path # ["self","llvmPackages",i]) -- TODO: evil!
138 | i `elem` ["clang","lldb","llvm"] = binding # (i, path # ["self","llvmPackages",i]) -- TODO: evil!
131− | i == "gtk2" = binding # (i, path # ["pkgs","gnome2","gtk"])
139+ | i == "gtk2" = binding # (i, path # ["pkgs","gtk2"]) -- TODO: these cases should not be necessary
132− | i == "gtk3" = binding # (i, path # ["pkgs","gnome3","gtk"])
140+ | i == "gtk3" = binding # (i, path # ["pkgs","gtk3"])
133− | i == "gtksourceview3" = binding # (i, path # ["pkgs","gnome3","gtksourceview"])
141+ | i == "gtksourceview3" = binding # (i, path # ["pkgs","gtksourceview3"])
142+ | i == "vte_291" = binding # (i, path # ["pkgs","vte"])
134 | Just p <- nixpkgsResolver i, init (view (reference . path) p) `Set.member` goodScopes = p
143 | Just p <- nixpkgsResolver i, init (view (reference . path) p) `Set.member` goodScopes = p
135 | otherwise = bindNull i
144 | otherwise = bindNull i
136
145
137 resolveInHackageThenNixpkgs :: Identifier -> Binding
146 resolveInHackageThenNixpkgs :: Identifier -> Binding
138− resolveInHackageThenNixpkgs i | haskellResolver (Dependency (mkPackageName (i^.ident)) anyVersion) = resolveInHackage i
147+ resolveInHackageThenNixpkgs i | haskellResolver (Dependency (mkPackageName (i^.ident)) anyVersion mempty) = resolveInHackage i
139 | otherwise = resolveInNixpkgs i
148 | otherwise = resolveInNixpkgs i
140
149
141 internalLibNames :: [PackageName]
150 internalLibNames :: [PackageName]
142− internalLibNames = fmap unqualComponentNameToPackageName . catMaybes $ libName <$> subLibraries
151+ internalLibNames = [ unqualComponentNameToPackageName n | LSubLibName n <- libName <$> subLibraries ]
152+
153+ doHaddockPhase :: Bool
154+ doHaddockPhase | not (null internalLibNames) = False
155+ | Just l <- library = not (null (exposedModules l))
156+ | otherwise = True
143
157
144 convertBuildInfo :: Cabal.BuildInfo -> Nix.BuildInfo
158 convertBuildInfo :: Cabal.BuildInfo -> Nix.BuildInfo
145 convertBuildInfo Cabal.BuildInfo {..} | not buildable = mempty
159 convertBuildInfo Cabal.BuildInfo {..} | not buildable = mempty
146 convertBuildInfo Cabal.BuildInfo {..} = mempty
160 convertBuildInfo Cabal.BuildInfo {..} = mempty
147− & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- targetBuildDepends, x `notElem` internalLibNames ]
161+ & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _ _) <- targetBuildDepends, x `notElem` internalLibNames ]
148 & system .~ Set.fromList [ resolveInNixpkgs y | x <- extraLibs, y <- libNixName x ]
162 & system .~ Set.fromList [ resolveInNixpkgs y | x <- extraLibs, y <- libNixName x ]
149 & pkgconfig .~ Set.fromList [ resolveInNixpkgs y | PkgconfigDependency x _ <- pkgconfigDepends, y <- libNixName (unPkgconfigName x) ]
163 & pkgconfig .~ Set.fromList [ resolveInNixpkgs y | PkgconfigDependency x _ <- pkgconfigDepends, y <- libNixName (unPkgconfigName x) ]
150 & tool .~ Set.fromList (map resolveInHackageThenNixpkgs . concatMap buildToolNixName
164 & tool .~ Set.fromList (map resolveInHackageThenNixpkgs . concatMap buildToolNixName
@@ -152,7 +166,7 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags Package
152
166
153 convertSetupBuildInfo :: Cabal.SetupBuildInfo -> Nix.BuildInfo
167 convertSetupBuildInfo :: Cabal.SetupBuildInfo -> Nix.BuildInfo
154 convertSetupBuildInfo bi = mempty
168 convertSetupBuildInfo bi = mempty
155− & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- Cabal.setupDepends bi ]
169+ & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _ _) <- Cabal.setupDepends bi ]
156
170
157bindNull :: Identifier -> Binding
171bindNull :: Identifier -> Binding
158bindNull i = binding # (i, path # ["null"])
172bindNull i = binding # (i, path # ["null"])
src/Distribution/Nixpkgs/Haskell/FromCabal/Configuration.hs+28−31
@@ -1,15 +1,21 @@
1{-# LANGUAGE RecordWildCards #-}
1{-# LANGUAGE RecordWildCards #-}
2−{-# LANGUAGE CPP #-}
3{-# LANGUAGE FlexibleInstances #-}
2{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE DeriveGeneric #-}
6{-# OPTIONS_GHC -fno-warn-orphans #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
7
6
8−module Distribution.Nixpkgs.Haskell.FromCabal.Configuration ( Configuration(..), readConfiguration, assertConsistency ) where
7+module Distribution.Nixpkgs.Haskell.FromCabal.Configuration
8+ ( Configuration(..), readConfiguration, assertConsistency
9+ )
10+ where
11+
12+import Prelude hiding ( fail )
9
13
10import Control.DeepSeq
14import Control.DeepSeq
15+import Control.Exception ( throwIO )
11import Control.Lens
16import Control.Lens
12−import Control.Monad
17+import Control.Monad hiding ( fail )
18+import Control.Monad.Fail
13import Data.Aeson
19import Data.Aeson
14import Data.Map as Map
20import Data.Map as Map
15import Data.Set as Set
21import Data.Set as Set
@@ -39,14 +45,22 @@ data Configuration = Configuration
39 -- role during dependency resolution.
45 -- role during dependency resolution.
40 , extraPackages :: [Constraint]
46 , extraPackages :: [Constraint]
41
47
42− -- |We know that these packages won't build, so we give them an empty
43− -- meta.hydraPlatforms attribute to avoid cluttering our Hydra output with
44− -- lots of failure messages.
45− , dontDistributePackages :: Map PackageName (Set Platform)
46−
47 -- |This information is used by the @hackage2nix@ utility to determine the
48 -- |This information is used by the @hackage2nix@ utility to determine the
48 -- 'maintainers' for a given Haskell package.
49 -- 'maintainers' for a given Haskell package.
49 , packageMaintainers :: Map Identifier (Set PackageName)
50 , packageMaintainers :: Map Identifier (Set PackageName)
51+
52+ -- |These packages (by design) don't support certain platforms.
53+ , unsupportedPlatforms :: Map PackageName (Set Platform)
54+
55+ -- |These packages cannot be distributed by Hydra, i.e. because they have an
56+ -- unfree license or depend on other tools that cannot be distributed for
57+ -- some reason.
58+ , dontDistributePackages :: Set PackageName
59+
60+ -- |We know that these packages won't compile, so we mark them as broken and
61+ -- also disable their meta.hydraPlatforms attribute to avoid cluttering our
62+ -- Hydra job with lots of failure messages.
63+ , brokenPackages :: [Constraint]
50 }
64 }
51 deriving (Show, Generic)
65 deriving (Show, Generic)
52
66
@@ -58,50 +72,33 @@ instance FromJSON Configuration where
58 <*> o .:? "core-packages" .!= mempty
72 <*> o .:? "core-packages" .!= mempty
59 <*> o .:? "default-package-overrides" .!= mempty
73 <*> o .:? "default-package-overrides" .!= mempty
60 <*> o .:? "extra-packages" .!= mempty
74 <*> o .:? "extra-packages" .!= mempty
61− <*> o .:? "dont-distribute-packages" .!= mempty
62 <*> o .:? "package-maintainers" .!= mempty
75 <*> o .:? "package-maintainers" .!= mempty
76+ <*> o .:? "unsupported-platforms" .!= mempty
77+ <*> o .:? "dont-distribute-packages" .!= mempty
78+ <*> o .:? "broken-packages" .!= mempty
63 parseJSON _ = error "invalid Configuration"
79 parseJSON _ = error "invalid Configuration"
64
80
65instance FromJSON Identifier where
81instance FromJSON Identifier where
66 parseJSON (String s) = pure (review ident (T.unpack s))
82 parseJSON (String s) = pure (review ident (T.unpack s))
67 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Nix identifier")
83 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Nix identifier")
68
84
69−#if MIN_VERSION_aeson(1,0,0)
70−
71instance FromJSONKey Identifier where
85instance FromJSONKey Identifier where
72 fromJSONKey = FromJSONKeyText parseKey
86 fromJSONKey = FromJSONKeyText parseKey
73
87
74instance FromJSONKey PackageName where
88instance FromJSONKey PackageName where
75 fromJSONKey = FromJSONKeyText parseKey
89 fromJSONKey = FromJSONKeyText parseKey
76
90
77−#elif MIN_VERSION_aeson(0,11,0)
78−
79−instance (FromJSON v) => FromJSON (Map Identifier v) where
80− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
81−
82−instance (FromJSON v) => FromJSON (Map PackageName v) where
83− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
84−
85−#else
86−
87−instance (Ord k, FromJSON k, FromJSON v) => FromJSON (Map k v) where
88− parseJSON = fmap (Map.mapKeys parseKey) . parseJSON
89−
90−#endif
91−
92parseKey :: FromJSON k => Text -> k
91parseKey :: FromJSON k => Text -> k
93parseKey s = either error id (parseEither parseJSON (String s))
92parseKey s = either error id (parseEither parseJSON (String s))
94
93
95readConfiguration :: FilePath -> IO Configuration
94readConfiguration :: FilePath -> IO Configuration
96−readConfiguration path =
95+readConfiguration path = decodeFileEither path >>= either throwIO assertConsistency
97− decodeFile path >>= maybe (fail ("invalid config file at " ++ show path)) assertConsistency
98
96
99−assertConsistency :: Monad m => Configuration -> m Configuration
97+assertConsistency :: MonadFail m => Configuration -> m Configuration
100assertConsistency cfg@Configuration {..} = do
98assertConsistency cfg@Configuration {..} = do
101 let report msg = fail ("*** configuration error: " ++ msg)
99 let report msg = fail ("*** configuration error: " ++ msg)
102−
103 maintainedPackages = Set.unions (Map.elems packageMaintainers)
100 maintainedPackages = Set.unions (Map.elems packageMaintainers)
104− disabledPackages = Map.keysSet dontDistributePackages
101+ disabledPackages = dontDistributePackages `Set.union` Set.fromList (depPkgName <$> brokenPackages)
105 disabledMaintainedPackages = maintainedPackages `Set.intersection` disabledPackages
102 disabledMaintainedPackages = maintainedPackages `Set.intersection` disabledPackages
106 unless (Set.null disabledMaintainedPackages) $
103 unless (Set.null disabledMaintainedPackages) $
107 report ("disabled packages that have a maintainer: " ++ show disabledMaintainedPackages)
104 report ("disabled packages that have a maintainer: " ++ show disabledMaintainedPackages)
src/Distribution/Nixpkgs/Haskell/FromCabal/Flags.hs+18−16
@@ -4,6 +4,7 @@ module Distribution.Nixpkgs.Haskell.FromCabal.Flags ( configureCabalFlags ) wher
4
4
5import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
5import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
6
6
7+import Data.Char
7import Distribution.Package
8import Distribution.Package
8import Distribution.PackageDescription
9import Distribution.PackageDescription
9import Distribution.Version
10import Distribution.Version
@@ -15,30 +16,25 @@ configureCabalFlags' :: PackageIdentifier -> [(FlagName,Bool)]
15configureCabalFlags' (PackageIdentifier name version)
16configureCabalFlags' (PackageIdentifier name version)
16 | name == "accelerate-examples"= [disable "opencl"]
17 | name == "accelerate-examples"= [disable "opencl"]
17 | name == "arithmoi" = [disable "llvm"]
18 | name == "arithmoi" = [disable "llvm"]
19+ | name == "bustle" = [disable "hgettext"] -- https://gitlab.freedesktop.org/bustle/bustle/issues/13
18 | name == "cabal-plan" = [enable "exe"]
20 | name == "cabal-plan" = [enable "exe"]
19 | name == "cassava" = [disable "bytestring--lt-0_10_4"]
21 | name == "cassava" = [disable "bytestring--lt-0_10_4"]
20 | name == "darcs" = [enable "library", enable "force-char8-encoding"]
22 | name == "darcs" = [enable "library", enable "force-char8-encoding"]
21 | name == "diagrams-builder" = [enable "cairo", enable "svg", enable "ps", enable "rasterific"]
23 | name == "diagrams-builder" = [enable "cairo", enable "svg", enable "ps", enable "rasterific"]
24+ | name == "fltkhs" = [enable "opengl"]
22 | name == "folds" = [disable "test-hlint"]
25 | name == "folds" = [disable "test-hlint"]
23 | name == "git-annex" = [ enable "assistant"
26 | name == "git-annex" = [ enable "assistant"
24− , enable "cryptonite"
27+ , disable "benchmark"
25 , enable "dbus"
28 , enable "dbus"
26− , enable "desktopnotify"
29+ , disable "debuglocks"
27− , enable "dns"
28− , enable "feed"
30+ , enable "magicmime"
29− , enable "inotify"
31+ , enable "networkbsd"
30 , enable "pairing"
32 , enable "pairing"
31 , enable "production"
33 , enable "production"
32− , enable "quvi"
33 , enable "s3"
34 , enable "s3"
34− , enable "tahoe"
35− , enable "tdfa"
36− , ("testsuite", version `withinRange` "< 6.20170925 || >= 6.20171214")
37 , enable "torrentparser"
35 , enable "torrentparser"
38 , enable "webapp"
36 , enable "webapp"
39− , enable "webapp-secure"
40 , enable "webdav"
37 , enable "webdav"
41− , enable "xmpp"
42 ]
38 ]
43 | name == "haskeline" = [enable "terminfo"]
39 | name == "haskeline" = [enable "terminfo"]
44 | name == "haste-compiler" = [enable "portable"]
40 | name == "haste-compiler" = [enable "portable"]
@@ -46,21 +42,27 @@ configureCabalFlags' (PackageIdentifier name version)
46 | name == "hlibsass" && version >= mkVersion [0,1,5]
42 | name == "hlibsass" && version >= mkVersion [0,1,5]
47 = [enable "externalLibsass"]
43 = [enable "externalLibsass"]
48 | name == "hmatrix" = [enable "openblas", enable "disable-default-paths"]
44 | name == "hmatrix" = [enable "openblas", enable "disable-default-paths"]
49− | name == "hslua" = [enable "system-lua"]
45+ | name == "hslua" = [enable "system-lua", disable "use-pkgconfig"]
50 | name == "idris" = [enable "gmp", enable "ffi", enable "curses", ("execonly", version `withinRange` orLaterVersion (mkVersion [1,1,1])) ]
46 | name == "idris" = [enable "gmp", enable "ffi", enable "curses", ("execonly", version `withinRange` orLaterVersion (mkVersion [1,1,1])) ]
51 | name == "io-streams" = [enable "NoInteractiveTests"]
47 | name == "io-streams" = [enable "NoInteractiveTests"]
52 | name == "liquid-fixpoint" = [enable "build-external"]
48 | name == "liquid-fixpoint" = [enable "build-external"]
53 | name == "pandoc" = [enable "https", disable "trypandoc"]
49 | name == "pandoc" = [enable "https", disable "trypandoc"]
50+ | name == "pandoc-placetable" = [enable "inlineMarkdown"]
51+ | name == "persistent-sqlite" = [enable "systemlib"]
54 | name == "reactive-banana-wx" = [disable "buildExamples"]
52 | name == "reactive-banana-wx" = [disable "buildExamples"]
55 | name == "snap-server" = [enable "openssl"]
53 | name == "snap-server" = [enable "openssl"]
56− | name == "xmobar" = [enable "all_extensions"]
54+ | name == "stack" = [enable "disable-git-info", enable "hide-dependency-versions", enable "supported-build"]
55+ | name == "xmobar" = [enable "with_alsa", enable "with_conduit", enable "with_datezone", enable "with_dbus", enable "with_inotify", enable "with_iwlib", enable "with_mpd", enable "with_mpris", enable "with_rtsopts", enable "with_threaded", enable "with_utf8", enable "with_uvmeter", enable "with_weather", enable "with_xft", enable "with_xpm"]
57 | name == "xmonad-extras" = [disable "with_hlist", enable "with_split", enable "with_parsec"]
56 | name == "xmonad-extras" = [disable "with_hlist", enable "with_split", enable "with_parsec"]
58− | name == "yaml" = [enable "system-libyaml"]
57+ | name == "yaml" = [("system-libyaml", version >= "0.10.1.1")]
59 | name == "yi" = [enable "pango", enable "vty"]
58 | name == "yi" = [enable "pango", enable "vty"]
60 | otherwise = []
59 | otherwise = []
61
60
62enable :: String -> (FlagName,Bool)
61enable :: String -> (FlagName,Bool)
63−enable name = (mkFlagName name, True)
62+enable name = (mkFlagName' name, True)
64
63
65disable :: String -> (FlagName,Bool)
64disable :: String -> (FlagName,Bool)
66−disable name = (mkFlagName name, False)
65+disable name = (mkFlagName' name, False)
66+
67+mkFlagName' :: String -> FlagName
68+mkFlagName' = mkFlagName . map toLower
src/Distribution/Nixpkgs/Haskell/FromCabal/License.hs+135−4
@@ -1,14 +1,20 @@
1{-# LANGUAGE ViewPatterns #-}
1{-# LANGUAGE ViewPatterns #-}
2
2
3−module Distribution.Nixpkgs.Haskell.FromCabal.License ( fromCabalLicense ) where
3+module Distribution.Nixpkgs.Haskell.FromCabal.License
4+ ( fromCabalLicense
5+ , fromSPDXLicense
6+ , isFreeLicense
7+ ) where
4
8
5−import Distribution.Nixpkgs.License
9+import Data.List (intercalate)
6import Distribution.License ( License(..), knownLicenses )
10import Distribution.License ( License(..), knownLicenses )
11+import Distribution.Nixpkgs.License
12+import Distribution.Pretty (prettyShow)
13+import qualified Distribution.SPDX as SPDX
7import Distribution.Text (display)
14import Distribution.Text (display)
8−import Data.List (intercalate)
9import Distribution.Version
15import Distribution.Version
10
16
11−-- TODO: Programatically strip trailing zeros from license version numbers.
17+-- TODO: Programmatically strip trailing zeros from license version numbers.
12
18
13fromCabalLicense :: Distribution.License.License -> Distribution.Nixpkgs.License.License
19fromCabalLicense :: Distribution.License.License -> Distribution.Nixpkgs.License.License
14fromCabalLicense (GPL Nothing) = Unknown (Just "GPL")
20fromCabalLicense (GPL Nothing) = Unknown (Just "GPL")
@@ -35,5 +41,130 @@ fromCabalLicense (Apache Nothing) = Known "stdenv.lib.l
35fromCabalLicense (Apache (Just (versionNumbers -> [2,0]))) = Known "stdenv.lib.licenses.asl20"
41fromCabalLicense (Apache (Just (versionNumbers -> [2,0]))) = Known "stdenv.lib.licenses.asl20"
36fromCabalLicense ISC = Known "stdenv.lib.licenses.isc"
42fromCabalLicense ISC = Known "stdenv.lib.licenses.isc"
37fromCabalLicense OtherLicense = Unknown Nothing
43fromCabalLicense OtherLicense = Unknown Nothing
44+fromCabalLicense (UnknownLicense "CC0-1.0") = Known "stdenv.lib.licenses.cc0"
45+fromCabalLicense (UnknownLicense "BSD3ClauseORApache20") = Known "stdenv.lib.licenses.bsd3"
38fromCabalLicense l = error $ "Distribution.Nixpkgs.Haskell.FromCabal.License.fromCabalLicense: unknown license"
46fromCabalLicense l = error $ "Distribution.Nixpkgs.Haskell.FromCabal.License.fromCabalLicense: unknown license"
39 ++ show l ++"\nChoose one of: " ++ intercalate ", " (map display knownLicenses)
47 ++ show l ++"\nChoose one of: " ++ intercalate ", " (map display knownLicenses)
48+
49+fromSPDXLicense :: SPDX.License -> Distribution.Nixpkgs.License.License
50+fromSPDXLicense SPDX.NONE = Unknown Nothing
51+fromSPDXLicense (SPDX.License expr) =
52+ case expr of
53+ SPDX.ELicense simpl Nothing ->
54+ -- Not handled: license exceptions
55+ case simpl of
56+ SPDX.ELicenseId lid ->
57+ case lid of
58+ SPDX.AFL_2_1 -> Known "stdenv.lib.licenses.afl21"
59+ SPDX.AFL_3_0 -> Known "stdenv.lib.licenses.afl3"
60+ SPDX.AGPL_3_0_only -> Known "stdenv.lib.licenses.agpl3"
61+ SPDX.AGPL_3_0_or_later -> Known "stdenv.lib.licenses.agpl3Plus"
62+ SPDX.APSL_2_0 -> Known "stdenv.lib.licenses.apsl20"
63+ SPDX.Artistic_1_0 -> Known "stdenv.lib.licenses.artistic1"
64+ SPDX.Artistic_2_0 -> Known "stdenv.lib.licenses.artistic2"
65+ SPDX.Apache_2_0 -> Known "stdenv.lib.licenses.asl20"
66+ SPDX.BSL_1_0 -> Known "stdenv.lib.licenses.boost"
67+ SPDX.Beerware -> Known "stdenv.lib.licenses.beerware"
68+ SPDX.NullBSD -> Known "stdenv.lib.licenses.bsd0"
69+ SPDX.BSD_2_Clause -> Known "stdenv.lib.licenses.bsd2"
70+ SPDX.BSD_3_Clause -> Known "stdenv.lib.licenses.bsd3"
71+ SPDX.BSD_4_Clause -> Known "stdenv.lib.licenses.bsdOriginal"
72+ SPDX.ClArtistic -> Known "stdenv.lib.licenses.clArtistic"
73+ SPDX.CC0_1_0 -> Known "stdenv.lib.licenses.cc0"
74+ SPDX.CC_BY_NC_SA_2_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-20"
75+ SPDX.CC_BY_NC_SA_2_5 -> Known "stdenv.lib.licenses.cc-by-nc-sa-25"
76+ SPDX.CC_BY_NC_SA_3_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-30"
77+ SPDX.CC_BY_NC_SA_4_0 -> Known "stdenv.lib.licenses.cc-by-nc-sa-40"
78+ SPDX.CC_BY_NC_4_0 -> Known "stdenv.lib.licenses.cc-by-nc-40"
79+ SPDX.CC_BY_ND_3_0 -> Known "stdenv.lib.licenses.cc-by-nd-30"
80+ SPDX.CC_BY_SA_2_5 -> Known "stdenv.lib.licenses.cc-by-sa-25"
81+ SPDX.CC_BY_3_0 -> Known "stdenv.lib.licenses.cc-by-30"
82+ SPDX.CC_BY_SA_3_0 -> Known "stdenv.lib.licenses.cc-by-sa-30"
83+ SPDX.CC_BY_4_0 -> Known "stdenv.lib.licenses.cc-by-40"
84+ SPDX.CC_BY_SA_4_0 -> Known "stdenv.lib.licenses.cc-by-sa-40"
85+ SPDX.CDDL_1_0 -> Known "stdenv.lib.licenses.cddl"
86+ SPDX.CECILL_2_0 -> Known "stdenv.lib.licenses.cecill20"
87+ SPDX.CECILL_B -> Known "stdenv.lib.licenses.cecill-b"
88+ SPDX.CECILL_C -> Known "stdenv.lib.licenses.cecill-c"
89+ SPDX.CPAL_1_0 -> Known "stdenv.lib.licenses.cpal10"
90+ SPDX.CPL_1_0 -> Known "stdenv.lib.licenses.cpl10"
91+ SPDX.Curl -> Known "stdenv.lib.licenses.curl"
92+ SPDX.DOC -> Known "stdenv.lib.licenses.doc"
93+ SPDX.EFL_1_0 -> Known "stdenv.lib.licenses.efl10"
94+ SPDX.EFL_2_0 -> Known "stdenv.lib.licenses.efl20"
95+ SPDX.EPL_1_0 -> Known "stdenv.lib.licenses.epl10"
96+ SPDX.EPL_2_0 -> Known "stdenv.lib.licenses.epl20"
97+ SPDX.EUPL_1_1 -> Known "stdenv.lib.licenses.eupl11"
98+ SPDX.GFDL_1_2_only -> Known "stdenv.lib.licenses.fdl12"
99+ SPDX.GFDL_1_3_only -> Known "stdenv.lib.licenses.fdl13"
100+ SPDX.GPL_1_0_only -> Known "stdenv.lib.licenses.gpl1"
101+ SPDX.GPL_1_0_or_later -> Known "stdenv.lib.licenses.gpl1Plus"
102+ SPDX.GPL_2_0_only -> Known "stdenv.lib.licenses.gpl2"
103+ SPDX.GPL_2_0_or_later -> Known "stdenv.lib.licenses.gpl2Plus"
104+ SPDX.GPL_3_0_only -> Known "stdenv.lib.licenses.gpl3"
105+ SPDX.GPL_3_0_or_later -> Known "stdenv.lib.licenses.gpl3Plus"
106+ SPDX.HPND -> Known "stdenv.lib.licenses.hpnd"
107+ SPDX.IJG -> Known "stdenv.lib.licenses.ijg"
108+ SPDX.ImageMagick -> Known "stdenv.lib.licenses.imagemagick"
109+ SPDX.IPA -> Known "stdenv.lib.licenses.ipa"
110+ SPDX.IPL_1_0 -> Known "stdenv.lib.licenses.ipl10"
111+ SPDX.ISC -> Known "stdenv.lib.licenses.isc"
112+ SPDX.JasPer_2_0 -> Known "stdenv.lib.licenses.jasper"
113+ SPDX.LGPL_2_0_only -> Known "stdenv.lib.licenses.lgpl2"
114+ SPDX.LGPL_2_0_or_later -> Known "stdenv.lib.licenses.lgpl2Plus"
115+ SPDX.LGPL_2_1_only -> Known "stdenv.lib.licenses.lgpl21"
116+ SPDX.LGPL_2_1_or_later -> Known "stdenv.lib.licenses.lgpl21Plus"
117+ SPDX.LGPL_3_0_only -> Known "stdenv.lib.licenses.lgpl3"
118+ SPDX.LGPL_3_0_or_later -> Known "stdenv.lib.licenses.lgpl3Plus"
119+ SPDX.Libpng -> Known "stdenv.lib.licenses.libpng"
120+ SPDX.Libtiff -> Known "stdenv.lib.licenses.libtiff"
121+ SPDX.LPPL_1_2 -> Known "stdenv.lib.licenses.lppl12"
122+ SPDX.LPPL_1_3c -> Known "stdenv.lib.licenses.lppl13c"
123+ SPDX.LPL_1_02 -> Known "stdenv.lib.licenses.lpl-102"
124+ SPDX.MIT -> Known "stdenv.lib.licenses.mit"
125+ SPDX.MPL_1_0 -> Known "stdenv.lib.licenses.mpl10"
126+ SPDX.MPL_1_1 -> Known "stdenv.lib.licenses.mpl11"
127+ SPDX.MPL_2_0 -> Known "stdenv.lib.licenses.mpl20"
128+ SPDX.MS_PL -> Known "stdenv.lib.licenses.mspl"
129+ SPDX.NCSA -> Known "stdenv.lib.licenses.ncsa"
130+ SPDX.NPOSL_3_0 -> Known "stdenv.lib.licenses.nposl3"
131+ SPDX.OFL_1_1 -> Known "stdenv.lib.licenses.ofl"
132+ SPDX.OLDAP_2_8 -> Known "stdenv.lib.licenses.openldap"
133+ SPDX.OpenSSL -> Known "stdenv.lib.licenses.openssl"
134+ SPDX.OSL_2_1 -> Known "stdenv.lib.licenses.osl21"
135+ SPDX.OSL_3_0 -> Known "stdenv.lib.licenses.osl3"
136+ SPDX.PHP_3_01 -> Known "stdenv.lib.licenses.php201"
137+ SPDX.PostgreSQL -> Known "stdenv.lib.licenses.postgresql"
138+ SPDX.Python_2_0 -> Known "stdenv.lib.licenses.psfl"
139+ SPDX.QPL_1_0 -> Known "stdenv.lib.licenses.qpl"
140+ SPDX.Ruby -> Known "stdenv.lib.licenses.ruby"
141+ SPDX.Sendmail -> Known "stdenv.lib.licenses.sendmail"
142+ SPDX.SGI_B_2_0 -> Known "stdenv.lib.licenses.sgi-b-0"
143+ SPDX.Sleepycat -> Known "stdenv.lib.licenses.sleepycat"
144+ SPDX.TCL -> Known "stdenv.lib.licenses.tcltx"
145+ SPDX.Unlicense -> Known "stdenv.lib.licenses.unlicense"
146+ SPDX.Vim -> Known "stdenv.lib.licenses.vim"
147+ SPDX.VSL_1_0 -> Known "stdenv.lib.licenses.vsl10"
148+ SPDX.Watcom_1_0 -> Known "stdenv.lib.licenses.watcom"
149+ SPDX.W3C -> Known "stdenv.lib.licenses.w3c"
150+ SPDX.WTFPL -> Known "stdenv.lib.licenses.wtfpl"
151+ SPDX.Zlib -> Known "stdenv.lib.licenses.zlib"
152+ SPDX.ZPL_2_0 -> Known "stdenv.lib.licenses.zpl20"
153+ SPDX.ZPL_2_1 -> Known "stdenv.lib.licenses.zpl21"
154+ _ ->
155+ -- Licence is not in Nixpkgs.
156+ -- Use the SPDX expression as a free-form license string.
157+ Unknown (Just $ prettyShow expr)
158+ _ ->
159+ -- Not handed: the '+' suffix and user-defined licences references.
160+ -- Use the SPDX expression as a free-form license string.
161+ Unknown (Just $ prettyShow expr)
162+ _ ->
163+ -- Not handled: compound expressions, not expressible in Nixpkgs.
164+ -- Use the SPDX expression as a free-form license string.
165+ Unknown (Just $ prettyShow expr)
166+
167+isFreeLicense :: Distribution.Nixpkgs.License.License -> Bool
168+isFreeLicense (Known "stdenv.lib.licenses.unfree") = False
169+isFreeLicense (Unknown Nothing) = False
170+isFreeLicense _ = True
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs+26−9
@@ -29,6 +29,7 @@ libNixName "appindicator-0.1" = return "libappindicator-gtk2"
29libNixName "appindicator3-0.1" = return "libappindicator-gtk3"
29libNixName "appindicator3-0.1" = return "libappindicator-gtk3"
30libNixName "asound" = return "alsaLib"
30libNixName "asound" = return "alsaLib"
31libNixName "b2" = return "libb2"
31libNixName "b2" = return "libb2"
32+libNixName "boost_context" = return "boost"
32libNixName "bz2" = return "bzip2"
33libNixName "bz2" = return "bzip2"
33libNixName "c++" = [] -- What is that?
34libNixName "c++" = [] -- What is that?
34libNixName "cairo-gobject" = return "cairo"
35libNixName "cairo-gobject" = return "cairo"
@@ -38,6 +39,8 @@ libNixName "cairo-svg" = return "cairo"
38libNixName "crypt" = [] -- provided by glibc
39libNixName "crypt" = [] -- provided by glibc
39libNixName "crypto" = return "openssl"
40libNixName "crypto" = return "openssl"
40libNixName "curses" = return "ncurses"
41libNixName "curses" = return "ncurses"
42+libNixName "dbusmenu-glib-0.4" = return "libdbusmenu"
43+libNixName "dbusmenu-gtk3-0.4" = ["libdbusmenu-gtk3", "gtk3"]
41libNixName "dl" = [] -- provided by glibc
44libNixName "dl" = [] -- provided by glibc
42libNixName "fftw3" = return "fftw"
45libNixName "fftw3" = return "fftw"
43libNixName "fftw3f" = return "fftwFloat"
46libNixName "fftw3f" = return "fftwFloat"
@@ -45,18 +48,19 @@ libNixName "gconf" = return "GConf"
45libNixName "gconf-2.0" = return "GConf"
48libNixName "gconf-2.0" = return "GConf"
46libNixName "gdk-2.0" = return "gtk2"
49libNixName "gdk-2.0" = return "gtk2"
47libNixName "gdk-3.0" = return "gtk3"
50libNixName "gdk-3.0" = return "gtk3"
48−libNixName "gdk-pixbuf-2.0" = return "gdk_pixbuf"
51+libNixName "gdk-pixbuf-2.0" = return "gdk-pixbuf"
49libNixName "gdk-x11-2.0" = return "gdk_x11"
52libNixName "gdk-x11-2.0" = return "gdk_x11"
53+libNixName "gdk-x11-3.0" = return "gtk3"
50libNixName "gio-2.0" = return "glib"
54libNixName "gio-2.0" = return "glib"
51libNixName "GL" = return "libGL"
55libNixName "GL" = return "libGL"
52libNixName "GLU" = ["libGLU","libGL"]
56libNixName "GLU" = ["libGLU","libGL"]
53libNixName "glut" = ["freeglut","libGLU","libGL"]
57libNixName "glut" = ["freeglut","libGLU","libGL"]
54libNixName "gnome-keyring" = return "gnome-keyring"
58libNixName "gnome-keyring" = return "gnome-keyring"
55−libNixName "gnome-keyring-1" = return "gnome-keyring"
59+libNixName "gnome-keyring-1" = return "libgnome-keyring"
56libNixName "gnome-vfs-2.0" = return "gnome-vfs"
60libNixName "gnome-vfs-2.0" = return "gnome-vfs"
57libNixName "gnome-vfs-module-2.0" = return "gnome-vfs_module"
61libNixName "gnome-vfs-module-2.0" = return "gnome-vfs_module"
58libNixName "gobject-2.0" = return "glib"
62libNixName "gobject-2.0" = return "glib"
59−libNixName "gobject-introspection-1.0" = return "gobjectIntrospection"
63+libNixName "gobject-introspection-1.0" = return "gobject-introspection"
60libNixName "gstreamer-audio-0.10" = return "gst-plugins-base"
64libNixName "gstreamer-audio-0.10" = return "gst-plugins-base"
61libNixName "gstreamer-audio-1.0" = return "gst-plugins-base"
65libNixName "gstreamer-audio-1.0" = return "gst-plugins-base"
62libNixName "gstreamer-base-0.10" = return "gst-plugins-base"
66libNixName "gstreamer-base-0.10" = return "gst-plugins-base"
@@ -81,8 +85,8 @@ libNixName "ImageMagick" = return "imagemagick"
81libNixName "Imlib2" = return "imlib2"
85libNixName "Imlib2" = return "imlib2"
82libNixName "iw" = return "wirelesstools"
86libNixName "iw" = return "wirelesstools"
83libNixName "jack" = return "libjack2"
87libNixName "jack" = return "libjack2"
84−libNixName "javascriptcoregtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that.
88+libNixName "javascriptcoregtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that.
85−libNixName "javascriptcoregtk-4.0" = return "webkitgtk" -- This is the current API, so let it reference an alias for the latest version.
89+libNixName "javascriptcoregtk-4.0" = return "webkitgtk"
86libNixName "jpeg" = return "libjpeg"
90libNixName "jpeg" = return "libjpeg"
87libNixName "jvm" = return "jdk"
91libNixName "jvm" = return "jdk"
88libNixName "lapack" = return "liblapack"
92libNixName "lapack" = return "liblapack"
@@ -91,18 +95,26 @@ libNixName "ldap" = return "openldap"
91libNixName "libavutil" = return "ffmpeg"
95libNixName "libavutil" = return "ffmpeg"
92libNixName "libgsasl" = return "gsasl"
96libNixName "libgsasl" = return "gsasl"
93libNixName "libpcre" = return "pcre"
97libNixName "libpcre" = return "pcre"
98+libNixName "libpcre2" = return "pcre2"
99+libNixName "libpcre2-8" = libNixName "libpcre2"
100+libNixName "libqrencode" = return "qrencode"
94libNixName "libR" = return "R"
101libNixName "libR" = return "R"
95libNixName "libsoup-gnome-2.4" = return "libsoup"
102libNixName "libsoup-gnome-2.4" = return "libsoup"
96libNixName "libsystemd" = return "systemd"
103libNixName "libsystemd" = return "systemd"
104+libNixName "libudev" = return "systemd"
97libNixName "libxml-2.0" = return "libxml2"
105libNixName "libxml-2.0" = return "libxml2"
98libNixName "libzip" = return "libzip"
106libNixName "libzip" = return "libzip"
99libNixName "libzmq" = return "zeromq"
107libNixName "libzmq" = return "zeromq"
100libNixName "m" = [] -- in stdenv
108libNixName "m" = [] -- in stdenv
101libNixName "magic" = return "file"
109libNixName "magic" = return "file"
102libNixName "MagickWand" = return "imagemagick"
110libNixName "MagickWand" = return "imagemagick"
111+libNixName "mnl" = return "libmnl"
103libNixName "mpi" = return "openmpi"
112libNixName "mpi" = return "openmpi"
104libNixName "ncursesw" = return "ncurses"
113libNixName "ncursesw" = return "ncurses"
105libNixName "netsnmp" = return "net_snmp"
114libNixName "netsnmp" = return "net_snmp"
115+libNixName "nix-expr" = return "nix"
116+libNixName "nix-main" = return "nix"
117+libNixName "nix-store" = return "nix"
106libNixName "notify" = return "libnotify"
118libNixName "notify" = return "libnotify"
107libNixName "odbc" = return "unixODBC"
119libNixName "odbc" = return "unixODBC"
108libNixName "openblas" = return "openblasCompat"
120libNixName "openblas" = return "openblasCompat"
@@ -123,17 +135,17 @@ libNixName "Qt5Gui" = return "qt5"
123libNixName "Qt5Qml" = return "qt5"
135libNixName "Qt5Qml" = return "qt5"
124libNixName "Qt5Quick" = return "qt5"
136libNixName "Qt5Quick" = return "qt5"
125libNixName "Qt5Widgets" = return "qt5"
137libNixName "Qt5Widgets" = return "qt5"
138+libNixName "quadprog" = return "QuadProgpp"
126libNixName "rt" = [] -- in glibc
139libNixName "rt" = [] -- in glibc
127libNixName "rtlsdr" = return "rtl-sdr"
140libNixName "rtlsdr" = return "rtl-sdr"
128libNixName "ruby1.8" = return "ruby"
141libNixName "ruby1.8" = return "ruby"
129−libNixName "sane-backends" = return "saneBackends"
130libNixName "sass" = return "libsass"
142libNixName "sass" = return "libsass"
131libNixName "sctp" = return "lksctp-tools" -- This is linux-specific, we should create a common attribute if we ever add sctp support for other systems.
143libNixName "sctp" = return "lksctp-tools" -- This is linux-specific, we should create a common attribute if we ever add sctp support for other systems.
132libNixName "sdl2" = return "SDL2"
144libNixName "sdl2" = return "SDL2"
133−libNixName "ssh2" = return "libssh2"
134libNixName "sndfile" = return "libsndfile"
145libNixName "sndfile" = return "libsndfile"
135libNixName "sodium" = return "libsodium"
146libNixName "sodium" = return "libsodium"
136libNixName "sqlite3" = return "sqlite"
147libNixName "sqlite3" = return "sqlite"
148+libNixName "ssh2" = return "libssh2"
137libNixName "ssl" = return "openssl"
149libNixName "ssl" = return "openssl"
138libNixName "statgrab" = return "libstatgrab"
150libNixName "statgrab" = return "libstatgrab"
139libNixName "stdc++" = [] -- What is that?
151libNixName "stdc++" = [] -- What is that?
@@ -141,16 +153,20 @@ libNixName "stdc++.dll" = [] -- What is that?
141libNixName "systemd-journal" = return "systemd"
153libNixName "systemd-journal" = return "systemd"
142libNixName "tag_c" = return "taglib"
154libNixName "tag_c" = return "taglib"
143libNixName "taglib_c" = return "taglib"
155libNixName "taglib_c" = return "taglib"
156+libNixName "tensorflow" = return "libtensorflow"
144libNixName "udev" = return "systemd";
157libNixName "udev" = return "systemd";
145libNixName "uuid" = return "libossp_uuid";
158libNixName "uuid" = return "libossp_uuid";
159+libNixName "vte-2.91" = return "vte_291"
146libNixName "wayland-client" = return "wayland"
160libNixName "wayland-client" = return "wayland"
147libNixName "wayland-cursor" = return "wayland"
161libNixName "wayland-cursor" = return "wayland"
148libNixName "wayland-egl" = return "libGL"
162libNixName "wayland-egl" = return "libGL"
149libNixName "wayland-server" = return "wayland"
163libNixName "wayland-server" = return "wayland"
150−libNixName "webkit2gtk-4.0" = return "webkitgtk" -- This is the current API, so let it reference an alias for the latest version.
164+libNixName "webkit2gtk" = return "webkitgtk"
165+libNixName "webkit2gtk-4.0" = return "webkitgtk"
151−libNixName "webkit2gtk-web-extension-4.0" = return "webkitgtk-web-extension" -- This package doesn't actually exist in nixpkgs at present.
166+libNixName "webkit2gtk-web-extension-4.0" = return "webkitgtk"
152libNixName "webkitgtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that
167libNixName "webkitgtk-3.0" = return "webkitgtk24x-gtk3" -- These are the old APIs, of which 2.4 is the last provider, so map directly to that
153libNixName "X11" = return "libX11"
168libNixName "X11" = return "libX11"
169+libNixName "x11" = return "xlibsWrapper"
154libNixName "xau" = return "libXau"
170libNixName "xau" = return "libXau"
155libNixName "Xcursor" = return "libXcursor"
171libNixName "Xcursor" = return "libXcursor"
156libNixName "xerces-c" = return "xercesc"
172libNixName "xerces-c" = return "xercesc"
@@ -166,6 +182,7 @@ libNixName "Xrender" = return "libXrender"
166libNixName "Xss" = return "libXScrnSaver"
182libNixName "Xss" = return "libXScrnSaver"
167libNixName "Xtst" = return "libXtst"
183libNixName "Xtst" = return "libXtst"
168libNixName "Xxf86vm" = return "libXxf86vm"
184libNixName "Xxf86vm" = return "libXxf86vm"
185+libNixName "yaml" = return "libyaml"
169libNixName "yaml-0.1" = return "libyaml"
186libNixName "yaml-0.1" = return "libyaml"
170libNixName "z" = return "zlib"
187libNixName "z" = return "zlib"
171libNixName "zmq" = return "zeromq"
188libNixName "zmq" = return "zeromq"
src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs+139−35
@@ -1,14 +1,19 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
2
3
3module Distribution.Nixpkgs.Haskell.FromCabal.PostProcess ( postProcess, pkg ) where
4module Distribution.Nixpkgs.Haskell.FromCabal.PostProcess ( postProcess, pkg ) where
4
5
5import Control.Lens
6import Control.Lens
7+import Control.Monad.Trans.State
6import Data.List.Split
8import Data.List.Split
9+import Data.Map ( Map )
10+import qualified Data.Map as Map
11+import Data.Map.Lens
7import Data.Set ( Set )
12import Data.Set ( Set )
8import qualified Data.Set as Set
13import qualified Data.Set as Set
9−import Data.Set.Lens
10import Distribution.Nixpkgs.Haskell
14import Distribution.Nixpkgs.Haskell
11import Distribution.Nixpkgs.Meta
15import Distribution.Nixpkgs.Meta
16+import Distribution.Nixpkgs.License
12import Distribution.Package
17import Distribution.Package
13import Distribution.System
18import Distribution.System
14import Distribution.Text
19import Distribution.Text
@@ -16,7 +21,11 @@ import Distribution.Version
16import Language.Nix
21import Language.Nix
17
22
18postProcess :: Derivation -> Derivation
23postProcess :: Derivation -> Derivation
24+postProcess deriv =
19−postProcess deriv = foldr ($) (fixGtkBuilds deriv) [ f | (Dependency n vr, f) <- hooks, packageName deriv == n, packageVersion deriv `withinRange` vr ]
25+ foldr (.) id [ f | (Dependency n vr _, f) <- hooks, packageName deriv == n, packageVersion deriv `withinRange` vr ]
26+ . fixGtkBuilds
27+ . fixBuildDependsForTools
28+ $ deriv
20
29
21fixGtkBuilds :: Derivation -> Derivation
30fixGtkBuilds :: Derivation -> Derivation
22fixGtkBuilds drv = drv & dependencies . pkgconfig %~ Set.filter (not . collidesWithHaskellName)
31fixGtkBuilds drv = drv & dependencies . pkgconfig %~ Set.filter (not . collidesWithHaskellName)
@@ -24,41 +33,79 @@ fixGtkBuilds drv = drv & dependencies . pkgconfig %~ Set.filter (not . collidesW
24 & dependencies . tool %~ Set.filter (not . collidesWithHaskellName)
33 & dependencies . tool %~ Set.filter (not . collidesWithHaskellName)
25 where
34 where
26 collidesWithHaskellName :: Binding -> Bool
35 collidesWithHaskellName :: Binding -> Bool
27− collidesWithHaskellName b = view localName b `Set.member` buildDeps
36+ collidesWithHaskellName b = case buildDeps Map.!? view localName b of
37+ Nothing -> False -- totally uncollided
38+ Just p -> p /= view reference b -- identical is not collision, and important to preserve for cross
28
39
29 myName :: Identifier
40 myName :: Identifier
30 myName = ident # unPackageName (packageName drv)
41 myName = ident # unPackageName (packageName drv)
31
42
32− buildDeps :: Set Identifier
43+ buildDeps :: Map Identifier Path
33− buildDeps = Set.delete myName (setOf (dependencies . haskell . folded . localName) drv)
44+ buildDeps = Map.delete myName (toMapOf (dependencies . haskell . to Set.toList . traverse . binding . ifolded) drv)
45+
46+-- Per https://github.com/haskell/cabal/issues/5412 hvr considers
47+-- `build-depends` providing executables an accident, and fragile one at that,
48+-- unworthy of any compatibility hacks. But while he and the other Hackage
49+-- maintainers is dedicated to fixing executables and libraries on Hackage, test
50+-- suites and benchmarks are not a priority, as it is trivial to skip building
51+-- test-suites with cabal-install. Nix however wishes to build test suites much
52+-- more widely, so skipping those components is not an option.
53+--
54+-- Between that, and Stack not changing behavior as of
55+-- https://github.com/commercialhaskell/stack/pull/4132, it seems likely that
56+-- for a while packages scraped from Hackage will continue to improperly use
57+-- `build-depends: package-for-tool` instead of `build-tool-depends` (which does
58+-- also work for Stack). Until that changes, we provide do this to work around
59+-- those package's brokenness.
60+fixBuildDependsForTools :: Derivation -> Derivation
61+fixBuildDependsForTools = foldr (.) id
62+ [ fmap snd $ runState $ do
63+ needs <- use $ cloneLens c . haskell . contains p
64+ cloneLens c . tool . contains p ||= needs
65+ | (c :: ALens' Derivation BuildInfo) <- [ testDepends, benchmarkDepends ]
66+ , p <- self <$> [ "hspec-discover"
67+ , "tasty-discover"
68+ , "hsx2hs"
69+ , "markdown-unlit"
70+ ]
71+ ]
34
72
35hooks :: [(Dependency, Derivation -> Derivation)]
73hooks :: [(Dependency, Derivation -> Derivation)]
36hooks =
74hooks =
37 [ ("Agda < 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agdaPostInstall)
75 [ ("Agda < 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agdaPostInstall)
38 , ("Agda >= 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agda25PostInstall)
76 , ("Agda >= 2.5", set (executableDepends . tool . contains (pkg "emacs")) True . set phaseOverrides agda25PostInstall)
39 , ("alex < 3.1.5", set (testDepends . tool . contains (pkg "perl")) True)
77 , ("alex < 3.1.5", set (testDepends . tool . contains (pkg "perl")) True)
40− , ("alex", set (executableDepends . tool . contains (bind "self.happy")) True)
78+ , ("alex", set (executableDepends . tool . contains (self "happy")) True)
41− , ("alsa-core", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux))) , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
79+ , ("alsa-core", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
42 , ("bindings-GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
80 , ("bindings-GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
43− , ("bindings-lxc", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux))) , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
81+ , ("bindings-lxc", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
44− , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
82+ , ("bustle", bustleOverrides)
45 , ("Cabal", set doCheck False) -- test suite doesn't work in Nix
83 , ("Cabal", set doCheck False) -- test suite doesn't work in Nix
84+ , ("Cabal >2.2", over (setupDepends . haskell) (Set.union (Set.fromList [self "mtl", self "parsec"]))) -- https://github.com/haskell/cabal/issues/5391
46 , ("cabal-helper", set doCheck False) -- https://github.com/DanielG/cabal-helper/issues/17
85 , ("cabal-helper", set doCheck False) -- https://github.com/DanielG/cabal-helper/issues/17
47 , ("cabal-install", set doCheck False . set phaseOverrides cabalInstallPostInstall)
86 , ("cabal-install", set doCheck False . set phaseOverrides cabalInstallPostInstall)
87+ , ("cabal2nix > 2", cabal2nixOverrides)
48 , ("darcs", set phaseOverrides darcsInstallPostInstall . set doCheck False)
88 , ("darcs", set phaseOverrides darcsInstallPostInstall . set doCheck False)
49 , ("dbus", set doCheck False) -- don't execute tests that try to access the network
89 , ("dbus", set doCheck False) -- don't execute tests that try to access the network
50 , ("dns", set testTarget "spec") -- don't execute tests that try to access the network
90 , ("dns", set testTarget "spec") -- don't execute tests that try to access the network
51 , ("eventstore", over (metaSection . platforms) (Set.filter (\(Platform arch _) -> arch == X86_64)))
91 , ("eventstore", over (metaSection . platforms) (Set.filter (\(Platform arch _) -> arch == X86_64)))
52 , ("freenect < 1.2.1", over configureFlags (Set.union (Set.fromList ["--extra-include-dirs=${pkgs.freenect}/include/libfreenect", "--extra-lib-dirs=${pkgs.freenect}/lib"])))
92 , ("freenect < 1.2.1", over configureFlags (Set.union (Set.fromList ["--extra-include-dirs=${pkgs.freenect}/include/libfreenect", "--extra-lib-dirs=${pkgs.freenect}/lib"])))
93+ , ("fltkhs", set (libraryDepends . system . contains (pkg "fltk14")) True . over (libraryDepends . pkgconfig) (Set.union (pkgs ["libGLU", "libGL"]))) -- TODO: fltk14 belongs into the *setup* dependencies.
53 , ("gf", set phaseOverrides gfPhaseOverrides . set doCheck False)
94 , ("gf", set phaseOverrides gfPhaseOverrides . set doCheck False)
54 , ("gi-cairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
95 , ("gi-cairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
96+ , ("gi-gdk", set runHaddock True )
97+ , ("gi-gio", set runHaddock True )
98+ , ("gi-glib", set runHaddock True )
55 , ("gi-gst", giGstLibOverrides "gstreamer") -- https://github.com/haskell-gi/haskell-gi/issues/36
99 , ("gi-gst", giGstLibOverrides "gstreamer") -- https://github.com/haskell-gi/haskell-gi/issues/36
56 , ("gi-gstaudio", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
100 , ("gi-gstaudio", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
57 , ("gi-gstbase", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
101 , ("gi-gstbase", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
58 , ("gi-gstvideo", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
102 , ("gi-gstvideo", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
103+ , ("gi-gtk", set runHaddock True )
59 , ("gi-javascriptcore < 4.0.0.0", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
104 , ("gi-javascriptcore < 4.0.0.0", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
60 , ("gi-pango", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
105 , ("gi-pango", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
106+ , ("gi-pango", set runHaddock True )
61 , ("gi-pangocairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
107 , ("gi-pangocairo", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
108+ , ("gi-vte", set runHaddock True )
62 , ("gi-webkit", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
109 , ("gi-webkit", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
63 , ("gio", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
110 , ("gio", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
64 , ("git", set doCheck False) -- https://github.com/vincenthz/hit/issues/33
111 , ("git", set doCheck False) -- https://github.com/vincenthz/hit/issues/33
@@ -67,7 +114,9 @@ hooks =
67 , ("github-backup", set (executableDepends . tool . contains (pkg "git")) True)
114 , ("github-backup", set (executableDepends . tool . contains (pkg "git")) True)
68 , ("GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
115 , ("GLFW", over (libraryDepends . system) (Set.union (Set.fromList [bind "pkgs.xorg.libXext", bind "pkgs.xorg.libXfixes"])))
69 , ("GlomeVec", set (libraryDepends . pkgconfig . contains (bind "self.llvmPackages.llvm")) True)
116 , ("GlomeVec", set (libraryDepends . pkgconfig . contains (bind "self.llvmPackages.llvm")) True)
117+ , ("graphviz", set (testDepends . system . contains (pkg "graphviz")) True)
70 , ("gtk3", gtk3Hook)
118 , ("gtk3", gtk3Hook)
119+ , ("gtkglext", gtkglextHook)
71 , ("haddock", haddockHook) -- https://github.com/haskell/haddock/issues/511
120 , ("haddock", haddockHook) -- https://github.com/haskell/haddock/issues/511
72 , ("hakyll", set (testDepends . tool . contains (pkg "utillinux")) True) -- test suite depends on "rev"
121 , ("hakyll", set (testDepends . tool . contains (pkg "utillinux")) True) -- test suite depends on "rev"
73 , ("haskell-src-exts", set doCheck False)
122 , ("haskell-src-exts", set doCheck False)
@@ -78,31 +127,34 @@ hooks =
78 , ("holy-project", set doCheck False) -- attempts to access the network
127 , ("holy-project", set doCheck False) -- attempts to access the network
79 , ("hoogle", set testTarget "--test-option=--no-net")
128 , ("hoogle", set testTarget "--test-option=--no-net")
80 , ("hsignal < 0.2.7.4", set phaseOverrides "prePatch = \"rm -v Setup.lhs\";") -- https://github.com/amcphail/hsignal/issues/1
129 , ("hsignal < 0.2.7.4", set phaseOverrides "prePatch = \"rm -v Setup.lhs\";") -- https://github.com/amcphail/hsignal/issues/1
81− , ("hslua < 0.9.3", over (libraryDepends . each) (replace (pkg "lua") (pkg "lua5_1")))
130+ , ("hslua < 0.9.3", over (libraryDepends . system) (replace (pkg "lua") (pkg "lua5_1")))
82− , ("hslua >= 0.9.3", over (libraryDepends . each) (replace (pkg "lua") (pkg "lua5_3")))
131+ , ("hslua >= 0.9.3", over (libraryDepends . system) (replace (pkg "lua") (pkg "lua5_3")))
83 , ("hspec-core >= 2.4.4", hspecCoreOverrides)
132 , ("hspec-core >= 2.4.4", hspecCoreOverrides)
84 , ("http-client", set doCheck False) -- attempts to access the network
133 , ("http-client", set doCheck False) -- attempts to access the network
85 , ("http-client-openssl >= 0.2.0.1", set doCheck False) -- attempts to access the network
134 , ("http-client-openssl >= 0.2.0.1", set doCheck False) -- attempts to access the network
86 , ("http-client-tls >= 0.2.2", set doCheck False) -- attempts to access the network
135 , ("http-client-tls >= 0.2.2", set doCheck False) -- attempts to access the network
87 , ("http-conduit", set doCheck False) -- attempts to access the network
136 , ("http-conduit", set doCheck False) -- attempts to access the network
88 , ("imagemagick", set (libraryDepends . pkgconfig . contains (pkg "imagemagick")) True) -- https://github.com/NixOS/cabal2nix/issues/136
137 , ("imagemagick", set (libraryDepends . pkgconfig . contains (pkg "imagemagick")) True) -- https://github.com/NixOS/cabal2nix/issues/136
89− , ("include-file <= 0.1.0.2", set (libraryDepends . haskell . contains (bind "self.random")) True) -- https://github.com/Daniel-Diaz/include-file/issues/1
138+ , ("include-file <= 0.1.0.2", set (libraryDepends . haskell . contains (self "random")) True) -- https://github.com/Daniel-Diaz/include-file/issues/1
90 , ("js-jquery", set doCheck False) -- attempts to access the network
139 , ("js-jquery", set doCheck False) -- attempts to access the network
91 , ("libconfig", over (libraryDepends . system) (replace "config = null" (pkg "libconfig")))
140 , ("libconfig", over (libraryDepends . system) (replace "config = null" (pkg "libconfig")))
92 , ("libxml", set (configureFlags . contains "--extra-include-dir=${libxml2.dev}/include/libxml2") True)
141 , ("libxml", set (configureFlags . contains "--extra-include-dir=${libxml2.dev}/include/libxml2") True)
93 , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True . set (testDepends . system . contains (pkg "nettools")) True . set (testDepends . system . contains (pkg "git")) True . set doCheck False)
142 , ("liquid-fixpoint", set (executableDepends . system . contains (pkg "ocaml")) True . set (testDepends . system . contains (pkg "z3")) True . set (testDepends . system . contains (pkg "nettools")) True . set (testDepends . system . contains (pkg "git")) True . set doCheck False)
94 , ("liquidhaskell", set (testDepends . system . contains (pkg "z3")) True)
143 , ("liquidhaskell", set (testDepends . system . contains (pkg "z3")) True)
95− , ("lzma-clib", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Windows)) . set (libraryDepends . haskell . contains (bind "self.only-buildable-on-windows")) False)
144+ , ("lzma-clib", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Windows)) . set (libraryDepends . haskell . contains (self "only-buildable-on-windows")) False)
96− , ("MFlow < 4.6", set (libraryDepends . tool . contains (bind "self.cpphs")) True)
145+ , ("MFlow < 4.6", set (libraryDepends . tool . contains (self "cpphs")) True)
97 , ("mwc-random", set doCheck False)
146 , ("mwc-random", set doCheck False)
98 , ("mysql", set (libraryDepends . system . contains (pkg "mysql")) True)
147 , ("mysql", set (libraryDepends . system . contains (pkg "mysql")) True)
99 , ("network-attoparsec", set doCheck False) -- test suite requires network access
148 , ("network-attoparsec", set doCheck False) -- test suite requires network access
100 , ("numeric-qq", set doCheck False) -- test suite doesn't finish even after 1+ days
149 , ("numeric-qq", set doCheck False) -- test suite doesn't finish even after 1+ days
101 , ("opencv", opencvOverrides)
150 , ("opencv", opencvOverrides)
102− , ("pandoc >= 1.16.0.2", set doCheck False) -- https://github.com/jgm/pandoc/issues/2709 and https://github.com/fpco/stackage/issues/1332
151+ , ("pandoc >= 1.16.0.2 && < 2.5", set doCheck False) -- https://github.com/jgm/pandoc/issues/2709 and https://github.com/fpco/stackage/issues/1332
103− , ("pandoc", set jailbreak False) -- jailbreak-cabal break the build
152+ , ("pandoc < 2.6", pandocPre26Overrides)
153+ , ("pandoc >= 2.6", pandocOverrides)
104− , ("pandoc-citeproc", set doCheck False) -- https://github.com/jgm/pandoc-citeproc/issues/172
154+ , ("pandoc-citeproc", set doCheck False) -- https://github.com/jgm/pandoc-citeproc/issues/369
105 , ("purescript", set doCheck False) -- test suite doesn't cope with Nix build env
155 , ("purescript", set doCheck False) -- test suite doesn't cope with Nix build env
156+ , ("proto-lens-protobuf-types", set (libraryDepends . tool . contains (pkg "protobuf")) True)
157+ , ("proto-lens-protoc", set (libraryDepends . tool . contains (pkg "protobuf")) True)
106 , ("qtah-cpp-qt5", set (libraryDepends . system . contains (bind "pkgs.qt5.qtbase")) True)
158 , ("qtah-cpp-qt5", set (libraryDepends . system . contains (bind "pkgs.qt5.qtbase")) True)
107 , ("qtah-qt5", set (libraryDepends . tool . contains (bind "pkgs.qt5.qtbase")) True)
159 , ("qtah-qt5", set (libraryDepends . tool . contains (bind "pkgs.qt5.qtbase")) True)
108 , ("readline", over (libraryDepends . system) (Set.union (pkgs ["readline", "ncurses"])))
160 , ("readline", over (libraryDepends . system) (Set.union (pkgs ["readline", "ncurses"])))
@@ -116,10 +168,11 @@ hooks =
116 , ("target", set (testDepends . system . contains (pkg "z3")) True)
168 , ("target", set (testDepends . system . contains (pkg "z3")) True)
117 , ("terminfo", set (libraryDepends . system . contains (pkg "ncurses")) True)
169 , ("terminfo", set (libraryDepends . system . contains (pkg "ncurses")) True)
118 , ("text", set doCheck False) -- break infinite recursion
170 , ("text", set doCheck False) -- break infinite recursion
171+ , ("tensorflow-proto", set (libraryDepends . tool . contains (pkg "protobuf")) True)
119− , ("thyme", set (libraryDepends . tool . contains (bind "self.cpphs")) True) -- required on Darwin
172+ , ("thyme", set (libraryDepends . tool . contains (self "cpphs")) True) -- required on Darwin
120 , ("twilio", set doCheck False) -- attempts to access the network
173 , ("twilio", set doCheck False) -- attempts to access the network
121 , ("tz", set phaseOverrides "preConfigure = \"export TZDIR=${pkgs.tzdata}/share/zoneinfo\";")
174 , ("tz", set phaseOverrides "preConfigure = \"export TZDIR=${pkgs.tzdata}/share/zoneinfo\";")
122− , ("udev", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux))) , ("bustle", set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True)
175+ , ("udev", over (metaSection . platforms) (Set.filter (\(Platform _ os) -> os == Linux)))
123 , ("webkitgtk3", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
176 , ("webkitgtk3", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
124 , ("webkitgtk3-javascriptcore", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
177 , ("webkitgtk3-javascriptcore", webkitgtk24xHook) -- https://github.com/haskell-gi/haskell-gi/issues/36
125 , ("websockets", set doCheck False) -- https://github.com/jaspervdj/websockets/issues/104
178 , ("websockets", set doCheck False) -- https://github.com/jaspervdj/websockets/issues/104
@@ -128,14 +181,18 @@ hooks =
128 , ("wxc", wxcHook)
181 , ("wxc", wxcHook)
129 , ("wxcore", set (libraryDepends . pkgconfig . contains (pkg "wxGTK")) True)
182 , ("wxcore", set (libraryDepends . pkgconfig . contains (pkg "wxGTK")) True)
130 , ("X11", over (libraryDepends . system) (Set.union (Set.fromList $ map bind ["pkgs.xorg.libXinerama","pkgs.xorg.libXext","pkgs.xorg.libXrender","pkgs.xorg.libXScrnSaver"])))
183 , ("X11", over (libraryDepends . system) (Set.union (Set.fromList $ map bind ["pkgs.xorg.libXinerama","pkgs.xorg.libXext","pkgs.xorg.libXrender","pkgs.xorg.libXScrnSaver"])))
131− , ("xmonad", set phaseOverrides xmonadPostInstall)
184+ , ("xmonad >= 0.14.2", set phaseOverrides xmonadPostInstall)
132− , ("zip-archive < 0.3.1", over (testDepends . tool) (replace (bind "self.zip") (pkg "zip")))
185+ , ("zip-archive < 0.3.1", over (testDepends . tool) (replace (self "zip") (pkg "zip")))
133 , ("zip-archive >= 0.3.1 && < 0.3.2.3", over (testDepends . tool) (Set.union (Set.fromList [pkg "zip", pkg "unzip"]))) -- https://github.com/jgm/zip-archive/issues/35
186 , ("zip-archive >= 0.3.1 && < 0.3.2.3", over (testDepends . tool) (Set.union (Set.fromList [pkg "zip", pkg "unzip"]))) -- https://github.com/jgm/zip-archive/issues/35
187+ , ("zip-archive >= 0.4", set (testDepends . tool . contains (pkg "which")) True)
134 ]
188 ]
135
189
136pkg :: Identifier -> Binding
190pkg :: Identifier -> Binding
137pkg i = binding # (i, path # ["pkgs",i])
191pkg i = binding # (i, path # ["pkgs",i])
138
192
193+self :: Identifier -> Binding
194+self i = binding # (i, path # ["self",i])
195+
139pkgs :: [Identifier] -> Set Binding
196pkgs :: [Identifier] -> Set Binding
140pkgs = Set.fromList . map pkg
197pkgs = Set.fromList . map pkg
141
198
@@ -145,10 +202,18 @@ bind s = binding # (i, path # is)
145 is = map (review ident) (splitOn "." s)
202 is = map (review ident) (splitOn "." s)
146 i = last is
203 i = last is
147
204
205+-- | @replace old new bset@ replaces the Nix binding @old@ with @new@ in the
206+-- set of bindings @bset@. If @old@ is not found in @bset@, then the function
207+-- fails with an 'error'.
148replace :: Binding -> Binding -> Set Binding -> Set Binding
208replace :: Binding -> Binding -> Set Binding -> Set Binding
209+replace old new bs
149−replace old new bs = if old `Set.member` bs then Set.insert new (Set.delete old bs) else bs
210+ | old `Set.member` bs = Set.insert new (Set.delete old bs)
211+ | otherwise = error (unwords [ "post-process: cannot replace name binding"
212+ , show old, "by", show new
213+ , "because it's not found in set"
214+ , show bs
215+ ])
150
216
151−-- TODO: I need to figure out how to conveniently replace a binding in a set.
152gtk3Hook :: Derivation -> Derivation -- https://github.com/NixOS/cabal2nix/issues/145
217gtk3Hook :: Derivation -> Derivation -- https://github.com/NixOS/cabal2nix/issues/145
153gtk3Hook = set (libraryDepends . pkgconfig . contains (pkg "gtk3")) True
218gtk3Hook = set (libraryDepends . pkgconfig . contains (pkg "gtk3")) True
154 . over (libraryDepends . pkgconfig) (Set.filter (\b -> view localName b /= "gtk3"))
219 . over (libraryDepends . pkgconfig) (Set.filter (\b -> view localName b /= "gtk3"))
@@ -165,13 +230,12 @@ gitAnnexHook = set phaseOverrides gitAnnexOverrides
165 where
230 where
166 gitAnnexOverrides = unlines
231 gitAnnexOverrides = unlines
167 [ "preConfigure = \"export HOME=$TEMPDIR; patchShebangs .\";"
232 [ "preConfigure = \"export HOME=$TEMPDIR; patchShebangs .\";"
168− , "installPhase = \"make PREFIX=$out BUILDER=: install\";"
233+ , "postBuild = ''"
169− , "checkPhase = ''"
170 , " ln -sf dist/build/git-annex/git-annex git-annex"
234 , " ln -sf dist/build/git-annex/git-annex git-annex"
171 , " ln -sf git-annex git-annex-shell"
235 , " ln -sf git-annex git-annex-shell"
172− , " export PATH+=\":$PWD\""
173− , " git-annex test"
174 , "'';"
236 , "'';"
237+ , "installPhase = \"make PREFIX=$out BUILDER=: install install-completions\";"
238+ , "checkPhase = ''PATH+=\":$PWD\" git-annex test'';"
175 , "enableSharedExecutables = false;"
239 , "enableSharedExecutables = false;"
176 ]
240 ]
177 buildInputs = pkgs ["git","rsync","gnupg","curl","wget","lsof","openssh","which","bup","perl"]
241 buildInputs = pkgs ["git","rsync","gnupg","curl","wget","lsof","openssh","which","bup","perl"]
@@ -192,13 +256,13 @@ gfPhaseOverrides = unlines
192 , " sed -i \"s|numJobs (bf bi)++||\" ./Setup.hs"
256 , " sed -i \"s|numJobs (bf bi)++||\" ./Setup.hs"
193 -- Parallel compilation fails. Disable it.
257 -- Parallel compilation fails. Disable it.
194 , "'';"
258 , "'';"
195− , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build:$LD_LIBRARY_PATH'';"
259+ , "preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH'';"
196 -- The build step itself, after having built the library, needs to be able
260 -- The build step itself, after having built the library, needs to be able
197 -- to find the library it just built in order to compile grammar files.
261 -- to find the library it just built in order to compile grammar files.
198 ]
262 ]
199
263
200wxcHook :: Derivation -> Derivation
264wxcHook :: Derivation -> Derivation
201−wxcHook drv = drv & libraryDepends . system %~ Set.union (Set.fromList [pkg "mesa", bind "pkgs.xorg.libX11"])
265+wxcHook drv = drv & libraryDepends . system %~ Set.union (Set.fromList [pkg "libGL", bind "pkgs.xorg.libX11"])
202 & libraryDepends . pkgconfig . contains (pkg "wxGTK") .~ True
266 & libraryDepends . pkgconfig . contains (pkg "wxGTK") .~ True
203 & phaseOverrides .~ wxcPostInstall (packageVersion drv)
267 & phaseOverrides .~ wxcPostInstall (packageVersion drv)
204 & runHaddock .~ False
268 & runHaddock .~ False
@@ -228,10 +292,8 @@ darcsInstallPostInstall = unlines
228xmonadPostInstall :: String
292xmonadPostInstall :: String
229xmonadPostInstall = unlines
293xmonadPostInstall = unlines
230 [ "postInstall = ''"
294 [ "postInstall = ''"
231− , " shopt -s globstar"
295+ , " install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1"
232− , " mkdir -p $doc/share/man/man1"
296+ , " install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs"
233− , " mv \"$data/\"**\"/man/\"*[0-9] $doc/share/man/man1/"
234− , " rm \"$data/\"**\"/man/\"*"
235 , "'';"
297 , "'';"
236 ]
298 ]
237
299
@@ -298,8 +360,50 @@ webkitgtk24xHook = set (libraryDepends . pkgconfig . contains (pkg "webkitgtk24x
298opencvOverrides :: Derivation -> Derivation
360opencvOverrides :: Derivation -> Derivation
299opencvOverrides = set phaseOverrides "hardeningDisable = [ \"bindnow\" ];"
361opencvOverrides = set phaseOverrides "hardeningDisable = [ \"bindnow\" ];"
300 . over (libraryDepends . pkgconfig) (replace (pkg "opencv") (pkg "opencv3"))
362 . over (libraryDepends . pkgconfig) (replace (pkg "opencv") (pkg "opencv3"))
301− . set (configureFlags . contains "--with-gcc=${stdenv.cc}/bin/c++") True
302− . set (configureFlags . contains "--with-ld=${stdenv.cc}/bin/c++") True
303
363
304hspecCoreOverrides :: Derivation -> Derivation -- https://github.com/hspec/hspec/issues/330
364hspecCoreOverrides :: Derivation -> Derivation -- https://github.com/hspec/hspec/issues/330
305hspecCoreOverrides = set phaseOverrides "testTarget = \"--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'\";"
365hspecCoreOverrides = set phaseOverrides "testTarget = \"--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'\";"
366+
367+cabal2nixOverrides :: Derivation -> Derivation
368+cabal2nixOverrides = set phaseOverrides $ unlines
369+ [ "preCheck = ''"
370+ , " export PATH=\"$PWD/dist/build/cabal2nix:$PATH\""
371+ , " export HOME=\"$TMPDIR/home\""
372+ , "'';"
373+ ]
374+
375+gtkglextHook :: Derivation -> Derivation
376+gtkglextHook = over (libraryDepends . system) (Set.union (Set.fromList deps))
377+ where
378+ deps :: [Binding]
379+ deps = bind <$> [ "pkgs.gtk2"
380+ , "pkgs.libGLU"
381+ , "pkgs.xorg.libSM"
382+ , "pkgs.xorg.libICE"
383+ , "pkgs.xorg.libXt"
384+ , "pkgs.xorg.libXmu"
385+ ]
386+
387+pandocPre26Overrides :: Derivation -> Derivation
388+pandocPre26Overrides = set phaseOverrides postInstall
389+ where
390+ postInstall = unlines [ "postInstall = ''"
391+ , " mkdir -p $out/share"
392+ , " mv $data/*/*/man $out/share/"
393+ , "'';"
394+ ]
395+
396+pandocOverrides :: Derivation -> Derivation
397+pandocOverrides = set phaseOverrides postInstall
398+ where
399+ postInstall = unlines [ "postInstall = ''"
400+ , " mkdir -p $out/share/man/man1"
401+ , " mv \"man/\"*.1 $out/share/man/man1/"
402+ , "'';"
403+ ]
404+
405+bustleOverrides :: Derivation -> Derivation
406+bustleOverrides = set (libraryDepends . pkgconfig . contains "system-glib = pkgs.glib") True
407+ . set (executableDepends . pkgconfig . contains "gio-unix = null") False
408+ . set (metaSection . license) (Known "stdenv.lib.licenses.lgpl21Plus")
409+ . set (metaSection . hydraPlatforms) allKnownPlatforms
src/Distribution/Nixpkgs/Haskell/Hackage.hs+1−1
@@ -1,6 +1,6 @@
1module Distribution.Nixpkgs.Haskell.Hackage
1module Distribution.Nixpkgs.Haskell.Hackage
2 ( HackageDB, PackageData, VersionData(..)
2 ( HackageDB, PackageData, VersionData(..)
3− , hackageTarball, readTarball
3+ , hackageTarball, readTarball, parsePackageData
4 )
4 )
5 where
5 where
6
6
src/Distribution/Nixpkgs/Haskell/OrphanInstances.hs+28−3
@@ -9,9 +9,12 @@ import qualified Data.Text as T
9import Data.Yaml
9import Data.Yaml
10import Distribution.Compiler
10import Distribution.Compiler
11import Distribution.Package
11import Distribution.Package
12+import Distribution.Parsec
12import Distribution.System
13import Distribution.System
13−import Distribution.Text
14+import Distribution.Pretty as Cabal
15+import qualified Data.Version as Base
14import Distribution.Version
16import Distribution.Version
17+import Language.Nix.PrettyPrinting as Nix
15
18
16instance NFData CompilerInfo
19instance NFData CompilerInfo
17instance NFData AbiTag
20instance NFData AbiTag
@@ -49,6 +52,10 @@ instance FromJSON PackageIdentifier where
49 parseJSON (String s) = return (fromString (T.unpack s))
52 parseJSON (String s) = return (fromString (T.unpack s))
50 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell package identifier")
53 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell package identifier")
51
54
55+instance FromJSON VersionRange where
56+ parseJSON (String s) = return (fromString (T.unpack s))
57+ parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Cabal VersionRange")
58+
52instance FromJSON Dependency where
59instance FromJSON Dependency where
53 parseJSON (String s) = return (fromString (T.unpack s))
60 parseJSON (String s) = return (fromString (T.unpack s))
54 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell Dependency")
61 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell Dependency")
@@ -57,7 +64,25 @@ instance FromJSON CompilerInfo where
57 parseJSON (String s) = return (unknownCompilerInfo (fromString (T.unpack s)) NoAbiTag)
64 parseJSON (String s) = return (unknownCompilerInfo (fromString (T.unpack s)) NoAbiTag)
58 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell compiler")
65 parseJSON s = fail ("parseJSON: " ++ show s ++ " is not a valid Haskell compiler")
59
66
67+instance Nix.Pretty Version where
68+ pPrint = pretty
69+
70+instance Nix.Pretty PackageName where
71+ pPrint = pretty
72+
73+instance Nix.Pretty PackageIdentifier where
74+ pPrint = pretty
75+
76+instance Nix.Pretty CompilerId where
77+ pPrint = pretty
78+
79+instance Nix.Pretty Platform where
80+ pPrint = pretty
81+
82+instance Nix.Pretty Base.Version where
83+ pPrint = text . Base.showVersion
84+
60-- parsing tools
85-- parsing tools
61
86
62−text2isString :: Text a => String -> String -> a
87+text2isString :: Parsec a => String -> String -> a
63−text2isString t s = fromMaybe (error ("fromString: " ++ show s ++ " is not a valid " ++ t)) (simpleParse s)
88+text2isString t s = fromMaybe (error ("fromString: " ++ show s ++ " is not a valid " ++ t)) (simpleParsec s)
src/Distribution/Nixpkgs/Haskell/PackageSourceSpec.hs+74−46
@@ -1,35 +1,42 @@
1module Distribution.Nixpkgs.Haskell.PackageSourceSpec
1module Distribution.Nixpkgs.Haskell.PackageSourceSpec
2− ( Package(..), getPackage, getPackage', loadHackageDB, sourceFromHackage
2+ ( HpackUse(..), Package(..), getPackage, getPackage', loadHackageDB, sourceFromHackage
3 ) where
3 ) where
4
4
5−import Control.DeepSeq (force)
6import qualified Control.Exception as Exception
5import qualified Control.Exception as Exception
7import Control.Monad
6import Control.Monad
8import Control.Monad.IO.Class
7import Control.Monad.IO.Class
9import Control.Monad.Trans.Maybe
8import Control.Monad.Trans.Maybe
10import Data.Bifunctor
9import Data.Bifunctor
11−import qualified Data.ByteString.Char8 as BS -- TODO: Deal with utf-8 encoding!!
10+import qualified Data.ByteString.Char8 as BS
12import Data.List ( isSuffixOf, isPrefixOf )
11import Data.List ( isSuffixOf, isPrefixOf )
13import qualified Data.Map as DB
12import qualified Data.Map as DB
14import Data.Maybe
13import Data.Maybe
14+import qualified Data.Text as T
15+import qualified Data.Text.Encoding as T
15import Data.Time
16import Data.Time
16import Distribution.Nixpkgs.Fetch
17import Distribution.Nixpkgs.Fetch
17import Distribution.Nixpkgs.Hashes
18import Distribution.Nixpkgs.Hashes
18import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
19import qualified Distribution.Nixpkgs.Haskell.Hackage as DB
20+import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
19import qualified Distribution.Package as Cabal
21import qualified Distribution.Package as Cabal
20import Distribution.PackageDescription
22import Distribution.PackageDescription
21import qualified Distribution.PackageDescription as Cabal
23import qualified Distribution.PackageDescription as Cabal
22import Distribution.PackageDescription.Parsec as Cabal
24import Distribution.PackageDescription.Parsec as Cabal
23−import Distribution.Parsec.Common (showPError)
25+import Distribution.Parsec
24−import Distribution.Text ( simpleParse, display )
25import Distribution.Version
26import Distribution.Version
26import qualified Hpack.Config as Hpack
27import qualified Hpack.Config as Hpack
27import qualified Hpack.Render as Hpack
28import qualified Hpack.Render as Hpack
28−import OpenSSL.Digest ( digestString, digestByName )
29+import OpenSSL.Digest ( digest, digestByName )
29import System.Directory ( doesDirectoryExist, doesFileExist, createDirectoryIfMissing, getHomeDirectory, getDirectoryContents )
30import System.Directory ( doesDirectoryExist, doesFileExist, createDirectoryIfMissing, getHomeDirectory, getDirectoryContents )
30import System.Exit ( exitFailure )
31import System.Exit ( exitFailure )
31import System.FilePath ( (</>), (<.>) )
32import System.FilePath ( (</>), (<.>) )
32import System.IO
33import System.IO
34+import Text.PrettyPrint.HughesPJClass hiding ( first )
35+
36+data HpackUse
37+ = ForceHpack
38+ | PackageYamlHpack
39+ | NoHpack
33
40
34data Package = Package
41data Package = Package
35 { pkgSource :: DerivationSource
42 { pkgSource :: DerivationSource
@@ -38,39 +45,45 @@ data Package = Package
38 }
45 }
39 deriving (Show)
46 deriving (Show)
40
47
41−getPackage :: Bool
48+getPackage :: HpackUse
42− -- ^ Whether hpack should regenerate the cabal file.
49+ -- ^ the way hpack should be used.
50+ -> Bool
51+ -- ^ Whether to fetch submodules if fetching from git
43 -> Maybe FilePath
52 -> Maybe FilePath
44 -- ^ The path to the Hackage database.
53 -- ^ The path to the Hackage database.
45 -> Maybe UTCTime
54 -> Maybe UTCTime
46 -- ^ If we have hackage-snapshot time.
55 -- ^ If we have hackage-snapshot time.
47 -> Source
56 -> Source
48 -> IO Package
57 -> IO Package
49−getPackage optHpack optHackageDB optHackageSnapshot =
58+getPackage optHpack optSubmodules optHackageDB optHackageSnapshot =
50− getPackage' optHpack (loadHackageDB optHackageDB optHackageSnapshot)
59+ getPackage' optHpack optSubmodules (loadHackageDB optHackageDB optHackageSnapshot)
51
60
52−getPackage' :: Bool
61+getPackage' :: HpackUse
53− -- ^ Whether hpack should regenerate the cabal file.
62+ -- ^ the way hpack should be used.
63+ -> Bool
64+ -- ^ Whether to fetch submodules if fetching from git
54 -> IO DB.HackageDB
65 -> IO DB.HackageDB
55 -> Source
66 -> Source
56 -> IO Package
67 -> IO Package
57−getPackage' optHpack hackageDB source = do
68+getPackage' optHpack optSubmodules hackageDB source = do
58− (derivSource, ranHpack, pkgDesc) <- fetchOrFromDB optHpack hackageDB source
69+ (derivSource, ranHpack, pkgDesc) <- fetchOrFromDB optHpack optSubmodules hackageDB source
59 (\s -> Package s ranHpack pkgDesc) <$> maybe (sourceFromHackage (sourceHash source) (showPackageIdentifier pkgDesc) $ sourceCabalDir source) return derivSource
70 (\s -> Package s ranHpack pkgDesc) <$> maybe (sourceFromHackage (sourceHash source) (showPackageIdentifier pkgDesc) $ sourceCabalDir source) return derivSource
60
71
61−fetchOrFromDB :: Bool
72+fetchOrFromDB :: HpackUse
62− -- ^ Whether hpack should regenerate the cabal file
73+ -- ^ the way hpack should be used
74+ -> Bool
75+ -- ^ Whether to fetch submodules if fetching from git
63 -> IO DB.HackageDB
76 -> IO DB.HackageDB
64 -> Source
77 -> Source
65 -> IO (Maybe DerivationSource, Bool, Cabal.GenericPackageDescription)
78 -> IO (Maybe DerivationSource, Bool, Cabal.GenericPackageDescription)
66−fetchOrFromDB optHpack hackageDB src
79+fetchOrFromDB optHpack optSubmodules hackageDB src
67 | "cabal://" `isPrefixOf` sourceUrl src = do
80 | "cabal://" `isPrefixOf` sourceUrl src = do
68 (msrc, pkgDesc) <- fromDB hackageDB . drop (length "cabal://") $ sourceUrl src
81 (msrc, pkgDesc) <- fromDB hackageDB . drop (length "cabal://") $ sourceUrl src
69 return (msrc, False, pkgDesc)
82 return (msrc, False, pkgDesc)
70 | otherwise = do
83 | otherwise = do
71− r <- fetch (\dir -> cabalFromPath optHpack (dir </> sourceCabalDir src)) src
84+ r <- fetch optSubmodules (\dir -> cabalFromPath optHpack (dir </> sourceCabalDir src)) src
72 case r of
85 case r of
73− Nothing -> fail "Failed to fetch source. Does the URL exist?"
86+ Nothing -> fail $ "Failed to fetch source. Does this source exist? " ++ show src
74 Just (derivSource, (externalSource, ranHpack, pkgDesc)) ->
87 Just (derivSource, (externalSource, ranHpack, pkgDesc)) ->
75 return (derivSource <$ guard externalSource, ranHpack, pkgDesc)
88 return (derivSource <$ guard externalSource, ranHpack, pkgDesc)
76
89
@@ -91,16 +104,16 @@ fromDB hackageDBIO pkg = do
91 vd <- maybe unknownPackageError return (DB.lookup name hackageDB >>= lookupVersion)
104 vd <- maybe unknownPackageError return (DB.lookup name hackageDB >>= lookupVersion)
92 let ds = case DB.tarballSha256 vd of
105 let ds = case DB.tarballSha256 vd of
93 Nothing -> Nothing
106 Nothing -> Nothing
94− Just hash -> Just (DerivationSource "url" url "" hash)
107+ Just hash -> Just (urlDerivationSource url hash)
95 return (ds, setCabalFileHash (DB.cabalFileSha256 vd) (DB.cabalFile vd))
108 return (ds, setCabalFileHash (DB.cabalFileSha256 vd) (DB.cabalFile vd))
96 where
109 where
97 pkgId :: Cabal.PackageIdentifier
110 pkgId :: Cabal.PackageIdentifier
98− pkgId = fromMaybe (error ("invalid Haskell package id " ++ show pkg)) (simpleParse pkg)
111+ pkgId = fromMaybe (error ("invalid Haskell package id " ++ show pkg)) (simpleParsec pkg)
99 name = Cabal.packageName pkgId
112 name = Cabal.packageName pkgId
100
113
101− unknownPackageError = fail $ "No such package " ++ display pkgId ++ " in the cabal database. Did you run cabal update?"
114+ unknownPackageError = fail $ "No such package " ++ prettyShow pkgId ++ " in the cabal database. Did you run cabal update?"
102
115
103− url = "mirror://hackage/" ++ display pkgId ++ ".tar.gz"
116+ url = "mirror://hackage/" ++ prettyShow pkgId ++ ".tar.gz"
104
117
105 version :: Version
118 version :: Version
106 version = Cabal.packageVersion pkgId
119 version = Cabal.packageVersion pkgId
@@ -137,20 +150,20 @@ sourceFromHackage optHash pkgId cabalDir = do
137 -- Use the cached hash (either from cache file or given on cmdline via sha256 opt)
150 -- Use the cached hash (either from cache file or given on cmdline via sha256 opt)
138 -- if available, otherwise download from hackage to compute hash.
151 -- if available, otherwise download from hackage to compute hash.
139 case cachedHash of
152 case cachedHash of
140− Guess hash -> return $ DerivationSource "url" url "" hash
153+ Guess hash -> return $ urlDerivationSource url hash
141 Certain hash ->
154 Certain hash ->
142 -- We need to force the hash here. If we didn't do this, then when reading the
155 -- We need to force the hash here. If we didn't do this, then when reading the
143 -- hash from the cache file, the cache file will still be open for reading
156 -- hash from the cache file, the cache file will still be open for reading
144 -- (because lazy io) when writeFile opens the file again for writing. By forcing
157 -- (because lazy io) when writeFile opens the file again for writing. By forcing
145 -- the hash here, we ensure that the file is closed before opening it again.
158 -- the hash here, we ensure that the file is closed before opening it again.
146 seq (length hash) $
159 seq (length hash) $
147− DerivationSource "url" url "" hash <$ writeFile cacheFile hash
160+ urlDerivationSource url hash <$ writeFile cacheFile hash
148 UnknownHash -> do
161 UnknownHash -> do
149 maybeHash <- runMaybeT (derivHash . fst <$> fetchWith (False, "url", []) (Source url "" UnknownHash cabalDir))
162 maybeHash <- runMaybeT (derivHash . fst <$> fetchWith (False, "url", []) (Source url "" UnknownHash cabalDir))
150 case maybeHash of
163 case maybeHash of
151 Just hash ->
164 Just hash ->
152 seq (length hash) $
165 seq (length hash) $
153− DerivationSource "url" url "" hash <$ writeFile cacheFile hash
166+ urlDerivationSource url hash <$ writeFile cacheFile hash
154 Nothing -> do
167 Nothing -> do
155 hPutStr stderr $ unlines
168 hPutStr stderr $ unlines
156 [ "*** cannot compute hash. (Not a hackage project?)"
169 [ "*** cannot compute hash. (Not a hackage project?)"
@@ -163,12 +176,12 @@ sourceFromHackage optHash pkgId cabalDir = do
163 exitFailure
176 exitFailure
164
177
165showPackageIdentifier :: Cabal.GenericPackageDescription -> String
178showPackageIdentifier :: Cabal.GenericPackageDescription -> String
166−showPackageIdentifier pkgDesc = name ++ "-" ++ display version where
179+showPackageIdentifier pkgDesc = name ++ "-" ++ prettyShow version where
167 pkgId = Cabal.package . Cabal.packageDescription $ pkgDesc
180 pkgId = Cabal.package . Cabal.packageDescription $ pkgDesc
168 name = Cabal.unPackageName (Cabal.packageName pkgId)
181 name = Cabal.unPackageName (Cabal.packageName pkgId)
169 version = Cabal.packageVersion pkgId
182 version = Cabal.packageVersion pkgId
170
183
171−cabalFromPath :: Bool -- ^ Whether hpack should regenerate the cabal file
184+cabalFromPath :: HpackUse -- ^ the way hpack should be used
172 -> FilePath -> MaybeT IO (Bool, Bool, Cabal.GenericPackageDescription)
185 -> FilePath -> MaybeT IO (Bool, Bool, Cabal.GenericPackageDescription)
173cabalFromPath optHpack path = do
186cabalFromPath optHpack path = do
174 d <- liftIO $ doesDirectoryExist path
187 d <- liftIO $ doesDirectoryExist path
@@ -178,33 +191,50 @@ cabalFromPath optHpack path = do
178 return (d, ranHpack, pkg)
191 return (d, ranHpack, pkg)
179 else (,,) d False <$> cabalFromFile False path
192 else (,,) d False <$> cabalFromFile False path
180
193
181−cabalFromDirectory :: Bool -- ^ Whether hpack should regenerate the cabal file
194+cabalFromDirectory :: HpackUse -- ^ the way hpack should be used
182 -> FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
195 -> FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
183−cabalFromDirectory True dir = hpackDirectory dir
196+cabalFromDirectory ForceHpack dir = hpackDirectory dir
184−cabalFromDirectory False dir = do
197+cabalFromDirectory NoHpack dir = onlyCabalFromDirectory dir "*** No .cabal file was found. Exiting."
198+cabalFromDirectory PackageYamlHpack dir = do
199+ useHpack <- liftIO $ doesFileExist (dir </> "package.yaml")
200+ if useHpack
201+ then do
202+ liftIO $ hPutStrLn stderr "*** found package.yaml. Using hpack..."
203+ hpackDirectory dir
204+ else onlyCabalFromDirectory dir "*** Found neither a .cabal file nor package.yaml. Exiting."
205+
206+onlyCabalFromDirectory :: FilePath -> String -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
207+onlyCabalFromDirectory dir errMsg = do
185 cabals <- liftIO $ getDirectoryContents dir >>= filterM doesFileExist . map (dir </>) . filter (".cabal" `isSuffixOf`)
208 cabals <- liftIO $ getDirectoryContents dir >>= filterM doesFileExist . map (dir </>) . filter (".cabal" `isSuffixOf`)
186 case cabals of
209 case cabals of
187− [] -> do
210+ [] -> fail errMsg
188− liftIO $ hPutStrLn stderr "*** found zero cabal files. Trying hpack..."
189− hpackDirectory dir
190 [cabalFile] -> (,) False <$> cabalFromFile True cabalFile
211 [cabalFile] -> (,) False <$> cabalFromFile True cabalFile
191− _ -> liftIO $ fail ("*** found more than one cabal file (" ++ show cabals ++ "). Exiting.")
212+ _ -> liftIO $ fail ("*** found more than one cabal file (" ++ show cabals ++ "). Exiting.")
192
213
193handleIO :: (Exception.IOException -> IO a) -> IO a -> IO a
214handleIO :: (Exception.IOException -> IO a) -> IO a -> IO a
194handleIO = Exception.handle
215handleIO = Exception.handle
195
216
217+encodeUtf8 :: String -> BS.ByteString
218+encodeUtf8 = T.encodeUtf8 . T.pack
219+
196hpackDirectory :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
220hpackDirectory :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
197hpackDirectory dir = do
221hpackDirectory dir = do
198− mPackage <- liftIO $ Hpack.readPackageConfig Hpack.defaultDecodeOptions {Hpack.decodeOptionsTarget = dir </> Hpack.packageConfig}
222+ mPackage <- liftIO $ Hpack.readPackageConfig Hpack.defaultDecodeOptions {
223+ Hpack.decodeOptionsProgramName = Hpack.ProgramName "cabal2nix"
224+ , Hpack.decodeOptionsTarget = dir </> Hpack.packageConfig
225+ }
199 case mPackage of
226 case mPackage of
200 Left err -> liftIO $ hPutStrLn stderr ("*** hpack error: " ++ show err ++ ". Exiting.") >> exitFailure
227 Left err -> liftIO $ hPutStrLn stderr ("*** hpack error: " ++ show err ++ ". Exiting.") >> exitFailure
201− Right (Hpack.DecodeResult pkg' _ _) -> do
228+ Right r -> do
202− let hpackOutput = Hpack.renderPackage [] pkg'
229+ let hpackOutput =
230+ let body = Hpack.renderPackage [] (Hpack.decodeResultPackage r)
231+ cabalVersion = Hpack.decodeResultCabalVersion r
232+ in encodeUtf8 $ cabalVersion ++ body
203− hash = printSHA256 $ digestString (digestByName "sha256") hpackOutput
233+ hash = printSHA256 $ digest (digestByName "sha256") hpackOutput
204− case runParseGenericPackageDescription "<hpack output>" (BS.pack hpackOutput) of
234+ case runParseGenericPackageDescription "<hpack output>" hpackOutput of
205 Left msg -> liftIO $ do
235 Left msg -> liftIO $ do
206 hPutStrLn stderr "*** hpack output:"
236 hPutStrLn stderr "*** hpack output:"
207− hPutStrLn stderr hpackOutput
237+ BS.hPutStrLn stderr hpackOutput
208 hPutStrLn stderr "*** cannot parse hpack output:"
238 hPutStrLn stderr "*** cannot parse hpack output:"
209 hPutStrLn stderr msg
239 hPutStrLn stderr msg
210 fail "*** Exiting."
240 fail "*** Exiting."
@@ -216,11 +246,9 @@ cabalFromFile failHard file =
216 -- that do not represent valid characters. To catch that exception, we need to
246 -- that do not represent valid characters. To catch that exception, we need to
217 -- wrap the whole block in `catchIO`.
247 -- wrap the whole block in `catchIO`.
218 MaybeT $ handleIO (\err -> Nothing <$ hPutStrLn stderr ("*** parsing cabal file: " ++ show err)) $ do
248 MaybeT $ handleIO (\err -> Nothing <$ hPutStrLn stderr ("*** parsing cabal file: " ++ show err)) $ do
219− buf <- withFile file ReadMode $ \ h -> do
249+ buf <- BS.readFile file
220− hSetEncoding h utf8
221− hGetContents h >>= Exception.evaluate . force
222− let hash = printSHA256 (digestString (digestByName "sha256") buf)
250+ let hash = printSHA256 (digest (digestByName "sha256") buf)
223− case runParseGenericPackageDescription file (BS.pack buf) of
251+ case runParseGenericPackageDescription file buf of
224 Left msg | failHard -> liftIO $ do
252 Left msg | failHard -> liftIO $ do
225 hPutStrLn stderr $ "*** cannot parse " ++ show file ++ ":"
253 hPutStrLn stderr $ "*** cannot parse " ++ show file ++ ":"
226 hPutStrLn stderr msg
254 hPutStrLn stderr msg
test/Main.hs+92−22
@@ -1,52 +1,122 @@
1+{-# LANGUAGE OverloadedStrings #-}
2+
1module Main ( main ) where
3module Main ( main ) where
2
4
3−import Distribution.Nixpkgs.Haskell.FromCabal
4−import Distribution.Nixpkgs.Haskell.Derivation
5import Distribution.Nixpkgs.Fetch
5import Distribution.Nixpkgs.Fetch
6+import Distribution.Nixpkgs.Haskell.Derivation
7+import Distribution.Nixpkgs.Haskell.FromCabal
8+import Distribution.Nixpkgs.Haskell.FromCabal.Flags
6
9
7import Control.Lens
10import Control.Lens
11+import Control.Monad
12+import qualified Data.Set as Set
8import Distribution.Compiler
13import Distribution.Compiler
14+import Distribution.Package
9import Distribution.PackageDescription
15import Distribution.PackageDescription
10import Distribution.PackageDescription.Parsec
16import Distribution.PackageDescription.Parsec
11import Distribution.System
17import Distribution.System
12import Distribution.Verbosity
18import Distribution.Verbosity
13import Distribution.Version
19import Distribution.Version
14import Language.Nix
20import Language.Nix
21+import System.Directory
15import System.FilePath
22import System.FilePath
23+import System.Process
16import Test.Tasty
24import Test.Tasty
17import Test.Tasty.Golden
25import Test.Tasty.Golden
18import Text.PrettyPrint.HughesPJClass
26import Text.PrettyPrint.HughesPJClass
19
27
20main :: IO ()
28main :: IO ()
21main = do
29main = do
22− -- TODO: run this test with all kinds of setLocaleEncoding values to ensure we don't
30+ -- TODO: Run this test with all kinds of setLocaleEncoding values to ensure we don't
23− -- depend on the system environment: https://github.com/NixOS/cabal2nix/issues/333
31+ -- depend on the system environment: https://github.com/NixOS/cabal2nix/issues/333.
32+ --
33+ -- TODO: Run this test without $HOME defined to ensure that we don't need that variable.
34+ cabal2nix <- findExecutable "cabal2nix" >>= maybe (fail "cannot find 'cabal2nix' in $PATH") return
24− testCases <- findByExtension [".cabal"] "test/golden-test-cases"
35+ testCases <- listDirectoryFilesBySuffix ".cabal" "test/golden-test-cases"
25− defaultMain $ testGroup "regression-tests" (map regressionTest testCases)
36+ defaultMain $ testGroup "regression-tests"
37+ [ testGroup "cabal2nix library" (map testLibrary testCases)
38+ , testGroup "cabal2nix executable" (map (testExecutable cabal2nix) testCases)
39+ ]
26
40
27−regressionTest :: String -> TestTree
41+testLibrary :: String -> TestTree
28−regressionTest cabalFile = do
42+testLibrary cabalFile = do
29 let nixFile = cabalFile `replaceExtension` "nix"
43 let nixFile = cabalFile `replaceExtension` "nix"
30 goldenFile = nixFile `addExtension` "golden"
44 goldenFile = nixFile `addExtension` "golden"
31
45
32 cabal2nix :: GenericPackageDescription -> Derivation
46 cabal2nix :: GenericPackageDescription -> Derivation
33 cabal2nix gpd = fromGenericPackageDescription
47 cabal2nix gpd = fromGenericPackageDescription
34− (const True)
48+ (const True)
35− (\i -> Just (binding # (i, path # [i])))
49+ (\i -> Just (binding # (i, path # [ident # "pkgs", i])))
36− (Platform X86_64 Linux)
50+ (Platform X86_64 Linux)
37− (unknownCompilerInfo (CompilerId GHC (mkVersion [8,2])) NoAbiTag)
51+ (unknownCompilerInfo (CompilerId GHC (mkVersion [8,2])) NoAbiTag)
38− mempty
52+ (configureCabalFlags (packageId gpd))
39− []
53+ []
40− gpd
54+ gpd
41− & src .~ DerivationSource
55+ & src .~ DerivationSource
42− { derivKind = "url"
56+ { derivKind = "url"
43− , derivUrl = "http://example.org/"
57+ , derivUrl = "mirror://hackage/foo.tar.gz"
44− , derivRevision = ""
58+ , derivRevision = ""
45− , derivHash = "abc"
59+ , derivHash = "deadbeef"
60+ , derivSubmodule = Nothing
46− }
61+ }
62+ & extraFunctionArgs %~ Set.union (Set.singleton "inherit stdenv")
47 goldenVsFileDiff
63 goldenVsFileDiff
48 nixFile
64 nixFile
49 (\ref new -> ["diff", "-u", ref, new])
65 (\ref new -> ["diff", "-u", ref, new])
50 goldenFile
66 goldenFile
51 nixFile
67 nixFile
52− (readGenericPackageDescription silent cabalFile >>= writeFile nixFile . prettyShow . cabal2nix)
68+ (readGenericPackageDescription silent cabalFile >>= writeFileLn nixFile . prettyShow . cabal2nix)
69+
70+-- | TODO:
71+--
72+-- * Run cabal2nix in an empty environment. Currently, this fails because the
73+-- tool uses $HOME to write cache files for SHA256 hashes. To fix this, use
74+-- of the cache directory ought to be optional. Arguably, the whole notion
75+-- of caching those hashes is a bit silly in the presence of format 01
76+-- cabal-install tarballs which contain them already.
77+--
78+-- * If we cannot get along without $HOME, then we should at least set it to
79+-- some temporary location that is empty.
80+--
81+-- * Run this test with different kinds of encodings.
82+--
83+-- * Run tests with a different target OS, like Darwin. The packages "iconv",
84+-- "crypt-sha512", "gl" might be worthwhile for testing since their output
85+-- differs on Darwin.
86+
87+testExecutable :: FilePath -> FilePath -> TestTree
88+testExecutable exe cabalFile = do
89+ let nixFile = cabalFile `replaceExtension` "nix"
90+ goldenFile = nixFile `addExtension` "golden"
91+ goldenVsFileDiff
92+ nixFile
93+ (\ref new -> ["diff", "-u", ref, new])
94+ goldenFile
95+ nixFile
96+ (callCommand (unwords ["env LANG=en_US.UTF-8", exe, "--sha256=deadbeef", "--system=x86_64-linux", "--compiler=ghc-8.2", "--", cabalFile, ">"++nixFile]))
97+
98+-------------------------------------------------------------------------------
99+-- * Helper functions
100+-------------------------------------------------------------------------------
101+
102+-- | Find all *files* in the given directory that end with the given suffix.
103+-- This function does not recurse, nor does it include the special entries
104+-- @'.'@ or @'..'@ in the result.
105+--
106+-- "Test.Tasty.Golden" offers 'findByExtension', which does something similar
107+-- (and arguably more general) as those two functions, but unfortunately that
108+-- function recurses through the directory hierarchy and in the process needs
109+-- plenty of stack space. There might be a space leak in that code, I am not
110+-- sure. Anyhow, since our test suite is supposed to run with 1K stack space,
111+-- we prefer our own simpler code.
112+
113+listDirectoryFilesBySuffix :: String -> FilePath -> IO [FilePath]
114+listDirectoryFilesBySuffix suff dirPath = do
115+ entries <- listDirectory dirPath
116+ filterM doesFileExist [ dirPath </> e | e <- entries, takeExtension e == suff ]
117+
118+-- | A variant of 'writeFile' that appends a newline to the end of the buffer
119+-- before writing.
120+
121+writeFileLn :: FilePath -> String -> IO ()
122+writeFileLn p buf = writeFile p (buf ++ "\n")
test/golden-test-cases/ChasingBottoms.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, containers, fetchurl, mtl, QuickCheck
1+{ mkDerivation, array, base, containers, mtl, QuickCheck, random
2−, random, syb
2+, stdenv, syb
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "ChasingBottoms";
5 pname = "ChasingBottoms";
6 version = "1.3.1.3";
6 version = "1.3.1.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers mtl QuickCheck random syb
9 base containers mtl QuickCheck random syb
13 ];
10 ];
@@ -16,4 +13,4 @@ mkDerivation {
16 ];
13 ];
17 description = "For testing partial and infinite values";
14 description = "For testing partial and infinite values";
18 license = stdenv.lib.licenses.mit;
15 license = stdenv.lib.licenses.mit;
19−}
16+}
test/golden-test-cases/Clipboard.nix.golden+3−7
@@ -1,14 +1,10 @@
1−{ mkDerivation, base, directory, fetchurl, unix, utf8-string, X11
1+{ mkDerivation, base, directory, stdenv, unix, utf8-string, X11 }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "Clipboard";
3 pname = "Clipboard";
5 version = "2.3.2.0";
4 version = "2.3.2.0";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base directory unix utf8-string X11 ];
6 libraryHaskellDepends = [ base directory unix utf8-string X11 ];
11 homepage = "http://haskell.org/haskellwiki/Clipboard";
7 homepage = "http://haskell.org/haskellwiki/Clipboard";
12 description = "System clipboard interface";
8 description = "System clipboard interface";
13 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
14−}
10+}
test/golden-test-cases/FenwickTree.nix.golden+3−6
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, fetchurl, QuickCheck, template-haskell }:
1+{ mkDerivation, base, QuickCheck, stdenv, template-haskell }:
2mkDerivation {
2mkDerivation {
3 pname = "FenwickTree";
3 pname = "FenwickTree";
4 version = "0.1.2.1";
4 version = "0.1.2.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 enableSeparateDataOutput = true;
6 enableSeparateDataOutput = true;
10 libraryHaskellDepends = [ base QuickCheck template-haskell ];
7 libraryHaskellDepends = [ base QuickCheck template-haskell ];
11 testHaskellDepends = [ base QuickCheck template-haskell ];
8 testHaskellDepends = [ base QuickCheck template-haskell ];
12 homepage = "https://github.com/mgajda/FenwickTree";
9 homepage = "https://github.com/mgajda/FenwickTree";
13 description = "Data structure for fast query and update of cumulative sums";
10 description = "Data structure for fast query and update of cumulative sums";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/GPipe-GLFW.nix.golden+3−7
@@ -1,16 +1,12 @@
1−{ mkDerivation, async, base, containers, fetchurl, GLFW-b, GPipe
1+{ mkDerivation, async, base, containers, GLFW-b, GPipe, stdenv, stm
2−, stm
3}:
2}:
4mkDerivation {
3mkDerivation {
5 pname = "GPipe-GLFW";
4 pname = "GPipe-GLFW";
6 version = "1.4.1.1";
5 version = "1.4.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
6+ sha256 = "deadbeef";
10− };
11 enableSeparateDataOutput = true;
7 enableSeparateDataOutput = true;
12 libraryHaskellDepends = [ async base containers GLFW-b GPipe stm ];
8 libraryHaskellDepends = [ async base containers GLFW-b GPipe stm ];
13 homepage = "https://github.com/plredmond/GPipe-GLFW";
9 homepage = "https://github.com/plredmond/GPipe-GLFW";
14 description = "GLFW OpenGL context creation for GPipe";
10 description = "GLFW OpenGL context creation for GPipe";
15 license = stdenv.lib.licenses.mit;
11 license = stdenv.lib.licenses.mit;
16−}
12+}
test/golden-test-cases/GenericPretty.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, ghc-prim, pretty }:
1+{ mkDerivation, base, ghc-prim, pretty, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "GenericPretty";
3 pname = "GenericPretty";
4 version = "1.2.1";
4 version = "1.2.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ghc-prim pretty ];
6 libraryHaskellDepends = [ base ghc-prim pretty ];
10 homepage = "https://github.com/RazvanRanca/GenericPretty";
7 homepage = "https://github.com/RazvanRanca/GenericPretty";
11 description = "A generic, derivable, haskell pretty printer";
8 description = "A generic, derivable, haskell pretty printer";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/HPDF.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, array, base, base64-bytestring, binary, bytestring
1{ mkDerivation, array, base, base64-bytestring, binary, bytestring
2−, containers, errors, fetchurl, HTF, mtl, random, vector, zlib
2+, containers, errors, HTF, mtl, random, stdenv, vector, zlib
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "HPDF";
5 pname = "HPDF";
6 version = "1.4.10";
6 version = "1.4.10";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 array base base64-bytestring binary bytestring containers errors
9 array base base64-bytestring binary bytestring containers errors
13 mtl random vector zlib
10 mtl random vector zlib
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://www.alpheccar.org";
13 homepage = "http://www.alpheccar.org";
17 description = "Generation of PDF documents";
14 description = "Generation of PDF documents";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/HTF.nix.golden+5−8
@@ -1,17 +1,14 @@
1{ mkDerivation, aeson, aeson-pretty, array, base, base64-bytestring
1{ mkDerivation, aeson, aeson-pretty, array, base, base64-bytestring
2−, bytestring, containers, cpphs, Diff, directory, fetchurl
2+, bytestring, containers, cpphs, Diff, directory, filepath
3−, filepath, haskell-src, HUnit, lifted-base, monad-control, mtl
3+, haskell-src, HUnit, lifted-base, monad-control, mtl, old-time
4−, old-time, pretty, process, QuickCheck, random, regex-compat
4+, pretty, process, QuickCheck, random, regex-compat, stdenv
5, template-haskell, temporary, text, time, unix
5, template-haskell, temporary, text, time, unix
6, unordered-containers, vector, xmlgen
6, unordered-containers, vector, xmlgen
7}:
7}:
8mkDerivation {
8mkDerivation {
9 pname = "HTF";
9 pname = "HTF";
10 version = "0.13.2.2";
10 version = "0.13.2.2";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
11+ sha256 = "deadbeef";
14− };
15 isLibrary = true;
12 isLibrary = true;
16 isExecutable = true;
13 isExecutable = true;
17 libraryHaskellDepends = [
14 libraryHaskellDepends = [
@@ -31,4 +28,4 @@ mkDerivation {
31 homepage = "https://github.com/skogsbaer/HTF/";
28 homepage = "https://github.com/skogsbaer/HTF/";
32 description = "The Haskell Test Framework";
29 description = "The Haskell Test Framework";
33 license = "LGPL";
30 license = "LGPL";
34−}
31+}
test/golden-test-cases/HTTP.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, array, base, bytestring, case-insensitive, conduit
1{ mkDerivation, array, base, bytestring, case-insensitive, conduit
2−, conduit-extra, deepseq, fetchurl, http-types, httpd-shed, HUnit
2+, conduit-extra, deepseq, http-types, httpd-shed, HUnit, mtl
3−, mtl, network, network-uri, parsec, pureMD5, split, test-framework
3+, network, network-uri, parsec, pureMD5, split, stdenv
4−, test-framework-hunit, time, wai, warp
4+, test-framework, test-framework-hunit, time, wai, warp
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "HTTP";
7 pname = "HTTP";
8 version = "4000.3.9";
8 version = "4000.3.9";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 array base bytestring mtl network network-uri parsec time
11 array base bytestring mtl network network-uri parsec time
15 ];
12 ];
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/haskell/HTTP";
18 homepage = "https://github.com/haskell/HTTP";
22 description = "A library for client-side HTTP";
19 description = "A library for client-side HTTP";
23 license = stdenv.lib.licenses.bsd3;
20 license = stdenv.lib.licenses.bsd3;
24−}
21+}
test/golden-test-cases/Hclip.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, mtl, process, strict }:
1+{ mkDerivation, base, mtl, process, stdenv, strict }:
2mkDerivation {
2mkDerivation {
3 pname = "Hclip";
3 pname = "Hclip";
4 version = "3.0.0.4";
4 version = "3.0.0.4";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base mtl process strict ];
6 libraryHaskellDepends = [ base mtl process strict ];
10 homepage = "https://github.com/jetho/Hclip";
7 homepage = "https://github.com/jetho/Hclip";
11 description = "A small cross-platform library for reading and modifying the system clipboard";
8 description = "A small cross-platform library for reading and modifying the system clipboard";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/MissingH.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, array, base, containers, directory
1{ mkDerivation, array, base, containers, directory
2−, errorcall-eq-instance, fetchurl, filepath, hslogger, HUnit, mtl
2+, errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
3−, network, old-locale, old-time, parsec, process, QuickCheck
3+, old-locale, old-time, parsec, process, QuickCheck, random
4−, random, regex-compat, testpack, time, unix
4+, regex-compat, stdenv, testpack, time, unix
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "MissingH";
7 pname = "MissingH";
8 version = "1.4.0.1";
8 version = "1.4.0.1";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 array base containers directory filepath hslogger HUnit mtl network
11 array base containers directory filepath hslogger HUnit mtl network
15 old-locale old-time parsec process random regex-compat time unix
12 old-locale old-time parsec process random regex-compat time unix
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "http://software.complete.org/missingh";
19 homepage = "http://software.complete.org/missingh";
23 description = "Large utility library";
20 description = "Large utility library";
24 license = stdenv.lib.licenses.bsd3;
21 license = stdenv.lib.licenses.bsd3;
25−}
22+}
test/golden-test-cases/ObjectName.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, transformers }:
1+{ mkDerivation, base, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "ObjectName";
3 pname = "ObjectName";
4 version = "1.1.0.1";
4 version = "1.1.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base transformers ];
6 libraryHaskellDepends = [ base transformers ];
10 homepage = "https://github.com/svenpanne/ObjectName";
7 homepage = "https://github.com/svenpanne/ObjectName";
11 description = "Explicitly handled object names";
8 description = "Explicitly handled object names";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/Only.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, deepseq, fetchurl }:
1+{ mkDerivation, base, deepseq, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "Only";
3 pname = "Only";
4 version = "0.1";
4 version = "0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base deepseq ];
6 libraryHaskellDepends = [ base deepseq ];
10 description = "The 1-tuple type or single-value \"collection\"";
7 description = "The 1-tuple type or single-value \"collection\"";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/QuasiText.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, attoparsec, base, fetchurl, haskell-src-meta
1+{ mkDerivation, attoparsec, base, haskell-src-meta, stdenv
2, template-haskell, text, th-lift-instances
2, template-haskell, text, th-lift-instances
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "QuasiText";
5 pname = "QuasiText";
6 version = "0.1.2.6";
6 version = "0.1.2.6";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 attoparsec base haskell-src-meta template-haskell text
9 attoparsec base haskell-src-meta template-haskell text
13 th-lift-instances
10 th-lift-instances
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/mikeplus64/QuasiText";
12 homepage = "https://github.com/mikeplus64/QuasiText";
16 description = "A QuasiQuoter for Text";
13 description = "A QuasiQuoter for Text";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/QuickCheck.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, deepseq, fetchurl, random
1+{ mkDerivation, base, containers, deepseq, random, stdenv
2, template-haskell, tf-random, transformers
2, template-haskell, tf-random, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "QuickCheck";
5 pname = "QuickCheck";
6 version = "2.10.1";
6 version = "2.10.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers deepseq random template-haskell tf-random
9 base containers deepseq random template-haskell tf-random
13 transformers
10 transformers
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/nick8325/quickcheck";
13 homepage = "https://github.com/nick8325/quickcheck";
17 description = "Automatic testing of Haskell programs";
14 description = "Automatic testing of Haskell programs";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/ReadArgs.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, fetchurl, hspec, system-filepath, text }:
1+{ mkDerivation, base, hspec, stdenv, system-filepath, text }:
2mkDerivation {
2mkDerivation {
3 pname = "ReadArgs";
3 pname = "ReadArgs";
4 version = "1.2.3";
4 version = "1.2.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base system-filepath text ];
8 libraryHaskellDepends = [ base system-filepath text ];
@@ -14,4 +11,4 @@ mkDerivation {
14 homepage = "http://github.com/rampion/ReadArgs";
11 homepage = "http://github.com/rampion/ReadArgs";
15 description = "Simple command line argument parsing";
12 description = "Simple command line argument parsing";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/SHA.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, binary, bytestring, fetchurl
1+{ mkDerivation, array, base, binary, bytestring, QuickCheck, stdenv
2−, QuickCheck, test-framework, test-framework-quickcheck2
2+, test-framework, test-framework-quickcheck2
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "SHA";
5 pname = "SHA";
6 version = "1.6.4.2";
6 version = "1.6.4.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [ array base binary bytestring ];
10 libraryHaskellDepends = [ array base binary bytestring ];
@@ -17,4 +14,4 @@ mkDerivation {
17 ];
14 ];
18 description = "Implementations of the SHA suite of message digest functions";
15 description = "Implementations of the SHA suite of message digest functions";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/Strafunski-StrategyLib.nix.golden+3−7
@@ -1,13 +1,9 @@
1−{ mkDerivation, base, directory, fetchurl, mtl, syb, transformers
1+{ mkDerivation, base, directory, mtl, stdenv, syb, transformers }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "Strafunski-StrategyLib";
3 pname = "Strafunski-StrategyLib";
5 version = "5.0.0.10";
4 version = "5.0.0.10";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base directory mtl syb transformers ];
6 libraryHaskellDepends = [ base directory mtl syb transformers ];
11 description = "Library for strategic programming";
7 description = "Library for strategic programming";
12 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
13−}
9+}
test/golden-test-cases/accelerate-fftw.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, accelerate, accelerate-io, base, carray, fetchurl
1+{ mkDerivation, accelerate, accelerate-io, base, carray, fft
2−, fft, storable-complex
2+, stdenv, storable-complex
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "accelerate-fftw";
5 pname = "accelerate-fftw";
6 version = "1.0";
6 version = "1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 accelerate accelerate-io base carray fft storable-complex
9 accelerate accelerate-io base carray fft storable-complex
13 ];
10 ];
14 homepage = "http://hub.darcs.net/thielema/accelerate-fftw/";
11 homepage = "http://hub.darcs.net/thielema/accelerate-fftw/";
15 description = "Accelerate frontend to the FFTW library (Fourier transform)";
12 description = "Accelerate frontend to the FFTW library (Fourier transform)";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/accelerate.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, ansi-wl-pprint, base, base-orphans, containers
1{ mkDerivation, ansi-wl-pprint, base, base-orphans, containers
2−, deepseq, directory, exceptions, fclabels, fetchurl, filepath
2+, deepseq, directory, exceptions, fclabels, filepath, ghc-prim
3−, ghc-prim, hashable, hashtables, mtl, template-haskell, time
3+, hashable, hashtables, mtl, stdenv, template-haskell, time
4, transformers, unique, unix, unordered-containers
4, transformers, unique, unix, unordered-containers
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "accelerate";
7 pname = "accelerate";
8 version = "1.1.1.0";
8 version = "1.1.1.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 ansi-wl-pprint base base-orphans containers deepseq directory
11 ansi-wl-pprint base base-orphans containers deepseq directory
15 exceptions fclabels filepath ghc-prim hashable hashtables mtl
12 exceptions fclabels filepath ghc-prim hashable hashtables mtl
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "https://github.com/AccelerateHS/accelerate/";
15 homepage = "https://github.com/AccelerateHS/accelerate/";
19 description = "An embedded language for accelerated array processing";
16 description = "An embedded language for accelerated array processing";
20 license = stdenv.lib.licenses.bsd3;
17 license = stdenv.lib.licenses.bsd3;
21−}
18+}
test/golden-test-cases/active.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, lens, linear, QuickCheck
1+{ mkDerivation, base, lens, linear, QuickCheck, semigroupoids
2−, semigroupoids, semigroups, vector
2+, semigroups, stdenv, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "active";
5 pname = "active";
6 version = "0.2.0.13";
6 version = "0.2.0.13";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base lens linear semigroupoids semigroups vector
9 base lens linear semigroupoids semigroups vector
13 ];
10 ];
@@ -16,4 +13,4 @@ mkDerivation {
16 ];
13 ];
17 description = "Abstractions for animation";
14 description = "Abstractions for animation";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/adjunctions.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, array, base, comonad, containers, contravariant
1{ mkDerivation, array, base, comonad, containers, contravariant
2−, distributive, fetchurl, free, mtl, profunctors, semigroupoids
2+, distributive, free, mtl, profunctors, semigroupoids, semigroups
3−, semigroups, tagged, transformers, transformers-compat, void
3+, stdenv, tagged, transformers, transformers-compat, void
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "adjunctions";
6 pname = "adjunctions";
7 version = "4.3";
7 version = "4.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 array base comonad containers contravariant distributive free mtl
10 array base comonad containers contravariant distributive free mtl
14 profunctors semigroupoids semigroups tagged transformers
11 profunctors semigroupoids semigroups tagged transformers
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "http://github.com/ekmett/adjunctions/";
14 homepage = "http://github.com/ekmett/adjunctions/";
18 description = "Adjunctions and representable functors";
15 description = "Adjunctions and representable functors";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/aeson-diff.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, base, bytestring, directory, doctest
1{ mkDerivation, aeson, base, bytestring, directory, doctest
2−, edit-distance-vector, fetchurl, filepath, Glob, hashable, hlint
2+, edit-distance-vector, filepath, Glob, hashable, hlint, mtl
3−, mtl, optparse-applicative, QuickCheck, quickcheck-instances
3+, optparse-applicative, QuickCheck, quickcheck-instances
4−, scientific, text, unordered-containers, vector
4+, scientific, stdenv, text, unordered-containers, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "aeson-diff";
7 pname = "aeson-diff";
8 version = "1.1.0.4";
8 version = "1.1.0.4";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -26,4 +23,4 @@ mkDerivation {
26 homepage = "https://github.com/thsutton/aeson-diff";
23 homepage = "https://github.com/thsutton/aeson-diff";
27 description = "Extract and apply patches to JSON documents";
24 description = "Extract and apply patches to JSON documents";
28 license = stdenv.lib.licenses.bsd3;
25 license = stdenv.lib.licenses.bsd3;
29−}
26+}
test/golden-test-cases/aeson-pretty.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
1{ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
2−, cmdargs, fetchurl, scientific, text, unordered-containers, vector
2+, cmdargs, scientific, stdenv, text, unordered-containers, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "aeson-pretty";
5 pname = "aeson-pretty";
6 version = "0.8.5";
6 version = "0.8.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://github.com/informatikr/aeson-pretty";
17 homepage = "http://github.com/informatikr/aeson-pretty";
21 description = "JSON pretty-printing library and command-line tool";
18 description = "JSON pretty-printing library and command-line tool";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/algebraic-graphs.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, array, base, containers, criterion, extra, fetchurl
1+{ mkDerivation, array, base, containers, criterion, extra
2−, QuickCheck
2+, QuickCheck, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "algebraic-graphs";
5 pname = "algebraic-graphs";
6 version = "0.0.5";
6 version = "0.0.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ array base containers ];
8 libraryHaskellDepends = [ array base containers ];
12 testHaskellDepends = [ base containers extra QuickCheck ];
9 testHaskellDepends = [ base containers extra QuickCheck ];
13 benchmarkHaskellDepends = [ base containers criterion ];
10 benchmarkHaskellDepends = [ base containers criterion ];
14 homepage = "https://github.com/snowleopard/alga";
11 homepage = "https://github.com/snowleopard/alga";
15 description = "A library for algebraic graph construction and transformation";
12 description = "A library for algebraic graph construction and transformation";
16 license = stdenv.lib.licenses.mit;
13 license = stdenv.lib.licenses.mit;
17−}
14+}
test/golden-test-cases/amazonka-cloudtrail.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-cloudtrail";
5 pname = "amazonka-cloudtrail";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon CloudTrail SDK";
14 description = "Amazon CloudTrail SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-cloudwatch-logs.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-cloudwatch-logs";
5 pname = "amazonka-cloudwatch-logs";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon CloudWatch Logs SDK";
14 description = "Amazon CloudWatch Logs SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-codedeploy.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-codedeploy";
5 pname = "amazonka-codedeploy";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon CodeDeploy SDK";
14 description = "Amazon CodeDeploy SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-cognito-idp.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-cognito-idp";
5 pname = "amazonka-cognito-idp";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon Cognito Identity Provider SDK";
14 description = "Amazon Cognito Identity Provider SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-ecs.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-ecs";
5 pname = "amazonka-ecs";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon EC2 Container Service SDK";
14 description = "Amazon EC2 Container Service SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-kms.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-kms";
5 pname = "amazonka-kms";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon Key Management Service SDK";
14 description = "Amazon Key Management Service SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-lightsail.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-lightsail";
5 pname = "amazonka-lightsail";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon Lightsail SDK";
14 description = "Amazon Lightsail SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-route53-domains.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-route53-domains";
5 pname = "amazonka-route53-domains";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon Route 53 Domains SDK";
14 description = "Amazon Route 53 Domains SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/amazonka-waf.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
1{ mkDerivation, amazonka-core, amazonka-test, base, bytestring
2−, fetchurl, tasty, tasty-hunit, text, time, unordered-containers
2+, stdenv, tasty, tasty-hunit, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "amazonka-waf";
5 pname = "amazonka-waf";
6 version = "1.5.0";
6 version = "1.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ amazonka-core base ];
8 libraryHaskellDepends = [ amazonka-core base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
10 amazonka-core amazonka-test base bytestring tasty tasty-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brendanhay/amazonka";
13 homepage = "https://github.com/brendanhay/amazonka";
17 description = "Amazon WAF SDK";
14 description = "Amazon WAF SDK";
18 license = stdenv.lib.licenses.mpl20;
15 license = stdenv.lib.licenses.mpl20;
19−}
16+}
test/golden-test-cases/api-field-json-th.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, aeson, base, fetchurl, HUnit, lens, split
1+{ mkDerivation, aeson, base, HUnit, lens, split, stdenv
2, template-haskell, text
2, template-haskell, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "api-field-json-th";
5 pname = "api-field-json-th";
6 version = "0.1.0.2";
6 version = "0.1.0.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base lens split template-haskell text
9 aeson base lens split template-haskell text
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/nakaji-dayo/api-field-json-th";
12 homepage = "https://github.com/nakaji-dayo/api-field-json-th";
16 description = "option of aeson's deriveJSON";
13 description = "option of aeson's deriveJSON";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/app-settings.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, directory, fetchurl, hspec, HUnit
1+{ mkDerivation, base, containers, directory, hspec, HUnit, mtl
2−, mtl, parsec, text
2+, parsec, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "app-settings";
5 pname = "app-settings";
6 version = "0.2.0.11";
6 version = "0.2.0.11";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers directory mtl parsec text
9 base containers directory mtl parsec text
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/emmanueltouzery/app-settings";
14 homepage = "https://github.com/emmanueltouzery/app-settings";
18 description = "A library to manage application settings (INI file-like)";
15 description = "A library to manage application settings (INI file-like)";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/apply-refact.nix.golden+5−8
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, containers, directory, fetchurl, filemanip
1+{ mkDerivation, base, containers, directory, filemanip, filepath
2−, filepath, ghc, ghc-exactprint, mtl, optparse-applicative, process
2+, ghc, ghc-exactprint, mtl, optparse-applicative, process, refact
3−, refact, silently, syb, tasty, tasty-expected-failure
3+, silently, stdenv, syb, tasty, tasty-expected-failure
4, tasty-golden, temporary, transformers, unix-compat
4, tasty-golden, temporary, transformers, unix-compat
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "apply-refact";
7 pname = "apply-refact";
8 version = "0.4.1.0";
8 version = "0.4.1.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -29,4 +26,4 @@ mkDerivation {
29 ];
26 ];
30 description = "Perform refactorings specified by the refact library";
27 description = "Perform refactorings specified by the refact library";
31 license = stdenv.lib.licenses.bsd3;
28 license = stdenv.lib.licenses.bsd3;
32−}
29+}
test/golden-test-cases/async.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, HUnit, stm, test-framework
1+{ mkDerivation, base, HUnit, stdenv, stm, test-framework
2, test-framework-hunit
2, test-framework-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "async";
5 pname = "async";
6 version = "2.1.1.1";
6 version = "2.1.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base stm ];
8 libraryHaskellDepends = [ base stm ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base HUnit test-framework test-framework-hunit
10 base HUnit test-framework test-framework-hunit
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/simonmar/async";
12 homepage = "https://github.com/simonmar/async";
16 description = "Run IO operations asynchronously and wait for their results";
13 description = "Run IO operations asynchronously and wait for their results";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/attoparsec-expr.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, attoparsec, base, fetchurl }:
1+{ mkDerivation, attoparsec, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "attoparsec-expr";
3 pname = "attoparsec-expr";
4 version = "0.1.1.2";
4 version = "0.1.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ attoparsec base ];
6 libraryHaskellDepends = [ attoparsec base ];
10 description = "Port of parsec's expression parser to attoparsec";
7 description = "Port of parsec's expression parser to attoparsec";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/attoparsec-time.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, attoparsec, base, base-prelude, bytestring, Cabal
1{ mkDerivation, attoparsec, base, base-prelude, bytestring, Cabal
2−, cabal-doctest, directory, doctest, fetchurl, filepath, scientific
2+, cabal-doctest, directory, doctest, filepath, scientific, stdenv
3, text, time
3, text, time
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "attoparsec-time";
6 pname = "attoparsec-time";
7 version = "1";
7 version = "1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 setupHaskellDepends = [ base Cabal cabal-doctest ];
9 setupHaskellDepends = [ base Cabal cabal-doctest ];
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 attoparsec base base-prelude bytestring scientific text time
11 attoparsec base base-prelude bytestring scientific text time
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/nikita-volkov/attoparsec-time";
16 homepage = "https://github.com/nikita-volkov/attoparsec-time";
20 description = "Attoparsec parsers of time";
17 description = "Attoparsec parsers of time";
21 license = stdenv.lib.licenses.mit;
18 license = stdenv.lib.licenses.mit;
22−}
19+}
test/golden-test-cases/avers-server.nix.golden+5−8
@@ -1,16 +1,13 @@
1{ mkDerivation, aeson, avers, avers-api, base, base64-bytestring
1{ mkDerivation, aeson, avers, avers-api, base, base64-bytestring
2, bytestring, bytestring-conversion, containers, cookie, cryptonite
2, bytestring, bytestring-conversion, containers, cookie, cryptonite
3−, fetchurl, http-types, memory, mtl, resource-pool
3+, http-types, memory, mtl, resource-pool, rethinkdb-client-driver
4−, rethinkdb-client-driver, servant, servant-server, stm, text, time
4+, servant, servant-server, stdenv, stm, text, time, transformers
5−, transformers, wai, wai-websockets, websockets
5+, wai, wai-websockets, websockets
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "avers-server";
8 pname = "avers-server";
9 version = "0.1.0";
9 version = "0.1.0";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 aeson avers avers-api base base64-bytestring bytestring
12 aeson avers avers-api base base64-bytestring bytestring
16 bytestring-conversion containers cookie cryptonite http-types
13 bytestring-conversion containers cookie cryptonite http-types
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "http://github.com/wereHamster/avers-server";
18 homepage = "http://github.com/wereHamster/avers-server";
22 description = "Server implementation of the Avers API";
19 description = "Server implementation of the Avers API";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/aws.nix.golden+6−9
@@ -2,20 +2,17 @@
2, base64-bytestring, blaze-builder, byteable, bytestring
2, base64-bytestring, blaze-builder, byteable, bytestring
3, case-insensitive, cereal, conduit, conduit-combinators
3, case-insensitive, cereal, conduit, conduit-combinators
4, conduit-extra, containers, cryptonite, data-default, directory
4, conduit-extra, containers, cryptonite, data-default, directory
5−, errors, fetchurl, filepath, http-client, http-client-tls
5+, errors, filepath, http-client, http-client-tls, http-conduit
6−, http-conduit, http-types, lifted-base, memory, monad-control, mtl
6+, http-types, lifted-base, memory, monad-control, mtl, network
7−, network, old-locale, QuickCheck, quickcheck-instances, resourcet
7+, old-locale, QuickCheck, quickcheck-instances, resourcet, safe
8−, safe, scientific, tagged, tasty, tasty-hunit, tasty-quickcheck
8+, scientific, stdenv, tagged, tasty, tasty-hunit, tasty-quickcheck
9, text, time, transformers, transformers-base, unordered-containers
9, text, time, transformers, transformers-base, unordered-containers
10, utf8-string, vector, xml-conduit
10, utf8-string, vector, xml-conduit
11}:
11}:
12mkDerivation {
12mkDerivation {
13 pname = "aws";
13 pname = "aws";
14 version = "0.18";
14 version = "0.18";
15− src = fetchurl {
16− url = "http://example.org/";
17− sha256 = "abc";
15+ sha256 = "deadbeef";
18− };
19 isLibrary = true;
16 isLibrary = true;
20 isExecutable = true;
17 isExecutable = true;
21 libraryHaskellDepends = [
18 libraryHaskellDepends = [
@@ -35,4 +32,4 @@ mkDerivation {
35 homepage = "http://github.com/aristidb/aws";
32 homepage = "http://github.com/aristidb/aws";
36 description = "Amazon Web Services (AWS) for Haskell";
33 description = "Amazon Web Services (AWS) for Haskell";
37 license = stdenv.lib.licenses.bsd3;
34 license = stdenv.lib.licenses.bsd3;
38−}
35+}
test/golden-test-cases/bbdb.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, hspec, parsec }:
1+{ mkDerivation, base, hspec, parsec, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "bbdb";
3 pname = "bbdb";
4 version = "0.8";
4 version = "0.8";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base parsec ];
6 libraryHaskellDepends = [ base parsec ];
10 testHaskellDepends = [ base hspec parsec ];
7 testHaskellDepends = [ base hspec parsec ];
11 homepage = "https://github.com/henrylaxen/bbdb";
8 homepage = "https://github.com/henrylaxen/bbdb";
12 description = "Ability to read, write, and modify BBDB files";
9 description = "Ability to read, write, and modify BBDB files";
13 license = stdenv.lib.licenses.gpl3;
10 license = stdenv.lib.licenses.gpl3;
14−}
11+}
test/golden-test-cases/benchpress.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, bytestring, fetchurl, mtl, time }:
1+{ mkDerivation, base, bytestring, mtl, stdenv, time }:
2mkDerivation {
2mkDerivation {
3 pname = "benchpress";
3 pname = "benchpress";
4 version = "0.2.2.10";
4 version = "0.2.2.10";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base mtl time ];
8 libraryHaskellDepends = [ base mtl time ];
@@ -13,4 +10,4 @@ mkDerivation {
13 homepage = "https://github.com/WillSewell/benchpress";
10 homepage = "https://github.com/WillSewell/benchpress";
14 description = "Micro-benchmarking with detailed statistics";
11 description = "Micro-benchmarking with detailed statistics";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/binary-bits.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, binary, bytestring, fetchurl, QuickCheck
1+{ mkDerivation, base, binary, bytestring, QuickCheck, random
2−, random, test-framework, test-framework-quickcheck2
2+, stdenv, test-framework, test-framework-quickcheck2
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "binary-bits";
5 pname = "binary-bits";
6 version = "0.5";
6 version = "0.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base binary bytestring ];
8 libraryHaskellDepends = [ base binary bytestring ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base binary bytestring QuickCheck random test-framework
10 base binary bytestring QuickCheck random test-framework
@@ -15,4 +12,4 @@ mkDerivation {
15 ];
12 ];
16 description = "Bit parsing/writing on top of binary";
13 description = "Bit parsing/writing on top of binary";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/binary-tagged.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
1{ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
2, binary, binary-orphans, bytestring, containers, criterion
2, binary, binary-orphans, bytestring, containers, criterion
3−, deepseq, fetchurl, generics-sop, hashable, nats
3+, deepseq, generics-sop, hashable, nats, quickcheck-instances
4−, quickcheck-instances, scientific, semigroups, SHA, tagged, tasty
4+, scientific, semigroups, SHA, stdenv, tagged, tasty
5, tasty-quickcheck, text, time, unordered-containers, vector
5, tasty-quickcheck, text, time, unordered-containers, vector
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "binary-tagged";
8 pname = "binary-tagged";
9 version = "0.1.4.2";
9 version = "0.1.4.2";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 aeson array base base16-bytestring binary bytestring containers
12 aeson array base base16-bytestring binary bytestring containers
16 generics-sop hashable nats scientific semigroups SHA tagged text
13 generics-sop hashable nats scientific semigroups SHA tagged text
@@ -30,4 +27,4 @@ mkDerivation {
30 homepage = "https://github.com/phadej/binary-tagged#readme";
27 homepage = "https://github.com/phadej/binary-tagged#readme";
31 description = "Tagged binary serialisation";
28 description = "Tagged binary serialisation";
32 license = stdenv.lib.licenses.bsd3;
29 license = stdenv.lib.licenses.bsd3;
33−}
30+}
test/golden-test-cases/bindings-uname.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "bindings-uname";
3 pname = "bindings-uname";
4 version = "0.1";
4 version = "0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 description = "Low-level binding to POSIX uname(3)";
7 description = "Low-level binding to POSIX uname(3)";
11 license = stdenv.lib.licenses.publicDomain;
8 license = stdenv.lib.licenses.publicDomain;
12−}
9+}
test/golden-test-cases/bioalign.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, biocore, bytestring, fetchurl }:
1+{ mkDerivation, base, biocore, bytestring, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "bioalign";
3 pname = "bioalign";
4 version = "0.0.5";
4 version = "0.0.5";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base biocore bytestring ];
6 libraryHaskellDepends = [ base biocore bytestring ];
10 homepage = "https://patch-tag.com/r/dfornika/biophd/home";
7 homepage = "https://patch-tag.com/r/dfornika/biophd/home";
11 description = "Data structures and helper functions for calculating alignments";
8 description = "Data structures and helper functions for calculating alignments";
12 license = "GPL";
9 license = "GPL";
13−}
10+}
test/golden-test-cases/bits.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest
1+{ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest, mtl
2−, fetchurl, mtl, transformers
2+, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "bits";
5 pname = "bits";
6 version = "0.5.1";
6 version = "0.5.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 setupHaskellDepends = [ base Cabal cabal-doctest ];
8 setupHaskellDepends = [ base Cabal cabal-doctest ];
12 libraryHaskellDepends = [ base bytes mtl transformers ];
9 libraryHaskellDepends = [ base bytes mtl transformers ];
13 testHaskellDepends = [ base doctest ];
10 testHaskellDepends = [ base doctest ];
14 homepage = "http://github.com/ekmett/bits";
11 homepage = "http://github.com/ekmett/bits";
15 description = "Various bit twiddling and bitwise serialization primitives";
12 description = "Various bit twiddling and bitwise serialization primitives";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/blank-canvas.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, aeson, base, base-compat, base64-bytestring
1{ mkDerivation, aeson, base, base-compat, base64-bytestring
2, bytestring, colour, containers, data-default-class, directory
2, bytestring, colour, containers, data-default-class, directory
3−, fetchurl, http-types, kansas-comet, mime-types, process, scotty
3+, http-types, kansas-comet, mime-types, process, scotty, shake
4−, shake, stm, text, text-show, time, transformers, unix, vector
4+, stdenv, stm, text, text-show, time, transformers, unix, vector
5, wai, wai-extra, warp
5, wai, wai-extra, warp
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "blank-canvas";
8 pname = "blank-canvas";
9 version = "0.6.1";
9 version = "0.6.1";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 enableSeparateDataOutput = true;
11 enableSeparateDataOutput = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
16 aeson base base-compat base64-bytestring bytestring colour
13 aeson base base-compat base64-bytestring bytestring colour
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
20 homepage = "https://github.com/ku-fpg/blank-canvas/wiki";
24 description = "HTML5 Canvas Graphics Library";
21 description = "HTML5 Canvas Graphics Library";
25 license = stdenv.lib.licenses.bsd3;
22 license = stdenv.lib.licenses.bsd3;
26−}
23+}
test/golden-test-cases/blaze-html.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, blaze-builder, blaze-markup, bytestring
1{ mkDerivation, base, blaze-builder, blaze-markup, bytestring
2−, containers, fetchurl, HUnit, QuickCheck, test-framework
2+, containers, HUnit, QuickCheck, stdenv, test-framework
3, test-framework-hunit, test-framework-quickcheck2, text
3, test-framework-hunit, test-framework-quickcheck2, text
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "blaze-html";
6 pname = "blaze-html";
7 version = "0.9.0.1";
7 version = "0.9.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base blaze-builder blaze-markup bytestring text
10 base blaze-builder blaze-markup bytestring text
14 ];
11 ];
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://jaspervdj.be/blaze";
17 homepage = "http://jaspervdj.be/blaze";
21 description = "A blazingly fast HTML combinator library for Haskell";
18 description = "A blazingly fast HTML combinator library for Haskell";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/blaze-markup.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, blaze-builder, bytestring, containers
1+{ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
2−, fetchurl, HUnit, QuickCheck, test-framework, test-framework-hunit
2+, QuickCheck, stdenv, test-framework, test-framework-hunit
3, test-framework-quickcheck2, text
3, test-framework-quickcheck2, text
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "blaze-markup";
6 pname = "blaze-markup";
7 version = "0.8.0.0";
7 version = "0.8.0.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [ base blaze-builder bytestring text ];
9 libraryHaskellDepends = [ base blaze-builder bytestring text ];
13 testHaskellDepends = [
10 testHaskellDepends = [
14 base blaze-builder bytestring containers HUnit QuickCheck
11 base blaze-builder bytestring containers HUnit QuickCheck
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "http://jaspervdj.be/blaze";
14 homepage = "http://jaspervdj.be/blaze";
18 description = "A blazingly fast markup combinator library for Haskell";
15 description = "A blazingly fast markup combinator library for Haskell";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/blaze-svg.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, blaze-markup, fetchurl, mtl }:
1+{ mkDerivation, base, blaze-markup, mtl, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "blaze-svg";
3 pname = "blaze-svg";
4 version = "0.3.6.1";
4 version = "0.3.6.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base blaze-markup mtl ];
6 libraryHaskellDepends = [ base blaze-markup mtl ];
10 homepage = "https://github.com/deepakjois/blaze-svg";
7 homepage = "https://github.com/deepakjois/blaze-svg";
11 description = "SVG combinator library";
8 description = "SVG combinator library";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/blosum.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, fasta, fetchurl, lens
1+{ mkDerivation, base, containers, fasta, lens, optparse-applicative
2−, optparse-applicative, pipes, pipes-text, split, text, text-show
2+, pipes, pipes-text, split, stdenv, text, text-show
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "blosum";
5 pname = "blosum";
6 version = "0.1.1.4";
6 version = "0.1.1.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://github.com/GregorySchwartz/blosum#readme";
17 homepage = "http://github.com/GregorySchwartz/blosum#readme";
21 description = "BLOSUM generator";
18 description = "BLOSUM generator";
22 license = stdenv.lib.licenses.gpl2;
19 license = stdenv.lib.licenses.gpl2;
23−}
20+}
test/golden-test-cases/boomerang.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl, mtl, template-haskell, text }:
1+{ mkDerivation, base, mtl, stdenv, template-haskell, text }:
2mkDerivation {
2mkDerivation {
3 pname = "boomerang";
3 pname = "boomerang";
4 version = "1.4.5.3";
4 version = "1.4.5.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base mtl template-haskell text ];
6 libraryHaskellDepends = [ base mtl template-haskell text ];
10 description = "Library for invertible parsing and printing";
7 description = "Library for invertible parsing and printing";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/boxes.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, QuickCheck, split }:
1+{ mkDerivation, base, QuickCheck, split, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "boxes";
3 pname = "boxes";
4 version = "0.1.4";
4 version = "0.1.4";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base split ];
6 libraryHaskellDepends = [ base split ];
10 testHaskellDepends = [ base QuickCheck split ];
7 testHaskellDepends = [ base QuickCheck split ];
11 description = "2D text pretty-printing library";
8 description = "2D text pretty-printing library";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/brittany.nix.golden+5−8
@@ -1,17 +1,14 @@
1{ mkDerivation, aeson, base, butcher, bytestring, cmdargs
1{ mkDerivation, aeson, base, butcher, bytestring, cmdargs
2, containers, czipwith, data-tree-print, deepseq, directory, extra
2, containers, czipwith, data-tree-print, deepseq, directory, extra
3−, fetchurl, filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths
3+, filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
4−, hspec, monad-memo, mtl, multistate, neat-interpolation, parsec
4+, monad-memo, mtl, multistate, neat-interpolation, parsec, pretty
5−, pretty, safe, semigroups, strict, syb, text, transformers
5+, safe, semigroups, stdenv, strict, syb, text, transformers
6, uniplate, unsafe, yaml
6, uniplate, unsafe, yaml
7}:
7}:
8mkDerivation {
8mkDerivation {
9 pname = "brittany";
9 pname = "brittany";
10 version = "0.9.0.0";
10 version = "0.9.0.0";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
11+ sha256 = "deadbeef";
14− };
15 isLibrary = true;
12 isLibrary = true;
16 isExecutable = true;
13 isExecutable = true;
17 libraryHaskellDepends = [
14 libraryHaskellDepends = [
@@ -38,4 +35,4 @@ mkDerivation {
38 homepage = "https://github.com/lspitzner/brittany/";
35 homepage = "https://github.com/lspitzner/brittany/";
39 description = "Haskell source code formatter";
36 description = "Haskell source code formatter";
40 license = stdenv.lib.licenses.agpl3;
37 license = stdenv.lib.licenses.agpl3;
41−}
38+}
test/golden-test-cases/broadcast-chan.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "broadcast-chan";
3 pname = "broadcast-chan";
4 version = "0.1.1";
4 version = "0.1.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/merijn/broadcast-chan";
7 homepage = "https://github.com/merijn/broadcast-chan";
11 description = "Broadcast channel type that avoids 0 reader space leaks";
8 description = "Broadcast channel type that avoids 0 reader space leaks";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/butcher.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bifunctors, containers, deque, either, extra
1{ mkDerivation, base, bifunctors, containers, deque, either, extra
2−, fetchurl, free, microlens, microlens-th, mtl, multistate, pretty
2+, free, microlens, microlens-th, mtl, multistate, pretty, stdenv
3, transformers, unsafe, void
3, transformers, unsafe, void
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "butcher";
6 pname = "butcher";
7 version = "1.2.1.0";
7 version = "1.2.1.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base bifunctors containers deque either extra free microlens
10 base bifunctors containers deque either extra free microlens
14 microlens-th mtl multistate pretty transformers unsafe void
11 microlens-th mtl multistate pretty transformers unsafe void
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/lspitzner/butcher/";
13 homepage = "https://github.com/lspitzner/butcher/";
17 description = "Chops a command or program invocation into digestable pieces";
14 description = "Chops a command or program invocation into digestable pieces";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/bzlib.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, bzip2, fetchurl }:
1+{ mkDerivation, base, bytestring, bzip2, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "bzlib";
3 pname = "bzlib";
4 version = "0.5.0.5";
4 version = "0.5.0.5";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring ];
6 libraryHaskellDepends = [ base bytestring ];
10 librarySystemDepends = [ bzip2 ];
7 librarySystemDepends = [ bzip2 ];
11 description = "Compression and decompression in the bzip2 format";
8 description = "Compression and decompression in the bzip2 format";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/case-insensitive.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, criterion, deepseq, fetchurl
1+{ mkDerivation, base, bytestring, criterion, deepseq, hashable
2−, hashable, HUnit, test-framework, test-framework-hunit, text
2+, HUnit, stdenv, test-framework, test-framework-hunit, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "case-insensitive";
5 pname = "case-insensitive";
6 version = "1.2.0.10";
6 version = "1.2.0.10";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base bytestring deepseq hashable text ];
8 libraryHaskellDepends = [ base bytestring deepseq hashable text ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base bytestring HUnit test-framework test-framework-hunit text
10 base bytestring HUnit test-framework test-framework-hunit text
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/basvandijk/case-insensitive";
13 homepage = "https://github.com/basvandijk/case-insensitive";
17 description = "Case insensitive string comparison";
14 description = "Case insensitive string comparison";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/cassava-conduit.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, array, base, bifunctors, bytestring, cassava
1{ mkDerivation, array, base, bifunctors, bytestring, cassava
2−, conduit, conduit-extra, containers, criterion, fetchurl, mtl
2+, conduit, conduit-extra, containers, criterion, mtl, QuickCheck
3−, QuickCheck, text
3+, stdenv, text
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "cassava-conduit";
6 pname = "cassava-conduit";
7 version = "0.4.0.1";
7 version = "0.4.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 array base bifunctors bytestring cassava conduit conduit-extra
10 array base bifunctors bytestring cassava conduit conduit-extra
14 containers mtl text
11 containers mtl text
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/domdere/cassava-conduit";
17 homepage = "https://github.com/domdere/cassava-conduit";
21 description = "Conduit interface for cassava package";
18 description = "Conduit interface for cassava package";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/cassette.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "cassette";
3 pname = "cassette";
4 version = "0.1.0";
4 version = "0.1.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 description = "A combinator library for simultaneously defining parsers and pretty printers";
7 description = "A combinator library for simultaneously defining parsers and pretty printers";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/cereal-text.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, cereal, fetchurl, text }:
1+{ mkDerivation, base, cereal, stdenv, text }:
2mkDerivation {
2mkDerivation {
3 pname = "cereal-text";
3 pname = "cereal-text";
4 version = "0.1.0.2";
4 version = "0.1.0.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base cereal text ];
6 libraryHaskellDepends = [ base cereal text ];
10 homepage = "https://github.com/ulikoehler/cereal-text";
7 homepage = "https://github.com/ulikoehler/cereal-text";
11 description = "Data.Text instances for the cereal serialization library";
8 description = "Data.Text instances for the cereal serialization library";
12 license = stdenv.lib.licenses.asl20;
9 license = stdenv.lib.licenses.asl20;
13−}
10+}
test/golden-test-cases/cheapskate.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, blaze-html, bytestring, containers
1{ mkDerivation, base, blaze-html, bytestring, containers
2−, data-default, deepseq, fetchurl, mtl, syb, text, uniplate
2+, data-default, deepseq, mtl, stdenv, syb, text, uniplate
3, xss-sanitize
3, xss-sanitize
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "cheapskate";
6 pname = "cheapskate";
7 version = "0.1.1";
7 version = "0.1.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "http://github.com/jgm/cheapskate";
16 homepage = "http://github.com/jgm/cheapskate";
20 description = "Experimental markdown processor";
17 description = "Experimental markdown processor";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/chell.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, ansi-terminal, base, bytestring, fetchurl, options
1+{ mkDerivation, ansi-terminal, base, bytestring, options, patience
2−, patience, random, template-haskell, text, transformers
2+, random, stdenv, template-haskell, text, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "chell";
5 pname = "chell";
6 version = "0.4.0.2";
6 version = "0.4.0.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 ansi-terminal base bytestring options patience random
9 ansi-terminal base bytestring options patience random
13 template-haskell text transformers
10 template-haskell text transformers
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://john-millikin.com/software/chell/";
12 homepage = "https://john-millikin.com/software/chell/";
16 description = "A simple and intuitive library for automated testing";
13 description = "A simple and intuitive library for automated testing";
17 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
18−}
15+}
test/golden-test-cases/clumpiness.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, fetchurl, tree-fun }:
1+{ mkDerivation, base, containers, stdenv, tree-fun }:
2mkDerivation {
2mkDerivation {
3 pname = "clumpiness";
3 pname = "clumpiness";
4 version = "0.17.0.0";
4 version = "0.17.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers tree-fun ];
6 libraryHaskellDepends = [ base containers tree-fun ];
10 description = "Calculate the clumpiness of leaf properties in a tree";
7 description = "Calculate the clumpiness of leaf properties in a tree";
11 license = stdenv.lib.licenses.gpl3;
8 license = stdenv.lib.licenses.gpl3;
12−}
9+}
test/golden-test-cases/code-page.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "code-page";
3 pname = "code-page";
4 version = "0.1.3";
4 version = "0.1.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 testHaskellDepends = [ base ];
7 testHaskellDepends = [ base ];
11 homepage = "https://github.com/RyanGlScott/code-page";
8 homepage = "https://github.com/RyanGlScott/code-page";
12 description = "Windows code page library for Haskell";
9 description = "Windows code page library for Haskell";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/colorize-haskell.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, ansi-terminal, base, fetchurl, haskell-lexer }:
1+{ mkDerivation, ansi-terminal, base, haskell-lexer, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "colorize-haskell";
3 pname = "colorize-haskell";
4 version = "1.0.1";
4 version = "1.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ ansi-terminal base haskell-lexer ];
8 libraryHaskellDepends = [ ansi-terminal base haskell-lexer ];
@@ -13,4 +10,4 @@ mkDerivation {
13 homepage = "http://github.com/yav/colorize-haskell";
10 homepage = "http://github.com/yav/colorize-haskell";
14 description = "Highligt Haskell source";
11 description = "Highligt Haskell source";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/countable.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, silently, tasty
1+{ mkDerivation, base, bytestring, silently, stdenv, tasty
2, tasty-golden, tasty-hunit
2, tasty-golden, tasty-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "countable";
5 pname = "countable";
6 version = "1.0";
6 version = "1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base ];
8 libraryHaskellDepends = [ base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base bytestring silently tasty tasty-golden tasty-hunit
10 base bytestring silently tasty tasty-golden tasty-hunit
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/AshleyYakeley/countable";
12 homepage = "https://github.com/AshleyYakeley/countable";
16 description = "Countable, Searchable, Finite, Empty classes";
13 description = "Countable, Searchable, Finite, Empty classes";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/cpu.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "cpu";
3 pname = "cpu";
4 version = "0.1.2";
4 version = "0.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 enableSeparateDataOutput = true;
8 enableSeparateDataOutput = true;
@@ -13,4 +10,4 @@ mkDerivation {
13 homepage = "http://github.com/vincenthz/hs-cpu";
10 homepage = "http://github.com/vincenthz/hs-cpu";
14 description = "Cpu information and properties helpers";
11 description = "Cpu information and properties helpers";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/criterion.nix.golden+4−7
@@ -1,18 +1,15 @@
1{ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
1{ mkDerivation, aeson, ansi-wl-pprint, base, base-compat, binary
2, bytestring, cassava, code-page, containers, deepseq, directory
2, bytestring, cassava, code-page, containers, deepseq, directory
3−, exceptions, fetchurl, filepath, Glob, HUnit, js-flot, js-jquery
3+, exceptions, filepath, Glob, HUnit, js-flot, js-jquery
4, microstache, mtl, mwc-random, optparse-applicative, parsec
4, microstache, mtl, mwc-random, optparse-applicative, parsec
5−, QuickCheck, semigroups, statistics, tasty, tasty-hunit
5+, QuickCheck, semigroups, statistics, stdenv, tasty, tasty-hunit
6, tasty-quickcheck, text, time, transformers, transformers-compat
6, tasty-quickcheck, text, time, transformers, transformers-compat
7, vector, vector-algorithms
7, vector, vector-algorithms
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "criterion";
10 pname = "criterion";
11 version = "1.2.6.0";
11 version = "1.2.6.0";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 isLibrary = true;
13 isLibrary = true;
17 isExecutable = true;
14 isExecutable = true;
18 enableSeparateDataOutput = true;
15 enableSeparateDataOutput = true;
@@ -31,4 +28,4 @@ mkDerivation {
31 homepage = "http://www.serpentine.com/criterion";
28 homepage = "http://www.serpentine.com/criterion";
32 description = "Robust, reliable performance measurement and analysis";
29 description = "Robust, reliable performance measurement and analysis";
33 license = stdenv.lib.licenses.bsd3;
30 license = stdenv.lib.licenses.bsd3;
34−}
31+}
test/golden-test-cases/crypt-sha512.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, attoparsec, base, bytestring, cryptohash-sha512
1{ mkDerivation, attoparsec, base, bytestring, cryptohash-sha512
2−, fetchurl, quickcheck-instances, tasty, tasty-hunit
2+, quickcheck-instances, stdenv, tasty, tasty-hunit
3, tasty-quickcheck
3, tasty-quickcheck
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "crypt-sha512";
6 pname = "crypt-sha512";
7 version = "0";
7 version = "0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 attoparsec base bytestring cryptohash-sha512
10 attoparsec base bytestring cryptohash-sha512
14 ];
11 ];
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/phadej/crypt-sha512";
16 homepage = "https://github.com/phadej/crypt-sha512";
20 description = "Pure Haskell implelementation for GNU SHA512 crypt algorithm";
17 description = "Pure Haskell implelementation for GNU SHA512 crypt algorithm";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/crypto-random-api.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, entropy, fetchurl }:
1+{ mkDerivation, base, bytestring, entropy, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "crypto-random-api";
3 pname = "crypto-random-api";
4 version = "0.2.0";
4 version = "0.2.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring entropy ];
6 libraryHaskellDepends = [ base bytestring entropy ];
10 homepage = "http://github.com/vincenthz/hs-crypto-random-api";
7 homepage = "http://github.com/vincenthz/hs-crypto-random-api";
11 description = "Simple random generators API for cryptography related code";
8 description = "Simple random generators API for cryptography related code";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/csv.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl, filepath, parsec }:
1+{ mkDerivation, base, filepath, parsec, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "csv";
3 pname = "csv";
4 version = "0.1.2";
4 version = "0.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base filepath parsec ];
6 libraryHaskellDepends = [ base filepath parsec ];
10 description = "CSV loader and dumper";
7 description = "CSV loader and dumper";
11 license = stdenv.lib.licenses.mit;
8 license = stdenv.lib.licenses.mit;
12−}
9+}
test/golden-test-cases/data-accessor.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, containers, fetchurl, transformers }:
1+{ mkDerivation, array, base, containers, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "data-accessor";
3 pname = "data-accessor";
4 version = "0.2.2.7";
4 version = "0.2.2.7";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ array base containers transformers ];
6 libraryHaskellDepends = [ array base containers transformers ];
10 homepage = "http://www.haskell.org/haskellwiki/Record_access";
7 homepage = "http://www.haskell.org/haskellwiki/Record_access";
11 description = "Utilities for accessing and manipulating fields of records";
8 description = "Utilities for accessing and manipulating fields of records";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/data-default-instances-containers.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, data-default-class, fetchurl }:
1+{ mkDerivation, base, containers, data-default-class, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "data-default-instances-containers";
3 pname = "data-default-instances-containers";
4 version = "0.0.1";
4 version = "0.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers data-default-class ];
6 libraryHaskellDepends = [ base containers data-default-class ];
10 description = "Default instances for types in containers";
7 description = "Default instances for types in containers";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/data-endian.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "data-endian";
3 pname = "data-endian";
4 version = "0.1.1";
4 version = "0.1.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/mvv/data-endian";
7 homepage = "https://github.com/mvv/data-endian";
11 description = "Endian-sensitive data";
8 description = "Endian-sensitive data";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/data-msgpack.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, base, binary, bytestring, containers, criterion
1{ mkDerivation, base, binary, bytestring, containers, criterion
2−, data-binary-ieee754, deepseq, fetchurl, groom, hashable, hspec
2+, data-binary-ieee754, deepseq, groom, hashable, hspec, QuickCheck
3−, QuickCheck, text, unordered-containers, vector, void
3+, stdenv, text, unordered-containers, vector, void
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "data-msgpack";
6 pname = "data-msgpack";
7 version = "0.0.10";
7 version = "0.0.10";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -26,4 +23,4 @@ mkDerivation {
26 homepage = "http://msgpack.org/";
23 homepage = "http://msgpack.org/";
27 description = "A Haskell implementation of MessagePack";
24 description = "A Haskell implementation of MessagePack";
28 license = stdenv.lib.licenses.bsd3;
25 license = stdenv.lib.licenses.bsd3;
29−}
26+}
test/golden-test-cases/data-serializer.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, base, binary, bytestring, cereal, data-endian
1{ mkDerivation, base, binary, bytestring, cereal, data-endian
2−, fetchurl, parsers, semigroups, split, tasty, tasty-quickcheck
2+, parsers, semigroups, split, stdenv, tasty, tasty-quickcheck
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "data-serializer";
5 pname = "data-serializer";
6 version = "0.3.2";
6 version = "0.3.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base binary bytestring cereal data-endian parsers semigroups split
9 base binary bytestring cereal data-endian parsers semigroups split
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/mvv/data-serializer";
14 homepage = "https://github.com/mvv/data-serializer";
18 description = "Common API for serialization libraries";
15 description = "Common API for serialization libraries";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/deque.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "deque";
3 pname = "deque";
4 version = "0.2";
4 version = "0.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/nikita-volkov/deque";
7 homepage = "https://github.com/nikita-volkov/deque";
11 description = "Double-ended queue";
8 description = "Double-ended queue";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/dhall-bash.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, bytestring, containers, dhall, fetchurl
1+{ mkDerivation, base, bytestring, containers, dhall
2−, neat-interpolation, optparse-generic, shell-escape, text
2+, neat-interpolation, optparse-generic, shell-escape, stdenv, text
3, text-format, trifecta, vector
3, text-format, trifecta, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "dhall-bash";
6 pname = "dhall-bash";
7 version = "1.0.6";
7 version = "1.0.6";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -20,4 +17,4 @@ mkDerivation {
20 ];
17 ];
21 description = "Compile Dhall to Bash";
18 description = "Compile Dhall to Bash";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/diagrams-solve.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, deepseq, fetchurl, tasty, tasty-hunit
1+{ mkDerivation, base, deepseq, stdenv, tasty, tasty-hunit
2, tasty-quickcheck
2, tasty-quickcheck
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "diagrams-solve";
5 pname = "diagrams-solve";
6 version = "0.1.1";
6 version = "0.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base ];
8 libraryHaskellDepends = [ base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base deepseq tasty tasty-hunit tasty-quickcheck
10 base deepseq tasty tasty-hunit tasty-quickcheck
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://projects.haskell.org/diagrams";
12 homepage = "http://projects.haskell.org/diagrams";
16 description = "Pure Haskell solver routines used by diagrams";
13 description = "Pure Haskell solver routines used by diagrams";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/discrimination.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, array, base, containers, contravariant, criterion
1{ mkDerivation, array, base, containers, contravariant, criterion
2−, deepseq, fetchurl, ghc-prim, hashable, primitive, profunctors
2+, deepseq, ghc-prim, hashable, primitive, profunctors, promises
3−, promises, semigroups, transformers, transformers-compat
3+, semigroups, stdenv, transformers, transformers-compat
4, unordered-containers, vector, void
4, unordered-containers, vector, void
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "discrimination";
7 pname = "discrimination";
8 version = "0.3";
8 version = "0.3";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 array base containers contravariant deepseq ghc-prim hashable
11 array base containers contravariant deepseq ghc-prim hashable
15 primitive profunctors promises semigroups transformers
12 primitive profunctors promises semigroups transformers
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "http://github.com/ekmett/discrimination/";
19 homepage = "http://github.com/ekmett/discrimination/";
23 description = "Fast generic linear-time sorting, joins and container construction";
20 description = "Fast generic linear-time sorting, joins and container construction";
24 license = stdenv.lib.licenses.bsd3;
21 license = stdenv.lib.licenses.bsd3;
25−}
22+}
test/golden-test-cases/dotenv.nix.golden+5−8
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, base-compat, directory, exceptions, fetchurl
1+{ mkDerivation, base, base-compat, directory, exceptions, hspec
2−, hspec, hspec-megaparsec, megaparsec, optparse-applicative
2+, hspec-megaparsec, megaparsec, optparse-applicative, process
3−, process, text, transformers, yaml
3+, stdenv, text, transformers, yaml
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "dotenv";
6 pname = "dotenv";
7 version = "0.5.2.1";
7 version = "0.5.2.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 enableSeparateDataOutput = true;
11 enableSeparateDataOutput = true;
@@ -27,4 +24,4 @@ mkDerivation {
27 homepage = "https://github.com/stackbuilders/dotenv-hs";
24 homepage = "https://github.com/stackbuilders/dotenv-hs";
28 description = "Loads environment variables from dotenv files";
25 description = "Loads environment variables from dotenv files";
29 license = stdenv.lib.licenses.mit;
26 license = stdenv.lib.licenses.mit;
30−}
27+}
test/golden-test-cases/dotnet-timespan.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "dotnet-timespan";
3 pname = "dotnet-timespan";
4 version = "0.0.1.0";
4 version = "0.0.1.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "http://github.com/YoEight/dotnet-timespan";
7 homepage = "http://github.com/YoEight/dotnet-timespan";
11 description = ".NET TimeSpan";
8 description = ".NET TimeSpan";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/dpor.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, containers, deepseq, fetchurl, random
1+{ mkDerivation, base, containers, deepseq, random, semigroups
2−, semigroups
2+, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "dpor";
5 pname = "dpor";
6 version = "0.2.0.0";
6 version = "0.2.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers deepseq random semigroups
9 base containers deepseq random semigroups
13 ];
10 ];
14 homepage = "https://github.com/barrucadu/dejafu";
11 homepage = "https://github.com/barrucadu/dejafu";
15 description = "A generic implementation of dynamic partial-order reduction (DPOR) for testing arbitrary models of concurrency";
12 description = "A generic implementation of dynamic partial-order reduction (DPOR) for testing arbitrary models of concurrency";
16 license = stdenv.lib.licenses.mit;
13 license = stdenv.lib.licenses.mit;
17−}
14+}
test/golden-test-cases/drawille.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, containers, fetchurl, hspec, QuickCheck }:
1+{ mkDerivation, base, containers, hspec, QuickCheck, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "drawille";
3 pname = "drawille";
4 version = "0.1.2.0";
4 version = "0.1.2.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base containers ];
8 libraryHaskellDepends = [ base containers ];
@@ -13,4 +10,4 @@ mkDerivation {
13 homepage = "https://github.com/yamadapc/haskell-drawille#readme";
10 homepage = "https://github.com/yamadapc/haskell-drawille#readme";
14 description = "A port of asciimoo's drawille to haskell";
11 description = "A port of asciimoo's drawille to haskell";
15 license = stdenv.lib.licenses.gpl3;
12 license = stdenv.lib.licenses.gpl3;
16−}
13+}
test/golden-test-cases/drifter-postgresql.nix.golden+5−8
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, containers, drifter, either, fetchurl, mtl
1+{ mkDerivation, base, containers, drifter, either, mtl
2−, postgresql-simple, tasty, tasty-hunit, text, time, transformers
2+, postgresql-simple, stdenv, tasty, tasty-hunit, text, time
3−, transformers-compat
3+, transformers, transformers-compat
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "drifter-postgresql";
6 pname = "drifter-postgresql";
7 version = "0.2.1";
7 version = "0.2.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base containers drifter mtl postgresql-simple time transformers
10 base containers drifter mtl postgresql-simple time transformers
14 transformers-compat
11 transformers-compat
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "http://github.com/michaelxavier/drifter-postgresql";
16 homepage = "http://github.com/michaelxavier/drifter-postgresql";
20 description = "PostgreSQL support for the drifter schema migration tool";
17 description = "PostgreSQL support for the drifter schema migration tool";
21 license = stdenv.lib.licenses.mit;
18 license = stdenv.lib.licenses.mit;
22−}
19+}
test/golden-test-cases/ede.nix.golden+5−7
@@ -1,16 +1,13 @@
1{ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors, bytestring
1{ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors, bytestring
2−, comonad, directory, double-conversion, fetchurl, filepath, free
2+, comonad, directory, double-conversion, filepath, free, lens, mtl
3−, lens, mtl, parsers, scientific, semigroups, tasty, tasty-golden
3+, parsers, scientific, semigroups, stdenv, tasty, tasty-golden
4, text, text-format, text-manipulate, trifecta
4, text, text-format, text-manipulate, trifecta
5, unordered-containers, vector
5, unordered-containers, vector
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "ede";
8 pname = "ede";
9 version = "0.2.8.7";
9 version = "0.2.8.7";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 enableSeparateDataOutput = true;
11 enableSeparateDataOutput = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
16 aeson ansi-wl-pprint base bifunctors bytestring comonad directory
13 aeson ansi-wl-pprint base bifunctors bytestring comonad directory
@@ -24,4 +21,5 @@ mkDerivation {
24 homepage = "http://github.com/brendanhay/ede";
21 homepage = "http://github.com/brendanhay/ede";
25 description = "Templating language with similar syntax and features to Liquid or Jinja2";
22 description = "Templating language with similar syntax and features to Liquid or Jinja2";
26 license = "unknown";
23 license = "unknown";
24+ hydraPlatforms = stdenv.lib.platforms.none;
27−}
25+}
test/golden-test-cases/ekg-cloudwatch.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, amazonka, amazonka-cloudwatch, amazonka-core, base
1{ mkDerivation, amazonka, amazonka-cloudwatch, amazonka-core, base
2−, bytestring, ekg-core, fetchurl, lens, resourcet, semigroups, text
2+, bytestring, ekg-core, lens, resourcet, semigroups, stdenv, text
3, time, unordered-containers
3, time, unordered-containers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "ekg-cloudwatch";
6 pname = "ekg-cloudwatch";
7 version = "0.0.1.6";
7 version = "0.0.1.6";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 amazonka amazonka-cloudwatch amazonka-core base bytestring ekg-core
10 amazonka amazonka-cloudwatch amazonka-core base bytestring ekg-core
14 lens resourcet semigroups text time unordered-containers
11 lens resourcet semigroups text time unordered-containers
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/sellerlabs/ekg-cloudwatch#readme";
13 homepage = "https://github.com/sellerlabs/ekg-cloudwatch#readme";
17 description = "An ekg backend for Amazon Cloudwatch";
14 description = "An ekg backend for Amazon Cloudwatch";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/emailaddress.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, base, bifunctors, bytestring, doctest
1{ mkDerivation, aeson, base, bifunctors, bytestring, doctest
2−, email-validate, fetchurl, Glob, http-api-data, opaleye
2+, email-validate, Glob, http-api-data, opaleye, path-pieces
3−, path-pieces, persistent, postgresql-simple, product-profunctors
3+, persistent, postgresql-simple, product-profunctors, profunctors
4−, profunctors, text
4+, stdenv, text
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "emailaddress";
7 pname = "emailaddress";
8 version = "0.2.0.0";
8 version = "0.2.0.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 aeson base bifunctors bytestring email-validate http-api-data
11 aeson base bifunctors bytestring email-validate http-api-data
15 opaleye path-pieces persistent postgresql-simple
12 opaleye path-pieces persistent postgresql-simple
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/cdepillabout/emailaddress#readme";
16 homepage = "https://github.com/cdepillabout/emailaddress#readme";
20 description = "Wrapper around email-validate library adding instances for common type classes";
17 description = "Wrapper around email-validate library adding instances for common type classes";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/envelope.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, aeson, base, doctest, fetchurl, Glob, http-api-data
1+{ mkDerivation, aeson, base, doctest, Glob, http-api-data, mtl
2−, mtl, text
2+, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "envelope";
5 pname = "envelope";
6 version = "0.2.2.0";
6 version = "0.2.2.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ aeson base http-api-data mtl text ];
8 libraryHaskellDepends = [ aeson base http-api-data mtl text ];
12 testHaskellDepends = [ base doctest Glob ];
9 testHaskellDepends = [ base doctest Glob ];
13 homepage = "https://github.com/cdepillabout/envelope#readme";
10 homepage = "https://github.com/cdepillabout/envelope#readme";
14 description = "Defines generic 'Envelope' type to wrap reponses from a JSON API";
11 description = "Defines generic 'Envelope' type to wrap reponses from a JSON API";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/eventful-sqlite.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, aeson, base, bytestring, eventful-core
1{ mkDerivation, aeson, base, bytestring, eventful-core
2−, eventful-sql-common, eventful-test-helpers, fetchurl, hspec
2+, eventful-sql-common, eventful-test-helpers, hspec, HUnit, mtl
3−, HUnit, mtl, persistent, persistent-sqlite, text, uuid
3+, persistent, persistent-sqlite, stdenv, text, uuid
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "eventful-sqlite";
6 pname = "eventful-sqlite";
7 version = "0.2.0";
7 version = "0.2.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson base bytestring eventful-core eventful-sql-common mtl
10 aeson base bytestring eventful-core eventful-sql-common mtl
14 persistent text uuid
11 persistent text uuid
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/jdreaver/eventful#readme";
18 homepage = "https://github.com/jdreaver/eventful#readme";
22 description = "SQLite implementations for eventful";
19 description = "SQLite implementations for eventful";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/exact-pi.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, numtype-dk }:
1+{ mkDerivation, base, numtype-dk, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "exact-pi";
3 pname = "exact-pi";
4 version = "0.4.1.2";
4 version = "0.4.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base numtype-dk ];
6 libraryHaskellDepends = [ base numtype-dk ];
10 homepage = "https://github.com/dmcclean/exact-pi/";
7 homepage = "https://github.com/dmcclean/exact-pi/";
11 description = "Exact rational multiples of pi (and integer powers of pi)";
8 description = "Exact rational multiples of pi (and integer powers of pi)";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/expiring-cache-map.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, containers, fetchurl, hashable
1+{ mkDerivation, base, bytestring, containers, hashable, stdenv
2, time, unordered-containers
2, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "expiring-cache-map";
5 pname = "expiring-cache-map";
6 version = "0.0.6.1";
6 version = "0.0.6.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers hashable unordered-containers
9 base containers hashable unordered-containers
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/elblake/expiring-cache-map";
14 homepage = "https://github.com/elblake/expiring-cache-map";
18 description = "General purpose simple caching";
15 description = "General purpose simple caching";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/explicit-exception.nix.golden+3−6
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, deepseq, fetchurl, transformers }:
1+{ mkDerivation, base, deepseq, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "explicit-exception";
3 pname = "explicit-exception";
4 version = "0.1.9";
4 version = "0.1.9";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base deepseq transformers ];
8 libraryHaskellDepends = [ base deepseq transformers ];
12 homepage = "http://www.haskell.org/haskellwiki/Exception";
9 homepage = "http://www.haskell.org/haskellwiki/Exception";
13 description = "Exceptions which are explicit in the type signature";
10 description = "Exceptions which are explicit in the type signature";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/fdo-notify.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, dbus, fetchurl }:
1+{ mkDerivation, base, containers, dbus, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "fdo-notify";
3 pname = "fdo-notify";
4 version = "0.3.1";
4 version = "0.3.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers dbus ];
6 libraryHaskellDepends = [ base containers dbus ];
10 homepage = "http://bitbucket.org/taejo/fdo-notify/";
7 homepage = "http://bitbucket.org/taejo/fdo-notify/";
11 description = "Desktop Notifications client";
8 description = "Desktop Notifications client";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/fgl.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, containers, deepseq, fetchurl, hspec
1+{ mkDerivation, array, base, containers, deepseq, hspec, microbench
2−, microbench, QuickCheck, transformers
2+, QuickCheck, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "fgl";
5 pname = "fgl";
6 version = "5.5.4.0";
6 version = "5.5.4.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 array base containers deepseq transformers
9 array base containers deepseq transformers
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 benchmarkHaskellDepends = [ base deepseq microbench ];
12 benchmarkHaskellDepends = [ base deepseq microbench ];
16 description = "Martin Erwig's Functional Graph Library";
13 description = "Martin Erwig's Functional Graph Library";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/file-modules.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, async, base, directory, fetchurl, filepath
1+{ mkDerivation, async, base, directory, filepath, haskell-src-exts
2−, haskell-src-exts, MissingH, regex-compat, regex-pcre
2+, MissingH, regex-compat, regex-pcre, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "file-modules";
5 pname = "file-modules";
6 version = "0.1.2.4";
6 version = "0.1.2.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/yamadapc/stack-run-auto";
18 homepage = "https://github.com/yamadapc/stack-run-auto";
22 description = "Takes a Haskell source-code file and outputs its modules";
19 description = "Takes a Haskell source-code file and outputs its modules";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/fingertree.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, HUnit, QuickCheck, test-framework
1+{ mkDerivation, base, HUnit, QuickCheck, stdenv, test-framework
2, test-framework-hunit, test-framework-quickcheck2
2, test-framework-hunit, test-framework-quickcheck2
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "fingertree";
5 pname = "fingertree";
6 version = "0.1.3.1";
6 version = "0.1.3.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base ];
8 libraryHaskellDepends = [ base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base HUnit QuickCheck test-framework test-framework-hunit
10 base HUnit QuickCheck test-framework test-framework-hunit
@@ -15,4 +12,4 @@ mkDerivation {
15 ];
12 ];
16 description = "Generic finger-tree structure, with example instances";
13 description = "Generic finger-tree structure, with example instances";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/fixed-vector.nix.golden+4−7
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, deepseq, doctest, fetchurl, filemanip
1+{ mkDerivation, base, deepseq, doctest, filemanip, primitive
2−, primitive
2+, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "fixed-vector";
5 pname = "fixed-vector";
6 version = "1.0.0.0";
6 version = "1.0.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base deepseq primitive ];
8 libraryHaskellDepends = [ base deepseq primitive ];
12 testHaskellDepends = [ base doctest filemanip primitive ];
9 testHaskellDepends = [ base doctest filemanip primitive ];
13 description = "Generic vectors with statically known size";
10 description = "Generic vectors with statically known size";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/fixed.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "fixed";
3 pname = "fixed";
4 version = "0.2.1.1";
4 version = "0.2.1.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "http://github.com/ekmett/fixed";
7 homepage = "http://github.com/ekmett/fixed";
11 description = "Signed 15.16 precision fixed point arithmetic";
8 description = "Signed 15.16 precision fixed point arithmetic";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/foundation.nix.golden+3−6
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, basement, fetchurl, gauge, ghc-prim }:
1+{ mkDerivation, base, basement, gauge, ghc-prim, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "foundation";
3 pname = "foundation";
4 version = "0.0.17";
4 version = "0.0.17";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base basement ghc-prim ];
6 libraryHaskellDepends = [ base basement ghc-prim ];
10 testHaskellDepends = [ base basement ];
7 testHaskellDepends = [ base basement ];
11 benchmarkHaskellDepends = [ base basement gauge ];
8 benchmarkHaskellDepends = [ base basement gauge ];
12 homepage = "https://github.com/haskell-foundation/foundation";
9 homepage = "https://github.com/haskell-foundation/foundation";
13 description = "Alternative prelude with batteries and no dependencies";
10 description = "Alternative prelude with batteries and no dependencies";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/frisby.nix.golden+3−7
@@ -1,14 +1,10 @@
1−{ mkDerivation, array, base, containers, fetchurl, mtl, semigroups
1+{ mkDerivation, array, base, containers, mtl, semigroups, stdenv }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "frisby";
3 pname = "frisby";
5 version = "0.2.2";
4 version = "0.2.2";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ array base containers mtl semigroups ];
6 libraryHaskellDepends = [ array base containers mtl semigroups ];
11 homepage = "http://repetae.net/computer/frisby/";
7 homepage = "http://repetae.net/computer/frisby/";
12 description = "Linear time composable parser for PEG grammars";
8 description = "Linear time composable parser for PEG grammars";
13 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
14−}
10+}
test/golden-test-cases/funcmp.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, filepath, process }:
1+{ mkDerivation, base, filepath, process, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "funcmp";
3 pname = "funcmp";
4 version = "1.8";
4 version = "1.8";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 enableSeparateDataOutput = true;
6 enableSeparateDataOutput = true;
10 libraryHaskellDepends = [ base filepath process ];
7 libraryHaskellDepends = [ base filepath process ];
11 homepage = "http://savannah.nongnu.org/projects/funcmp/";
8 homepage = "http://savannah.nongnu.org/projects/funcmp/";
12 description = "Functional MetaPost";
9 description = "Functional MetaPost";
13 license = stdenv.lib.licenses.gpl3;
10 license = stdenv.lib.licenses.gpl3;
14−}
11+}
test/golden-test-cases/functor-classes-compat.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, containers, fetchurl, hashable
1+{ mkDerivation, base, containers, hashable, stdenv
2, unordered-containers, vector
2, unordered-containers, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "functor-classes-compat";
5 pname = "functor-classes-compat";
6 version = "1";
6 version = "1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers hashable unordered-containers vector
9 base containers hashable unordered-containers vector
13 ];
10 ];
14 homepage = "https://github.com/phadej/functor-classes-compat#readme";
11 homepage = "https://github.com/phadej/functor-classes-compat#readme";
15 description = "Data.Functor.Classes instances for core packages";
12 description = "Data.Functor.Classes instances for core packages";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/general-games.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, hspec, HUnit, monad-loops
1+{ mkDerivation, base, hspec, HUnit, monad-loops, MonadRandom
2−, MonadRandom, random, random-shuffle
2+, random, random-shuffle, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "general-games";
5 pname = "general-games";
6 version = "1.0.5";
6 version = "1.0.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base monad-loops MonadRandom random random-shuffle
9 base monad-loops MonadRandom random random-shuffle
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/cgorski/general-games";
12 homepage = "https://github.com/cgorski/general-games";
16 description = "Library supporting simulation of a number of games";
13 description = "Library supporting simulation of a number of games";
17 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
18−}
15+}
test/golden-test-cases/generic-lens.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, criterion, deepseq, doctest, fetchurl
1+{ mkDerivation, base, criterion, deepseq, doctest
2−, inspection-testing, lens, profunctors, QuickCheck, tagged
2+, inspection-testing, lens, profunctors, QuickCheck, stdenv, tagged
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "generic-lens";
5 pname = "generic-lens";
6 version = "0.5.1.0";
6 version = "0.5.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base profunctors tagged ];
8 libraryHaskellDepends = [ base profunctors tagged ];
12 testHaskellDepends = [ base doctest inspection-testing lens ];
9 testHaskellDepends = [ base doctest inspection-testing lens ];
13 benchmarkHaskellDepends = [
10 benchmarkHaskellDepends = [
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/kcsongor/generic-lens";
13 homepage = "https://github.com/kcsongor/generic-lens";
17 description = "Generic data-structure operations exposed as lenses";
14 description = "Generic data-structure operations exposed as lenses";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/genvalidity-aeson.nix.golden+5−8
@@ -1,15 +1,12 @@
1−{ mkDerivation, aeson, base, fetchurl, genvalidity
1+{ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
2−, genvalidity-hspec, genvalidity-scientific, genvalidity-text
2+, genvalidity-scientific, genvalidity-text
3, genvalidity-unordered-containers, genvalidity-vector, hspec
3, genvalidity-unordered-containers, genvalidity-vector, hspec
4−, QuickCheck, validity, validity-aeson
4+, QuickCheck, stdenv, validity, validity-aeson
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "genvalidity-aeson";
7 pname = "genvalidity-aeson";
8 version = "0.1.0.0";
8 version = "0.1.0.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 aeson base genvalidity genvalidity-scientific genvalidity-text
11 aeson base genvalidity genvalidity-scientific genvalidity-text
15 genvalidity-unordered-containers genvalidity-vector QuickCheck
12 genvalidity-unordered-containers genvalidity-vector QuickCheck
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/NorfairKing/validity#readme";
18 homepage = "https://github.com/NorfairKing/validity#readme";
22 description = "GenValidity support for aeson";
19 description = "GenValidity support for aeson";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/genvalidity-hspec-aeson.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, aeson, base, bytestring, deepseq, doctest, fetchurl
1+{ mkDerivation, aeson, base, bytestring, deepseq, doctest
2, genvalidity, genvalidity-aeson, genvalidity-hspec
2, genvalidity, genvalidity-aeson, genvalidity-hspec
3−, genvalidity-text, hspec, QuickCheck, text
3+, genvalidity-text, hspec, QuickCheck, stdenv, text
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "genvalidity-hspec-aeson";
6 pname = "genvalidity-hspec-aeson";
7 version = "0.1.0.1";
7 version = "0.1.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
10 aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
14 QuickCheck
11 QuickCheck
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://cs-syd.eu";
17 homepage = "http://cs-syd.eu";
21 description = "Standard spec's for aeson-related instances";
18 description = "Standard spec's for aeson-related instances";
22 license = stdenv.lib.licenses.mit;
19 license = stdenv.lib.licenses.mit;
23−}
20+}
test/golden-test-cases/genvalidity-hspec-binary.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, binary, deepseq, doctest, fetchurl
1+{ mkDerivation, base, binary, deepseq, doctest, genvalidity
2−, genvalidity, genvalidity-hspec, hspec, QuickCheck
2+, genvalidity-hspec, hspec, QuickCheck, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "genvalidity-hspec-binary";
5 pname = "genvalidity-hspec-binary";
6 version = "0.1.0.0";
6 version = "0.1.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base binary deepseq genvalidity genvalidity-hspec hspec QuickCheck
9 base binary deepseq genvalidity genvalidity-hspec hspec QuickCheck
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/NorfairKing/validity#readme";
12 homepage = "https://github.com/NorfairKing/validity#readme";
16 description = "Standard spec's for binary-related Instances";
13 description = "Standard spec's for binary-related Instances";
17 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
18−}
15+}
test/golden-test-cases/genvalidity-scientific.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, genvalidity, genvalidity-hspec
1+{ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
2−, hspec, QuickCheck, scientific, validity, validity-scientific
2+, QuickCheck, scientific, stdenv, validity, validity-scientific
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "genvalidity-scientific";
5 pname = "genvalidity-scientific";
6 version = "0.1.0.0";
6 version = "0.1.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base genvalidity QuickCheck scientific validity validity-scientific
9 base genvalidity QuickCheck scientific validity validity-scientific
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/NorfairKing/validity#readme";
14 homepage = "https://github.com/NorfairKing/validity#readme";
18 description = "GenValidity support for Scientific";
15 description = "GenValidity support for Scientific";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/genvalidity-uuid.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, genvalidity, genvalidity-hspec
1+{ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
2−, hspec, QuickCheck, uuid, validity, validity-uuid
2+, QuickCheck, stdenv, uuid, validity, validity-uuid
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "genvalidity-uuid";
5 pname = "genvalidity-uuid";
6 version = "0.0.0.0";
6 version = "0.0.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base genvalidity QuickCheck uuid validity validity-uuid
9 base genvalidity QuickCheck uuid validity validity-uuid
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/NorfairKing/validity#readme";
14 homepage = "https://github.com/NorfairKing/validity#readme";
18 description = "GenValidity support for UUID";
15 description = "GenValidity support for UUID";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/ghc-syb-utils.nix.golden+3−6
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, directory, fetchurl, filepath, ghc, ghc-paths
1+{ mkDerivation, base, directory, filepath, ghc, ghc-paths, stdenv
2, syb
2, syb
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "ghc-syb-utils";
5 pname = "ghc-syb-utils";
6 version = "0.2.3.3";
6 version = "0.2.3.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base ghc syb ];
8 libraryHaskellDepends = [ base ghc syb ];
12 testHaskellDepends = [ base directory filepath ghc ghc-paths ];
9 testHaskellDepends = [ base directory filepath ghc ghc-paths ];
13 homepage = "http://github.com/nominolo/ghc-syb";
10 homepage = "http://github.com/nominolo/ghc-syb";
14 description = "Scrap Your Boilerplate utilities for the GHC API";
11 description = "Scrap Your Boilerplate utilities for the GHC API";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/ghcid.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, ansi-terminal, base, cmdargs, containers, directory
1{ mkDerivation, ansi-terminal, base, cmdargs, containers, directory
2−, extra, fetchurl, filepath, fsnotify, process, tasty, tasty-hunit
2+, extra, filepath, fsnotify, process, stdenv, tasty, tasty-hunit
3, terminal-size, time, unix
3, terminal-size, time, unix
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "ghcid";
6 pname = "ghcid";
7 version = "0.6.8";
7 version = "0.6.8";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -25,4 +22,4 @@ mkDerivation {
25 homepage = "https://github.com/ndmitchell/ghcid#readme";
22 homepage = "https://github.com/ndmitchell/ghcid#readme";
26 description = "GHCi based bare bones IDE";
23 description = "GHCi based bare bones IDE";
27 license = stdenv.lib.licenses.bsd3;
24 license = stdenv.lib.licenses.bsd3;
28−}
25+}
test/golden-test-cases/giphy-api.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, base, basic-prelude, bytestring, containers
1{ mkDerivation, aeson, base, basic-prelude, bytestring, containers
2−, directory, fetchurl, hspec, http-api-data, http-client
2+, directory, hspec, http-api-data, http-client, http-client-tls
3−, http-client-tls, lens, microlens, microlens-th, mtl, network-uri
3+, lens, microlens, microlens-th, mtl, network-uri, servant
4−, servant, servant-client, text, transformers
4+, servant-client, stdenv, text, transformers
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "giphy-api";
7 pname = "giphy-api";
8 version = "0.5.2.0";
8 version = "0.5.2.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "http://github.com/passy/giphy-api#readme";
21 homepage = "http://github.com/passy/giphy-api#readme";
25 description = "Giphy HTTP API wrapper and CLI search tool";
22 description = "Giphy HTTP API wrapper and CLI search tool";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/github.nix.golden+6−9
@@ -1,19 +1,16 @@
1{ mkDerivation, aeson, aeson-compat, base, base-compat
1{ mkDerivation, aeson, aeson-compat, base, base-compat
2, base16-bytestring, binary, binary-orphans, byteable, bytestring
2, base16-bytestring, binary, binary-orphans, byteable, bytestring
3, containers, cryptohash, deepseq, deepseq-generics, exceptions
3, containers, cryptohash, deepseq, deepseq-generics, exceptions
4−, fetchurl, file-embed, hashable, hspec, hspec-discover
4+, file-embed, hashable, hspec, hspec-discover, http-client
5−, http-client, http-client-tls, http-link-header, http-types
5+, http-client-tls, http-link-header, http-types, iso8601-time, mtl
6−, iso8601-time, mtl, network-uri, semigroups, text, time, tls
6+, network-uri, semigroups, stdenv, text, time, tls, transformers
7−, transformers, transformers-compat, unordered-containers, vector
7+, transformers-compat, unordered-containers, vector
8, vector-instances
8, vector-instances
9}:
9}:
10mkDerivation {
10mkDerivation {
11 pname = "github";
11 pname = "github";
12 version = "0.18";
12 version = "0.18";
13− src = fetchurl {
14− url = "http://example.org/";
15− sha256 = "abc";
13+ sha256 = "deadbeef";
16− };
17 libraryHaskellDepends = [
14 libraryHaskellDepends = [
18 aeson aeson-compat base base-compat base16-bytestring binary
15 aeson aeson-compat base base-compat base16-bytestring binary
19 binary-orphans byteable bytestring containers cryptohash deepseq
16 binary-orphans byteable bytestring containers cryptohash deepseq
@@ -30,4 +27,4 @@ mkDerivation {
30 homepage = "https://github.com/phadej/github";
27 homepage = "https://github.com/phadej/github";
31 description = "Access to the GitHub API, v3";
28 description = "Access to the GitHub API, v3";
32 license = stdenv.lib.licenses.bsd3;
29 license = stdenv.lib.licenses.bsd3;
33−}
30+}
test/golden-test-cases/gl.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, Cabal, containers, directory, fetchurl
1+{ mkDerivation, base, Cabal, containers, directory, filepath, fixed
2−, filepath, fixed, half, hxt, libGL, transformers
2+, half, hxt, libGL, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "gl";
5 pname = "gl";
6 version = "0.8.0";
6 version = "0.8.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 setupHaskellDepends = [
8 setupHaskellDepends = [
12 base Cabal containers directory filepath hxt transformers
9 base Cabal containers directory filepath hxt transformers
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 librarySystemDepends = [ libGL ];
14 librarySystemDepends = [ libGL ];
18 description = "Complete OpenGL raw bindings";
15 description = "Complete OpenGL raw bindings";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/gogol-adexchange-buyer.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-adexchange-buyer";
3 pname = "gogol-adexchange-buyer";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Ad Exchange Buyer SDK";
8 description = "Google Ad Exchange Buyer SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-admin-emailmigration.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-admin-emailmigration";
3 pname = "gogol-admin-emailmigration";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Email Migration API v2 SDK";
8 description = "Google Email Migration API v2 SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-affiliates.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-affiliates";
3 pname = "gogol-affiliates";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Affiliate Network SDK";
8 description = "Google Affiliate Network SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-apps-tasks.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-apps-tasks";
3 pname = "gogol-apps-tasks";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Tasks SDK";
8 description = "Google Tasks SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-appstate.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-appstate";
3 pname = "gogol-appstate";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google App State SDK";
8 description = "Google App State SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-blogger.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-blogger";
3 pname = "gogol-blogger";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Blogger SDK";
8 description = "Google Blogger SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-datastore.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-datastore";
3 pname = "gogol-datastore";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Cloud Datastore SDK";
8 description = "Google Cloud Datastore SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-dfareporting.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-dfareporting";
3 pname = "gogol-dfareporting";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google DCM/DFA Reporting And Trafficking SDK";
8 description = "Google DCM/DFA Reporting And Trafficking SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-firebase-rules.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-firebase-rules";
3 pname = "gogol-firebase-rules";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Firebase Rules SDK";
8 description = "Google Firebase Rules SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-gmail.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-gmail";
3 pname = "gogol-gmail";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Gmail SDK";
8 description = "Google Gmail SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-kgsearch.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-kgsearch";
3 pname = "gogol-kgsearch";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Knowledge Graph Search SDK";
8 description = "Google Knowledge Graph Search SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-maps-engine.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-maps-engine";
3 pname = "gogol-maps-engine";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Maps Engine SDK";
8 description = "Google Maps Engine SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-plus.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-plus";
3 pname = "gogol-plus";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google + SDK";
8 description = "Google + SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-resourceviews.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-resourceviews";
3 pname = "gogol-resourceviews";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Compute Engine Instance Groups SDK";
8 description = "Google Compute Engine Instance Groups SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-translate.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-translate";
3 pname = "gogol-translate";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Translate SDK";
8 description = "Google Translate SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-webmaster-tools.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-webmaster-tools";
3 pname = "gogol-webmaster-tools";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google Search Console SDK";
8 description = "Google Search Console SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/gogol-youtube.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, fetchurl, gogol-core }:
1+{ mkDerivation, base, gogol-core, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "gogol-youtube";
3 pname = "gogol-youtube";
4 version = "0.3.0";
4 version = "0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base gogol-core ];
6 libraryHaskellDepends = [ base gogol-core ];
10 homepage = "https://github.com/brendanhay/gogol";
7 homepage = "https://github.com/brendanhay/gogol";
11 description = "Google YouTube Data SDK";
8 description = "Google YouTube Data SDK";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/groundhog-mysql.nix.golden+4−7
@@ -1,18 +1,15 @@
1−{ mkDerivation, base, bytestring, containers, fetchurl, groundhog
1+{ mkDerivation, base, bytestring, containers, groundhog
2, monad-control, monad-logger, mysql, mysql-simple, resource-pool
2, monad-control, monad-logger, mysql, mysql-simple, resource-pool
3−, resourcet, text, time, transformers
3+, resourcet, stdenv, text, time, transformers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "groundhog-mysql";
6 pname = "groundhog-mysql";
7 version = "0.8";
7 version = "0.8";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base bytestring containers groundhog monad-control monad-logger
10 base bytestring containers groundhog monad-control monad-logger
14 mysql mysql-simple resource-pool resourcet text time transformers
11 mysql mysql-simple resource-pool resourcet text time transformers
15 ];
12 ];
16 description = "MySQL backend for the groundhog library";
13 description = "MySQL backend for the groundhog library";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/gsasl.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, bytestring, fetchurl, gsasl, transformers }:
1+{ mkDerivation, base, bytestring, gsasl, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "gsasl";
3 pname = "gsasl";
4 version = "0.3.6";
4 version = "0.3.6";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring transformers ];
6 libraryHaskellDepends = [ base bytestring transformers ];
10 libraryPkgconfigDepends = [ gsasl ];
7 libraryPkgconfigDepends = [ gsasl ];
11 homepage = "https://john-millikin.com/software/haskell-gsasl/";
8 homepage = "https://john-millikin.com/software/haskell-gsasl/";
12 description = "Bindings for GNU libgsasl";
9 description = "Bindings for GNU libgsasl";
13 license = stdenv.lib.licenses.gpl3;
10 license = stdenv.lib.licenses.gpl3;
14−}
11+}
test/golden-test-cases/hOpenPGP.nix.golden+4−7
@@ -2,20 +2,17 @@
2, base64-bytestring, bifunctors, binary, binary-conduit, byteable
2, base64-bytestring, bifunctors, binary, binary-conduit, byteable
3, bytestring, bzlib, conduit, conduit-extra, containers, criterion
3, bytestring, bzlib, conduit, conduit-extra, containers, criterion
4, crypto-cipher-types, cryptonite, data-default-class, errors
4, crypto-cipher-types, cryptonite, data-default-class, errors
5−, fetchurl, hashable, incremental-parser, ixset-typed, lens, memory
5+, hashable, incremental-parser, ixset-typed, lens, memory
6, monad-loops, nettle, network, network-uri, newtype
6, monad-loops, nettle, network, network-uri, newtype
7, openpgp-asciiarmor, QuickCheck, quickcheck-instances, resourcet
7, openpgp-asciiarmor, QuickCheck, quickcheck-instances, resourcet
8−, securemem, semigroups, split, tasty, tasty-hunit
8+, securemem, semigroups, split, stdenv, tasty, tasty-hunit
9, tasty-quickcheck, text, time, time-locale-compat, transformers
9, tasty-quickcheck, text, time, time-locale-compat, transformers
10, unordered-containers, wl-pprint-extras, zlib
10, unordered-containers, wl-pprint-extras, zlib
11}:
11}:
12mkDerivation {
12mkDerivation {
13 pname = "hOpenPGP";
13 pname = "hOpenPGP";
14 version = "2.5.5";
14 version = "2.5.5";
15− src = fetchurl {
16− url = "http://example.org/";
17− sha256 = "abc";
15+ sha256 = "deadbeef";
18− };
19 libraryHaskellDepends = [
16 libraryHaskellDepends = [
20 aeson attoparsec base base16-bytestring base64-bytestring
17 aeson attoparsec base base16-bytestring base64-bytestring
21 bifunctors binary binary-conduit byteable bytestring bzlib conduit
18 bifunctors binary binary-conduit byteable bytestring bzlib conduit
@@ -49,4 +46,4 @@ mkDerivation {
49 homepage = "http://floss.scru.org/hOpenPGP/";
46 homepage = "http://floss.scru.org/hOpenPGP/";
50 description = "native Haskell implementation of OpenPGP (RFC4880)";
47 description = "native Haskell implementation of OpenPGP (RFC4880)";
51 license = stdenv.lib.licenses.mit;
48 license = stdenv.lib.licenses.mit;
52−}
49+}
test/golden-test-cases/hPDB-examples.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
1{ mkDerivation, AC-Vector, base, bytestring, containers, deepseq
2−, directory, fetchurl, ghc-prim, GLUT, hPDB, IfElse, iterable, mtl
2+, directory, ghc-prim, GLUT, hPDB, IfElse, iterable, mtl, Octree
3−, Octree, OpenGL, process, QuickCheck, template-haskell, text
3+, OpenGL, process, QuickCheck, stdenv, template-haskell, text
4, text-format, time, vector
4, text-format, time, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "hPDB-examples";
7 pname = "hPDB-examples";
8 version = "1.2.0.8";
8 version = "1.2.0.8";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = false;
10 isLibrary = false;
14 isExecutable = true;
11 isExecutable = true;
15 executableHaskellDepends = [
12 executableHaskellDepends = [
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "https://github.com/BioHaskell/hPDB-examples";
21 homepage = "https://github.com/BioHaskell/hPDB-examples";
25 description = "Examples for hPDB library";
22 description = "Examples for hPDB library";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/haddock-library.cabalnew file+130
@@ -0,0 +1,130 @@
1+name: haddock-library
2+version: 1.4.5
3+synopsis: Library exposing some functionality of Haddock.
4+description: Haddock is a documentation-generation tool for Haskell
5+ libraries. These modules expose some functionality of it
6+ without pulling in the GHC dependency. Please note that the
7+ API is likely to change so specify upper bounds in your
8+ project if you can't release often. For interacting with Haddock
9+ itself, see the ‘haddock’ package.
10+license: BSD3
11+license-file: LICENSE
12+maintainer: Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
13+homepage: http://www.haskell.org/haddock/
14+bug-reports: https://github.com/haskell/haddock/issues
15+category: Documentation
16+build-type: Simple
17+cabal-version: >= 2.0
18+extra-source-files:
19+ CHANGES.md
20+library
21+ default-language: Haskell2010
22+
23+ build-depends:
24+ base >= 4.5 && < 4.11
25+ , bytestring >= 0.9.2.1 && < 0.11
26+ , transformers >= 0.3.0 && < 0.6
27+
28+ -- internal sub-lib
29+ build-depends: attoparsec
30+
31+ hs-source-dirs: src
32+ ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
33+
34+ exposed-modules:
35+ Documentation.Haddock.Doc
36+ Documentation.Haddock.Markup
37+ Documentation.Haddock.Parser
38+ Documentation.Haddock.Parser.Monad
39+ Documentation.Haddock.Types
40+ Documentation.Haddock.Utf8
41+
42+ other-modules:
43+ Documentation.Haddock.Parser.Util
44+
45+ ghc-options: -Wall
46+ if impl(ghc >= 8.0)
47+ ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
48+
49+library attoparsec
50+ default-language: Haskell2010
51+
52+ build-depends:
53+ base >= 4.5 && < 4.11
54+ , bytestring >= 0.9.2.1 && < 0.11
55+ , deepseq >= 1.3 && < 1.5
56+
57+ hs-source-dirs: vendor/attoparsec-0.13.1.0
58+
59+ -- NB: haddock-library needs only small part of lib:attoparsec
60+ -- internally, so we only bundle that subset here
61+ exposed-modules:
62+ Data.Attoparsec.ByteString
63+ Data.Attoparsec.ByteString.Char8
64+
65+ other-modules:
66+ Data.Attoparsec
67+ Data.Attoparsec.ByteString.Buffer
68+ Data.Attoparsec.ByteString.FastSet
69+ Data.Attoparsec.ByteString.Internal
70+ Data.Attoparsec.Combinator
71+ Data.Attoparsec.Internal
72+ Data.Attoparsec.Internal.Fhthagn
73+ Data.Attoparsec.Internal.Types
74+ Data.Attoparsec.Number
75+
76+ ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
77+
78+ ghc-options: -Wall
79+ if impl(ghc >= 8.0)
80+ ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
81+ else
82+ build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
83+
84+
85+test-suite spec
86+ type: exitcode-stdio-1.0
87+ default-language: Haskell2010
88+ main-is: Spec.hs
89+ hs-source-dirs:
90+ test
91+ , src
92+ ghc-options: -Wall
93+
94+ cpp-options:
95+ -DTEST
96+
97+ other-modules:
98+ Documentation.Haddock.Doc
99+ Documentation.Haddock.Parser
100+ Documentation.Haddock.Parser.Monad
101+ Documentation.Haddock.Parser.Util
102+ Documentation.Haddock.Parser.UtilSpec
103+ Documentation.Haddock.ParserSpec
104+ Documentation.Haddock.Types
105+ Documentation.Haddock.Utf8
106+ Documentation.Haddock.Utf8Spec
107+
108+ build-depends:
109+ base-compat ^>= 0.9.3
110+ , transformers >= 0.3.0 && < 0.6
111+ , hspec ^>= 2.4.4
112+ , QuickCheck ^>= 2.10
113+
114+ -- internal sub-lib
115+ build-depends: attoparsec
116+
117+ -- Versions for the dependencies below are transitively pinned by
118+ -- dependency on haddock-library:lib:attoparsec
119+ build-depends:
120+ base
121+ , bytestring
122+ , deepseq
123+
124+ build-tool-depends:
125+ hspec-discover:hspec-discover ^>= 2.4.4
126+
127+source-repository head
128+ type: git
129+ subdir: haddock-library
130+ location: https://github.com/haskell/haddock.git
test/golden-test-cases/haddock-library.nix.goldennew file+17
@@ -0,0 +1,17 @@
1+{ mkDerivation, base, base-compat, bytestring, deepseq, hspec
2+, hspec-discover, QuickCheck, stdenv, transformers
3+}:
4+mkDerivation {
5+ pname = "haddock-library";
6+ version = "1.4.5";
7+ sha256 = "deadbeef";
8+ libraryHaskellDepends = [ base bytestring deepseq transformers ];
9+ testHaskellDepends = [
10+ base base-compat bytestring deepseq hspec QuickCheck transformers
11+ ];
12+ testToolDepends = [ hspec-discover ];
13+ doHaddock = false;
14+ homepage = "http://www.haskell.org/haddock/";
15+ description = "Library exposing some functionality of Haddock";
16+ license = stdenv.lib.licenses.bsd3;
17+}
test/golden-test-cases/hakyll.nix.golden+6−9
@@ -1,20 +1,17 @@
1{ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
1{ mkDerivation, base, binary, blaze-html, blaze-markup, bytestring
2, containers, cryptohash, data-default, deepseq, directory
2, containers, cryptohash, data-default, deepseq, directory
3−, fetchurl, filepath, fsnotify, http-conduit, http-types, lrucache
3+, filepath, fsnotify, http-conduit, http-types, lrucache, mtl
4−, mtl, network, network-uri, optparse-applicative, pandoc
4+, network, network-uri, optparse-applicative, pandoc
5, pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
5, pandoc-citeproc, parsec, process, QuickCheck, random, regex-base
6−, regex-tdfa, resourcet, scientific, system-filepath, tagsoup
6+, regex-tdfa, resourcet, scientific, stdenv, system-filepath
7−, tasty, tasty-hunit, tasty-quickcheck, text, time
7+, tagsoup, tasty, tasty-hunit, tasty-quickcheck, text, time
8, time-locale-compat, unordered-containers, utillinux, vector, wai
8, time-locale-compat, unordered-containers, utillinux, vector, wai
9, wai-app-static, warp, yaml
9, wai-app-static, warp, yaml
10}:
10}:
11mkDerivation {
11mkDerivation {
12 pname = "hakyll";
12 pname = "hakyll";
13 version = "4.10.0.0";
13 version = "4.10.0.0";
14− src = fetchurl {
15− url = "http://example.org/";
16− sha256 = "abc";
14+ sha256 = "deadbeef";
17− };
18 isLibrary = true;
15 isLibrary = true;
19 isExecutable = true;
16 isExecutable = true;
20 enableSeparateDataOutput = true;
17 enableSeparateDataOutput = true;
@@ -42,4 +39,4 @@ mkDerivation {
42 homepage = "http://jaspervdj.be/hakyll";
39 homepage = "http://jaspervdj.be/hakyll";
43 description = "A static website compiler library";
40 description = "A static website compiler library";
44 license = stdenv.lib.licenses.bsd3;
41 license = stdenv.lib.licenses.bsd3;
45−}
42+}
test/golden-test-cases/happstack-hsp.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, happstack-server, harp
1+{ mkDerivation, base, bytestring, happstack-server, harp, hsp
2−, hsp, hsx2hs, mtl, syb, text, utf8-string
2+, hsx2hs, mtl, stdenv, syb, text, utf8-string
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "happstack-hsp";
5 pname = "happstack-hsp";
6 version = "7.3.7.3";
6 version = "7.3.7.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring happstack-server harp hsp hsx2hs mtl syb text
9 base bytestring happstack-server harp hsp hsx2hs mtl syb text
13 utf8-string
10 utf8-string
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://www.happstack.com/";
12 homepage = "http://www.happstack.com/";
16 description = "Support for using HSP templates in Happstack";
13 description = "Support for using HSP templates in Happstack";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/happy.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, Cabal, containers, directory, fetchurl
1+{ mkDerivation, array, base, Cabal, containers, directory, filepath
2−, filepath, mtl, process
2+, mtl, process, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "happy";
5 pname = "happy";
6 version = "1.19.8";
6 version = "1.19.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = false;
8 isLibrary = false;
12 isExecutable = true;
9 isExecutable = true;
13 setupHaskellDepends = [ base Cabal directory filepath ];
10 setupHaskellDepends = [ base Cabal directory filepath ];
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://www.haskell.org/happy/";
13 homepage = "https://www.haskell.org/happy/";
17 description = "Happy is a parser generator for Haskell";
14 description = "Happy is a parser generator for Haskell";
18 license = stdenv.lib.licenses.bsd2;
15 license = stdenv.lib.licenses.bsd2;
19−}
16+}
test/golden-test-cases/harp.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "harp";
3 pname = "harp";
4 version = "0.4.3";
4 version = "0.4.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/seereason/harp";
7 homepage = "https://github.com/seereason/harp";
11 description = "HaRP allows pattern-matching with regular expressions";
8 description = "HaRP allows pattern-matching with regular expressions";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/hashtables.nix.golden+3−7
@@ -1,17 +1,13 @@
1−{ mkDerivation, base, fetchurl, ghc-prim, hashable, primitive
1+{ mkDerivation, base, ghc-prim, hashable, primitive, stdenv, vector
2−, vector
3}:
2}:
4mkDerivation {
3mkDerivation {
5 pname = "hashtables";
4 pname = "hashtables";
6 version = "1.2.2.1";
5 version = "1.2.2.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
6+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
7 libraryHaskellDepends = [
12 base ghc-prim hashable primitive vector
8 base ghc-prim hashable primitive vector
13 ];
9 ];
14 homepage = "http://github.com/gregorycollins/hashtables";
10 homepage = "http://github.com/gregorycollins/hashtables";
15 description = "Mutable hash tables in the ST monad";
11 description = "Mutable hash tables in the ST monad";
16 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
17−}
13+}
test/golden-test-cases/haskell-tools-debug.nix.golden+6−9
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, fetchurl, filepath, ghc, ghc-paths
1+{ mkDerivation, base, filepath, ghc, ghc-paths, haskell-tools-ast
2−, haskell-tools-ast, haskell-tools-backend-ghc
3−, haskell-tools-builtin-refactorings, haskell-tools-prettyprint
2+, haskell-tools-backend-ghc, haskell-tools-builtin-refactorings
4−, haskell-tools-refactor, references, split, template-haskell
3+, haskell-tools-prettyprint, haskell-tools-refactor, references
4+, split, stdenv, template-haskell
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "haskell-tools-debug";
7 pname = "haskell-tools-debug";
8 version = "1.0.0.3";
8 version = "1.0.0.3";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "https://github.com/haskell-tools/haskell-tools";
19 homepage = "https://github.com/haskell-tools/haskell-tools";
23 description = "Debugging Tools for Haskell-tools";
20 description = "Debugging Tools for Haskell-tools";
24 license = stdenv.lib.licenses.bsd3;
21 license = stdenv.lib.licenses.bsd3;
25−}
22+}
test/golden-test-cases/haskell-tools-rewrite.nix.golden+5−8
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, containers, directory, fetchurl, filepath
1+{ mkDerivation, base, containers, directory, filepath, ghc
2−, ghc, haskell-tools-ast, haskell-tools-prettyprint, mtl
2+, haskell-tools-ast, haskell-tools-prettyprint, mtl, references
3−, references, tasty, tasty-hunit
3+, stdenv, tasty, tasty-hunit
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "haskell-tools-rewrite";
6 pname = "haskell-tools-rewrite";
7 version = "1.0.0.3";
7 version = "1.0.0.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
10 base containers ghc haskell-tools-ast haskell-tools-prettyprint mtl
14 references
11 references
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/haskell-tools/haskell-tools";
17 homepage = "https://github.com/haskell-tools/haskell-tools";
21 description = "Facilities for generating new parts of the Haskell-Tools AST";
18 description = "Facilities for generating new parts of the Haskell-Tools AST";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/hasql.nix.golden+7−10
@@ -1,18 +1,15 @@
1{ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
1{ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
2, bytestring-strict-builder, contravariant, contravariant-extras
2, bytestring-strict-builder, contravariant, contravariant-extras
3−, criterion, data-default-class, dlist, fetchurl, hashable
3+, criterion, data-default-class, dlist, hashable, hashtables
4−, hashtables, loch-th, mtl, placeholders, postgresql-binary
4+, loch-th, mtl, placeholders, postgresql-binary, postgresql-libpq
5−, postgresql-libpq, profunctors, QuickCheck, quickcheck-instances
5+, profunctors, QuickCheck, quickcheck-instances, rebase, rerebase
6−, rebase, rerebase, semigroups, tasty, tasty-hunit
6+, semigroups, stdenv, tasty, tasty-hunit, tasty-quickcheck, text
7−, tasty-quickcheck, text, transformers, vector
7+, transformers, vector
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "hasql";
10 pname = "hasql";
11 version = "1.1.1";
11 version = "1.1.1";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 libraryHaskellDepends = [
13 libraryHaskellDepends = [
17 attoparsec base base-prelude bytestring bytestring-strict-builder
14 attoparsec base base-prelude bytestring bytestring-strict-builder
18 contravariant contravariant-extras data-default-class dlist
15 contravariant contravariant-extras data-default-class dlist
@@ -27,4 +24,4 @@ mkDerivation {
27 homepage = "https://github.com/nikita-volkov/hasql";
24 homepage = "https://github.com/nikita-volkov/hasql";
28 description = "An efficient PostgreSQL driver and a flexible mapping API";
25 description = "An efficient PostgreSQL driver and a flexible mapping API";
29 license = stdenv.lib.licenses.mit;
26 license = stdenv.lib.licenses.mit;
30−}
27+}
test/golden-test-cases/hformat.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, ansi-terminal, base, base-unicode-symbols, fetchurl
1+{ mkDerivation, ansi-terminal, base, base-unicode-symbols, hspec
2−, hspec, text
2+, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "hformat";
5 pname = "hformat";
6 version = "0.3.1.0";
6 version = "0.3.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 ansi-terminal base base-unicode-symbols text
9 ansi-terminal base base-unicode-symbols text
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://github.com/mvoidex/hformat";
12 homepage = "http://github.com/mvoidex/hformat";
16 description = "Simple Haskell formatting";
13 description = "Simple Haskell formatting";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/highlighting-kate.nix.golden+6−8
@@ -1,18 +1,16 @@
1−{ mkDerivation, base, blaze-html, containers, Diff, directory
1+{ mkDerivation, base, blaze-html, bytestring, containers, Diff
2−, fetchurl, filepath, mtl, parsec, process, regex-pcre-builtin
2+, directory, filepath, mtl, parsec, pcre-light, process, stdenv
3, utf8-string
3, utf8-string
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "highlighting-kate";
6 pname = "highlighting-kate";
7 version = "0.6.4";
7 version = "0.6.4";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
9+ configureFlags = [ "-fpcre-light" ];
12 isLibrary = true;
10 isLibrary = true;
13 isExecutable = true;
11 isExecutable = true;
14 libraryHaskellDepends = [
12 libraryHaskellDepends = [
15− base blaze-html containers mtl parsec regex-pcre-builtin
13+ base blaze-html bytestring containers mtl parsec pcre-light
16 utf8-string
14 utf8-string
17 ];
15 ];
18 testHaskellDepends = [
16 testHaskellDepends = [
@@ -21,4 +19,4 @@ mkDerivation {
21 homepage = "http://github.com/jgm/highlighting-kate";
19 homepage = "http://github.com/jgm/highlighting-kate";
22 description = "Syntax highlighting";
20 description = "Syntax highlighting";
23 license = "GPL";
21 license = "GPL";
24−}
22+}
test/golden-test-cases/hit.nix.golden+5−9
@@ -1,16 +1,12 @@
1{ mkDerivation, attoparsec, base, byteable, bytedump, bytestring
1{ mkDerivation, attoparsec, base, byteable, bytedump, bytestring
2−, containers, cryptohash, fetchurl, hourglass, mtl, parsec
2+, containers, cryptohash, hourglass, mtl, parsec, patience, random
3−, patience, random, system-fileio, system-filepath, tasty
3+, stdenv, system-fileio, system-filepath, tasty, tasty-quickcheck
4−, tasty-quickcheck, unix-compat, utf8-string, vector, zlib
4+, unix-compat, utf8-string, vector, zlib, zlib-bindings
5−, zlib-bindings
6}:
5}:
7mkDerivation {
6mkDerivation {
8 pname = "hit";
7 pname = "hit";
9 version = "0.6.3";
8 version = "0.6.3";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
9+ sha256 = "deadbeef";
13− };
14 isLibrary = true;
10 isLibrary = true;
15 isExecutable = true;
11 isExecutable = true;
16 enableSeparateDataOutput = true;
12 enableSeparateDataOutput = true;
@@ -25,4 +21,4 @@ mkDerivation {
25 homepage = "http://github.com/vincenthz/hit";
21 homepage = "http://github.com/vincenthz/hit";
26 description = "Git operations in haskell";
22 description = "Git operations in haskell";
27 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
28−}
24+}
test/golden-test-cases/hjson.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, fetchurl, parsec }:
1+{ mkDerivation, base, containers, parsec, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hjson";
3 pname = "hjson";
4 version = "1.3.2";
4 version = "1.3.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers parsec ];
6 libraryHaskellDepends = [ base containers parsec ];
10 description = "JSON parsing library";
7 description = "JSON parsing library";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/hmpfr.nix.golden+3−6
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, fetchurl, integer-gmp, mpfr }:
1+{ mkDerivation, base, integer-gmp, mpfr, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hmpfr";
3 pname = "hmpfr";
4 version = "0.4.3";
4 version = "0.4.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 enableSeparateDataOutput = true;
6 enableSeparateDataOutput = true;
10 libraryHaskellDepends = [ base integer-gmp ];
7 libraryHaskellDepends = [ base integer-gmp ];
11 librarySystemDepends = [ mpfr ];
8 librarySystemDepends = [ mpfr ];
12 homepage = "https://github.com/michalkonecny/hmpfr";
9 homepage = "https://github.com/michalkonecny/hmpfr";
13 description = "Haskell binding to the MPFR library";
10 description = "Haskell binding to the MPFR library";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/hoogle.nix.golden+5−8
@@ -1,18 +1,15 @@
1{ mkDerivation, aeson, base, binary, bytestring, cmdargs, conduit
1{ mkDerivation, aeson, base, binary, bytestring, cmdargs, conduit
2, conduit-extra, connection, containers, deepseq, directory, extra
2, conduit-extra, connection, containers, deepseq, directory, extra
3−, fetchurl, filepath, haskell-src-exts, http-conduit, http-types
3+, filepath, haskell-src-exts, http-conduit, http-types, js-flot
4−, js-flot, js-jquery, mmap, network, network-uri, old-locale
4+, js-jquery, mmap, network, network-uri, old-locale, process
5−, process, process-extras, QuickCheck, resourcet, storable-tuple
5+, process-extras, QuickCheck, resourcet, stdenv, storable-tuple
6, tar, template-haskell, text, time, transformers, uniplate
6, tar, template-haskell, text, time, transformers, uniplate
7, utf8-string, vector, wai, wai-logger, warp, warp-tls, zlib
7, utf8-string, vector, wai, wai-logger, warp, warp-tls, zlib
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "hoogle";
10 pname = "hoogle";
11 version = "5.0.14";
11 version = "5.0.14";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 isLibrary = true;
13 isLibrary = true;
17 isExecutable = true;
14 isExecutable = true;
18 enableSeparateDataOutput = true;
15 enableSeparateDataOutput = true;
@@ -30,4 +27,4 @@ mkDerivation {
30 homepage = "http://hoogle.haskell.org/";
27 homepage = "http://hoogle.haskell.org/";
31 description = "Haskell API Search";
28 description = "Haskell API Search";
32 license = stdenv.lib.licenses.bsd3;
29 license = stdenv.lib.licenses.bsd3;
33−}
30+}
test/golden-test-cases/hostname-validate.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, attoparsec, base, bytestring, fetchurl }:
1+{ mkDerivation, attoparsec, base, bytestring, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hostname-validate";
3 pname = "hostname-validate";
4 version = "1.0.0";
4 version = "1.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ attoparsec base bytestring ];
6 libraryHaskellDepends = [ attoparsec base bytestring ];
10 description = "Validate hostnames e.g. localhost or foo.co.uk.";
7 description = "Validate hostnames e.g. localhost or foo.co.uk.";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/hsinstall.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, directory, fetchurl, filepath }:
1+{ mkDerivation, base, directory, filepath, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hsinstall";
3 pname = "hsinstall";
4 version = "1.6";
4 version = "1.6";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 enableSeparateDataOutput = true;
8 enableSeparateDataOutput = true;
@@ -13,4 +10,4 @@ mkDerivation {
13 executableHaskellDepends = [ base directory filepath ];
10 executableHaskellDepends = [ base directory filepath ];
14 description = "Install Haskell software";
11 description = "Install Haskell software";
15 license = stdenv.lib.licenses.isc;
12 license = stdenv.lib.licenses.isc;
16−}
13+}
test/golden-test-cases/hstatsd.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, mtl, network, text }:
1+{ mkDerivation, base, bytestring, mtl, network, stdenv, text }:
2mkDerivation {
2mkDerivation {
3 pname = "hstatsd";
3 pname = "hstatsd";
4 version = "0.1";
4 version = "0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring mtl network text ];
6 libraryHaskellDepends = [ base bytestring mtl network text ];
10 homepage = "https://github.com/mokus0/hstatsd";
7 homepage = "https://github.com/mokus0/hstatsd";
11 description = "Quick and dirty statsd interface";
8 description = "Quick and dirty statsd interface";
12 license = stdenv.lib.licenses.publicDomain;
9 license = stdenv.lib.licenses.publicDomain;
13−}
10+}
test/golden-test-cases/hsx-jmacro.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, hsp, jmacro, mtl, text
1+{ mkDerivation, base, hsp, jmacro, mtl, stdenv, text
2, wl-pprint-text
2, wl-pprint-text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "hsx-jmacro";
5 pname = "hsx-jmacro";
6 version = "7.3.8";
6 version = "7.3.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base hsp jmacro mtl text wl-pprint-text
9 base hsp jmacro mtl text wl-pprint-text
13 ];
10 ];
14 homepage = "http://www.happstack.com/";
11 homepage = "http://www.happstack.com/";
15 description = "hsp+jmacro support";
12 description = "hsp+jmacro support";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/hsyslog.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, Cabal, cabal-doctest, doctest, fetchurl }:
1+{ mkDerivation, base, Cabal, cabal-doctest, doctest, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hsyslog";
3 pname = "hsyslog";
4 version = "5.0.1";
4 version = "5.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 setupHaskellDepends = [ base Cabal cabal-doctest ];
8 setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -14,4 +11,4 @@ mkDerivation {
14 homepage = "http://github.com/peti/hsyslog";
11 homepage = "http://github.com/peti/hsyslog";
15 description = "FFI interface to syslog(3) from POSIX.1-2001";
12 description = "FFI interface to syslog(3) from POSIX.1-2001";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/htoml.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, aeson, base, bytestring, containers, criterion
1{ mkDerivation, aeson, base, bytestring, containers, criterion
2−, fetchurl, file-embed, old-locale, parsec, tasty, tasty-hspec
2+, file-embed, old-locale, parsec, stdenv, tasty, tasty-hspec
3, tasty-hunit, text, time, unordered-containers, vector
3, tasty-hunit, text, time, unordered-containers, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "htoml";
6 pname = "htoml";
7 version = "1.0.0.3";
7 version = "1.0.0.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson base containers old-locale parsec text time
10 aeson base containers old-locale parsec text time
14 unordered-containers vector
11 unordered-containers vector
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "https://github.com/cies/htoml";
21 homepage = "https://github.com/cies/htoml";
25 description = "Parser for TOML files";
22 description = "Parser for TOML files";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/http-conduit.nix.golden+6−8
@@ -1,17 +1,15 @@
1{ mkDerivation, aeson, base, blaze-builder, bytestring
1{ mkDerivation, aeson, base, blaze-builder, bytestring
2, case-insensitive, conduit, conduit-extra, connection, cookie
2, case-insensitive, conduit, conduit-extra, connection, cookie
3−, data-default-class, exceptions, fetchurl, hspec, http-client
3+, data-default-class, exceptions, hspec, http-client
4, http-client-tls, http-types, HUnit, lifted-base, monad-control
4, http-client-tls, http-types, HUnit, lifted-base, monad-control
5−, mtl, network, resourcet, streaming-commons, temporary, text, time
5+, mtl, network, resourcet, stdenv, streaming-commons, temporary
6−, transformers, utf8-string, wai, wai-conduit, warp, warp-tls
6+, text, time, transformers, utf8-string, wai, wai-conduit, warp
7+, warp-tls
7}:
8}:
8mkDerivation {
9mkDerivation {
9 pname = "http-conduit";
10 pname = "http-conduit";
10 version = "2.2.4";
11 version = "2.2.4";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
12+ sha256 = "deadbeef";
14− };
15 libraryHaskellDepends = [
13 libraryHaskellDepends = [
16 aeson base bytestring conduit conduit-extra exceptions http-client
14 aeson base bytestring conduit conduit-extra exceptions http-client
17 http-client-tls http-types lifted-base monad-control mtl resourcet
15 http-client-tls http-types lifted-base monad-control mtl resourcet
@@ -28,4 +26,4 @@ mkDerivation {
28 homepage = "http://www.yesodweb.com/book/http-conduit";
26 homepage = "http://www.yesodweb.com/book/http-conduit";
29 description = "HTTP client package with conduit interface and HTTPS support";
27 description = "HTTP client package with conduit interface and HTTPS support";
30 license = stdenv.lib.licenses.bsd3;
28 license = stdenv.lib.licenses.bsd3;
31−}
29+}
test/golden-test-cases/http-link-header.nix.golden+5−7
@@ -1,14 +1,12 @@
1{ mkDerivation, attoparsec, base, bytestring, bytestring-conversion
1{ mkDerivation, attoparsec, base, bytestring, bytestring-conversion
2−, criterion, directory, errors, fetchurl, hspec, hspec-attoparsec
2+, criterion, directory, errors, hspec, hspec-attoparsec
3−, http-api-data, network-uri, QuickCheck, text, transformers
3+, http-api-data, network-uri, QuickCheck, stdenv, text
4+, transformers
4}:
5}:
5mkDerivation {
6mkDerivation {
6 pname = "http-link-header";
7 pname = "http-link-header";
7 version = "1.0.3";
8 version = "1.0.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
9+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
10 libraryHaskellDepends = [
13 attoparsec base bytestring bytestring-conversion errors
11 attoparsec base bytestring bytestring-conversion errors
14 http-api-data network-uri text
12 http-api-data network-uri text
@@ -22,4 +20,4 @@ mkDerivation {
22 homepage = "https://github.com/myfreeweb/http-link-header";
20 homepage = "https://github.com/myfreeweb/http-link-header";
23 description = "A parser and writer for the HTTP Link header as specified in RFC 5988 \"Web Linking\"";
21 description = "A parser and writer for the HTTP Link header as specified in RFC 5988 \"Web Linking\"";
24 license = stdenv.lib.licenses.publicDomain;
22 license = stdenv.lib.licenses.publicDomain;
25−}
23+}
test/golden-test-cases/http-media.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, case-insensitive, containers
1{ mkDerivation, base, bytestring, case-insensitive, containers
2−, fetchurl, QuickCheck, test-framework, test-framework-quickcheck2
2+, QuickCheck, stdenv, test-framework, test-framework-quickcheck2
3, utf8-string
3, utf8-string
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "http-media";
6 pname = "http-media";
7 version = "0.7.1.1";
7 version = "0.7.1.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base bytestring case-insensitive containers utf8-string
10 base bytestring case-insensitive containers utf8-string
14 ];
11 ];
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/zmthy/http-media";
16 homepage = "https://github.com/zmthy/http-media";
20 description = "Processing HTTP Content-Type and Accept headers";
17 description = "Processing HTTP Content-Type and Accept headers";
21 license = stdenv.lib.licenses.mit;
18 license = stdenv.lib.licenses.mit;
22−}
19+}
test/golden-test-cases/hxt-charproperties.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hxt-charproperties";
3 pname = "hxt-charproperties";
4 version = "9.2.0.1";
4 version = "9.2.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/UweSchmidt/hxt";
7 homepage = "https://github.com/UweSchmidt/hxt";
11 description = "Character properties and classes for XML and Unicode";
8 description = "Character properties and classes for XML and Unicode";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/hxt-expat.nix.golden+4−6
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, bytestring, fetchurl, hexpat, hxt }:
1+{ mkDerivation, base, bytestring, hexpat, hxt, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "hxt-expat";
3 pname = "hxt-expat";
4 version = "9.1.1";
4 version = "9.1.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring hexpat hxt ];
6 libraryHaskellDepends = [ base bytestring hexpat hxt ];
10 homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
7 homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
11 description = "Expat parser for HXT";
8 description = "Expat parser for HXT";
12 license = "unknown";
9 license = "unknown";
10+ hydraPlatforms = stdenv.lib.platforms.none;
13−}
11+}
test/golden-test-cases/hxt-tagsoup.nix.golden+5−7
@@ -1,17 +1,15 @@
1−{ mkDerivation, base, fetchurl, hxt, hxt-charproperties
1+{ mkDerivation, base, hxt, hxt-charproperties, hxt-unicode, stdenv
2−, hxt-unicode, tagsoup
2+, tagsoup
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "hxt-tagsoup";
5 pname = "hxt-tagsoup";
6 version = "9.1.4";
6 version = "9.1.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base hxt hxt-charproperties hxt-unicode tagsoup
9 base hxt hxt-charproperties hxt-unicode tagsoup
13 ];
10 ];
14 homepage = "https://github.com/UweSchmidt/hxt";
11 homepage = "https://github.com/UweSchmidt/hxt";
15 description = "TagSoup parser for HXT";
12 description = "TagSoup parser for HXT";
16 license = "unknown";
13 license = "unknown";
14+ hydraPlatforms = stdenv.lib.platforms.none;
17−}
15+}
test/golden-test-cases/iconv.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, bytestring, fetchurl }:
1+{ mkDerivation, base, bytestring, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "iconv";
3 pname = "iconv";
4 version = "0.4.1.3";
4 version = "0.4.1.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring ];
6 libraryHaskellDepends = [ base bytestring ];
10 description = "String encoding conversion";
7 description = "String encoding conversion";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/incremental-parser.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, checkers, criterion, deepseq
1{ mkDerivation, base, bytestring, checkers, criterion, deepseq
2−, fetchurl, monoid-subclasses, QuickCheck, tasty, tasty-quickcheck
2+, monoid-subclasses, QuickCheck, stdenv, tasty, tasty-quickcheck
3, text
3, text
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "incremental-parser";
6 pname = "incremental-parser";
7 version = "0.2.5.2";
7 version = "0.2.5.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [ base monoid-subclasses ];
9 libraryHaskellDepends = [ base monoid-subclasses ];
13 testHaskellDepends = [
10 testHaskellDepends = [
14 base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
11 base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/blamario/incremental-parser";
16 homepage = "https://github.com/blamario/incremental-parser";
20 description = "Generic parser library capable of providing partial results from partial input";
17 description = "Generic parser library capable of providing partial results from partial input";
21 license = "GPL";
18 license = "GPL";
22−}
19+}
test/golden-test-cases/indentation-core.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, mtl }:
1+{ mkDerivation, base, mtl, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "indentation-core";
3 pname = "indentation-core";
4 version = "0.0.0.1";
4 version = "0.0.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base mtl ];
6 libraryHaskellDepends = [ base mtl ];
10 homepage = "https://bitbucket.org/adamsmd/indentation";
7 homepage = "https://bitbucket.org/adamsmd/indentation";
11 description = "Indentation sensitive parsing combinators core library";
8 description = "Indentation sensitive parsing combinators core library";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/indentation-parsec.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, fetchurl, indentation-core, mtl, parsec
1+{ mkDerivation, base, indentation-core, mtl, parsec, stdenv, tasty
2−, tasty, tasty-hunit
2+, tasty-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "indentation-parsec";
5 pname = "indentation-parsec";
6 version = "0.0.0.1";
6 version = "0.0.0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base indentation-core mtl parsec ];
8 libraryHaskellDepends = [ base indentation-core mtl parsec ];
12 testHaskellDepends = [ base parsec tasty tasty-hunit ];
9 testHaskellDepends = [ base parsec tasty tasty-hunit ];
13 homepage = "https://bitbucket.org/adamsmd/indentation";
10 homepage = "https://bitbucket.org/adamsmd/indentation";
14 description = "Indentation sensitive parsing combinators for Parsec";
11 description = "Indentation sensitive parsing combinators for Parsec";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/inline-c-cpp.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, hspec, inline-c, safe-exceptions
1+{ mkDerivation, base, hspec, inline-c, safe-exceptions, stdenv
2, template-haskell
2, template-haskell
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "inline-c-cpp";
5 pname = "inline-c-cpp";
6 version = "0.2.1.0";
6 version = "0.2.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base inline-c safe-exceptions template-haskell
9 base inline-c safe-exceptions template-haskell
13 ];
10 ];
14 testHaskellDepends = [ base hspec inline-c safe-exceptions ];
11 testHaskellDepends = [ base hspec inline-c safe-exceptions ];
15 description = "Lets you embed C++ code into Haskell";
12 description = "Lets you embed C++ code into Haskell";
16 license = stdenv.lib.licenses.mit;
13 license = stdenv.lib.licenses.mit;
17−}
14+}
test/golden-test-cases/integer-logarithms.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, array, base, fetchurl, ghc-prim, integer-gmp
1+{ mkDerivation, array, base, ghc-prim, integer-gmp, QuickCheck
2−, QuickCheck, smallcheck, tasty, tasty-hunit, tasty-quickcheck
2+, smallcheck, stdenv, tasty, tasty-hunit, tasty-quickcheck
3, tasty-smallcheck
3, tasty-smallcheck
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "integer-logarithms";
6 pname = "integer-logarithms";
7 version = "1.0.2";
7 version = "1.0.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
9 libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
13 testHaskellDepends = [
10 testHaskellDepends = [
14 base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
11 base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/phadej/integer-logarithms";
14 homepage = "https://github.com/phadej/integer-logarithms";
18 description = "Integer logarithms";
15 description = "Integer logarithms";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/intero.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, array, base, bytestring, containers, directory
1{ mkDerivation, array, base, bytestring, containers, directory
2−, fetchurl, filepath, ghc, ghc-boot-th, ghc-paths, ghci, haskeline
2+, filepath, ghc, ghc-boot-th, ghc-paths, ghci, haskeline, hspec
3−, hspec, process, regex-compat, syb, temporary, time, transformers
3+, process, regex-compat, stdenv, syb, temporary, time, transformers
4, unix
4, unix
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "intero";
7 pname = "intero";
8 version = "0.1.24";
8 version = "0.1.24";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = false;
10 isLibrary = false;
14 isExecutable = true;
11 isExecutable = true;
15 enableSeparateDataOutput = true;
12 enableSeparateDataOutput = true;
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "https://github.com/commercialhaskell/intero";
21 homepage = "https://github.com/commercialhaskell/intero";
25 description = "Complete interactive development program for Haskell";
22 description = "Complete interactive development program for Haskell";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/invariant.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, array, base, bifunctors, comonad, containers
1{ mkDerivation, array, base, bifunctors, comonad, containers
2−, contravariant, fetchurl, ghc-prim, hspec, profunctors, QuickCheck
2+, contravariant, ghc-prim, hspec, profunctors, QuickCheck
3−, semigroups, StateVar, stm, tagged, template-haskell
3+, semigroups, StateVar, stdenv, stm, tagged, template-haskell
4, th-abstraction, transformers, transformers-compat
4, th-abstraction, transformers, transformers-compat
5, unordered-containers
5, unordered-containers
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "invariant";
8 pname = "invariant";
9 version = "0.5";
9 version = "0.5";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 array base bifunctors comonad containers contravariant ghc-prim
12 array base bifunctors comonad containers contravariant ghc-prim
16 profunctors semigroups StateVar stm tagged template-haskell
13 profunctors semigroups StateVar stm tagged template-haskell
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/nfrisby/invariant-functors";
18 homepage = "https://github.com/nfrisby/invariant-functors";
22 description = "Haskell98 invariant functors";
19 description = "Haskell98 invariant functors";
23 license = stdenv.lib.licenses.bsd2;
20 license = stdenv.lib.licenses.bsd2;
24−}
21+}
test/golden-test-cases/io-machine.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, time }:
1+{ mkDerivation, base, stdenv, time }:
2mkDerivation {
2mkDerivation {
3 pname = "io-machine";
3 pname = "io-machine";
4 version = "0.2.0.0";
4 version = "0.2.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base time ];
6 libraryHaskellDepends = [ base time ];
10 testHaskellDepends = [ base ];
7 testHaskellDepends = [ base ];
11 homepage = "https://github.com/YoshikuniJujo/io-machine#readme";
8 homepage = "https://github.com/YoshikuniJujo/io-machine#readme";
12 description = "Easy I/O model to learn IO monad";
9 description = "Easy I/O model to learn IO monad";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/io-streams-haproxy.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, attoparsec, base, bytestring, fetchurl, HUnit
1+{ mkDerivation, attoparsec, base, bytestring, HUnit, io-streams
2−, io-streams, network, test-framework, test-framework-hunit
2+, network, stdenv, test-framework, test-framework-hunit
3, transformers
3, transformers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "io-streams-haproxy";
6 pname = "io-streams-haproxy";
7 version = "1.0.0.2";
7 version = "1.0.0.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 attoparsec base bytestring io-streams network transformers
10 attoparsec base bytestring io-streams network transformers
14 ];
11 ];
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "http://snapframework.com/";
16 homepage = "http://snapframework.com/";
20 description = "HAProxy protocol 1.5 support for io-streams";
17 description = "HAProxy protocol 1.5 support for io-streams";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/ip.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, attoparsec, base, bytestring, criterion
1{ mkDerivation, aeson, attoparsec, base, bytestring, criterion
2−, doctest, fetchurl, hashable, HUnit, primitive, QuickCheck
2+, doctest, hashable, HUnit, primitive, QuickCheck
3−, quickcheck-classes, test-framework, test-framework-hunit
3+, quickcheck-classes, stdenv, test-framework, test-framework-hunit
4, test-framework-quickcheck2, text, vector
4, test-framework-quickcheck2, text, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "ip";
7 pname = "ip";
8 version = "1.1.1";
8 version = "1.1.1";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 aeson attoparsec base bytestring hashable primitive text vector
11 aeson attoparsec base bytestring hashable primitive text vector
15 ];
12 ];
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "https://github.com/andrewthad/haskell-ip#readme";
21 homepage = "https://github.com/andrewthad/haskell-ip#readme";
25 description = "Library for IP and MAC addresses";
22 description = "Library for IP and MAC addresses";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/iso639.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "iso639";
3 pname = "iso639";
4 version = "0.1.0.3";
4 version = "0.1.0.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/HugoDaniel/iso639";
7 homepage = "https://github.com/HugoDaniel/iso639";
11 description = "ISO-639-1 language codes";
8 description = "ISO-639-1 language codes";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/iso8601-time.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, hspec, HUnit, time }:
1+{ mkDerivation, base, hspec, HUnit, stdenv, time }:
2mkDerivation {
2mkDerivation {
3 pname = "iso8601-time";
3 pname = "iso8601-time";
4 version = "0.1.4";
4 version = "0.1.4";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base time ];
6 libraryHaskellDepends = [ base time ];
10 testHaskellDepends = [ base hspec HUnit time ];
7 testHaskellDepends = [ base hspec HUnit time ];
11 homepage = "https://github.com/nh2/iso8601-time";
8 homepage = "https://github.com/nh2/iso8601-time";
12 description = "Convert to/from the ISO 8601 time format";
9 description = "Convert to/from the ISO 8601 time format";
13 license = stdenv.lib.licenses.mit;
10 license = stdenv.lib.licenses.mit;
14−}
11+}
test/golden-test-cases/jmacro-rpc-happstack.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, aeson, base, blaze-html, bytestring, containers
1{ mkDerivation, aeson, base, blaze-html, bytestring, containers
2−, fetchurl, happstack-server, jmacro, jmacro-rpc, mtl
2+, happstack-server, jmacro, jmacro-rpc, mtl, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "jmacro-rpc-happstack";
5 pname = "jmacro-rpc-happstack";
6 version = "0.3.2";
6 version = "0.3.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base blaze-html bytestring containers happstack-server jmacro
9 aeson base blaze-html bytestring containers happstack-server jmacro
13 jmacro-rpc mtl
10 jmacro-rpc mtl
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
12 homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
16 description = "Happstack backend for jmacro-rpc";
13 description = "Happstack backend for jmacro-rpc";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/jmacro-rpc.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
1{ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
2−, containers, contravariant, fetchurl, jmacro, mtl, scientific
2+, containers, contravariant, jmacro, mtl, scientific, split, stdenv
3−, split, text, unordered-containers, vector
3+, text, unordered-containers, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "jmacro-rpc";
6 pname = "jmacro-rpc";
7 version = "0.3.2";
7 version = "0.3.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson attoparsec base blaze-html bytestring containers
10 aeson attoparsec base blaze-html bytestring containers
14 contravariant jmacro mtl scientific split text unordered-containers
11 contravariant jmacro mtl scientific split text unordered-containers
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "http://hub.darcs.net/gershomb/jmacro";
14 homepage = "http://hub.darcs.net/gershomb/jmacro";
18 description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
15 description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/jose.nix.golden+6−10
@@ -1,17 +1,13 @@
1{ mkDerivation, aeson, attoparsec, base, base64-bytestring
1{ mkDerivation, aeson, attoparsec, base, base64-bytestring
2−, bytestring, concise, containers, cryptonite, fetchurl, hspec
2+, bytestring, concise, containers, cryptonite, hspec, lens, memory
3−, lens, memory, monad-time, mtl, network-uri, QuickCheck
3+, monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
4−, quickcheck-instances, safe, semigroups, tasty, tasty-hspec
4+, safe, semigroups, stdenv, tasty, tasty-hspec, tasty-quickcheck
5−, tasty-quickcheck, template-haskell, text, time
6−, unordered-containers, vector, x509
5+, template-haskell, text, time, unordered-containers, vector, x509
7}:
6}:
8mkDerivation {
7mkDerivation {
9 pname = "jose";
8 pname = "jose";
10 version = "0.6.0.3";
9 version = "0.6.0.3";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
10+ sha256 = "deadbeef";
14− };
15 isLibrary = true;
11 isLibrary = true;
16 isExecutable = true;
12 isExecutable = true;
17 libraryHaskellDepends = [
13 libraryHaskellDepends = [
@@ -31,4 +27,4 @@ mkDerivation {
31 homepage = "https://github.com/frasertweedale/hs-jose";
27 homepage = "https://github.com/frasertweedale/hs-jose";
32 description = "Javascript Object Signing and Encryption and JSON Web Token library";
28 description = "Javascript Object Signing and Encryption and JSON Web Token library";
33 license = stdenv.lib.licenses.asl20;
29 license = stdenv.lib.licenses.asl20;
34−}
30+}
test/golden-test-cases/katip-elasticsearch.nix.golden+6−9
@@ -1,17 +1,14 @@
1{ mkDerivation, aeson, async, base, bloodhound, bytestring
1{ mkDerivation, aeson, async, base, bloodhound, bytestring
2, containers, criterion, deepseq, enclosed-exceptions, exceptions
2, containers, criterion, deepseq, enclosed-exceptions, exceptions
3−, fetchurl, http-client, http-types, katip, lens, lens-aeson
3+, http-client, http-types, katip, lens, lens-aeson
4−, quickcheck-instances, random, retry, scientific, stm, stm-chans
4+, quickcheck-instances, random, retry, scientific, stdenv, stm
5−, tagged, tasty, tasty-hunit, tasty-quickcheck, text, time
5+, stm-chans, tagged, tasty, tasty-hunit, tasty-quickcheck, text
6−, transformers, unordered-containers, uuid, vector
6+, time, transformers, unordered-containers, uuid, vector
7}:
7}:
8mkDerivation {
8mkDerivation {
9 pname = "katip-elasticsearch";
9 pname = "katip-elasticsearch";
10 version = "0.4.0.3";
10 version = "0.4.0.3";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
11+ sha256 = "deadbeef";
14− };
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
16 aeson async base bloodhound bytestring enclosed-exceptions
13 aeson async base bloodhound bytestring enclosed-exceptions
17 exceptions http-client http-types katip retry scientific stm
14 exceptions http-client http-types katip retry scientific stm
@@ -30,4 +27,4 @@ mkDerivation {
30 homepage = "https://github.com/Soostone/katip";
27 homepage = "https://github.com/Soostone/katip";
31 description = "ElasticSearch scribe for the Katip logging framework";
28 description = "ElasticSearch scribe for the Katip logging framework";
32 license = stdenv.lib.licenses.bsd3;
29 license = stdenv.lib.licenses.bsd3;
33−}
30+}
test/golden-test-cases/katip.nix.golden+6−9
@@ -1,9 +1,9 @@
1{ mkDerivation, aeson, async, auto-update, base, blaze-builder
1{ mkDerivation, aeson, async, auto-update, base, blaze-builder
2, bytestring, containers, criterion, deepseq, directory, either
2, bytestring, containers, criterion, deepseq, directory, either
3−, fetchurl, filepath, hostname, microlens, microlens-th
3+, filepath, hostname, microlens, microlens-th, monad-control, mtl
4−, monad-control, mtl, old-locale, quickcheck-instances, regex-tdfa
4+, old-locale, quickcheck-instances, regex-tdfa, resourcet
5−, resourcet, safe-exceptions, scientific, semigroups, stm
5+, safe-exceptions, scientific, semigroups, stdenv, stm, string-conv
6−, string-conv, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
6+, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
7, template-haskell, text, time, time-locale-compat, transformers
7, template-haskell, text, time, time-locale-compat, transformers
8, transformers-base, transformers-compat, unix
8, transformers-base, transformers-compat, unix
9, unordered-containers
9, unordered-containers
@@ -11,10 +11,7 @@
11mkDerivation {
11mkDerivation {
12 pname = "katip";
12 pname = "katip";
13 version = "0.5.2.0";
13 version = "0.5.2.0";
14− src = fetchurl {
15− url = "http://example.org/";
16− sha256 = "abc";
14+ sha256 = "deadbeef";
17− };
18 libraryHaskellDepends = [
15 libraryHaskellDepends = [
19 aeson async auto-update base bytestring containers either hostname
16 aeson async auto-update base bytestring containers either hostname
20 microlens microlens-th monad-control mtl old-locale resourcet
17 microlens microlens-th monad-control mtl old-locale resourcet
@@ -35,4 +32,4 @@ mkDerivation {
35 homepage = "https://github.com/Soostone/katip";
32 homepage = "https://github.com/Soostone/katip";
36 description = "A structured logging framework";
33 description = "A structured logging framework";
37 license = stdenv.lib.licenses.bsd3;
34 license = stdenv.lib.licenses.bsd3;
38−}
35+}
test/golden-test-cases/katydid.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, directory, fetchurl, filepath
1+{ mkDerivation, base, containers, directory, filepath, HUnit, hxt
2−, HUnit, hxt, json, mtl, parsec, regex-tdfa, tasty, tasty-hunit
2+, json, mtl, parsec, regex-tdfa, stdenv, tasty, tasty-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "katydid";
5 pname = "katydid";
6 version = "0.1.1.0";
6 version = "0.1.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/katydid/katydid-haskell";
18 homepage = "https://github.com/katydid/katydid-haskell";
22 description = "A haskell implementation of Katydid";
19 description = "A haskell implementation of Katydid";
23 license = stdenv.lib.licenses.bsd3;
20 license = stdenv.lib.licenses.bsd3;
24−}
21+}
test/golden-test-cases/kawhi.nix.golden+6−9
@@ -1,15 +1,12 @@
1−{ mkDerivation, aeson, base, bytestring, exceptions, fetchurl
1+{ mkDerivation, aeson, base, bytestring, exceptions, http-client
2−, http-client, http-conduit, http-types, mtl, safe, scientific
2+, http-conduit, http-types, mtl, safe, scientific, smallcheck
3−, smallcheck, tasty, tasty-hunit, tasty-quickcheck
3+, stdenv, tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck
4−, tasty-smallcheck, text
4+, text
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "kawhi";
7 pname = "kawhi";
8 version = "0.3.0";
8 version = "0.3.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 aeson base bytestring exceptions http-client http-conduit
11 aeson base bytestring exceptions http-client http-conduit
15 http-types mtl safe scientific text
12 http-types mtl safe scientific text
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "https://github.com/thunky-monk/kawhi";
19 homepage = "https://github.com/thunky-monk/kawhi";
23 description = "stats.NBA.com library";
20 description = "stats.NBA.com library";
24 license = stdenv.lib.licenses.mit;
21 license = stdenv.lib.licenses.mit;
25−}
22+}
test/golden-test-cases/kraken.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, aeson, base, bytestring, fetchurl, http-client
1+{ mkDerivation, aeson, base, bytestring, http-client
2−, http-client-tls, mtl
2+, http-client-tls, mtl, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "kraken";
5 pname = "kraken";
6 version = "0.1.0";
6 version = "0.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base bytestring http-client http-client-tls mtl
9 aeson base bytestring http-client http-client-tls mtl
13 ];
10 ];
14 description = "Kraken.io API client";
11 description = "Kraken.io API client";
15 license = stdenv.lib.licenses.mit;
12 license = stdenv.lib.licenses.mit;
16−}
13+}
test/golden-test-cases/l10n.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, text, time }:
1+{ mkDerivation, base, stdenv, text, time }:
2mkDerivation {
2mkDerivation {
3 pname = "l10n";
3 pname = "l10n";
4 version = "0.1.0.1";
4 version = "0.1.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base text time ];
6 libraryHaskellDepends = [ base text time ];
10 homepage = "https://github.com/louispan/l10n#readme";
7 homepage = "https://github.com/louispan/l10n#readme";
11 description = "Enables providing localization as typeclass instances in separate files";
8 description = "Enables providing localization as typeclass instances in separate files";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/lambdabot-social-plugins.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, binary, bytestring, containers, fetchurl
1+{ mkDerivation, base, binary, bytestring, containers
2−, lambdabot-core, mtl, split, time
2+, lambdabot-core, mtl, split, stdenv, time
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "lambdabot-social-plugins";
5 pname = "lambdabot-social-plugins";
6 version = "5.1.0.1";
6 version = "5.1.0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base binary bytestring containers lambdabot-core mtl split time
9 base binary bytestring containers lambdabot-core mtl split time
13 ];
10 ];
14 homepage = "https://wiki.haskell.org/Lambdabot";
11 homepage = "https://wiki.haskell.org/Lambdabot";
15 description = "Social plugins for Lambdabot";
12 description = "Social plugins for Lambdabot";
16 license = "GPL";
13 license = "GPL";
17−}
14+}
test/golden-test-cases/lazy-csv.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, bytestring, fetchurl }:
1+{ mkDerivation, base, bytestring, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "lazy-csv";
3 pname = "lazy-csv";
4 version = "0.5.1";
4 version = "0.5.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base bytestring ];
8 libraryHaskellDepends = [ base bytestring ];
@@ -13,4 +10,4 @@ mkDerivation {
13 homepage = "http://code.haskell.org/lazy-csv";
10 homepage = "http://code.haskell.org/lazy-csv";
14 description = "Efficient lazy parsers for CSV (comma-separated values)";
11 description = "Efficient lazy parsers for CSV (comma-separated values)";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/lens-aeson.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
1{ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
2−, cabal-doctest, doctest, fetchurl, generic-deriving, lens
2+, cabal-doctest, doctest, generic-deriving, lens, scientific
3−, scientific, semigroups, simple-reflect, text
3+, semigroups, simple-reflect, stdenv, text, unordered-containers
4−, unordered-containers, vector
4+, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "lens-aeson";
7 pname = "lens-aeson";
8 version = "1.0.2";
8 version = "1.0.2";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 setupHaskellDepends = [ base Cabal cabal-doctest ];
10 setupHaskellDepends = [ base Cabal cabal-doctest ];
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 aeson attoparsec base bytestring lens scientific text
12 aeson attoparsec base bytestring lens scientific text
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "http://github.com/lens/lens-aeson/";
18 homepage = "http://github.com/lens/lens-aeson/";
22 description = "Law-abiding lenses for aeson";
19 description = "Law-abiding lenses for aeson";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/lens.nix.golden+6−9
@@ -1,10 +1,10 @@
1{ mkDerivation, array, base, base-orphans, bifunctors, bytestring
1{ mkDerivation, array, base, base-orphans, bifunctors, bytestring
2, Cabal, cabal-doctest, call-stack, comonad, containers
2, Cabal, cabal-doctest, call-stack, comonad, containers
3, contravariant, criterion, deepseq, directory, distributive
3, contravariant, criterion, deepseq, directory, distributive
4−, doctest, exceptions, fetchurl, filepath, free, generic-deriving
4+, doctest, exceptions, filepath, free, generic-deriving, ghc-prim
5−, ghc-prim, hashable, HUnit, kan-extensions, mtl, nats, parallel
5+, hashable, HUnit, kan-extensions, mtl, nats, parallel, profunctors
6−, profunctors, QuickCheck, reflection, semigroupoids, semigroups
6+, QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
7−, simple-reflect, tagged, template-haskell, test-framework
7+, stdenv, tagged, template-haskell, test-framework
8, test-framework-hunit, test-framework-quickcheck2
8, test-framework-hunit, test-framework-quickcheck2
9, test-framework-th, text, th-abstraction, transformers
9, test-framework-th, text, th-abstraction, transformers
10, transformers-compat, unordered-containers, vector, void
10, transformers-compat, unordered-containers, vector, void
@@ -12,10 +12,7 @@
12mkDerivation {
12mkDerivation {
13 pname = "lens";
13 pname = "lens";
14 version = "4.15.4";
14 version = "4.15.4";
15− src = fetchurl {
16− url = "http://example.org/";
17− sha256 = "abc";
15+ sha256 = "deadbeef";
18− };
19 setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
16 setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
20 libraryHaskellDepends = [
17 libraryHaskellDepends = [
21 array base base-orphans bifunctors bytestring call-stack comonad
18 array base base-orphans bifunctors bytestring call-stack comonad
@@ -39,4 +36,4 @@ mkDerivation {
39 homepage = "http://github.com/ekmett/lens/";
36 homepage = "http://github.com/ekmett/lens/";
40 description = "Lenses, Folds and Traversals";
37 description = "Lenses, Folds and Traversals";
41 license = stdenv.lib.licenses.bsd2;
38 license = stdenv.lib.licenses.bsd2;
42−}
39+}
test/golden-test-cases/libgit.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, mtl, process }:
1+{ mkDerivation, base, mtl, process, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "libgit";
3 pname = "libgit";
4 version = "0.3.1";
4 version = "0.3.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base mtl process ];
6 libraryHaskellDepends = [ base mtl process ];
10 homepage = "https://github.com/vincenthz/hs-libgit";
7 homepage = "https://github.com/vincenthz/hs-libgit";
11 description = "Simple Git Wrapper";
8 description = "Simple Git Wrapper";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/librato.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, aeson, attoparsec, base, bytestring, either
1{ mkDerivation, aeson, attoparsec, base, bytestring, either
2−, fetchurl, http-client, http-conduit, http-types, mtl, resourcet
2+, http-client, http-conduit, http-types, mtl, resourcet, stdenv
3, text, unordered-containers, uri-templater, vector
3, text, unordered-containers, uri-templater, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "librato";
6 pname = "librato";
7 version = "0.2.0.1";
7 version = "0.2.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson attoparsec base bytestring either http-client http-conduit
10 aeson attoparsec base bytestring either http-client http-conduit
14 http-types mtl resourcet text unordered-containers uri-templater
11 http-types mtl resourcet text unordered-containers uri-templater
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/SaneTracker/librato";
14 homepage = "https://github.com/SaneTracker/librato";
18 description = "Bindings to the Librato API";
15 description = "Bindings to the Librato API";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/lifted-async.nix.golden+5−8
@@ -1,14 +1,11 @@
1−{ mkDerivation, async, base, constraints, criterion, deepseq
1+{ mkDerivation, async, base, constraints, criterion, deepseq, HUnit
2−, fetchurl, HUnit, lifted-base, monad-control, mtl, tasty
2+, lifted-base, monad-control, mtl, stdenv, tasty, tasty-hunit
3−, tasty-hunit, tasty-th, transformers-base
3+, tasty-th, transformers-base
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "lifted-async";
6 pname = "lifted-async";
7 version = "0.9.3.2";
7 version = "0.9.3.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 async base constraints lifted-base monad-control transformers-base
10 async base constraints lifted-base monad-control transformers-base
14 ];
11 ];
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/maoe/lifted-async";
17 homepage = "https://github.com/maoe/lifted-async";
21 description = "Run lifted IO operations asynchronously and wait for their results";
18 description = "Run lifted IO operations asynchronously and wait for their results";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/lmdb.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, array, base, fetchurl, lmdb }:
1+{ mkDerivation, array, base, lmdb, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "lmdb";
3 pname = "lmdb";
4 version = "0.2.5";
4 version = "0.2.5";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ array base ];
6 libraryHaskellDepends = [ array base ];
10 librarySystemDepends = [ lmdb ];
7 librarySystemDepends = [ lmdb ];
11 homepage = "http://github.com/dmbarbour/haskell-lmdb";
8 homepage = "http://github.com/dmbarbour/haskell-lmdb";
12 description = "Lightning MDB bindings";
9 description = "Lightning MDB bindings";
13 license = stdenv.lib.licenses.bsd2;
10 license = stdenv.lib.licenses.bsd2;
14−}
11+}
test/golden-test-cases/logging-effect-extra-file.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, logging-effect, template-haskell
1+{ mkDerivation, base, logging-effect, stdenv, template-haskell
2, wl-pprint-text
2, wl-pprint-text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "logging-effect-extra-file";
5 pname = "logging-effect-extra-file";
6 version = "1.1.1";
6 version = "1.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/jship/logging-effect-extra#readme";
14 homepage = "https://github.com/jship/logging-effect-extra#readme";
18 description = "TH splices to augment log messages with file info";
15 description = "TH splices to augment log messages with file info";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/lucid.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bifunctors, blaze-builder, bytestring
1{ mkDerivation, base, bifunctors, blaze-builder, bytestring
2−, containers, criterion, deepseq, fetchurl, hashable, hspec, HUnit
2+, containers, criterion, deepseq, hashable, hspec, HUnit, mmorph
3−, mmorph, mtl, parsec, text, transformers, unordered-containers
3+, mtl, parsec, stdenv, text, transformers, unordered-containers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "lucid";
6 pname = "lucid";
7 version = "2.9.9";
7 version = "2.9.9";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base blaze-builder bytestring containers hashable mmorph mtl text
10 base blaze-builder bytestring containers hashable mmorph mtl text
14 transformers unordered-containers
11 transformers unordered-containers
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "https://github.com/chrisdone/lucid";
19 homepage = "https://github.com/chrisdone/lucid";
23 description = "Clear to write, read and edit DSL for HTML";
20 description = "Clear to write, read and edit DSL for HTML";
24 license = stdenv.lib.licenses.bsd3;
21 license = stdenv.lib.licenses.bsd3;
25−}
22+}
test/golden-test-cases/mainland-pretty.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, containers, fetchurl, srcloc, text
1+{ mkDerivation, base, containers, srcloc, stdenv, text
2, transformers
2, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "mainland-pretty";
5 pname = "mainland-pretty";
6 version = "0.6.1";
6 version = "0.6.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers srcloc text transformers
9 base containers srcloc text transformers
13 ];
10 ];
14 homepage = "https://github.com/mainland/mainland-pretty";
11 homepage = "https://github.com/mainland/mainland-pretty";
15 description = "Pretty printing designed for printing source code";
12 description = "Pretty printing designed for printing source code";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/matrices.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, criterion, deepseq, fetchurl, primitive
1+{ mkDerivation, base, criterion, deepseq, primitive, stdenv, tasty
2−, tasty, tasty-hunit, tasty-quickcheck, vector
2+, tasty-hunit, tasty-quickcheck, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "matrices";
5 pname = "matrices";
6 version = "0.4.5";
6 version = "0.4.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base deepseq primitive vector ];
8 libraryHaskellDepends = [ base deepseq primitive vector ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base tasty tasty-hunit tasty-quickcheck vector
10 base tasty tasty-hunit tasty-quickcheck vector
@@ -15,4 +12,4 @@ mkDerivation {
15 benchmarkHaskellDepends = [ base criterion vector ];
12 benchmarkHaskellDepends = [ base criterion vector ];
16 description = "native matrix based on vector";
13 description = "native matrix based on vector";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/median-stream.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, heap, QuickCheck }:
1+{ mkDerivation, base, heap, QuickCheck, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "median-stream";
3 pname = "median-stream";
4 version = "0.7.0.0";
4 version = "0.7.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base heap ];
6 libraryHaskellDepends = [ base heap ];
10 testHaskellDepends = [ base QuickCheck ];
7 testHaskellDepends = [ base QuickCheck ];
11 homepage = "https://github.com/caneroj1/median-stream#readme";
8 homepage = "https://github.com/caneroj1/median-stream#readme";
12 description = "Constant-time queries for the median of a stream of numeric data";
9 description = "Constant-time queries for the median of a stream of numeric data";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/megaparsec.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, base, bytestring, case-insensitive, containers
1{ mkDerivation, base, bytestring, case-insensitive, containers
2−, criterion, deepseq, fetchurl, hspec, hspec-expectations, mtl
2+, criterion, deepseq, hspec, hspec-expectations, mtl
3−, parser-combinators, QuickCheck, scientific, text, transformers
3+, parser-combinators, QuickCheck, scientific, stdenv, text
4−, weigh
4+, transformers, weigh
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "megaparsec";
7 pname = "megaparsec";
8 version = "6.3.0";
8 version = "6.3.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 base bytestring case-insensitive containers deepseq mtl
11 base bytestring case-insensitive containers deepseq mtl
15 parser-combinators scientific text transformers
12 parser-combinators scientific text transformers
@@ -22,4 +19,4 @@ mkDerivation {
22 homepage = "https://github.com/mrkkrp/megaparsec";
19 homepage = "https://github.com/mrkkrp/megaparsec";
23 description = "Monadic parser combinators";
20 description = "Monadic parser combinators";
24 license = stdenv.lib.licenses.bsd2;
21 license = stdenv.lib.licenses.bsd2;
25−}
22+}
test/golden-test-cases/mersenne-random.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, old-time }:
1+{ mkDerivation, base, old-time, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "mersenne-random";
3 pname = "mersenne-random";
4 version = "1.0.0.1";
4 version = "1.0.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base old-time ];
6 libraryHaskellDepends = [ base old-time ];
10 homepage = "http://code.haskell.org/~dons/code/mersenne-random";
7 homepage = "http://code.haskell.org/~dons/code/mersenne-random";
11 description = "Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister";
8 description = "Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/messagepack.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, cereal, containers, deepseq
1{ mkDerivation, base, bytestring, cereal, containers, deepseq
2−, fetchurl, QuickCheck, test-framework, test-framework-quickcheck2
2+, QuickCheck, stdenv, test-framework, test-framework-quickcheck2
3, test-framework-th
3, test-framework-th
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "messagepack";
6 pname = "messagepack";
7 version = "0.5.4";
7 version = "0.5.4";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base bytestring cereal containers deepseq
10 base bytestring cereal containers deepseq
14 ];
11 ];
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "https://github.com/rodrigosetti/messagepack";
16 homepage = "https://github.com/rodrigosetti/messagepack";
20 description = "Serialize instance for Message Pack Object";
17 description = "Serialize instance for Message Pack Object";
21 license = stdenv.lib.licenses.mit;
18 license = stdenv.lib.licenses.mit;
22−}
19+}
test/golden-test-cases/microlens-ghc.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, array, base, bytestring, containers, fetchurl
1+{ mkDerivation, array, base, bytestring, containers, microlens
2−, microlens, transformers
2+, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "microlens-ghc";
5 pname = "microlens-ghc";
6 version = "0.4.8.0";
6 version = "0.4.8.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 array base bytestring containers microlens transformers
9 array base bytestring containers microlens transformers
13 ];
10 ];
14 homepage = "http://github.com/aelve/microlens";
11 homepage = "http://github.com/aelve/microlens";
15 description = "microlens + array, bytestring, containers, transformers";
12 description = "microlens + array, bytestring, containers, transformers";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/microlens.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "microlens";
3 pname = "microlens";
4 version = "0.4.8.1";
4 version = "0.4.8.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "http://github.com/aelve/microlens";
7 homepage = "http://github.com/aelve/microlens";
11 description = "A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.";
8 description = "A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this.";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/minio-hs.nix.golden+7−11
@@ -1,20 +1,16 @@
1{ mkDerivation, aeson, async, base, base64-bytestring, bytestring
1{ mkDerivation, aeson, async, base, base64-bytestring, bytestring
2, case-insensitive, conduit, conduit-combinators, conduit-extra
2, case-insensitive, conduit, conduit-combinators, conduit-extra
3, containers, cryptonite, cryptonite-conduit, data-default
3, containers, cryptonite, cryptonite-conduit, data-default
4−, directory, exceptions, fetchurl, filepath, http-client
4+, directory, exceptions, filepath, http-client, http-conduit
5−, http-conduit, http-types, lifted-async, lifted-base, memory
5+, http-types, lifted-async, lifted-base, memory, monad-control
6−, monad-control, protolude, QuickCheck, resourcet, tasty
6+, protolude, QuickCheck, resourcet, stdenv, tasty, tasty-hunit
7−, tasty-hunit, tasty-quickcheck, tasty-smallcheck, temporary, text
7+, tasty-quickcheck, tasty-smallcheck, temporary, text, text-format
8−, text-format, time, transformers, transformers-base, vector
8+, time, transformers, transformers-base, vector, xml-conduit
9−, xml-conduit
10}:
9}:
11mkDerivation {
10mkDerivation {
12 pname = "minio-hs";
11 pname = "minio-hs";
13 version = "0.3.2";
12 version = "0.3.2";
14− src = fetchurl {
15− url = "http://example.org/";
16− sha256 = "abc";
13+ sha256 = "deadbeef";
17− };
18 libraryHaskellDepends = [
14 libraryHaskellDepends = [
19 aeson async base base64-bytestring bytestring case-insensitive
15 aeson async base base64-bytestring bytestring case-insensitive
20 conduit conduit-combinators conduit-extra containers cryptonite
16 conduit conduit-combinators conduit-extra containers cryptonite
@@ -35,4 +31,4 @@ mkDerivation {
35 homepage = "https://github.com/minio/minio-hs#readme";
31 homepage = "https://github.com/minio/minio-hs#readme";
36 description = "A Minio Haskell Library for Amazon S3 compatible cloud storage";
32 description = "A Minio Haskell Library for Amazon S3 compatible cloud storage";
37 license = stdenv.lib.licenses.asl20;
33 license = stdenv.lib.licenses.asl20;
38−}
34+}
test/golden-test-cases/mmorph.nix.golden+3−6
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, fetchurl, mtl, transformers
1+{ mkDerivation, base, mtl, stdenv, transformers
2, transformers-compat
2, transformers-compat
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "mmorph";
5 pname = "mmorph";
6 version = "1.1.0";
6 version = "1.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base mtl transformers transformers-compat
9 base mtl transformers transformers-compat
13 ];
10 ];
14 description = "Monad morphisms";
11 description = "Monad morphisms";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/mnist-idx.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, binary, bytestring, directory, fetchurl
1+{ mkDerivation, base, binary, bytestring, directory, hspec, stdenv
2−, hspec, vector
2+, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "mnist-idx";
5 pname = "mnist-idx";
6 version = "0.1.2.8";
6 version = "0.1.2.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base binary bytestring vector ];
8 libraryHaskellDepends = [ base binary bytestring vector ];
12 testHaskellDepends = [ base binary directory hspec vector ];
9 testHaskellDepends = [ base binary directory hspec vector ];
13 homepage = "https://github.com/kryoxide/mnist-idx/";
10 homepage = "https://github.com/kryoxide/mnist-idx/";
14 description = "Read and write IDX data that is used in e.g. the MNIST database.";
11 description = "Read and write IDX data that is used in e.g. the MNIST database.";
15 license = stdenv.lib.licenses.lgpl3;
12 license = stdenv.lib.licenses.lgpl3;
16−}
13+}
test/golden-test-cases/mole.nix.golden+7−10
@@ -1,17 +1,14 @@
1{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
1{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
2−, containers, cryptohash, css-syntax, directory, fetchurl
2+, containers, cryptohash, css-syntax, directory, filemanip
3−, filemanip, filepath, fsnotify, hspec, hspec-smallcheck, kraken
3+, filepath, fsnotify, hspec, hspec-smallcheck, kraken, mtl
4−, mtl, network-uri, optparse-applicative, process, smallcheck
4+, network-uri, optparse-applicative, process, smallcheck, snap-core
5−, snap-core, snap-server, stm, tagsoup, text, time, transformers
5+, snap-server, stdenv, stm, tagsoup, text, time, transformers, unix
6−, unix, unordered-containers, vector
6+, unordered-containers, vector
7}:
7}:
8mkDerivation {
8mkDerivation {
9 pname = "mole";
9 pname = "mole";
10 version = "0.0.6";
10 version = "0.0.6";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
11+ sha256 = "deadbeef";
14− };
15 isLibrary = false;
12 isLibrary = false;
16 isExecutable = true;
13 isExecutable = true;
17 executableHaskellDepends = [
14 executableHaskellDepends = [
@@ -26,4 +23,4 @@ mkDerivation {
26 ];
23 ];
27 description = "A glorified string replacement tool";
24 description = "A glorified string replacement tool";
28 license = stdenv.lib.licenses.mit;
25 license = stdenv.lib.licenses.mit;
29−}
26+}
test/golden-test-cases/monad-products.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, semigroupoids }:
1+{ mkDerivation, base, semigroupoids, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "monad-products";
3 pname = "monad-products";
4 version = "4.0.1";
4 version = "4.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base semigroupoids ];
6 libraryHaskellDepends = [ base semigroupoids ];
10 homepage = "http://github.com/ekmett/monad-products";
7 homepage = "http://github.com/ekmett/monad-products";
11 description = "Monad products";
8 description = "Monad products";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/monadcryptorandom.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, crypto-api, exceptions, fetchurl
1+{ mkDerivation, base, bytestring, crypto-api, exceptions, mtl
2−, mtl, tagged, transformers, transformers-compat
2+, stdenv, tagged, transformers, transformers-compat
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "monadcryptorandom";
5 pname = "monadcryptorandom";
6 version = "0.7.1";
6 version = "0.7.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring crypto-api exceptions mtl tagged transformers
9 base bytestring crypto-api exceptions mtl tagged transformers
13 transformers-compat
10 transformers-compat
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/TomMD/monadcryptorandom";
12 homepage = "https://github.com/TomMD/monadcryptorandom";
16 description = "A monad for using CryptoRandomGen";
13 description = "A monad for using CryptoRandomGen";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/monadloc.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, template-haskell, transformers }:
1+{ mkDerivation, base, stdenv, template-haskell, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "monadloc";
3 pname = "monadloc";
4 version = "0.7.1";
4 version = "0.7.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base template-haskell transformers ];
6 libraryHaskellDepends = [ base template-haskell transformers ];
10 homepage = "http://github.com/pepeiborra/monadloc";
7 homepage = "http://github.com/pepeiborra/monadloc";
11 description = "A class for monads which can keep a monadic call trace";
8 description = "A class for monads which can keep a monadic call trace";
12 license = stdenv.lib.licenses.publicDomain;
9 license = stdenv.lib.licenses.publicDomain;
13−}
10+}
test/golden-test-cases/mongoDB.nix.golden+5−8
@@ -1,17 +1,14 @@
1{ mkDerivation, array, base, base16-bytestring, base64-bytestring
1{ mkDerivation, array, base, base16-bytestring, base64-bytestring
2, binary, bson, bytestring, conduit, conduit-extra, containers
2, binary, bson, bytestring, conduit, conduit-extra, containers
3−, criterion, cryptohash, data-default-class, fetchurl, hashtables
3+, criterion, cryptohash, data-default-class, hashtables, hspec
4−, hspec, lifted-base, monad-control, mtl, network, nonce
4+, lifted-base, monad-control, mtl, network, nonce, old-locale
5−, old-locale, parsec, pureMD5, random, random-shuffle, resourcet
5+, parsec, pureMD5, random, random-shuffle, resourcet, stdenv
6, tagged, text, time, tls, transformers, transformers-base
6, tagged, text, time, tls, transformers, transformers-base
7}:
7}:
8mkDerivation {
8mkDerivation {
9 pname = "mongoDB";
9 pname = "mongoDB";
10 version = "2.3.0.1";
10 version = "2.3.0.1";
11− src = fetchurl {
12− url = "http://example.org/";
13− sha256 = "abc";
11+ sha256 = "deadbeef";
14− };
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
16 array base base16-bytestring base64-bytestring binary bson
13 array base base16-bytestring base64-bytestring binary bson
17 bytestring conduit conduit-extra containers cryptohash
14 bytestring conduit conduit-extra containers cryptohash
@@ -29,4 +26,4 @@ mkDerivation {
29 homepage = "https://github.com/mongodb-haskell/mongodb";
26 homepage = "https://github.com/mongodb-haskell/mongodb";
30 description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
27 description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
31 license = stdenv.lib.licenses.asl20;
28 license = stdenv.lib.licenses.asl20;
32−}
29+}
test/golden-test-cases/monoid-extras.nix.golden+4−7
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, criterion, fetchurl, groups, semigroupoids
1+{ mkDerivation, base, criterion, groups, semigroupoids, semigroups
2−, semigroups
2+, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "monoid-extras";
5 pname = "monoid-extras";
6 version = "0.4.2";
6 version = "0.4.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base groups semigroupoids semigroups ];
8 libraryHaskellDepends = [ base groups semigroupoids semigroups ];
12 benchmarkHaskellDepends = [ base criterion ];
9 benchmarkHaskellDepends = [ base criterion ];
13 description = "Various extra monoid-related definitions and utilities";
10 description = "Various extra monoid-related definitions and utilities";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/mwc-random-monad.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, fetchurl, monad-primitive, mwc-random
1+{ mkDerivation, base, monad-primitive, mwc-random, primitive
2−, primitive, transformers, vector
2+, stdenv, transformers, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "mwc-random-monad";
5 pname = "mwc-random-monad";
6 version = "0.7.3.1";
6 version = "0.7.3.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base monad-primitive mwc-random primitive transformers vector
9 base monad-primitive mwc-random primitive transformers vector
13 ];
10 ];
14 description = "Monadic interface for mwc-random";
11 description = "Monadic interface for mwc-random";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/mwc-random.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, math-functions, primitive, time
1+{ mkDerivation, base, math-functions, primitive, stdenv, time
2, vector
2, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "mwc-random";
5 pname = "mwc-random";
6 version = "0.13.6.0";
6 version = "0.13.6.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base math-functions primitive time vector
9 base math-functions primitive time vector
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/bos/mwc-random";
12 homepage = "https://github.com/bos/mwc-random";
16 description = "Fast, high quality pseudo random number generation";
13 description = "Fast, high quality pseudo random number generation";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/nanospec.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, hspec, silently }:
1+{ mkDerivation, base, hspec, silently, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "nanospec";
3 pname = "nanospec";
4 version = "0.2.1";
4 version = "0.2.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 testHaskellDepends = [ base hspec silently ];
7 testHaskellDepends = [ base hspec silently ];
11 description = "A lightweight implementation of a subset of Hspec's API";
8 description = "A lightweight implementation of a subset of Hspec's API";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/netpbm.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, attoparsec, attoparsec-binary, base, bytestring
1{ mkDerivation, attoparsec, attoparsec-binary, base, bytestring
2−, criterion, fetchurl, hspec, HUnit, storable-record
2+, criterion, hspec, HUnit, stdenv, storable-record
3, unordered-containers, vector, vector-th-unbox
3, unordered-containers, vector, vector-th-unbox
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "netpbm";
6 pname = "netpbm";
7 version = "1.0.2";
7 version = "1.0.2";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 attoparsec attoparsec-binary base bytestring storable-record
10 attoparsec attoparsec-binary base bytestring storable-record
14 unordered-containers vector vector-th-unbox
11 unordered-containers vector vector-th-unbox
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "https://github.com/nh2/haskell-netpbm";
15 homepage = "https://github.com/nh2/haskell-netpbm";
19 description = "Loading PBM, PGM, PPM image files";
16 description = "Loading PBM, PGM, PPM image files";
20 license = stdenv.lib.licenses.mit;
17 license = stdenv.lib.licenses.mit;
21−}
18+}
test/golden-test-cases/network-protocol-xmpp.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, gnuidn, gnutls, gsasl
1+{ mkDerivation, base, bytestring, gnuidn, gnutls, gsasl, libxml-sax
2−, libxml-sax, monads-tf, network, text, transformers, xml-types
2+, monads-tf, network, stdenv, text, transformers, xml-types
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "network-protocol-xmpp";
5 pname = "network-protocol-xmpp";
6 version = "0.4.8";
6 version = "0.4.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring gnuidn gnutls gsasl libxml-sax monads-tf network
9 base bytestring gnuidn gnutls gsasl libxml-sax monads-tf network
13 text transformers xml-types
10 text transformers xml-types
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://john-millikin.com/software/haskell-xmpp/";
12 homepage = "https://john-millikin.com/software/haskell-xmpp/";
16 description = "Client library for the XMPP protocol";
13 description = "Client library for the XMPP protocol";
17 license = stdenv.lib.licenses.gpl3;
14 license = stdenv.lib.licenses.gpl3;
18−}
15+}
test/golden-test-cases/network-transport-tcp.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, base, bytestring, containers, data-accessor
1{ mkDerivation, base, bytestring, containers, data-accessor
2−, fetchurl, network, network-transport, network-transport-tests
2+, network, network-transport, network-transport-tests, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "network-transport-tcp";
5 pname = "network-transport-tcp";
6 version = "0.6.0";
6 version = "0.6.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring containers data-accessor network network-transport
9 base bytestring containers data-accessor network network-transport
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "http://haskell-distributed.github.com";
14 homepage = "http://haskell-distributed.github.com";
18 description = "TCP instantiation of Network.Transport";
15 description = "TCP instantiation of Network.Transport";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/nix-paths.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, nix, process }:
1+{ mkDerivation, base, nix, process, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "nix-paths";
3 pname = "nix-paths";
4 version = "1.0.1";
4 version = "1.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base process ];
6 libraryHaskellDepends = [ base process ];
10 libraryToolDepends = [ nix ];
7 libraryToolDepends = [ nix ];
11 homepage = "https://github.com/peti/nix-paths";
8 homepage = "https://github.com/peti/nix-paths";
12 description = "Knowledge of Nix's installation directories";
9 description = "Knowledge of Nix's installation directories";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/nvim-hs.nix.golden+7−9
@@ -1,9 +1,9 @@
1{ mkDerivation, ansi-wl-pprint, base, bytestring, cereal
1{ mkDerivation, ansi-wl-pprint, base, bytestring, cereal
2, cereal-conduit, conduit, conduit-extra, containers, data-default
2, cereal-conduit, conduit, conduit-extra, containers, data-default
3−, deepseq, directory, dyre, exceptions, fetchurl, filepath
3+, deepseq, directory, dyre, exceptions, filepath, foreign-store
4−, foreign-store, hslogger, hspec, hspec-discover, HUnit
4+, hslogger, hspec, hspec-discover, HUnit, lifted-base, megaparsec
5−, lifted-base, megaparsec, messagepack, monad-control, mtl, network
5+, messagepack, monad-control, mtl, network, optparse-applicative
6−, optparse-applicative, process, QuickCheck, resourcet, setenv, stm
6+, process, QuickCheck, resourcet, setenv, stdenv, stm
7, streaming-commons, template-haskell, text, time
7, streaming-commons, template-haskell, text, time
8, time-locale-compat, transformers, transformers-base, utf8-string
8, time-locale-compat, transformers, transformers-base, utf8-string
9, void
9, void
@@ -11,10 +11,7 @@
11mkDerivation {
11mkDerivation {
12 pname = "nvim-hs";
12 pname = "nvim-hs";
13 version = "0.2.5";
13 version = "0.2.5";
14− src = fetchurl {
15− url = "http://example.org/";
16− sha256 = "abc";
14+ sha256 = "deadbeef";
17− };
18 isLibrary = true;
15 isLibrary = true;
19 isExecutable = true;
16 isExecutable = true;
20 libraryHaskellDepends = [
17 libraryHaskellDepends = [
@@ -35,7 +32,8 @@ mkDerivation {
35 template-haskell text time time-locale-compat transformers
32 template-haskell text time time-locale-compat transformers
36 transformers-base utf8-string
33 transformers-base utf8-string
37 ];
34 ];
35+ testToolDepends = [ hspec-discover ];
38 homepage = "https://github.com/neovimhaskell/nvim-hs";
36 homepage = "https://github.com/neovimhaskell/nvim-hs";
39 description = "Haskell plugin backend for neovim";
37 description = "Haskell plugin backend for neovim";
40 license = stdenv.lib.licenses.asl20;
38 license = stdenv.lib.licenses.asl20;
41−}
39+}
test/golden-test-cases/once.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, containers, fetchurl, hashable
1+{ mkDerivation, base, containers, hashable, stdenv
2, template-haskell, unordered-containers
2, template-haskell, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "once";
5 pname = "once";
6 version = "0.2";
6 version = "0.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers hashable template-haskell unordered-containers
9 base containers hashable template-haskell unordered-containers
13 ];
10 ];
14 homepage = "https://anonscm.debian.org/cgit/users/kaction-guest/haskell-once.git";
11 homepage = "https://anonscm.debian.org/cgit/users/kaction-guest/haskell-once.git";
15 description = "memoization for IO actions and functions";
12 description = "memoization for IO actions and functions";
16 license = stdenv.lib.licenses.gpl3;
13 license = stdenv.lib.licenses.gpl3;
17−}
14+}
test/golden-test-cases/one-liner.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bifunctors, contravariant, fetchurl, ghc-prim
1+{ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
2−, HUnit, profunctors, tagged, transformers
2+, profunctors, stdenv, tagged, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "one-liner";
5 pname = "one-liner";
6 version = "0.9.2";
6 version = "0.9.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bifunctors contravariant ghc-prim profunctors tagged
9 base bifunctors contravariant ghc-prim profunctors tagged
13 transformers
10 transformers
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/sjoerdvisscher/one-liner";
13 homepage = "https://github.com/sjoerdvisscher/one-liner";
17 description = "Constraint-based generics";
14 description = "Constraint-based generics";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/online.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, foldl, numhask, protolude, tdigest
1+{ mkDerivation, base, foldl, numhask, protolude, stdenv, tdigest
2, vector, vector-algorithms
2, vector, vector-algorithms
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "online";
5 pname = "online";
6 version = "0.2.0";
6 version = "0.2.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base foldl numhask protolude tdigest vector vector-algorithms
9 base foldl numhask protolude tdigest vector vector-algorithms
13 ];
10 ];
14 homepage = "https://github.com/tonyday567/online";
11 homepage = "https://github.com/tonyday567/online";
15 description = "online statistics";
12 description = "online statistics";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/opencv.cabalnew file+263
@@ -0,0 +1,263 @@
1+name: opencv
2+version: 0.0.2.1
3+homepage: https://github.com/LumiGuide/haskell-opencv
4+bug-reports: https://github.com/LumiGuide/haskell-opencv/issues
5+license: BSD3
6+license-file: LICENSE
7+author: Roel van Dijk <roel@lambdacube.nl>, Bas van Dijk <v.dijk.bas@gmail.com>
8+maintainer: Roel van Dijk <roel@lambdacube.nl>, Bas van Dijk <v.dijk.bas@gmail.com>
9+build-type: Custom
10+cabal-version: >=1.23
11+category: AI, Graphics
12+synopsis: Haskell binding to OpenCV-3.x
13+description: <<https://raw.githubusercontent.com/LumiGuide/haskell-opencv/master/data/haskell-opencv-logo-200x82.png>>
14+ .
15+ This is a Haskell library providing a binding to OpenCV-3.x.
16+ It binds directly with the C++ API using the @inline-c@ Haskell library.
17+ .
18+ The library is far from complete but the framework is there to easily
19+ bind missing functionality.
20+ .
21+ Note that the OpenCV contrib modules are provided by
22+ <http://hackage.haskell.org/package/opencv-extra opencv-extra>.
23+ .
24+ Make sure to checkout the
25+ <https://github.com/LumiGuide/haskell-opencv/tree/master/opencv-examples opencv-examples>.
26+
27+extra-source-files:
28+ CHANGELOG.md
29+ data/*.png
30+ data/*.jpg
31+ data/*.mp4
32+ data/*.xml
33+
34+extra-doc-files:
35+ doc/generated/*.png
36+ doc/generated/examples/*.png
37+ doc/generated/examples/*.gif
38+ doc/color_conversions.png
39+
40+source-repository head
41+ type: git
42+ location: git://github.com/LumiGuide/haskell-opencv.git
43+ subdir: opencv
44+
45+flag internal-documentation
46+ description: Enables documentation generation for internal modules.
47+ default: False
48+ manual: True
49+
50+custom-setup
51+ setup-depends: base, Cabal >= 1.23
52+
53+library
54+ hs-source-dirs: src
55+ include-dirs: include
56+ install-includes:
57+ haskell_opencv_matx_typedefs.hpp
58+ hsc_macros.hpp
59+ namespace.hpp
60+ orb.hpp
61+ simple_blob_detector.hpp
62+ termcriteria.hpp
63+ video_motion_analysis.hpp
64+
65+ cc-options: -Wall -std=c++11
66+ ghc-options: -Wall -fwarn-incomplete-patterns -funbox-strict-fields
67+ if flag(internal-documentation)
68+ cpp-options: -DENABLE_INTERNAL_DOCUMENTATION
69+
70+ build-depends:
71+ aeson >= 0.9.0.1
72+ , base >= 4.8 && <5
73+ , base64-bytestring >= 1.0.0.1
74+ , bindings-DSL >= 1.0.23
75+ , bytestring >= 0.10.6
76+ , containers >= 0.5.6.2
77+ , data-default >= 0.7.1.1
78+ , deepseq >= 1.4.1.1
79+ , inline-c >= 0.6
80+ , inline-c-cpp >= 0.2.1
81+ , JuicyPixels >= 3.2.8.1
82+ , linear >= 1.20.4
83+ , primitive >= 0.6.1
84+ , repa >= 3.4.0.2
85+ , template-haskell >= 2.10
86+ , text >= 1.2.2.1
87+ , transformers >= 0.4.2
88+ , vector >= 0.11
89+
90+ exposed-modules:
91+ OpenCV
92+ OpenCV.Calib3d
93+ OpenCV.Core.ArrayOps
94+ OpenCV.Core.Types
95+ OpenCV.Core.Types.Mat
96+ OpenCV.Core.Types.Mat.HMat
97+ OpenCV.Core.Types.Mat.Repa
98+ OpenCV.Core.Types.Matx
99+ OpenCV.Core.Types.Point
100+ OpenCV.Core.Types.Rect
101+ OpenCV.Core.Types.Size
102+ OpenCV.Core.Types.Vec
103+ OpenCV.Exception
104+ OpenCV.Features2d
105+ OpenCV.HighGui
106+ OpenCV.ImgCodecs
107+ OpenCV.ImgProc.ColorMaps
108+ OpenCV.ImgProc.Drawing
109+ OpenCV.ImgProc.FeatureDetection
110+ OpenCV.ImgProc.GeometricImgTransform
111+ OpenCV.ImgProc.ImgFiltering
112+ OpenCV.ImgProc.MiscImgTransform
113+ OpenCV.ImgProc.MiscImgTransform.ColorCodes
114+ OpenCV.ImgProc.ObjectDetection
115+ OpenCV.ImgProc.StructuralAnalysis
116+ OpenCV.ImgProc.Types
117+ OpenCV.ImgProc.CascadeClassifier
118+ OpenCV.JSON
119+ OpenCV.Photo
120+ OpenCV.TypeLevel
121+ OpenCV.Unsafe
122+ OpenCV.Video
123+ OpenCV.Video.MotionAnalysis
124+ OpenCV.VideoIO.Types
125+ OpenCV.VideoIO.VideoCapture
126+ OpenCV.VideoIO.VideoWriter
127+
128+ OpenCV.Internal
129+ OpenCV.Internal.Mutable
130+ OpenCV.Internal.C.Inline
131+ OpenCV.Internal.C.PlacementNew
132+ OpenCV.Internal.C.PlacementNew.TH
133+ OpenCV.Internal.C.Types
134+ OpenCV.Internal.Calib3d.Constants
135+ OpenCV.Internal.Core.ArrayOps
136+ OpenCV.Internal.Core.Types
137+ OpenCV.Internal.Core.Types.Constants
138+ OpenCV.Internal.Core.Types.Mat
139+ OpenCV.Internal.Core.Types.Mat.Depth
140+ OpenCV.Internal.Core.Types.Mat.HMat
141+ OpenCV.Internal.Core.Types.Mat.Marshal
142+ OpenCV.Internal.Core.Types.Mat.ToFrom
143+ OpenCV.Internal.Core.Types.Matx
144+ OpenCV.Internal.Core.Types.Matx.TH
145+ OpenCV.Internal.Core.Types.Point
146+ OpenCV.Internal.Core.Types.Point.TH
147+ OpenCV.Internal.Core.Types.Rect
148+ OpenCV.Internal.Core.Types.Rect.TH
149+ OpenCV.Internal.Core.Types.Size
150+ OpenCV.Internal.Core.Types.Size.TH
151+ OpenCV.Internal.Core.Types.Vec
152+ OpenCV.Internal.Core.Types.Vec.TH
153+ OpenCV.Internal.Exception
154+ OpenCV.Internal.ImgCodecs
155+ OpenCV.Internal.ImgProc.MiscImgTransform
156+ OpenCV.Internal.ImgProc.MiscImgTransform.TypeLevel
157+ OpenCV.Internal.ImgProc.MiscImgTransform.ColorCodes
158+ OpenCV.Internal.ImgProc.Types
159+ OpenCV.Internal.Photo.Constants
160+ OpenCV.Internal.VideoIO.Constants
161+ OpenCV.Internal.VideoIO.Types
162+ OpenCV.Juicy
163+
164+ default-extensions:
165+ BangPatterns
166+ DataKinds
167+ FlexibleContexts
168+ FlexibleInstances
169+ LambdaCase
170+ OverloadedStrings
171+ PackageImports
172+ PolyKinds
173+ ScopedTypeVariables
174+ TupleSections
175+ TypeFamilies
176+ TypeOperators
177+
178+ default-language: Haskell2010
179+ pkgconfig-depends: opencv >= 3.0.0
180+ extra-libraries: stdc++
181+
182+test-suite doc-images-opencv
183+ type: exitcode-stdio-1.0
184+ hs-source-dirs: doc
185+ main-is: images.hs
186+ other-modules:
187+ ExampleExtractor
188+ Language.Haskell.Meta.Syntax.Translate
189+ default-language: Haskell2010
190+ ghc-options: -Wall -fwarn-incomplete-patterns -threaded -funbox-strict-fields -rtsopts
191+ build-depends:
192+ base >= 4.8 && < 5
193+ , bytestring >= 0.10.6
194+ , containers >= 0.5.6.2
195+ , data-default >= 0.7.1.1
196+ , directory >= 1.2.2
197+ , Glob >= 0.9
198+ , haskell-src-exts >= 1.18.2
199+ , JuicyPixels >= 3.2.8.1
200+ , linear >= 1.20.4
201+ , opencv
202+ , primitive >= 0.6.1
203+ , template-haskell >= 2.10
204+ , text >= 1.2.2.1
205+ , transformers >= 0.4.2
206+ , vector >= 0.11
207+
208+ default-extensions:
209+ BangPatterns
210+ DataKinds
211+ LambdaCase
212+ OverloadedStrings
213+ PackageImports
214+ PolyKinds
215+ ScopedTypeVariables
216+ TupleSections
217+ TypeFamilies
218+ TypeOperators
219+
220+test-suite test-opencv
221+ type: exitcode-stdio-1.0
222+ hs-source-dirs: test
223+ main-is: test.hs
224+ default-language: Haskell2010
225+ ghc-options: -Wall -fwarn-incomplete-patterns -threaded -funbox-strict-fields -rtsopts
226+ build-depends:
227+ base >= 4.8 && < 5
228+ , bytestring >= 0.10.6
229+ , lens >= 4.13
230+ , linear >= 1.20.4
231+ , opencv
232+ , QuickCheck >= 2.10.1
233+ , repa >= 3.4.0.2
234+ , tasty >= 0.11.0.2
235+ , tasty-hunit >= 0.9.2
236+ , tasty-quickcheck >= 0.8.4
237+ , transformers >= 0.4.2
238+ , vector >= 0.11
239+
240+ default-extensions:
241+ DataKinds
242+ FlexibleContexts
243+ PackageImports
244+ RankNTypes
245+ ScopedTypeVariables
246+ TypeOperators
247+
248+benchmark bench-opencv
249+ type: exitcode-stdio-1.0
250+ hs-source-dirs: bench
251+ main-is: bench.hs
252+ default-language: Haskell2010
253+ ghc-options: -Wall -fwarn-incomplete-patterns -threaded -funbox-strict-fields -rtsopts
254+ build-depends:
255+ base >= 4.8 && < 5
256+ , bytestring >= 0.10.6
257+ , criterion >= 1.1.1
258+ , opencv
259+ , repa >= 3.4.0.2
260+
261+ default-extensions:
262+ DataKinds
263+ PackageImports
test/golden-test-cases/opencv.nix.goldennew file+30
@@ -0,0 +1,30 @@
1+{ mkDerivation, aeson, base, base64-bytestring, bindings-DSL
2+, bytestring, Cabal, containers, criterion, data-default, deepseq
3+, directory, Glob, haskell-src-exts, inline-c, inline-c-cpp
4+, JuicyPixels, lens, linear, opencv3, primitive, QuickCheck, repa
5+, stdenv, tasty, tasty-hunit, tasty-quickcheck, template-haskell
6+, text, transformers, vector
7+}:
8+mkDerivation {
9+ pname = "opencv";
10+ version = "0.0.2.1";
11+ sha256 = "deadbeef";
12+ setupHaskellDepends = [ base Cabal ];
13+ libraryHaskellDepends = [
14+ aeson base base64-bytestring bindings-DSL bytestring containers
15+ data-default deepseq inline-c inline-c-cpp JuicyPixels linear
16+ primitive repa template-haskell text transformers vector
17+ ];
18+ libraryPkgconfigDepends = [ opencv3 ];
19+ testHaskellDepends = [
20+ base bytestring containers data-default directory Glob
21+ haskell-src-exts JuicyPixels lens linear primitive QuickCheck repa
22+ tasty tasty-hunit tasty-quickcheck template-haskell text
23+ transformers vector
24+ ];
25+ benchmarkHaskellDepends = [ base bytestring criterion repa ];
26+ hardeningDisable = [ "bindnow" ];
27+ homepage = "https://github.com/LumiGuide/haskell-opencv";
28+ description = "Haskell binding to OpenCV-3.x";
29+ license = stdenv.lib.licenses.bsd3;
30+}
test/golden-test-cases/openexr-write.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, binary, bytestring, data-binary-ieee754
1{ mkDerivation, base, binary, bytestring, data-binary-ieee754
2−, deepseq, directory, fetchurl, hspec, split, vector, vector-split
2+, deepseq, directory, hspec, split, stdenv, vector, vector-split
3, zlib
3, zlib
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "openexr-write";
6 pname = "openexr-write";
7 version = "0.1.0.1";
7 version = "0.1.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base binary bytestring data-binary-ieee754 deepseq split vector
10 base binary bytestring data-binary-ieee754 deepseq split vector
14 vector-split zlib
11 vector-split zlib
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/pavolzetor/openexr-write#readme";
14 homepage = "https://github.com/pavolzetor/openexr-write#readme";
18 description = "Library for writing images in OpenEXR HDR file format";
15 description = "Library for writing images in OpenEXR HDR file format";
19 license = stdenv.lib.licenses.gpl3;
16 license = stdenv.lib.licenses.gpl3;
20−}
17+}
test/golden-test-cases/openpgp-asciiarmor.nix.golden+4−6
@@ -1,13 +1,10 @@
1{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
1{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
2−, cereal, fetchurl, HUnit, test-framework, test-framework-hunit
2+, cereal, HUnit, stdenv, test-framework, test-framework-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "openpgp-asciiarmor";
5 pname = "openpgp-asciiarmor";
6 version = "0.1";
6 version = "0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 attoparsec base base64-bytestring bytestring cereal
9 attoparsec base base64-bytestring bytestring cereal
13 ];
10 ];
@@ -18,4 +15,5 @@ mkDerivation {
18 homepage = "http://floss.scru.org/openpgp-asciiarmor";
15 homepage = "http://floss.scru.org/openpgp-asciiarmor";
19 description = "OpenPGP (RFC4880) ASCII Armor codec";
16 description = "OpenPGP (RFC4880) ASCII Armor codec";
20 license = "unknown";
17 license = "unknown";
18+ hydraPlatforms = stdenv.lib.platforms.none;
21−}
19+}
test/golden-test-cases/pager.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, conduit, conduit-extra, directory
1{ mkDerivation, base, bytestring, conduit, conduit-extra, directory
2−, fetchurl, process, resourcet, safe, terminfo, text, transformers
2+, process, resourcet, safe, stdenv, terminfo, text, transformers
3, unix
3, unix
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "pager";
6 pname = "pager";
7 version = "0.1.1.0";
7 version = "0.1.1.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 enableSeparateDataOutput = true;
11 enableSeparateDataOutput = true;
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/pharpend/pager";
17 homepage = "https://github.com/pharpend/pager";
21 description = "Open up a pager, like 'less' or 'more'";
18 description = "Open up a pager, like 'less' or 'more'";
22 license = stdenv.lib.licenses.bsd2;
19 license = stdenv.lib.licenses.bsd2;
23−}
20+}
test/golden-test-cases/partial-isomorphisms.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, template-haskell }:
1+{ mkDerivation, base, stdenv, template-haskell }:
2mkDerivation {
2mkDerivation {
3 pname = "partial-isomorphisms";
3 pname = "partial-isomorphisms";
4 version = "0.2.2.1";
4 version = "0.2.2.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base template-haskell ];
6 libraryHaskellDepends = [ base template-haskell ];
10 homepage = "http://www.informatik.uni-marburg.de/~rendel/unparse";
7 homepage = "http://www.informatik.uni-marburg.de/~rendel/unparse";
11 description = "Partial isomorphisms";
8 description = "Partial isomorphisms";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/partial-semigroup.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, doctest, fetchurl, hedgehog }:
1+{ mkDerivation, base, doctest, hedgehog, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "partial-semigroup";
3 pname = "partial-semigroup";
4 version = "0.3.0.2";
4 version = "0.3.0.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 testHaskellDepends = [ base doctest hedgehog ];
7 testHaskellDepends = [ base doctest hedgehog ];
11 homepage = "https://github.com/chris-martin/partial-semigroup";
8 homepage = "https://github.com/chris-martin/partial-semigroup";
12 description = "A partial binary associative operator";
9 description = "A partial binary associative operator";
13 license = stdenv.lib.licenses.asl20;
10 license = stdenv.lib.licenses.asl20;
14−}
11+}
test/golden-test-cases/pathtype.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, deepseq, directory, fetchurl, old-time
1+{ mkDerivation, base, deepseq, directory, old-time, QuickCheck
2−, QuickCheck, random, tagged, time, transformers, utility-ht
2+, random, stdenv, tagged, time, transformers, utility-ht
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "pathtype";
5 pname = "pathtype";
6 version = "0.8";
6 version = "0.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "http://hub.darcs.net/thielema/pathtype/";
15 homepage = "http://hub.darcs.net/thielema/pathtype/";
19 description = "Type-safe replacement for System.FilePath etc";
16 description = "Type-safe replacement for System.FilePath etc";
20 license = stdenv.lib.licenses.bsd3;
17 license = stdenv.lib.licenses.bsd3;
21−}
18+}
test/golden-test-cases/pcap.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, network, time }:
1+{ mkDerivation, base, bytestring, network, stdenv, time }:
2mkDerivation {
2mkDerivation {
3 pname = "pcap";
3 pname = "pcap";
4 version = "0.4.5.2";
4 version = "0.4.5.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring network time ];
6 libraryHaskellDepends = [ base bytestring network time ];
10 homepage = "https://github.com/bos/pcap";
7 homepage = "https://github.com/bos/pcap";
11 description = "A system-independent interface for user-level packet capture";
8 description = "A system-independent interface for user-level packet capture";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/pdfinfo.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, mtl, old-locale, process-extras
1+{ mkDerivation, base, mtl, old-locale, process-extras, stdenv, text
2−, text, time, time-locale-compat
2+, time, time-locale-compat
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "pdfinfo";
5 pname = "pdfinfo";
6 version = "1.5.4";
6 version = "1.5.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base mtl old-locale process-extras text time time-locale-compat
9 base mtl old-locale process-extras text time time-locale-compat
13 ];
10 ];
14 homepage = "https://github.com/chrisdone/pdfinfo";
11 homepage = "https://github.com/chrisdone/pdfinfo";
15 description = "Wrapper around the pdfinfo command";
12 description = "Wrapper around the pdfinfo command";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/pell.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, arithmoi, base, Cabal, cabal-test-quickcheck
1{ mkDerivation, arithmoi, base, Cabal, cabal-test-quickcheck
2−, containers, fetchurl, primes, QuickCheck
2+, containers, primes, QuickCheck, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "pell";
5 pname = "pell";
6 version = "0.1.1.0";
6 version = "0.1.1.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ arithmoi base containers ];
8 libraryHaskellDepends = [ arithmoi base containers ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 arithmoi base Cabal cabal-test-quickcheck containers primes
10 arithmoi base Cabal cabal-test-quickcheck containers primes
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/brunjlar/pell";
13 homepage = "https://github.com/brunjlar/pell";
17 description = "Package to solve the Generalized Pell Equation";
14 description = "Package to solve the Generalized Pell Equation";
18 license = stdenv.lib.licenses.mit;
15 license = stdenv.lib.licenses.mit;
19−}
16+}
test/golden-test-cases/persistable-types-HDBC-pg.nix.golden+5−7
@@ -1,13 +1,11 @@
1−{ mkDerivation, base, bytestring, convertible, fetchurl, HDBC
1+{ mkDerivation, base, bytestring, convertible, HDBC
2−, persistable-record, relational-query-HDBC, text-postgresql
2+, persistable-record, relational-query-HDBC, stdenv
3+, text-postgresql
3}:
4}:
4mkDerivation {
5mkDerivation {
5 pname = "persistable-types-HDBC-pg";
6 pname = "persistable-types-HDBC-pg";
6 version = "0.0.1.5";
7 version = "0.0.1.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
8+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
9 libraryHaskellDepends = [
12 base bytestring convertible HDBC persistable-record
10 base bytestring convertible HDBC persistable-record
13 relational-query-HDBC text-postgresql
11 relational-query-HDBC text-postgresql
@@ -15,4 +13,4 @@ mkDerivation {
15 homepage = "http://khibino.github.io/haskell-relational-record/";
13 homepage = "http://khibino.github.io/haskell-relational-record/";
16 description = "HDBC and Relational-Record instances of PostgreSQL extended types";
14 description = "HDBC and Relational-Record instances of PostgreSQL extended types";
17 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
18−}
16+}
test/golden-test-cases/persistent-mysql-haskell.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, base, bytestring, conduit, containers
1{ mkDerivation, aeson, base, bytestring, conduit, containers
2−, fetchurl, io-streams, monad-control, monad-logger, mysql-haskell
2+, io-streams, monad-control, monad-logger, mysql-haskell, network
3−, network, persistent, persistent-template, resource-pool
3+, persistent, persistent-template, resource-pool, resourcet, stdenv
4−, resourcet, text, time, tls, transformers
4+, text, time, tls, transformers
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "persistent-mysql-haskell";
7 pname = "persistent-mysql-haskell";
8 version = "0.3.6";
8 version = "0.3.6";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "http://www.yesodweb.com/book/persistent";
20 homepage = "http://www.yesodweb.com/book/persistent";
24 description = "A pure haskell backend for the persistent library using MySQL database server";
21 description = "A pure haskell backend for the persistent library using MySQL database server";
25 license = stdenv.lib.licenses.mit;
22 license = stdenv.lib.licenses.mit;
26−}
23+}
test/golden-test-cases/picosat.nix.golden+3−6
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, containers, fetchurl, random, rdtsc
1+{ mkDerivation, base, containers, random, rdtsc, stdenv
2, transformers
2, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "picosat";
5 pname = "picosat";
6 version = "0.1.4";
6 version = "0.1.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base containers transformers ];
8 libraryHaskellDepends = [ base containers transformers ];
12 testHaskellDepends = [ base containers random rdtsc transformers ];
9 testHaskellDepends = [ base containers random rdtsc transformers ];
13 homepage = "https://github.com/sdiehl/haskell-picosat";
10 homepage = "https://github.com/sdiehl/haskell-picosat";
14 description = "Bindings to the PicoSAT solver";
11 description = "Bindings to the PicoSAT solver";
15 license = stdenv.lib.licenses.mit;
12 license = stdenv.lib.licenses.mit;
16−}
13+}
test/golden-test-cases/pinch.nix.golden+4−6
@@ -1,14 +1,11 @@
1{ mkDerivation, array, base, bytestring, containers, deepseq
1{ mkDerivation, array, base, bytestring, containers, deepseq
2−, fetchurl, ghc-prim, hashable, hspec, hspec-discover, QuickCheck
2+, ghc-prim, hashable, hspec, hspec-discover, QuickCheck, stdenv
3, text, unordered-containers, vector
3, text, unordered-containers, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "pinch";
6 pname = "pinch";
7 version = "0.3.2.0";
7 version = "0.3.2.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 array base bytestring containers deepseq ghc-prim hashable text
10 array base bytestring containers deepseq ghc-prim hashable text
14 unordered-containers vector
11 unordered-containers vector
@@ -17,7 +14,8 @@ mkDerivation {
17 base bytestring containers hspec hspec-discover QuickCheck text
14 base bytestring containers hspec hspec-discover QuickCheck text
18 unordered-containers vector
15 unordered-containers vector
19 ];
16 ];
17+ testToolDepends = [ hspec-discover ];
20 homepage = "https://github.com/abhinav/pinch#readme";
18 homepage = "https://github.com/abhinav/pinch#readme";
21 description = "An alternative implementation of Thrift for Haskell";
19 description = "An alternative implementation of Thrift for Haskell";
22 license = stdenv.lib.licenses.bsd3;
20 license = stdenv.lib.licenses.bsd3;
23−}
21+}
test/golden-test-cases/pipes-network.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, network, network-simple
1+{ mkDerivation, base, bytestring, network, network-simple, pipes
2−, pipes, pipes-safe, transformers
2+, pipes-safe, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "pipes-network";
5 pname = "pipes-network";
6 version = "0.6.4.1";
6 version = "0.6.4.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring network network-simple pipes pipes-safe
9 base bytestring network network-simple pipes pipes-safe
13 transformers
10 transformers
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/k0001/pipes-network";
12 homepage = "https://github.com/k0001/pipes-network";
16 description = "Use network sockets together with the pipes library";
13 description = "Use network sockets together with the pipes library";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/pipes-safe.nix.golden+4−8
@@ -1,18 +1,14 @@
1−{ mkDerivation, base, containers, exceptions, fetchurl
1+{ mkDerivation, base, containers, exceptions, monad-control, mtl
2−, monad-control, mtl, pipes, primitive, transformers
2+, pipes, primitive, stdenv, transformers, transformers-base
3−, transformers-base
4}:
3}:
5mkDerivation {
4mkDerivation {
6 pname = "pipes-safe";
5 pname = "pipes-safe";
7 version = "2.2.6";
6 version = "2.2.6";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
7+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
8 libraryHaskellDepends = [
13 base containers exceptions monad-control mtl pipes primitive
9 base containers exceptions monad-control mtl pipes primitive
14 transformers transformers-base
10 transformers transformers-base
15 ];
11 ];
16 description = "Safety for the pipes ecosystem";
12 description = "Safety for the pipes ecosystem";
17 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
18−}
14+}
test/golden-test-cases/pointed.nix.golden+4−8
@@ -1,15 +1,11 @@
1{ mkDerivation, base, comonad, containers, data-default-class
1{ mkDerivation, base, comonad, containers, data-default-class
2−, fetchurl, hashable, kan-extensions, semigroupoids, semigroups
2+, hashable, kan-extensions, semigroupoids, semigroups, stdenv, stm
3−, stm, tagged, transformers, transformers-compat
3+, tagged, transformers, transformers-compat, unordered-containers
4−, unordered-containers
5}:
4}:
6mkDerivation {
5mkDerivation {
7 pname = "pointed";
6 pname = "pointed";
8 version = "5";
7 version = "5";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
8+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
9 libraryHaskellDepends = [
14 base comonad containers data-default-class hashable kan-extensions
10 base comonad containers data-default-class hashable kan-extensions
15 semigroupoids semigroups stm tagged transformers
11 semigroupoids semigroups stm tagged transformers
@@ -18,4 +14,4 @@ mkDerivation {
18 homepage = "http://github.com/ekmett/pointed/";
14 homepage = "http://github.com/ekmett/pointed/";
19 description = "Pointed and copointed data";
15 description = "Pointed and copointed data";
20 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
21−}
17+}
test/golden-test-cases/poly-arity.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, constraints, fetchurl }:
1+{ mkDerivation, base, constraints, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "poly-arity";
3 pname = "poly-arity";
4 version = "0.1.0";
4 version = "0.1.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base constraints ];
6 libraryHaskellDepends = [ base constraints ];
10 description = "Tools for working with functions of undetermined arity";
7 description = "Tools for working with functions of undetermined arity";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/polynomials-bernstein.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl, vector }:
1+{ mkDerivation, base, stdenv, vector }:
2mkDerivation {
2mkDerivation {
3 pname = "polynomials-bernstein";
3 pname = "polynomials-bernstein";
4 version = "1.1.2";
4 version = "1.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base vector ];
6 libraryHaskellDepends = [ base vector ];
10 description = "A solver for systems of polynomial equations in bernstein form";
7 description = "A solver for systems of polynomial equations in bernstein form";
11 license = "GPL";
8 license = "GPL";
12−}
9+}
test/golden-test-cases/postgresql-simple-url.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, network-uri, postgresql-simple
1+{ mkDerivation, base, network-uri, postgresql-simple, split, stdenv
2−, split, tasty, tasty-quickcheck
2+, tasty, tasty-quickcheck
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "postgresql-simple-url";
5 pname = "postgresql-simple-url";
6 version = "0.2.0.0";
6 version = "0.2.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base network-uri postgresql-simple split
9 base network-uri postgresql-simple split
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/futurice/postgresql-simple-url";
14 homepage = "https://github.com/futurice/postgresql-simple-url";
18 description = "Parse postgres:// url into ConnectInfo";
15 description = "Parse postgres:// url into ConnectInfo";
19 license = stdenv.lib.licenses.mit;
16 license = stdenv.lib.licenses.mit;
20−}
17+}
test/golden-test-cases/prelude-safeenum.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "prelude-safeenum";
3 pname = "prelude-safeenum";
4 version = "0.1.1.2";
4 version = "0.1.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "http://code.haskell.org/~wren/";
7 homepage = "http://code.haskell.org/~wren/";
11 description = "A redefinition of the Prelude's Enum class in order to render it safe";
8 description = "A redefinition of the Prelude's Enum class in order to render it safe";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/presburger.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, containers, fetchurl, pretty, QuickCheck }:
1+{ mkDerivation, base, containers, pretty, QuickCheck, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "presburger";
3 pname = "presburger";
4 version = "1.3.1";
4 version = "1.3.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers pretty ];
6 libraryHaskellDepends = [ base containers pretty ];
10 testHaskellDepends = [ base QuickCheck ];
7 testHaskellDepends = [ base QuickCheck ];
11 homepage = "http://github.com/yav/presburger";
8 homepage = "http://github.com/yav/presburger";
12 description = "A decision procedure for quantifier-free linear arithmetic";
9 description = "A decision procedure for quantifier-free linear arithmetic";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/prettyclass.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl, pretty }:
1+{ mkDerivation, base, pretty, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "prettyclass";
3 pname = "prettyclass";
4 version = "1.0.0.0";
4 version = "1.0.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base pretty ];
6 libraryHaskellDepends = [ base pretty ];
10 description = "Pretty printing class similar to Show";
7 description = "Pretty printing class similar to Show";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/prettyprinter-compat-ansi-wl-pprint.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, prettyprinter
1+{ mkDerivation, base, prettyprinter, prettyprinter-ansi-terminal
2−, prettyprinter-ansi-terminal, text
2+, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "prettyprinter-compat-ansi-wl-pprint";
5 pname = "prettyprinter-compat-ansi-wl-pprint";
6 version = "1.0.1";
6 version = "1.0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base prettyprinter prettyprinter-ansi-terminal text
9 base prettyprinter prettyprinter-ansi-terminal text
13 ];
10 ];
14 homepage = "http://github.com/quchen/prettyprinter";
11 homepage = "http://github.com/quchen/prettyprinter";
15 description = "Drop-in compatibility package to migrate from »ansi-wl-pprint« to »prettyprinter«";
12 description = "Drop-in compatibility package to migrate from »ansi-wl-pprint« to »prettyprinter«";
16 license = stdenv.lib.licenses.bsd2;
13 license = stdenv.lib.licenses.bsd2;
17−}
14+}
test/golden-test-cases/prettyprinter-compat-wl-pprint.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, prettyprinter, text }:
1+{ mkDerivation, base, prettyprinter, stdenv, text }:
2mkDerivation {
2mkDerivation {
3 pname = "prettyprinter-compat-wl-pprint";
3 pname = "prettyprinter-compat-wl-pprint";
4 version = "1.0.0.1";
4 version = "1.0.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base prettyprinter text ];
6 libraryHaskellDepends = [ base prettyprinter text ];
10 homepage = "http://github.com/quchen/prettyprinter";
7 homepage = "http://github.com/quchen/prettyprinter";
11 description = "Prettyprinter compatibility module for previous users of the wl-pprint package";
8 description = "Prettyprinter compatibility module for previous users of the wl-pprint package";
12 license = stdenv.lib.licenses.bsd2;
9 license = stdenv.lib.licenses.bsd2;
13−}
10+}
test/golden-test-cases/primitive.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, ghc-prim, transformers }:
1+{ mkDerivation, base, ghc-prim, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "primitive";
3 pname = "primitive";
4 version = "0.6.2.0";
4 version = "0.6.2.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ghc-prim transformers ];
6 libraryHaskellDepends = [ base ghc-prim transformers ];
10 testHaskellDepends = [ base ghc-prim ];
7 testHaskellDepends = [ base ghc-prim ];
11 homepage = "https://github.com/haskell/primitive";
8 homepage = "https://github.com/haskell/primitive";
12 description = "Primitive memory-related operations";
9 description = "Primitive memory-related operations";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/product-profunctors.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, contravariant, fetchurl, profunctors, tagged
1+{ mkDerivation, base, contravariant, profunctors, stdenv, tagged
2, template-haskell
2, template-haskell
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "product-profunctors";
5 pname = "product-profunctors";
6 version = "0.8.0.3";
6 version = "0.8.0.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base contravariant profunctors tagged template-haskell
9 base contravariant profunctors tagged template-haskell
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/tomjaguarpaw/product-profunctors";
12 homepage = "https://github.com/tomjaguarpaw/product-profunctors";
16 description = "product-profunctors";
13 description = "product-profunctors";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/profiterole.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, directory, extra, fetchurl
1+{ mkDerivation, base, containers, directory, extra, filepath
2−, filepath, ghc-prof, hashable, scientific, text
2+, ghc-prof, hashable, scientific, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "profiterole";
5 pname = "profiterole";
6 version = "0.1";
6 version = "0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = false;
8 isLibrary = false;
12 isExecutable = true;
9 isExecutable = true;
13 executableHaskellDepends = [
10 executableHaskellDepends = [
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/ndmitchell/profiterole#readme";
14 homepage = "https://github.com/ndmitchell/profiterole#readme";
18 description = "Restructure GHC profile reports";
15 description = "Restructure GHC profile reports";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/projectroot.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, directory, fetchurl, hspec, QuickCheck }:
1+{ mkDerivation, base, directory, hspec, QuickCheck, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "projectroot";
3 pname = "projectroot";
4 version = "0.2.0.1";
4 version = "0.2.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base directory ];
6 libraryHaskellDepends = [ base directory ];
10 testHaskellDepends = [ base hspec QuickCheck ];
7 testHaskellDepends = [ base hspec QuickCheck ];
11 homepage = "https://github.com/yamadapc/haskell-projectroot";
8 homepage = "https://github.com/yamadapc/haskell-projectroot";
12 description = "Bindings to the projectroot C logic";
9 description = "Bindings to the projectroot C logic";
13 license = stdenv.lib.licenses.mit;
10 license = stdenv.lib.licenses.mit;
14−}
11+}
test/golden-test-cases/proto-lens-optparse.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, optparse-applicative, proto-lens
1+{ mkDerivation, base, optparse-applicative, proto-lens, stdenv
2, text
2, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "proto-lens-optparse";
5 pname = "proto-lens-optparse";
6 version = "0.1.0.4";
6 version = "0.1.0.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base optparse-applicative proto-lens text
9 base optparse-applicative proto-lens text
13 ];
10 ];
14 homepage = "https://github.com/google/proto-lens";
11 homepage = "https://github.com/google/proto-lens";
15 description = "Adapting proto-lens to optparse-applicative ReadMs";
12 description = "Adapting proto-lens to optparse-applicative ReadMs";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/proto-lens.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, attoparsec, base, bytestring, containers
1{ mkDerivation, attoparsec, base, bytestring, containers
2−, data-default-class, fetchurl, lens-family, parsec, pretty, text
2+, data-default-class, lens-family, parsec, pretty, stdenv, text
3, transformers, void
3, transformers, void
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "proto-lens";
6 pname = "proto-lens";
7 version = "0.2.2.0";
7 version = "0.2.2.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 attoparsec base bytestring containers data-default-class
10 attoparsec base bytestring containers data-default-class
14 lens-family parsec pretty text transformers void
11 lens-family parsec pretty text transformers void
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/google/proto-lens";
13 homepage = "https://github.com/google/proto-lens";
17 description = "A lens-based implementation of protocol buffers in Haskell";
14 description = "A lens-based implementation of protocol buffers in Haskell";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/psqueues.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, array, base, containers, criterion, deepseq
1{ mkDerivation, array, base, containers, criterion, deepseq
2−, fetchurl, fingertree-psqueue, ghc-prim, hashable, HUnit, mtl
2+, fingertree-psqueue, ghc-prim, hashable, HUnit, mtl, PSQueue
3−, PSQueue, QuickCheck, random, tagged, test-framework
3+, QuickCheck, random, stdenv, tagged, test-framework
4, test-framework-hunit, test-framework-quickcheck2
4, test-framework-hunit, test-framework-quickcheck2
5, unordered-containers
5, unordered-containers
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "psqueues";
8 pname = "psqueues";
9 version = "0.2.4.0";
9 version = "0.2.4.0";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
11 libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
15 testHaskellDepends = [
12 testHaskellDepends = [
16 array base deepseq ghc-prim hashable HUnit QuickCheck tagged
13 array base deepseq ghc-prim hashable HUnit QuickCheck tagged
@@ -22,4 +19,4 @@ mkDerivation {
22 ];
19 ];
23 description = "Pure priority search queues";
20 description = "Pure priority search queues";
24 license = stdenv.lib.licenses.bsd3;
21 license = stdenv.lib.licenses.bsd3;
25−}
22+}
test/golden-test-cases/pusher-http-haskell.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, aeson, base, base16-bytestring, bytestring
1{ mkDerivation, aeson, base, base16-bytestring, bytestring
2−, cryptonite, fetchurl, hashable, hspec, http-client, http-types
2+, cryptonite, hashable, hspec, http-client, http-types, memory
3−, memory, QuickCheck, scientific, text, time, transformers
3+, QuickCheck, scientific, stdenv, text, time, transformers
4, unordered-containers, vector
4, unordered-containers, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "pusher-http-haskell";
7 pname = "pusher-http-haskell";
8 version = "1.5.1.0";
8 version = "1.5.1.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 aeson base base16-bytestring bytestring cryptonite hashable
11 aeson base base16-bytestring bytestring cryptonite hashable
15 http-client http-types memory text time transformers
12 http-client http-types memory text time transformers
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "https://github.com/pusher-community/pusher-http-haskell";
20 homepage = "https://github.com/pusher-community/pusher-http-haskell";
24 description = "Haskell client library for the Pusher HTTP API";
21 description = "Haskell client library for the Pusher HTTP API";
25 license = stdenv.lib.licenses.mit;
22 license = stdenv.lib.licenses.mit;
26−}
23+}
test/golden-test-cases/quickcheck-arbitrary-adt.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, hspec, lens, QuickCheck
1+{ mkDerivation, base, hspec, lens, QuickCheck, stdenv
2, template-haskell, transformers
2, template-haskell, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "quickcheck-arbitrary-adt";
5 pname = "quickcheck-arbitrary-adt";
6 version = "0.2.0.0";
6 version = "0.2.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base QuickCheck ];
8 libraryHaskellDepends = [ base QuickCheck ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base hspec lens QuickCheck template-haskell transformers
10 base hspec lens QuickCheck template-haskell transformers
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
12 homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
16 description = "Generic typeclasses for generating arbitrary ADTs";
13 description = "Generic typeclasses for generating arbitrary ADTs";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/quickcheck-combinators.nix.golden+3−7
@@ -1,13 +1,9 @@
1−{ mkDerivation, base, fetchurl, QuickCheck, unfoldable-restricted
1+{ mkDerivation, base, QuickCheck, stdenv, unfoldable-restricted }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "quickcheck-combinators";
3 pname = "quickcheck-combinators";
5 version = "0.0.2";
4 version = "0.0.2";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base QuickCheck unfoldable-restricted ];
6 libraryHaskellDepends = [ base QuickCheck unfoldable-restricted ];
11 description = "Simple type-level combinators for augmenting QuickCheck instances";
7 description = "Simple type-level combinators for augmenting QuickCheck instances";
12 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
13−}
9+}
test/golden-test-cases/rank1dynamic.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, binary, fetchurl, HUnit, test-framework
1+{ mkDerivation, base, binary, HUnit, stdenv, test-framework
2, test-framework-hunit
2, test-framework-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "rank1dynamic";
5 pname = "rank1dynamic";
6 version = "0.4.0";
6 version = "0.4.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base binary ];
8 libraryHaskellDepends = [ base binary ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base HUnit test-framework test-framework-hunit
10 base HUnit test-framework test-framework-hunit
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://haskell-distributed.github.com";
12 homepage = "http://haskell-distributed.github.com";
16 description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
13 description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/rasterific-svg.nix.golden+5−8
@@ -1,15 +1,12 @@
1{ mkDerivation, base, binary, bytestring, containers, directory
1{ mkDerivation, base, binary, bytestring, containers, directory
2−, fetchurl, filepath, FontyFruity, JuicyPixels, lens, linear, mtl
2+, filepath, FontyFruity, JuicyPixels, lens, linear, mtl
3−, optparse-applicative, primitive, Rasterific, scientific, svg-tree
3+, optparse-applicative, primitive, Rasterific, scientific, stdenv
4−, text, transformers, vector
4+, svg-tree, text, transformers, vector
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "rasterific-svg";
7 pname = "rasterific-svg";
8 version = "0.3.3";
8 version = "0.3.3";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -23,4 +20,4 @@ mkDerivation {
23 ];
20 ];
24 description = "SVG renderer based on Rasterific";
21 description = "SVG renderer based on Rasterific";
25 license = stdenv.lib.licenses.bsd3;
22 license = stdenv.lib.licenses.bsd3;
26−}
23+}
test/golden-test-cases/ratio-int.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "ratio-int";
3 pname = "ratio-int";
4 version = "0.1.2";
4 version = "0.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/RaphaelJ/ratio-int";
7 homepage = "https://github.com/RaphaelJ/ratio-int";
11 description = "Fast specialisation of Data.Ratio for Int.";
8 description = "Fast specialisation of Data.Ratio for Int.";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/rawstring-qm.nix.golden+3−7
@@ -1,14 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, template-haskell, text
1+{ mkDerivation, base, bytestring, stdenv, template-haskell, text }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "rawstring-qm";
3 pname = "rawstring-qm";
5 version = "0.2.3.0";
4 version = "0.2.3.0";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base bytestring template-haskell text ];
6 libraryHaskellDepends = [ base bytestring template-haskell text ];
11 homepage = "https://github.com/tolysz/rawstring-qm";
7 homepage = "https://github.com/tolysz/rawstring-qm";
12 description = "Simple raw string quotation and dictionary interpolation";
8 description = "Simple raw string quotation and dictionary interpolation";
13 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
14−}
10+}
test/golden-test-cases/reactive-banana.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, containers, fetchurl, hashable, HUnit, pqueue
1+{ mkDerivation, base, containers, hashable, HUnit, pqueue, psqueues
2−, psqueues, test-framework, test-framework-hunit, transformers
2+, stdenv, test-framework, test-framework-hunit, transformers
3, unordered-containers, vault
3, unordered-containers, vault
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "reactive-banana";
6 pname = "reactive-banana";
7 version = "1.1.0.1";
7 version = "1.1.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base containers hashable pqueue transformers unordered-containers
10 base containers hashable pqueue transformers unordered-containers
14 vault
11 vault
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://wiki.haskell.org/Reactive-banana";
17 homepage = "http://wiki.haskell.org/Reactive-banana";
21 description = "Library for functional reactive programming (FRP)";
18 description = "Library for functional reactive programming (FRP)";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/readline.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, ncurses, process, readline }:
1+{ mkDerivation, base, ncurses, process, readline, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "readline";
3 pname = "readline";
4 version = "1.0.3.0";
4 version = "1.0.3.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base process ];
6 libraryHaskellDepends = [ base process ];
10 librarySystemDepends = [ ncurses readline ];
7 librarySystemDepends = [ ncurses readline ];
11 description = "An interface to the GNU readline library";
8 description = "An interface to the GNU readline library";
12 license = "GPL";
9 license = "GPL";
13−}
10+}
test/golden-test-cases/rebase.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, base, base-prelude, bifunctors, bytestring
1{ mkDerivation, base, base-prelude, bifunctors, bytestring
2, containers, contravariant, contravariant-extras, deepseq, dlist
2, containers, contravariant, contravariant-extras, deepseq, dlist
3−, either, fail, fetchurl, hashable, mtl, profunctors, scientific
3+, either, fail, hashable, mtl, profunctors, scientific
4−, semigroupoids, semigroups, stm, text, time, transformers
4+, semigroupoids, semigroups, stdenv, stm, text, time, transformers
5, unordered-containers, uuid, vector, void
5, unordered-containers, uuid, vector, void
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "rebase";
8 pname = "rebase";
9 version = "1.1.1";
9 version = "1.1.1";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 base base-prelude bifunctors bytestring containers contravariant
12 base base-prelude bifunctors bytestring containers contravariant
16 contravariant-extras deepseq dlist either fail hashable mtl
13 contravariant-extras deepseq dlist either fail hashable mtl
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/nikita-volkov/rebase";
17 homepage = "https://github.com/nikita-volkov/rebase";
21 description = "A more progressive alternative to the \"base\" package";
18 description = "A more progressive alternative to the \"base\" package";
22 license = stdenv.lib.licenses.mit;
19 license = stdenv.lib.licenses.mit;
23−}
20+}
test/golden-test-cases/reform-blaze.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, blaze-html, blaze-markup, fetchurl, reform
1+{ mkDerivation, base, blaze-html, blaze-markup, reform, stdenv
2, text
2, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "reform-blaze";
5 pname = "reform-blaze";
6 version = "0.2.4.3";
6 version = "0.2.4.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base blaze-html blaze-markup reform text
9 base blaze-html blaze-markup reform text
13 ];
10 ];
14 homepage = "http://www.happstack.com/";
11 homepage = "http://www.happstack.com/";
15 description = "Add support for using blaze-html with Reform";
12 description = "Add support for using blaze-html with Reform";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/reform-hsp.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, hsp, hsx2hs, reform, text }:
1+{ mkDerivation, base, hsp, hsx2hs, reform, stdenv, text }:
2mkDerivation {
2mkDerivation {
3 pname = "reform-hsp";
3 pname = "reform-hsp";
4 version = "0.2.7.1";
4 version = "0.2.7.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base hsp hsx2hs reform text ];
6 libraryHaskellDepends = [ base hsp hsx2hs reform text ];
10 homepage = "http://www.happstack.com/";
7 homepage = "http://www.happstack.com/";
11 description = "Add support for using HSP with Reform";
8 description = "Add support for using HSP with Reform";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/regex-compat.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, fetchurl, regex-base, regex-posix }:
1+{ mkDerivation, array, base, regex-base, regex-posix, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "regex-compat";
3 pname = "regex-compat";
4 version = "0.95.1";
4 version = "0.95.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ array base regex-base regex-posix ];
6 libraryHaskellDepends = [ array base regex-base regex-posix ];
10 homepage = "http://sourceforge.net/projects/lazy-regex";
7 homepage = "http://sourceforge.net/projects/lazy-regex";
11 description = "Replaces/Enhances Text.Regex";
8 description = "Replaces/Enhances Text.Regex";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/regex-pcre.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, array, base, bytestring, containers, fetchurl, pcre
1+{ mkDerivation, array, base, bytestring, containers, pcre
2−, regex-base
2+, regex-base, stdenv
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "regex-pcre";
5 pname = "regex-pcre";
6 version = "0.94.4";
6 version = "0.94.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 array base bytestring containers regex-base
9 array base bytestring containers regex-base
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://hackage.haskell.org/package/regex-pcre";
12 homepage = "http://hackage.haskell.org/package/regex-pcre";
16 description = "Replaces/Enhances Text.Regex";
13 description = "Replaces/Enhances Text.Regex";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/relational-query.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, array, base, bytestring, containers, dlist
1{ mkDerivation, array, base, bytestring, containers, dlist
2−, fetchurl, names-th, persistable-record, product-isomorphic
2+, names-th, persistable-record, product-isomorphic
3−, quickcheck-simple, sql-words, template-haskell, text
3+, quickcheck-simple, sql-words, stdenv, template-haskell, text
4, th-reify-compat, time, time-locale-compat, transformers
4, th-reify-compat, time, time-locale-compat, transformers
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "relational-query";
7 pname = "relational-query";
8 version = "0.11.0.0";
8 version = "0.11.0.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 array base bytestring containers dlist names-th persistable-record
11 array base bytestring containers dlist names-th persistable-record
15 product-isomorphic sql-words template-haskell text th-reify-compat
12 product-isomorphic sql-words template-haskell text th-reify-compat
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "http://khibino.github.io/haskell-relational-record/";
18 homepage = "http://khibino.github.io/haskell-relational-record/";
22 description = "Typeful, Modular, Relational, algebraic query engine";
19 description = "Typeful, Modular, Relational, algebraic query engine";
23 license = stdenv.lib.licenses.bsd3;
20 license = stdenv.lib.licenses.bsd3;
24−}
21+}
test/golden-test-cases/relational-schemas.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, bytestring, containers, fetchurl
1+{ mkDerivation, base, bytestring, containers, relational-query
2−, relational-query, template-haskell, time
2+, stdenv, template-haskell, time
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "relational-schemas";
5 pname = "relational-schemas";
6 version = "0.1.6.1";
6 version = "0.1.6.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring containers relational-query template-haskell time
9 base bytestring containers relational-query template-haskell time
13 ];
10 ];
14 homepage = "http://khibino.github.io/haskell-relational-record/";
11 homepage = "http://khibino.github.io/haskell-relational-record/";
15 description = "RDBMSs' schema templates for relational-query";
12 description = "RDBMSs' schema templates for relational-query";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/repa-io.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, binary, bmp, bytestring, fetchurl, old-time
1+{ mkDerivation, base, binary, bmp, bytestring, old-time, repa
2−, repa, vector
2+, stdenv, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "repa-io";
5 pname = "repa-io";
6 version = "3.4.1.1";
6 version = "3.4.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base binary bmp bytestring old-time repa vector
9 base binary bmp bytestring old-time repa vector
13 ];
10 ];
14 homepage = "http://repa.ouroborus.net";
11 homepage = "http://repa.ouroborus.net";
15 description = "Read and write Repa arrays in various formats";
12 description = "Read and write Repa arrays in various formats";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/repa.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, bytestring, fetchurl, ghc-prim, QuickCheck
1+{ mkDerivation, base, bytestring, ghc-prim, QuickCheck, stdenv
2, template-haskell, vector
2, template-haskell, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "repa";
5 pname = "repa";
6 version = "3.4.1.3";
6 version = "3.4.1.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring ghc-prim QuickCheck template-haskell vector
9 base bytestring ghc-prim QuickCheck template-haskell vector
13 ];
10 ];
14 homepage = "http://repa.ouroborus.net";
11 homepage = "http://repa.ouroborus.net";
15 description = "High performance, regular, shape polymorphic parallel arrays";
12 description = "High performance, regular, shape polymorphic parallel arrays";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/rosezipper.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, fetchurl }:
1+{ mkDerivation, base, containers, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "rosezipper";
3 pname = "rosezipper";
4 version = "0.2";
4 version = "0.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers ];
6 libraryHaskellDepends = [ base containers ];
10 description = "Generic zipper implementation for Data.Tree";
7 description = "Generic zipper implementation for Data.Tree";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/rvar.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, fetchurl, MonadPrompt, mtl, random-source
1+{ mkDerivation, base, MonadPrompt, mtl, random-source, stdenv
2, transformers
2, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "rvar";
5 pname = "rvar";
6 version = "0.2.0.3";
6 version = "0.2.0.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base MonadPrompt mtl random-source transformers
9 base MonadPrompt mtl random-source transformers
13 ];
10 ];
14 homepage = "https://github.com/mokus0/random-fu";
11 homepage = "https://github.com/mokus0/random-fu";
15 description = "Random Variables";
12 description = "Random Variables";
16 license = stdenv.lib.licenses.publicDomain;
13 license = stdenv.lib.licenses.publicDomain;
17−}
14+}
test/golden-test-cases/scalpel-core.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, containers, criterion
1{ mkDerivation, base, bytestring, containers, criterion
2−, data-default, fail, fetchurl, HUnit, regex-base, regex-tdfa
2+, data-default, fail, HUnit, regex-base, regex-tdfa, stdenv
3, tagsoup, text, vector
3, tagsoup, text, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "scalpel-core";
6 pname = "scalpel-core";
7 version = "0.5.1";
7 version = "0.5.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base bytestring containers data-default fail regex-base regex-tdfa
10 base bytestring containers data-default fail regex-base regex-tdfa
14 tagsoup text vector
11 tagsoup text vector
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "https://github.com/fimad/scalpel";
15 homepage = "https://github.com/fimad/scalpel";
19 description = "A high level web scraping library for Haskell";
16 description = "A high level web scraping library for Haskell";
20 license = stdenv.lib.licenses.asl20;
17 license = stdenv.lib.licenses.asl20;
21−}
18+}
test/golden-test-cases/sdl2.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, exceptions, fetchurl, linear
1+{ mkDerivation, base, bytestring, exceptions, linear, SDL2
2−, SDL2, StateVar, text, transformers, vector
2+, StateVar, stdenv, text, transformers, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "sdl2";
5 pname = "sdl2";
6 version = "2.3.0";
6 version = "2.3.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 enableSeparateDataOutput = true;
10 enableSeparateDataOutput = true;
@@ -18,4 +15,4 @@ mkDerivation {
18 libraryPkgconfigDepends = [ SDL2 ];
15 libraryPkgconfigDepends = [ SDL2 ];
19 description = "Both high- and low-level bindings to the SDL library (version 2.0.4+).";
16 description = "Both high- and low-level bindings to the SDL library (version 2.0.4+).";
20 license = stdenv.lib.licenses.bsd3;
17 license = stdenv.lib.licenses.bsd3;
21−}
18+}
test/golden-test-cases/selda-sqlite.nix.golden+4−7
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, direct-sqlite, directory, exceptions
1+{ mkDerivation, base, direct-sqlite, directory, exceptions, selda
2−, fetchurl, selda, text
2+, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "selda-sqlite";
5 pname = "selda-sqlite";
6 version = "0.1.6.0";
6 version = "0.1.6.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base direct-sqlite directory exceptions selda text
9 base direct-sqlite directory exceptions selda text
13 ];
10 ];
14 homepage = "https://github.com/valderman/selda";
11 homepage = "https://github.com/valderman/selda";
15 description = "SQLite backend for the Selda database EDSL";
12 description = "SQLite backend for the Selda database EDSL";
16 license = stdenv.lib.licenses.mit;
13 license = stdenv.lib.licenses.mit;
17−}
14+}
test/golden-test-cases/selda.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, exceptions, fetchurl, hashable
1+{ mkDerivation, base, bytestring, exceptions, hashable, mtl
2−, mtl, psqueues, text, time, unordered-containers
2+, psqueues, stdenv, text, time, unordered-containers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "selda";
5 pname = "selda";
6 version = "0.1.11.2";
6 version = "0.1.11.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring exceptions hashable mtl psqueues text time
9 base bytestring exceptions hashable mtl psqueues text time
13 unordered-containers
10 unordered-containers
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://selda.link";
12 homepage = "https://selda.link";
16 description = "Type-safe, high-level EDSL for interacting with relational databases";
13 description = "Type-safe, high-level EDSL for interacting with relational databases";
17 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
18−}
15+}
test/golden-test-cases/servant-checked-exceptions.nix.golden+5−8
@@ -1,15 +1,12 @@
1−{ mkDerivation, aeson, base, bytestring, deepseq, doctest, fetchurl
1+{ mkDerivation, aeson, base, bytestring, deepseq, doctest, Glob
2−, Glob, hspec-wai, http-media, profunctors, servant, servant-client
2+, hspec-wai, http-media, profunctors, servant, servant-client
3−, servant-docs, servant-server, tagged, tasty, tasty-hspec
3+, servant-docs, servant-server, stdenv, tagged, tasty, tasty-hspec
4, tasty-hunit, text, wai
4, tasty-hunit, text, wai
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "servant-checked-exceptions";
7 pname = "servant-checked-exceptions";
8 version = "0.4.1.0";
8 version = "0.4.1.0";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 isLibrary = true;
10 isLibrary = true;
14 isExecutable = true;
11 isExecutable = true;
15 libraryHaskellDepends = [
12 libraryHaskellDepends = [
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "https://github.com/cdepillabout/servant-checked-exceptions";
20 homepage = "https://github.com/cdepillabout/servant-checked-exceptions";
24 description = "Checked exceptions for Servant APIs";
21 description = "Checked exceptions for Servant APIs";
25 license = stdenv.lib.licenses.bsd3;
22 license = stdenv.lib.licenses.bsd3;
26−}
23+}
test/golden-test-cases/set-cover.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, enummapset, fetchurl, psqueues
1+{ mkDerivation, base, containers, enummapset, psqueues, stdenv
2, utility-ht
2, utility-ht
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "set-cover";
5 pname = "set-cover";
6 version = "0.0.8";
6 version = "0.0.8";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://hub.darcs.net/thielema/set-cover/";
13 homepage = "http://hub.darcs.net/thielema/set-cover/";
17 description = "Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube";
14 description = "Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/sets.nix.golden+6−9
@@ -1,16 +1,13 @@
1{ mkDerivation, base, commutative, composition, containers
1{ mkDerivation, base, commutative, composition, containers
2−, contravariant, criterion, fetchurl, hashable, keys, mtl
2+, contravariant, criterion, hashable, keys, mtl, QuickCheck
3−, QuickCheck, quickcheck-instances, semigroupoids, semigroups
3+, quickcheck-instances, semigroupoids, semigroups, stdenv, tasty
4−, tasty, tasty-hunit, tasty-quickcheck, transformers
4+, tasty-hunit, tasty-quickcheck, transformers, transformers-base
5−, transformers-base, unordered-containers, witherable
5+, unordered-containers, witherable
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "sets";
8 pname = "sets";
9 version = "0.0.5.2";
9 version = "0.0.5.2";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 base commutative composition containers contravariant hashable keys
12 base commutative composition containers contravariant hashable keys
16 mtl QuickCheck semigroupoids semigroups transformers
13 mtl QuickCheck semigroupoids semigroups transformers
@@ -27,4 +24,4 @@ mkDerivation {
27 ];
24 ];
28 description = "Ducktyped set interface for Haskell containers";
25 description = "Ducktyped set interface for Haskell containers";
29 license = stdenv.lib.licenses.mit;
26 license = stdenv.lib.licenses.mit;
30−}
27+}
test/golden-test-cases/simple-smt.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, fetchurl, process }:
1+{ mkDerivation, base, process, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "simple-smt";
3 pname = "simple-smt";
4 version = "0.7.1";
4 version = "0.7.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base process ];
6 libraryHaskellDepends = [ base process ];
10 description = "A simple way to interact with an SMT solver process";
7 description = "A simple way to interact with an SMT solver process";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/slack-web.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, aeson, base, containers, errors, fetchurl, hspec
1+{ mkDerivation, aeson, base, containers, errors, hspec
2, http-api-data, http-client, http-client-tls, megaparsec, mtl
2, http-api-data, http-client, http-client-tls, megaparsec, mtl
3−, servant, servant-client, text, time, transformers
3+, servant, servant-client, stdenv, text, time, transformers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "slack-web";
6 pname = "slack-web";
7 version = "0.2.0.1";
7 version = "0.2.0.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson base containers errors http-api-data http-client
10 aeson base containers errors http-api-data http-client
14 http-client-tls megaparsec mtl servant servant-client text time
11 http-client-tls megaparsec mtl servant servant-client text time
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "https://github.com/jpvillaisaza/slack-web";
18 homepage = "https://github.com/jpvillaisaza/slack-web";
22 description = "Bindings for the Slack web API";
19 description = "Bindings for the Slack web API";
23 license = stdenv.lib.licenses.mit;
20 license = stdenv.lib.licenses.mit;
24−}
21+}
test/golden-test-cases/slug.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, aeson, base, exceptions, fetchurl, hspec
1+{ mkDerivation, aeson, base, exceptions, hspec, http-api-data
2−, http-api-data, path-pieces, persistent, QuickCheck, text
2+, path-pieces, persistent, QuickCheck, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "slug";
5 pname = "slug";
6 version = "0.1.7";
6 version = "0.1.7";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base exceptions http-api-data path-pieces persistent
9 aeson base exceptions http-api-data path-pieces persistent
13 QuickCheck text
10 QuickCheck text
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "https://github.com/mrkkrp/slug";
15 homepage = "https://github.com/mrkkrp/slug";
19 description = "Type-safe slugs for Yesod ecosystem";
16 description = "Type-safe slugs for Yesod ecosystem";
20 license = stdenv.lib.licenses.bsd3;
17 license = stdenv.lib.licenses.bsd3;
21−}
18+}
test/golden-test-cases/soxlib.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, base, bytestring, containers, explicit-exception
1{ mkDerivation, base, bytestring, containers, explicit-exception
2−, extensible-exceptions, fetchurl, sample-frame, sox
2+, extensible-exceptions, sample-frame, sox, stdenv, storablevector
3−, storablevector, transformers, utility-ht
3+, transformers, utility-ht
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "soxlib";
6 pname = "soxlib";
7 version = "0.0.3";
7 version = "0.0.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "http://www.haskell.org/haskellwiki/Sox";
16 homepage = "http://www.haskell.org/haskellwiki/Sox";
20 description = "Write, read, convert audio signals using libsox";
17 description = "Write, read, convert audio signals using libsox";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/speedy-slice.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, fetchurl, kan-extensions, lens
1+{ mkDerivation, base, containers, kan-extensions, lens, mcmc-types
2−, mcmc-types, mwc-probability, pipes, primitive, transformers
2+, mwc-probability, pipes, primitive, stdenv, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "speedy-slice";
5 pname = "speedy-slice";
6 version = "0.3.0";
6 version = "0.3.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base kan-extensions lens mcmc-types mwc-probability pipes primitive
9 base kan-extensions lens mcmc-types mwc-probability pipes primitive
13 transformers
10 transformers
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://github.com/jtobin/speedy-slice";
13 homepage = "http://github.com/jtobin/speedy-slice";
17 description = "Speedy slice sampling";
14 description = "Speedy slice sampling";
18 license = stdenv.lib.licenses.mit;
15 license = stdenv.lib.licenses.mit;
19−}
16+}
test/golden-test-cases/splice.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, network }:
1+{ mkDerivation, base, network, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "splice";
3 pname = "splice";
4 version = "0.6.1.1";
4 version = "0.6.1.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base network ];
6 libraryHaskellDepends = [ base network ];
10 homepage = "http://corsis.github.com/splice/";
7 homepage = "http://corsis.github.com/splice/";
11 description = "Cross-platform Socket to Socket Data Splicing";
8 description = "Cross-platform Socket to Socket Data Splicing";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/spreadsheet.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, explicit-exception, fetchurl, transformers
1+{ mkDerivation, base, explicit-exception, stdenv, transformers
2, utility-ht
2, utility-ht
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "spreadsheet";
5 pname = "spreadsheet";
6 version = "0.1.3.7";
6 version = "0.1.3.7";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://www.haskell.org/haskellwiki/Spreadsheet";
13 homepage = "http://www.haskell.org/haskellwiki/Spreadsheet";
17 description = "Read and write spreadsheets from and to CSV files in a lazy way";
14 description = "Read and write spreadsheets from and to CSV files in a lazy way";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/stack-type.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, transformers }:
1+{ mkDerivation, base, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "stack-type";
3 pname = "stack-type";
4 version = "0.1.0.0";
4 version = "0.1.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base transformers ];
6 libraryHaskellDepends = [ base transformers ];
10 homepage = "https://github.com/aiya000/hs-stack-type";
7 homepage = "https://github.com/aiya000/hs-stack-type";
11 description = "The basic stack type";
8 description = "The basic stack type";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/state-codes.nix.golden+4−7
@@ -1,16 +1,13 @@
1−{ mkDerivation, aeson, base, fetchurl, hspec, QuickCheck
1+{ mkDerivation, aeson, base, hspec, QuickCheck, shakespeare, stdenv
2−, shakespeare, text
2+, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "state-codes";
5 pname = "state-codes";
6 version = "0.1.3";
6 version = "0.1.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ aeson base shakespeare text ];
8 libraryHaskellDepends = [ aeson base shakespeare text ];
12 testHaskellDepends = [ aeson base hspec QuickCheck text ];
9 testHaskellDepends = [ aeson base hspec QuickCheck text ];
13 homepage = "https://github.com/acamino/state-codes#README";
10 homepage = "https://github.com/acamino/state-codes#README";
14 description = "ISO 3166-2:US state codes and i18n names";
11 description = "ISO 3166-2:US state codes and i18n names";
15 license = stdenv.lib.licenses.mit;
12 license = stdenv.lib.licenses.mit;
16−}
13+}
test/golden-test-cases/stb-image-redux.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, hspec, vector }:
1+{ mkDerivation, base, hspec, stdenv, vector }:
2mkDerivation {
2mkDerivation {
3 pname = "stb-image-redux";
3 pname = "stb-image-redux";
4 version = "0.2.1.2";
4 version = "0.2.1.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base vector ];
6 libraryHaskellDepends = [ base vector ];
10 testHaskellDepends = [ base hspec vector ];
7 testHaskellDepends = [ base hspec vector ];
11 homepage = "https://github.com/typedrat/stb-image-redux#readme";
8 homepage = "https://github.com/typedrat/stb-image-redux#readme";
12 description = "Image loading and writing microlibrary";
9 description = "Image loading and writing microlibrary";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/stm-containers.nix.golden+6−9
@@ -1,16 +1,13 @@
1{ mkDerivation, async, base, base-prelude, containers, criterion
1{ mkDerivation, async, base, base-prelude, containers, criterion
2−, fetchurl, focus, free, hashable, hashtables, HTF, list-t, loch-th
2+, focus, free, hashable, hashtables, HTF, list-t, loch-th, mtl
3−, mtl, mtl-prelude, mwc-random, mwc-random-monad, placeholders
3+, mtl-prelude, mwc-random, mwc-random-monad, placeholders
4−, primitive, QuickCheck, text, transformers, unordered-containers
4+, primitive, QuickCheck, stdenv, text, transformers
5−, vector
5+, unordered-containers, vector
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "stm-containers";
8 pname = "stm-containers";
9 version = "0.2.16";
9 version = "0.2.16";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 base base-prelude focus hashable list-t primitive transformers
12 base base-prelude focus hashable list-t primitive transformers
16 ];
13 ];
@@ -27,4 +24,4 @@ mkDerivation {
27 homepage = "https://github.com/nikita-volkov/stm-containers";
24 homepage = "https://github.com/nikita-volkov/stm-containers";
28 description = "Containers for STM";
25 description = "Containers for STM";
29 license = stdenv.lib.licenses.mit;
26 license = stdenv.lib.licenses.mit;
30−}
27+}
test/golden-test-cases/streaming-commons.nix.golden+4−7
@@ -1,14 +1,11 @@
1{ mkDerivation, array, async, base, blaze-builder, bytestring
1{ mkDerivation, array, async, base, blaze-builder, bytestring
2−, criterion, deepseq, directory, fetchurl, hspec, network, process
2+, criterion, deepseq, directory, hspec, network, process
3−, QuickCheck, random, stm, text, transformers, unix, zlib
3+, QuickCheck, random, stdenv, stm, text, transformers, unix, zlib
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "streaming-commons";
6 pname = "streaming-commons";
7 version = "0.1.18";
7 version = "0.1.18";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 array async base blaze-builder bytestring directory network process
10 array async base blaze-builder bytestring directory network process
14 random stm text transformers unix zlib
11 random stm text transformers unix zlib
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "https://github.com/fpco/streaming-commons";
20 homepage = "https://github.com/fpco/streaming-commons";
24 description = "Common lower-level functions needed by various streaming data libraries";
21 description = "Common lower-level functions needed by various streaming data libraries";
25 license = stdenv.lib.licenses.mit;
22 license = stdenv.lib.licenses.mit;
26−}
23+}
test/golden-test-cases/strict-base-types.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, aeson, base, bifunctors, binary, deepseq, fetchurl
1+{ mkDerivation, aeson, base, bifunctors, binary, deepseq, ghc-prim
2−, ghc-prim, hashable, lens, QuickCheck, strict
2+, hashable, lens, QuickCheck, stdenv, strict
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "strict-base-types";
5 pname = "strict-base-types";
6 version = "0.5.0";
6 version = "0.5.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base bifunctors binary deepseq ghc-prim hashable lens
9 aeson base bifunctors binary deepseq ghc-prim hashable lens
13 QuickCheck strict
10 QuickCheck strict
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/meiersi/strict-base-types";
12 homepage = "https://github.com/meiersi/strict-base-types";
16 description = "Strict variants of the types provided in base";
13 description = "Strict variants of the types provided in base";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/strict-types.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, array, base, bytestring, containers, deepseq
1{ mkDerivation, array, base, bytestring, containers, deepseq
2−, fetchurl, hashable, text, unordered-containers, vector
2+, hashable, stdenv, text, unordered-containers, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "strict-types";
5 pname = "strict-types";
6 version = "0.1.2";
6 version = "0.1.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 array base bytestring containers deepseq hashable text
9 array base bytestring containers deepseq hashable text
13 unordered-containers vector
10 unordered-containers vector
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/pepeiborra/strict-types";
12 homepage = "https://github.com/pepeiborra/strict-types";
16 description = "A type level predicate ranging over strict types";
13 description = "A type level predicate ranging over strict types";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/string-class.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, tagged, text }:
1+{ mkDerivation, base, bytestring, stdenv, tagged, text }:
2mkDerivation {
2mkDerivation {
3 pname = "string-class";
3 pname = "string-class";
4 version = "0.1.6.5";
4 version = "0.1.6.5";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring tagged text ];
6 libraryHaskellDepends = [ base bytestring tagged text ];
10 homepage = "https://github.com/bairyn/string-class";
7 homepage = "https://github.com/bairyn/string-class";
11 description = "String class library";
8 description = "String class library";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/stripe-haskell.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, stripe-core, stripe-http-streams }:
1+{ mkDerivation, base, stdenv, stripe-core, stripe-http-streams }:
2mkDerivation {
2mkDerivation {
3 pname = "stripe-haskell";
3 pname = "stripe-haskell";
4 version = "2.2.3";
4 version = "2.2.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base stripe-core stripe-http-streams ];
6 libraryHaskellDepends = [ base stripe-core stripe-http-streams ];
10 homepage = "https://github.com/dmjio/stripe";
7 homepage = "https://github.com/dmjio/stripe";
11 description = "Stripe API for Haskell";
8 description = "Stripe API for Haskell";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/svg-tree.nix.golden+5−8
@@ -1,18 +1,15 @@
1−{ mkDerivation, attoparsec, base, bytestring, containers, fetchurl
1+{ mkDerivation, attoparsec, base, bytestring, containers
2−, JuicyPixels, lens, linear, mtl, scientific, text, transformers
2+, JuicyPixels, lens, linear, mtl, scientific, stdenv, text
3−, vector, xml
3+, transformers, vector, xml
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "svg-tree";
6 pname = "svg-tree";
7 version = "0.6.2.1";
7 version = "0.6.2.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 attoparsec base bytestring containers JuicyPixels lens linear mtl
10 attoparsec base bytestring containers JuicyPixels lens linear mtl
14 scientific text transformers vector xml
11 scientific text transformers vector xml
15 ];
12 ];
16 description = "SVG file loader and serializer";
13 description = "SVG file loader and serializer";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/swagger.nix.golden+5−7
@@ -1,17 +1,15 @@
1−{ mkDerivation, aeson, base, bytestring, fetchurl, tasty
1+{ mkDerivation, aeson, base, bytestring, stdenv, tasty, tasty-hunit
2−, tasty-hunit, text, time, transformers
2+, text, time, transformers
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "swagger";
5 pname = "swagger";
6 version = "0.3.0";
6 version = "0.3.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 aeson base bytestring text time transformers
9 aeson base bytestring text time transformers
13 ];
10 ];
14 testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
11 testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
15 description = "Implementation of swagger data model";
12 description = "Implementation of swagger data model";
16 license = "unknown";
13 license = "unknown";
14+ hydraPlatforms = stdenv.lib.platforms.none;
17−}
15+}
test/golden-test-cases/system-argv0.nix.golden+3−7
@@ -1,14 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, system-filepath, text
1+{ mkDerivation, base, bytestring, stdenv, system-filepath, text }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "system-argv0";
3 pname = "system-argv0";
5 version = "0.1.1";
4 version = "0.1.1";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base bytestring system-filepath text ];
6 libraryHaskellDepends = [ base bytestring system-filepath text ];
11 homepage = "https://john-millikin.com/software/haskell-filesystem/";
7 homepage = "https://john-millikin.com/software/haskell-filesystem/";
12 description = "Get argv[0] as a FilePath";
8 description = "Get argv[0] as a FilePath";
13 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
14−}
10+}
test/golden-test-cases/system-fileio.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, chell, fetchurl, system-filepath
1+{ mkDerivation, base, bytestring, chell, stdenv, system-filepath
2, temporary, text, time, transformers, unix
2, temporary, text, time, transformers, unix
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "system-fileio";
5 pname = "system-fileio";
6 version = "0.3.16.3";
6 version = "0.3.16.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring system-filepath text time unix
9 base bytestring system-filepath text time unix
13 ];
10 ];
@@ -18,4 +15,4 @@ mkDerivation {
18 homepage = "https://github.com/fpco/haskell-filesystem";
15 homepage = "https://github.com/fpco/haskell-filesystem";
19 description = "Consistent filesystem interaction across GHC versions (deprecated)";
16 description = "Consistent filesystem interaction across GHC versions (deprecated)";
20 license = stdenv.lib.licenses.mit;
17 license = stdenv.lib.licenses.mit;
21−}
18+}
test/golden-test-cases/system-filepath.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, base, bytestring, chell, chell-quickcheck, deepseq
1{ mkDerivation, base, bytestring, chell, chell-quickcheck, deepseq
2−, fetchurl, QuickCheck, text
2+, QuickCheck, stdenv, text
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "system-filepath";
5 pname = "system-filepath";
6 version = "0.4.13.4";
6 version = "0.4.13.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base bytestring deepseq text ];
8 libraryHaskellDepends = [ base bytestring deepseq text ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base bytestring chell chell-quickcheck QuickCheck text
10 base bytestring chell chell-quickcheck QuickCheck text
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/fpco/haskell-filesystem";
12 homepage = "https://github.com/fpco/haskell-filesystem";
16 description = "High-level, byte-based file and directory path manipulations (deprecated)";
13 description = "High-level, byte-based file and directory path manipulations (deprecated)";
17 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
18−}
15+}
test/golden-test-cases/tagged.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, deepseq, fetchurl, template-haskell
1+{ mkDerivation, base, deepseq, stdenv, template-haskell
2, transformers, transformers-compat
2, transformers, transformers-compat
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "tagged";
5 pname = "tagged";
6 version = "0.8.5";
6 version = "0.8.5";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base deepseq template-haskell transformers transformers-compat
9 base deepseq template-haskell transformers transformers-compat
13 ];
10 ];
14 homepage = "http://github.com/ekmett/tagged";
11 homepage = "http://github.com/ekmett/tagged";
15 description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
12 description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/taggy.nix.golden+3−6
@@ -1,14 +1,11 @@
1{ mkDerivation, attoparsec, base, blaze-html, blaze-markup
1{ mkDerivation, attoparsec, base, blaze-html, blaze-markup
2−, criterion, directory, fetchurl, hspec, hspec-attoparsec, tagsoup
2+, criterion, directory, hspec, hspec-attoparsec, stdenv, tagsoup
3, text, unordered-containers, vector
3, text, unordered-containers, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "taggy";
6 pname = "taggy";
7 version = "0.2.1";
7 version = "0.2.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 enableSeparateDataOutput = true;
11 enableSeparateDataOutput = true;
@@ -27,4 +24,4 @@ mkDerivation {
27 homepage = "http://github.com/alpmestan/taggy";
24 homepage = "http://github.com/alpmestan/taggy";
28 description = "Efficient and simple HTML/XML parsing library";
25 description = "Efficient and simple HTML/XML parsing library";
29 license = stdenv.lib.licenses.bsd3;
26 license = stdenv.lib.licenses.bsd3;
30−}
27+}
test/golden-test-cases/tagstream-conduit.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, attoparsec, base, blaze-builder, bytestring
1{ mkDerivation, attoparsec, base, blaze-builder, bytestring
2−, case-insensitive, conduit, conduit-extra, data-default, fetchurl
2+, case-insensitive, conduit, conduit-extra, data-default, hspec
3−, hspec, HUnit, QuickCheck, resourcet, text, transformers
3+, HUnit, QuickCheck, resourcet, stdenv, text, transformers
4, xml-conduit
4, xml-conduit
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "tagstream-conduit";
7 pname = "tagstream-conduit";
8 version = "0.5.5.3";
8 version = "0.5.5.3";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
10 libraryHaskellDepends = [
14 attoparsec base blaze-builder bytestring case-insensitive conduit
11 attoparsec base blaze-builder bytestring case-insensitive conduit
15 conduit-extra data-default resourcet text transformers xml-conduit
12 conduit-extra data-default resourcet text transformers xml-conduit
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "http://github.com/yihuang/tagstream-conduit";
17 homepage = "http://github.com/yihuang/tagstream-conduit";
21 description = "streamlined html tag parser";
18 description = "streamlined html tag parser";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/tasty-hedgehog.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, hedgehog, tagged, tasty
1+{ mkDerivation, base, hedgehog, stdenv, tagged, tasty
2, tasty-expected-failure
2, tasty-expected-failure
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "tasty-hedgehog";
5 pname = "tasty-hedgehog";
6 version = "0.1.0.1";
6 version = "0.1.0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base hedgehog tagged tasty ];
8 libraryHaskellDepends = [ base hedgehog tagged tasty ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base hedgehog tasty tasty-expected-failure
10 base hedgehog tasty tasty-expected-failure
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/qfpl/tasty-hedghog";
12 homepage = "https://github.com/qfpl/tasty-hedghog";
16 description = "Integrates the hedgehog testing library with the tasty testing framework";
13 description = "Integrates the hedgehog testing library with the tasty testing framework";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/tasty-rerun.nix.golden+4−8
@@ -1,14 +1,10 @@
1−{ mkDerivation, base, containers, fetchurl, mtl
1+{ mkDerivation, base, containers, mtl, optparse-applicative
2−, optparse-applicative, reducers, split, stm, tagged, tasty
2+, reducers, split, stdenv, stm, tagged, tasty, transformers
3−, transformers
4}:
3}:
5mkDerivation {
4mkDerivation {
6 pname = "tasty-rerun";
5 pname = "tasty-rerun";
7 version = "1.1.8";
6 version = "1.1.8";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
7+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
8 libraryHaskellDepends = [
13 base containers mtl optparse-applicative reducers split stm tagged
9 base containers mtl optparse-applicative reducers split stm tagged
14 tasty transformers
10 tasty transformers
@@ -16,4 +12,4 @@ mkDerivation {
16 homepage = "http://github.com/ocharles/tasty-rerun";
12 homepage = "http://github.com/ocharles/tasty-rerun";
17 description = "Run tests by filtering the test tree depending on the result of previous test runs";
13 description = "Run tests by filtering the test tree depending on the result of previous test runs";
18 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
19−}
15+}
test/golden-test-cases/tce-conf.nix.golden+3−6
@@ -1,11 +1,8 @@
1−{ mkDerivation, base, containers, fetchurl, HUnit }:
1+{ mkDerivation, base, containers, HUnit, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "tce-conf";
3 pname = "tce-conf";
4 version = "1.3";
4 version = "1.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base containers ];
8 libraryHaskellDepends = [ base containers ];
@@ -14,4 +11,4 @@ mkDerivation {
14 homepage = "http://hub.darcs.net/dino/tce-conf";
11 homepage = "http://hub.darcs.net/dino/tce-conf";
15 description = "Very simple config file reading";
12 description = "Very simple config file reading";
16 license = stdenv.lib.licenses.bsd3;
13 license = stdenv.lib.licenses.bsd3;
17−}
14+}
test/golden-test-cases/terminal-progress-bar.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, HUnit, stm, stm-chans
1+{ mkDerivation, base, HUnit, stdenv, stm, stm-chans, test-framework
2−, test-framework, test-framework-hunit
2+, test-framework-hunit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "terminal-progress-bar";
5 pname = "terminal-progress-bar";
6 version = "0.1.1.1";
6 version = "0.1.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [ base stm stm-chans ];
10 libraryHaskellDepends = [ base stm stm-chans ];
@@ -17,4 +14,4 @@ mkDerivation {
17 homepage = "https://github.com/roelvandijk/terminal-progress-bar";
14 homepage = "https://github.com/roelvandijk/terminal-progress-bar";
18 description = "A simple progress bar in the terminal";
15 description = "A simple progress bar in the terminal";
19 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
20−}
17+}
test/golden-test-cases/test-fixture.nix.golden+5−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, data-default-class, exceptions, fetchurl
1+{ mkDerivation, base, data-default-class, exceptions
2, haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
2, haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
3−, template-haskell, th-orphans, transformers
3+, stdenv, template-haskell, th-orphans, transformers
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "test-fixture";
6 pname = "test-fixture";
7 version = "0.5.1.0";
7 version = "0.5.1.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 base data-default-class exceptions haskell-src-exts
10 base data-default-class exceptions haskell-src-exts
14 haskell-src-meta mtl template-haskell th-orphans
11 haskell-src-meta mtl template-haskell th-orphans
@@ -16,7 +13,8 @@ mkDerivation {
16 testHaskellDepends = [
13 testHaskellDepends = [
17 base hspec hspec-discover mtl template-haskell transformers
14 base hspec hspec-discover mtl template-haskell transformers
18 ];
15 ];
16+ testToolDepends = [ hspec-discover ];
19 homepage = "http://github.com/cjdev/test-fixture#readme";
17 homepage = "http://github.com/cjdev/test-fixture#readme";
20 description = "Test monadic side-effects";
18 description = "Test monadic side-effects";
21 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
22−}
20+}
test/golden-test-cases/texmath.nix.golden+5−8
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, bytestring, containers, directory, fetchurl
1+{ mkDerivation, base, bytestring, containers, directory, filepath
2−, filepath, mtl, pandoc-types, parsec, process, split, syb
2+, mtl, pandoc-types, parsec, process, split, stdenv, syb, temporary
3−, temporary, text, utf8-string, xml
3+, text, utf8-string, xml
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "texmath";
6 pname = "texmath";
7 version = "0.10.1";
7 version = "0.10.1";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 isLibrary = true;
9 isLibrary = true;
13 isExecutable = true;
10 isExecutable = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
@@ -21,4 +18,4 @@ mkDerivation {
21 homepage = "http://github.com/jgm/texmath";
18 homepage = "http://github.com/jgm/texmath";
22 description = "Conversion between formats used to represent mathematics";
19 description = "Conversion between formats used to represent mathematics";
23 license = "GPL";
20 license = "GPL";
24−}
21+}
test/golden-test-cases/text-icu.nix.golden+4−8
@@ -1,15 +1,11 @@
1{ mkDerivation, array, base, bytestring, deepseq, directory
1{ mkDerivation, array, base, bytestring, deepseq, directory
2−, fetchurl, ghc-prim, HUnit, icu, QuickCheck, random
2+, ghc-prim, HUnit, icu, QuickCheck, random, stdenv, test-framework
3−, test-framework, test-framework-hunit, test-framework-quickcheck2
3+, test-framework-hunit, test-framework-quickcheck2, text
4−, text
5}:
4}:
6mkDerivation {
5mkDerivation {
7 pname = "text-icu";
6 pname = "text-icu";
8 version = "0.7.0.1";
7 version = "0.7.0.1";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
8+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [ base bytestring deepseq text ];
9 libraryHaskellDepends = [ base bytestring deepseq text ];
14 librarySystemDepends = [ icu ];
10 librarySystemDepends = [ icu ];
15 testHaskellDepends = [
11 testHaskellDepends = [
@@ -20,4 +16,4 @@ mkDerivation {
20 homepage = "https://github.com/bos/text-icu";
16 homepage = "https://github.com/bos/text-icu";
21 description = "Bindings to the ICU library";
17 description = "Bindings to the ICU library";
22 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
23−}
19+}
test/golden-test-cases/text-postgresql.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, dlist, fetchurl, QuickCheck
1+{ mkDerivation, base, dlist, QuickCheck, quickcheck-simple, stdenv
2−, quickcheck-simple, transformers, transformers-compat
2+, transformers, transformers-compat
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "text-postgresql";
5 pname = "text-postgresql";
6 version = "0.0.2.3";
6 version = "0.0.2.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base dlist transformers transformers-compat
9 base dlist transformers transformers-compat
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "http://khibino.github.io/haskell-relational-record/";
12 homepage = "http://khibino.github.io/haskell-relational-record/";
16 description = "Parser and Printer of PostgreSQL extended types";
13 description = "Parser and Printer of PostgreSQL extended types";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/th-expand-syns.nix.golden+3−7
@@ -1,15 +1,11 @@
1−{ mkDerivation, base, containers, fetchurl, syb, template-haskell
1+{ mkDerivation, base, containers, stdenv, syb, template-haskell }:
2−}:
3mkDerivation {
2mkDerivation {
4 pname = "th-expand-syns";
3 pname = "th-expand-syns";
5 version = "0.4.4.0";
4 version = "0.4.4.0";
6− src = fetchurl {
7− url = "http://example.org/";
8− sha256 = "abc";
5+ sha256 = "deadbeef";
9− };
10 libraryHaskellDepends = [ base containers syb template-haskell ];
6 libraryHaskellDepends = [ base containers syb template-haskell ];
11 testHaskellDepends = [ base template-haskell ];
7 testHaskellDepends = [ base template-haskell ];
12 homepage = "https://github.com/DanielSchuessler/th-expand-syns";
8 homepage = "https://github.com/DanielSchuessler/th-expand-syns";
13 description = "Expands type synonyms in Template Haskell ASTs";
9 description = "Expands type synonyms in Template Haskell ASTs";
14 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
15−}
11+}
test/golden-test-cases/these.nix.golden+5−8
@@ -1,16 +1,13 @@
1{ mkDerivation, aeson, base, bifunctors, binary, containers
1{ mkDerivation, aeson, base, bifunctors, binary, containers
2−, data-default-class, deepseq, fetchurl, hashable, keys, mtl
2+, data-default-class, deepseq, hashable, keys, mtl, profunctors
3−, profunctors, QuickCheck, quickcheck-instances, semigroupoids
3+, QuickCheck, quickcheck-instances, semigroupoids, stdenv, tasty
4−, tasty, tasty-quickcheck, transformers, transformers-compat
4+, tasty-quickcheck, transformers, transformers-compat
5, unordered-containers, vector, vector-instances
5, unordered-containers, vector, vector-instances
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "these";
8 pname = "these";
9 version = "0.7.4";
9 version = "0.7.4";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 aeson base bifunctors binary containers data-default-class deepseq
12 aeson base bifunctors binary containers data-default-class deepseq
16 hashable keys mtl profunctors QuickCheck semigroupoids transformers
13 hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -24,4 +21,4 @@ mkDerivation {
24 homepage = "https://github.com/isomorphism/these";
21 homepage = "https://github.com/isomorphism/these";
25 description = "An either-or-both data type & a generalized 'zip with padding' typeclass";
22 description = "An either-or-both data type & a generalized 'zip with padding' typeclass";
26 license = stdenv.lib.licenses.bsd3;
23 license = stdenv.lib.licenses.bsd3;
27−}
24+}
test/golden-test-cases/timezone-series.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, deepseq, fetchurl, time }:
1+{ mkDerivation, base, deepseq, stdenv, time }:
2mkDerivation {
2mkDerivation {
3 pname = "timezone-series";
3 pname = "timezone-series";
4 version = "0.1.8";
4 version = "0.1.8";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base deepseq time ];
6 libraryHaskellDepends = [ base deepseq time ];
10 homepage = "http://projects.haskell.org/time-ng/";
7 homepage = "http://projects.haskell.org/time-ng/";
11 description = "Enhanced timezone handling for Data.Time";
8 description = "Enhanced timezone handling for Data.Time";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/transformers-compat.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, ghc-prim, transformers }:
1+{ mkDerivation, base, ghc-prim, stdenv, transformers }:
2mkDerivation {
2mkDerivation {
3 pname = "transformers-compat";
3 pname = "transformers-compat";
4 version = "0.5.1.4";
4 version = "0.5.1.4";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ghc-prim transformers ];
6 libraryHaskellDepends = [ base ghc-prim transformers ];
10 homepage = "http://github.com/ekmett/transformers-compat/";
7 homepage = "http://github.com/ekmett/transformers-compat/";
11 description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
8 description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/transformers-lift.nix.golden+3−7
@@ -1,16 +1,12 @@
1−{ mkDerivation, base, fetchurl, transformers
1+{ mkDerivation, base, stdenv, transformers, writer-cps-transformers
2−, writer-cps-transformers
3}:
2}:
4mkDerivation {
3mkDerivation {
5 pname = "transformers-lift";
4 pname = "transformers-lift";
6 version = "0.2.0.1";
5 version = "0.2.0.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
6+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
7 libraryHaskellDepends = [
12 base transformers writer-cps-transformers
8 base transformers writer-cps-transformers
13 ];
9 ];
14 description = "Ad-hoc type classes for lifting";
10 description = "Ad-hoc type classes for lifting";
15 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
16−}
12+}
test/golden-test-cases/tree-fun.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, fetchurl, mtl }:
1+{ mkDerivation, base, containers, mtl, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "tree-fun";
3 pname = "tree-fun";
4 version = "0.8.1.0";
4 version = "0.8.1.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers mtl ];
6 libraryHaskellDepends = [ base containers mtl ];
10 description = "Library for functions pertaining to tree exploration and manipulation";
7 description = "Library for functions pertaining to tree exploration and manipulation";
11 license = stdenv.lib.licenses.gpl3;
8 license = stdenv.lib.licenses.gpl3;
12−}
9+}
test/golden-test-cases/ttrie.nix.golden+4−7
@@ -1,16 +1,13 @@
1{ mkDerivation, async, atomic-primops, base, bifunctors, containers
1{ mkDerivation, async, atomic-primops, base, bifunctors, containers
2−, criterion-plus, deepseq, fetchurl, hashable, mwc-random
2+, criterion-plus, deepseq, hashable, mwc-random, primitive
3−, primitive, QuickCheck, stm, stm-containers, stm-stats
3+, QuickCheck, stdenv, stm, stm-containers, stm-stats
4, test-framework, test-framework-quickcheck2, text, transformers
4, test-framework, test-framework-quickcheck2, text, transformers
5, unordered-containers, vector
5, unordered-containers, vector
6}:
6}:
7mkDerivation {
7mkDerivation {
8 pname = "ttrie";
8 pname = "ttrie";
9 version = "0.1.2.1";
9 version = "0.1.2.1";
10− src = fetchurl {
11− url = "http://example.org/";
12− sha256 = "abc";
10+ sha256 = "deadbeef";
13− };
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 atomic-primops base hashable primitive stm
12 atomic-primops base hashable primitive stm
16 ];
13 ];
@@ -26,4 +23,4 @@ mkDerivation {
26 homepage = "http://github.com/mcschroeder/ttrie";
23 homepage = "http://github.com/mcschroeder/ttrie";
27 description = "Contention-free STM hash map";
24 description = "Contention-free STM hash map";
28 license = stdenv.lib.licenses.mit;
25 license = stdenv.lib.licenses.mit;
29−}
26+}
test/golden-test-cases/tuple-th.nix.golden+3−6
@@ -1,12 +1,9 @@
1−{ mkDerivation, base, containers, fetchurl, template-haskell }:
1+{ mkDerivation, base, containers, stdenv, template-haskell }:
2mkDerivation {
2mkDerivation {
3 pname = "tuple-th";
3 pname = "tuple-th";
4 version = "0.2.5";
4 version = "0.2.5";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers template-haskell ];
6 libraryHaskellDepends = [ base containers template-haskell ];
10 description = "Generate (non-recursive) utility functions for tuples of statically known size";
7 description = "Generate (non-recursive) utility functions for tuples of statically known size";
11 license = stdenv.lib.licenses.bsd3;
8 license = stdenv.lib.licenses.bsd3;
12−}
9+}
test/golden-test-cases/tuples-homogenous-h98.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl }:
1+{ mkDerivation, base, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "tuples-homogenous-h98";
3 pname = "tuples-homogenous-h98";
4 version = "0.1.1.0";
4 version = "0.1.1.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 homepage = "https://github.com/ppetr/tuples-homogenous-h98";
7 homepage = "https://github.com/ppetr/tuples-homogenous-h98";
11 description = "Wrappers for n-ary tuples with Traversable and Applicative/Monad instances";
8 description = "Wrappers for n-ary tuples with Traversable and Applicative/Monad instances";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/turtle-options.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, HUnit, optional-args, parsec, text
1+{ mkDerivation, base, HUnit, optional-args, parsec, stdenv, text
2, turtle
2, turtle
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "turtle-options";
5 pname = "turtle-options";
6 version = "0.1.0.4";
6 version = "0.1.0.4";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 isLibrary = true;
8 isLibrary = true;
12 isExecutable = true;
9 isExecutable = true;
13 libraryHaskellDepends = [ base optional-args parsec text turtle ];
10 libraryHaskellDepends = [ base optional-args parsec text turtle ];
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/elaye/turtle-options#readme";
13 homepage = "https://github.com/elaye/turtle-options#readme";
17 description = "Collection of command line options and parsers for these options";
14 description = "Collection of command line options and parsers for these options";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/type-operators.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, ghc-prim }:
1+{ mkDerivation, base, ghc-prim, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "type-operators";
3 pname = "type-operators";
4 version = "0.1.0.4";
4 version = "0.1.0.4";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ghc-prim ];
6 libraryHaskellDepends = [ base ghc-prim ];
10 homepage = "https://github.com/Shou/type-operators#readme";
7 homepage = "https://github.com/Shou/type-operators#readme";
11 description = "Various type-level operators";
8 description = "Various type-level operators";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/type-spec.nix.golden+3−6
@@ -1,14 +1,11 @@
1−{ mkDerivation, base, fetchurl, pretty }:
1+{ mkDerivation, base, pretty, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "type-spec";
3 pname = "type-spec";
4 version = "0.3.0.1";
4 version = "0.3.0.1";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base pretty ];
6 libraryHaskellDepends = [ base pretty ];
10 testHaskellDepends = [ base ];
7 testHaskellDepends = [ base ];
11 homepage = "https://github.com/sheyll/type-spec#readme";
8 homepage = "https://github.com/sheyll/type-spec#readme";
12 description = "Type Level Specification by Example";
9 description = "Type Level Specification by Example";
13 license = stdenv.lib.licenses.bsd3;
10 license = stdenv.lib.licenses.bsd3;
14−}
11+}
test/golden-test-cases/unicode-show.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, HUnit, QuickCheck, test-framework
1+{ mkDerivation, base, HUnit, QuickCheck, stdenv, test-framework
2, test-framework-hunit, test-framework-quickcheck2
2, test-framework-hunit, test-framework-quickcheck2
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "unicode-show";
5 pname = "unicode-show";
6 version = "0.1.0.2";
6 version = "0.1.0.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base ];
8 libraryHaskellDepends = [ base ];
12 testHaskellDepends = [
9 testHaskellDepends = [
13 base HUnit QuickCheck test-framework test-framework-hunit
10 base HUnit QuickCheck test-framework test-framework-hunit
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://github.com/nushio3/unicode-show#readme";
13 homepage = "http://github.com/nushio3/unicode-show#readme";
17 description = "print and show in unicode";
14 description = "print and show in unicode";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/unique.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, ghc-prim, hashable }:
1+{ mkDerivation, base, ghc-prim, hashable, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "unique";
3 pname = "unique";
4 version = "0";
4 version = "0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ghc-prim hashable ];
6 libraryHaskellDepends = [ base ghc-prim hashable ];
10 homepage = "http://github.com/ekmett/unique/";
7 homepage = "http://github.com/ekmett/unique/";
11 description = "Fully concurrent unique identifiers";
8 description = "Fully concurrent unique identifiers";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/unix-bytestring.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl }:
1+{ mkDerivation, base, bytestring, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "unix-bytestring";
3 pname = "unix-bytestring";
4 version = "0.3.7.3";
4 version = "0.3.7.3";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base bytestring ];
6 libraryHaskellDepends = [ base bytestring ];
10 homepage = "http://code.haskell.org/~wren/";
7 homepage = "http://code.haskell.org/~wren/";
11 description = "Unix/Posix-specific functions for ByteStrings";
8 description = "Unix/Posix-specific functions for ByteStrings";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/unlit.nix.golden+3−6
@@ -1,15 +1,12 @@
1−{ mkDerivation, base, directory, fetchurl, text }:
1+{ mkDerivation, base, directory, stdenv, text }:
2mkDerivation {
2mkDerivation {
3 pname = "unlit";
3 pname = "unlit";
4 version = "0.4.0.0";
4 version = "0.4.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 isLibrary = true;
6 isLibrary = true;
10 isExecutable = true;
7 isExecutable = true;
11 libraryHaskellDepends = [ base directory text ];
8 libraryHaskellDepends = [ base directory text ];
12 executableHaskellDepends = [ base directory text ];
9 executableHaskellDepends = [ base directory text ];
13 description = "Tool to convert literate code between styles or to code";
10 description = "Tool to convert literate code between styles or to code";
14 license = stdenv.lib.licenses.bsd3;
11 license = stdenv.lib.licenses.bsd3;
15−}
12+}
test/golden-test-cases/utility-ht.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, fetchurl, QuickCheck }:
1+{ mkDerivation, base, QuickCheck, stdenv }:
2mkDerivation {
2mkDerivation {
3 pname = "utility-ht";
3 pname = "utility-ht";
4 version = "0.0.14";
4 version = "0.0.14";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base ];
6 libraryHaskellDepends = [ base ];
10 testHaskellDepends = [ base QuickCheck ];
7 testHaskellDepends = [ base QuickCheck ];
11 description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
8 description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
12 license = stdenv.lib.licenses.bsd3;
9 license = stdenv.lib.licenses.bsd3;
13−}
10+}
test/golden-test-cases/validity-aeson.nix.golden+4−8
@@ -1,14 +1,10 @@
1−{ mkDerivation, aeson, base, fetchurl, validity
1+{ mkDerivation, aeson, base, stdenv, validity, validity-scientific
2−, validity-scientific, validity-text, validity-unordered-containers
2+, validity-text, validity-unordered-containers, validity-vector
3−, validity-vector
4}:
3}:
5mkDerivation {
4mkDerivation {
6 pname = "validity-aeson";
5 pname = "validity-aeson";
7 version = "0.1.0.0";
6 version = "0.1.0.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
7+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
8 libraryHaskellDepends = [
13 aeson base validity validity-scientific validity-text
9 aeson base validity validity-scientific validity-text
14 validity-unordered-containers validity-vector
10 validity-unordered-containers validity-vector
@@ -16,4 +12,4 @@ mkDerivation {
16 homepage = "https://github.com/NorfairKing/validity#readme";
12 homepage = "https://github.com/NorfairKing/validity#readme";
17 description = "Validity instances for aeson";
13 description = "Validity instances for aeson";
18 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
19−}
15+}
test/golden-test-cases/validity-containers.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, fetchurl, validity }:
1+{ mkDerivation, base, containers, stdenv, validity }:
2mkDerivation {
2mkDerivation {
3 pname = "validity-containers";
3 pname = "validity-containers";
4 version = "0.2.0.0";
4 version = "0.2.0.0";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base containers validity ];
6 libraryHaskellDepends = [ base containers validity ];
10 homepage = "https://github.com/NorfairKing/validity#readme";
7 homepage = "https://github.com/NorfairKing/validity#readme";
11 description = "Validity instances for containers";
8 description = "Validity instances for containers";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/vector-mmap.nix.golden+3−6
@@ -1,16 +1,13 @@
1−{ mkDerivation, base, fetchurl, mmap, primitive, QuickCheck
1+{ mkDerivation, base, mmap, primitive, QuickCheck, stdenv
2, temporary, vector
2, temporary, vector
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "vector-mmap";
5 pname = "vector-mmap";
6 version = "0.0.3";
6 version = "0.0.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base mmap primitive vector ];
8 libraryHaskellDepends = [ base mmap primitive vector ];
12 testHaskellDepends = [ base QuickCheck temporary vector ];
9 testHaskellDepends = [ base QuickCheck temporary vector ];
13 homepage = "http://github.com/pumpkin/vector-mmap";
10 homepage = "http://github.com/pumpkin/vector-mmap";
14 description = "Memory map immutable and mutable vectors";
11 description = "Memory map immutable and mutable vectors";
15 license = stdenv.lib.licenses.bsd3;
12 license = stdenv.lib.licenses.bsd3;
16−}
13+}
test/golden-test-cases/vivid-supercollider.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, binary, bytestring, cereal, fetchurl
1+{ mkDerivation, base, binary, bytestring, cereal, microspec
2−, microspec, QuickCheck, split, utf8-string, vivid-osc
2+, QuickCheck, split, stdenv, utf8-string, vivid-osc
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "vivid-supercollider";
5 pname = "vivid-supercollider";
6 version = "0.3.0.0";
6 version = "0.3.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base binary bytestring cereal split utf8-string vivid-osc
9 base binary bytestring cereal split utf8-string vivid-osc
13 ];
10 ];
@@ -17,4 +14,4 @@ mkDerivation {
17 ];
14 ];
18 description = "Implementation of SuperCollider server specifications";
15 description = "Implementation of SuperCollider server specifications";
19 license = "GPL";
16 license = "GPL";
20−}
17+}
test/golden-test-cases/vty.nix.golden+6−9
@@ -1,18 +1,15 @@
1{ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
1{ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
2−, deepseq, directory, fetchurl, filepath, hashable, HUnit
2+, deepseq, directory, filepath, hashable, HUnit, microlens
3−, microlens, microlens-mtl, microlens-th, mtl, parallel, parsec
3+, microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
4−, QuickCheck, quickcheck-assertions, random, smallcheck, stm
4+, quickcheck-assertions, random, smallcheck, stdenv, stm, string-qq
5−, string-qq, terminfo, test-framework, test-framework-hunit
5+, terminfo, test-framework, test-framework-hunit
6, test-framework-smallcheck, text, transformers, unix, utf8-string
6, test-framework-smallcheck, text, transformers, unix, utf8-string
7, vector
7, vector
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "vty";
10 pname = "vty";
11 version = "5.19.1";
11 version = "5.19.1";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 isLibrary = true;
13 isLibrary = true;
17 isExecutable = true;
14 isExecutable = true;
18 libraryHaskellDepends = [
15 libraryHaskellDepends = [
@@ -33,4 +30,4 @@ mkDerivation {
33 homepage = "https://github.com/jtdaugherty/vty";
30 homepage = "https://github.com/jtdaugherty/vty";
34 description = "A simple terminal UI library";
31 description = "A simple terminal UI library";
35 license = stdenv.lib.licenses.bsd3;
32 license = stdenv.lib.licenses.bsd3;
36−}
33+}
test/golden-test-cases/wai-cors.nix.golden+4−7
@@ -1,15 +1,12 @@
1{ mkDerivation, attoparsec, base, base-unicode-symbols, bytestring
1{ mkDerivation, attoparsec, base, base-unicode-symbols, bytestring
2−, case-insensitive, directory, fetchurl, filepath, http-types, mtl
2+, case-insensitive, directory, filepath, http-types, mtl, network
3−, network, process, tasty, tasty-hunit, text, transformers, wai
3+, process, stdenv, tasty, tasty-hunit, text, transformers, wai
4, wai-extra, wai-websockets, warp, websockets
4, wai-extra, wai-websockets, warp, websockets
5}:
5}:
6mkDerivation {
6mkDerivation {
7 pname = "wai-cors";
7 pname = "wai-cors";
8 version = "0.2.6";
8 version = "0.2.6";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
9+ sha256 = "deadbeef";
12− };
13 enableSeparateDataOutput = true;
10 enableSeparateDataOutput = true;
14 libraryHaskellDepends = [
11 libraryHaskellDepends = [
15 attoparsec base base-unicode-symbols bytestring case-insensitive
12 attoparsec base base-unicode-symbols bytestring case-insensitive
@@ -23,4 +20,4 @@ mkDerivation {
23 homepage = "https://github.com/larskuhtz/wai-cors";
20 homepage = "https://github.com/larskuhtz/wai-cors";
24 description = "CORS for WAI";
21 description = "CORS for WAI";
25 license = stdenv.lib.licenses.mit;
22 license = stdenv.lib.licenses.mit;
26−}
23+}
test/golden-test-cases/wai-middleware-auth.nix.golden+6−9
@@ -1,18 +1,15 @@
1{ mkDerivation, aeson, base, base64-bytestring, binary
1{ mkDerivation, aeson, base, base64-bytestring, binary
2, blaze-builder, blaze-html, bytestring, case-insensitive, cereal
2, blaze-builder, blaze-html, bytestring, case-insensitive, cereal
3−, clientsession, cookie, exceptions, fetchurl, hoauth2, http-client
3+, clientsession, cookie, exceptions, hoauth2, http-client
4, http-client-tls, http-conduit, http-reverse-proxy, http-types
4, http-client-tls, http-conduit, http-reverse-proxy, http-types
5−, optparse-simple, regex-posix, safe-exceptions, shakespeare, text
5+, optparse-simple, regex-posix, safe-exceptions, shakespeare
6−, unix-compat, unordered-containers, uri-bytestring, vault, wai
6+, stdenv, text, unix-compat, unordered-containers, uri-bytestring
7−, wai-app-static, wai-extra, warp, yaml
7+, vault, wai, wai-app-static, wai-extra, warp, yaml
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "wai-middleware-auth";
10 pname = "wai-middleware-auth";
11 version = "0.1.2.1";
11 version = "0.1.2.1";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 isLibrary = true;
13 isLibrary = true;
17 isExecutable = true;
14 isExecutable = true;
18 libraryHaskellDepends = [
15 libraryHaskellDepends = [
@@ -28,4 +25,4 @@ mkDerivation {
28 ];
25 ];
29 description = "Authentication middleware that secures WAI application";
26 description = "Authentication middleware that secures WAI application";
30 license = stdenv.lib.licenses.mit;
27 license = stdenv.lib.licenses.mit;
31−}
28+}
test/golden-test-cases/wai-middleware-caching-redis.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, blaze-builder, bytestring, fetchurl, hedis
1+{ mkDerivation, base, blaze-builder, bytestring, hedis, http-types
2−, http-types, text, wai, wai-middleware-caching
2+, stdenv, text, wai, wai-middleware-caching
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "wai-middleware-caching-redis";
5 pname = "wai-middleware-caching-redis";
6 version = "0.2.0.0";
6 version = "0.2.0.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base blaze-builder bytestring hedis http-types text wai
9 base blaze-builder bytestring hedis http-types text wai
13 wai-middleware-caching
10 wai-middleware-caching
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "http://github.com/yogsototh/wai-middleware-caching/tree/master/wai-middleware-caching-redis#readme";
13 homepage = "http://github.com/yogsototh/wai-middleware-caching/tree/master/wai-middleware-caching-redis#readme";
17 description = "Cache Wai Middleware using Redis backend";
14 description = "Cache Wai Middleware using Redis backend";
18 license = stdenv.lib.licenses.bsd3;
15 license = stdenv.lib.licenses.bsd3;
19−}
16+}
test/golden-test-cases/wai-middleware-prometheus.nix.golden+3−6
@@ -1,13 +1,10 @@
1{ mkDerivation, base, bytestring, clock, data-default, doctest
1{ mkDerivation, base, bytestring, clock, data-default, doctest
2−, fetchurl, http-types, prometheus-client, text, wai
2+, http-types, prometheus-client, stdenv, text, wai
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "wai-middleware-prometheus";
5 pname = "wai-middleware-prometheus";
6 version = "0.3.0";
6 version = "0.3.0";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base bytestring clock data-default http-types prometheus-client
9 base bytestring clock data-default http-types prometheus-client
13 text wai
10 text wai
@@ -16,4 +13,4 @@ mkDerivation {
16 homepage = "https://github.com/fimad/prometheus-haskell";
13 homepage = "https://github.com/fimad/prometheus-haskell";
17 description = "WAI middlware for exposing http://prometheus.io metrics.";
14 description = "WAI middlware for exposing http://prometheus.io metrics.";
18 license = stdenv.lib.licenses.asl20;
15 license = stdenv.lib.licenses.asl20;
19−}
16+}
test/golden-test-cases/warp.nix.golden+7−10
@@ -1,18 +1,15 @@
1{ mkDerivation, array, async, auto-update, base, blaze-builder
1{ mkDerivation, array, async, auto-update, base, blaze-builder
2, bytestring, bytestring-builder, case-insensitive, containers
2, bytestring, bytestring-builder, case-insensitive, containers
3−, criterion, directory, doctest, fetchurl, ghc-prim, hashable
3+, criterion, directory, doctest, ghc-prim, hashable, hspec, HTTP
4−, hspec, HTTP, http-date, http-types, http2, HUnit, iproute
4+, http-date, http-types, http2, HUnit, iproute, lifted-base
5−, lifted-base, network, process, QuickCheck, silently
5+, network, process, QuickCheck, silently, simple-sendfile, stdenv
6−, simple-sendfile, stm, streaming-commons, text, time, transformers
6+, stm, streaming-commons, text, time, transformers, unix
7−, unix, unix-compat, vault, wai, word8
7+, unix-compat, vault, wai, word8
8}:
8}:
9mkDerivation {
9mkDerivation {
10 pname = "warp";
10 pname = "warp";
11 version = "3.2.13";
11 version = "3.2.13";
12− src = fetchurl {
13− url = "http://example.org/";
14− sha256 = "abc";
12+ sha256 = "deadbeef";
15− };
16 libraryHaskellDepends = [
13 libraryHaskellDepends = [
17 array async auto-update base blaze-builder bytestring
14 array async auto-update base blaze-builder bytestring
18 bytestring-builder case-insensitive containers ghc-prim hashable
15 bytestring-builder case-insensitive containers ghc-prim hashable
@@ -34,4 +31,4 @@ mkDerivation {
34 homepage = "http://github.com/yesodweb/wai";
31 homepage = "http://github.com/yesodweb/wai";
35 description = "A fast, light-weight web server for WAI applications";
32 description = "A fast, light-weight web server for WAI applications";
36 license = stdenv.lib.licenses.mit;
33 license = stdenv.lib.licenses.mit;
37−}
34+}
test/golden-test-cases/weigh.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, deepseq, fetchurl, mtl, process, split
1+{ mkDerivation, base, deepseq, mtl, process, split, stdenv
2, template-haskell, temporary
2, template-haskell, temporary
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "weigh";
5 pname = "weigh";
6 version = "0.0.7";
6 version = "0.0.7";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base deepseq mtl process split template-haskell temporary
9 base deepseq mtl process split template-haskell temporary
13 ];
10 ];
@@ -15,4 +12,4 @@ mkDerivation {
15 homepage = "https://github.com/fpco/weigh#readme";
12 homepage = "https://github.com/fpco/weigh#readme";
16 description = "Measure allocations of a Haskell functions/values";
13 description = "Measure allocations of a Haskell functions/values";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
test/golden-test-cases/xml-hamlet.nix.golden+4−7
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, containers, fetchurl, hspec, HUnit, parsec
1+{ mkDerivation, base, containers, hspec, HUnit, parsec, shakespeare
2−, shakespeare, template-haskell, text, xml-conduit
2+, stdenv, template-haskell, text, xml-conduit
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "xml-hamlet";
5 pname = "xml-hamlet";
6 version = "0.4.1.1";
6 version = "0.4.1.1";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base containers parsec shakespeare template-haskell text
9 base containers parsec shakespeare template-haskell text
13 xml-conduit
10 xml-conduit
@@ -19,4 +16,4 @@ mkDerivation {
19 homepage = "http://www.yesodweb.com/";
16 homepage = "http://www.yesodweb.com/";
20 description = "Hamlet-style quasiquoter for XML content";
17 description = "Hamlet-style quasiquoter for XML content";
21 license = stdenv.lib.licenses.bsd3;
18 license = stdenv.lib.licenses.bsd3;
22−}
19+}
test/golden-test-cases/xmonad-contrib.nix.golden+4−8
@@ -1,15 +1,11 @@
1{ mkDerivation, base, bytestring, containers, directory
1{ mkDerivation, base, bytestring, containers, directory
2−, extensible-exceptions, fetchurl, filepath, mtl, old-locale
2+, extensible-exceptions, filepath, mtl, old-locale, old-time
3−, old-time, process, random, unix, utf8-string, X11, X11-xft
3+, process, random, stdenv, unix, utf8-string, X11, X11-xft, xmonad
4−, xmonad
5}:
4}:
6mkDerivation {
5mkDerivation {
7 pname = "xmonad-contrib";
6 pname = "xmonad-contrib";
8 version = "0.13";
7 version = "0.13";
9− src = fetchurl {
10− url = "http://example.org/";
11− sha256 = "abc";
8+ sha256 = "deadbeef";
12− };
13 libraryHaskellDepends = [
9 libraryHaskellDepends = [
14 base bytestring containers directory extensible-exceptions filepath
10 base bytestring containers directory extensible-exceptions filepath
15 mtl old-locale old-time process random unix utf8-string X11 X11-xft
11 mtl old-locale old-time process random unix utf8-string X11 X11-xft
@@ -18,4 +14,4 @@ mkDerivation {
18 homepage = "http://xmonad.org/";
14 homepage = "http://xmonad.org/";
19 description = "Third party extensions for xmonad";
15 description = "Third party extensions for xmonad";
20 license = stdenv.lib.licenses.bsd3;
16 license = stdenv.lib.licenses.bsd3;
21−}
17+}
test/golden-test-cases/yahoo-finance-api.nix.golden+4−7
@@ -1,14 +1,11 @@
1−{ mkDerivation, aeson, base, doctest, either, fetchurl, Glob, hspec
1+{ mkDerivation, aeson, base, doctest, either, Glob, hspec
2, http-api-data, http-client, http-client-tls, mtl, safe, servant
2, http-api-data, http-client, http-client-tls, mtl, safe, servant
3−, servant-client, text, time, transformers, vector
3+, servant-client, stdenv, text, time, transformers, vector
4}:
4}:
5mkDerivation {
5mkDerivation {
6 pname = "yahoo-finance-api";
6 pname = "yahoo-finance-api";
7 version = "0.2.0.3";
7 version = "0.2.0.3";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
8+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
9 libraryHaskellDepends = [
13 aeson base either http-api-data http-client mtl servant
10 aeson base either http-api-data http-client mtl servant
14 servant-client text time transformers vector
11 servant-client text time transformers vector
@@ -20,4 +17,4 @@ mkDerivation {
20 homepage = "https://github.com/cdepillabout/yahoo-finance-api";
17 homepage = "https://github.com/cdepillabout/yahoo-finance-api";
21 description = "Read quotes from Yahoo Finance API";
18 description = "Read quotes from Yahoo Finance API";
22 license = stdenv.lib.licenses.bsd3;
19 license = stdenv.lib.licenses.bsd3;
23−}
20+}
test/golden-test-cases/yesod-form-bootstrap4.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, classy-prelude-yesod, fetchurl, yesod-form }:
1+{ mkDerivation, base, classy-prelude-yesod, stdenv, yesod-form }:
2mkDerivation {
2mkDerivation {
3 pname = "yesod-form-bootstrap4";
3 pname = "yesod-form-bootstrap4";
4 version = "0.1.0.2";
4 version = "0.1.0.2";
5− src = fetchurl {
6− url = "http://example.org/";
7− sha256 = "abc";
5+ sha256 = "deadbeef";
8− };
9 libraryHaskellDepends = [ base classy-prelude-yesod yesod-form ];
6 libraryHaskellDepends = [ base classy-prelude-yesod yesod-form ];
10 homepage = "https://github.com/ncaq/yesod-form-bootstrap4#readme";
7 homepage = "https://github.com/ncaq/yesod-form-bootstrap4#readme";
11 description = "renderBootstrap4";
8 description = "renderBootstrap4";
12 license = stdenv.lib.licenses.mit;
9 license = stdenv.lib.licenses.mit;
13−}
10+}
test/golden-test-cases/yesod-gitrepo.nix.golden+4−8
@@ -1,14 +1,10 @@
1−{ mkDerivation, base, directory, enclosed-exceptions, fetchurl
1+{ mkDerivation, base, directory, enclosed-exceptions, http-types
2−, http-types, lifted-base, process, temporary, text, wai
2+, lifted-base, process, stdenv, temporary, text, wai, yesod-core
3−, yesod-core
4}:
3}:
5mkDerivation {
4mkDerivation {
6 pname = "yesod-gitrepo";
5 pname = "yesod-gitrepo";
7 version = "0.2.1.0";
6 version = "0.2.1.0";
8− src = fetchurl {
9− url = "http://example.org/";
10− sha256 = "abc";
7+ sha256 = "deadbeef";
11− };
12 libraryHaskellDepends = [
8 libraryHaskellDepends = [
13 base directory enclosed-exceptions http-types lifted-base process
9 base directory enclosed-exceptions http-types lifted-base process
14 temporary text wai yesod-core
10 temporary text wai yesod-core
@@ -16,4 +12,4 @@ mkDerivation {
16 homepage = "https://github.com/snoyberg/yesod-gitrepo";
12 homepage = "https://github.com/snoyberg/yesod-gitrepo";
17 description = "Host content provided by a Git repo";
13 description = "Host content provided by a Git repo";
18 license = stdenv.lib.licenses.mit;
14 license = stdenv.lib.licenses.mit;
19−}
15+}
test/golden-test-cases/yesod-recaptcha2.nix.golden+3−6
@@ -1,17 +1,14 @@
1−{ mkDerivation, base, classy-prelude-yesod, fetchurl, http-conduit
1+{ mkDerivation, base, classy-prelude-yesod, http-conduit, stdenv
2, yesod-auth
2, yesod-auth
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "yesod-recaptcha2";
5 pname = "yesod-recaptcha2";
6 version = "0.2.3";
6 version = "0.2.3";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [
8 libraryHaskellDepends = [
12 base classy-prelude-yesod http-conduit yesod-auth
9 base classy-prelude-yesod http-conduit yesod-auth
13 ];
10 ];
14 homepage = "https://github.com/ncaq/yesod-recaptcha2#readme";
11 homepage = "https://github.com/ncaq/yesod-recaptcha2#readme";
15 description = "yesod recaptcha2";
12 description = "yesod recaptcha2";
16 license = stdenv.lib.licenses.mit;
13 license = stdenv.lib.licenses.mit;
17−}
14+}
test/golden-test-cases/zlib.nix.golden+3−6
@@ -1,13 +1,10 @@
1−{ mkDerivation, base, bytestring, fetchurl, QuickCheck, tasty
1+{ mkDerivation, base, bytestring, QuickCheck, stdenv, tasty
2, tasty-hunit, tasty-quickcheck, zlib
2, tasty-hunit, tasty-quickcheck, zlib
3}:
3}:
4mkDerivation {
4mkDerivation {
5 pname = "zlib";
5 pname = "zlib";
6 version = "0.6.1.2";
6 version = "0.6.1.2";
7− src = fetchurl {
8− url = "http://example.org/";
9− sha256 = "abc";
7+ sha256 = "deadbeef";
10− };
11 libraryHaskellDepends = [ base bytestring ];
8 libraryHaskellDepends = [ base bytestring ];
12 librarySystemDepends = [ zlib ];
9 librarySystemDepends = [ zlib ];
13 testHaskellDepends = [
10 testHaskellDepends = [
@@ -15,4 +12,4 @@ mkDerivation {
15 ];
12 ];
16 description = "Compression and decompression in the gzip and zlib formats";
13 description = "Compression and decompression in the gzip and zlib formats";
17 license = stdenv.lib.licenses.bsd3;
14 license = stdenv.lib.licenses.bsd3;
18−}
15+}
update-nixpkgs.sh+1−1
@@ -31,7 +31,7 @@ hackage=$(git rev-parse --verify HEAD)
31cd ..
31cd ..
32
32
33# This command needs a recent development version of cabal-install. I don't
33# This command needs a recent development version of cabal-install. I don't
34−# think this works properly in verson 2.0.0.0 already.
34+# think this works properly in version 2.0.0.0 already.
35cabal -v0 new-run hackage2nix -- --nixpkgs="$PWD/nixpkgs" +RTS -M4G -RTS
35cabal -v0 new-run hackage2nix -- --nixpkgs="$PWD/nixpkgs" +RTS -M4G -RTS
36
36
37cd nixpkgs
37cd nixpkgs
update-stackage.sh+14−7
@@ -2,11 +2,14 @@
2
2
3set -eu -o pipefail
3set -eu -o pipefail
4
4
5−tmpfile=$(mktemp "stackage-update.XXXXXXX")
5+cd "$(dirname "$0")"
6−trap "rm $tmpfile" 0
7
6
7+tmpfile=$(mktemp "update-stackage.XXXXXXX")
8+# shellcheck disable=SC2064
9+trap "rm ${tmpfile} ${tmpfile}.new" 0
10+
8−curl -L -s "https://www.stackage.org/lts/cabal.config" >"$tmpfile"
11+curl -L -s "https://stackage.org/lts/cabal.config" >"$tmpfile"
9−version=$(sed -n "s/^--.*http:..www.stackage.org.snapshot.lts-//p" "$tmpfile")
12+version=$(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.lts-//p" "$tmpfile")
10
13
11# Create a simple yaml version of the file.
14# Create a simple yaml version of the file.
12sed -r \
15sed -r \
@@ -16,12 +19,13 @@ sed -r \
16 -e 's|,$||' \
19 -e 's|,$||' \
17 -e '/installed$/d' \
20 -e '/installed$/d' \
18 -e '/^$/d' \
21 -e '/^$/d' \
19− -i "$tmpfile"
22+ < "${tmpfile}" | sort --ignore-case >"${tmpfile}.new"
20
23
21# Drop restrictions on some tools where we always want the latest version.
24# Drop restrictions on some tools where we always want the latest version.
22sed -r \
25sed -r \
23 -e '/ cabal-install /d' \
26 -e '/ cabal-install /d' \
24 -e '/ cabal2nix /d' \
27 -e '/ cabal2nix /d' \
28+ -e '/ cabal2spec /d' \
25 -e '/ distribution-nixpkgs /d' \
29 -e '/ distribution-nixpkgs /d' \
26 -e '/ git-annex /d' \
30 -e '/ git-annex /d' \
27 -e '/ hindent /d' \
31 -e '/ hindent /d' \
@@ -30,14 +34,17 @@ sed -r \
30 -e '/ hoogle /d' \
34 -e '/ hoogle /d' \
31 -e '/ hopenssl /d' \
35 -e '/ hopenssl /d' \
32 -e '/ jailbreak-cabal /d' \
36 -e '/ jailbreak-cabal /d' \
37+ -e '/ json-autotype/d' \
33 -e '/ language-nix /d' \
38 -e '/ language-nix /d' \
39+ -e '/ shake /d' \
34 -e '/ ShellCheck /d' \
40 -e '/ ShellCheck /d' \
35 -e '/ stack /d' \
41 -e '/ stack /d' \
36 -e '/ weeder /d' \
42 -e '/ weeder /d' \
37− -i "$tmpfile"
43+ < "${tmpfile}.new" > "${tmpfile}"
38
44
39# Drop the previous configuration ...
45# Drop the previous configuration ...
46+# shellcheck disable=SC1004
40−sed -e '/# LTS Haskell/,/^$/c \TODO\
47+sed -e '/ # LTS Haskell/,/^$/c \TODO\
41' -i nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
48' -i nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
42
49
43# ... and replace it with the new one.
50# ... and replace it with the new one.