Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
edba77e
haskellPackages.ghc: disable split sections on windows
alexfmpe May 16, 2025
7e90fcc
haskellPackages.ghc: fix windres settings reference when cross-compil…
alexfmpe May 16, 2025
13bffd8
haskellPackages: fix GHC build on linux->ucrt cross
alexfmpe May 16, 2025
2a7033b
haskellPackages: add ucrt64 to release-haskell jobset on ghc 9.12
alexfmpe Feb 26, 2025
a7beb46
haskellPackages: fix GHC 9.12 on android
alexfmpe Jun 5, 2025
3799b9e
haskellPackages: fix aarch64-android-prebuilt release-haskell jobset
alexfmpe Jun 5, 2025
4fe25a0
Add note about leaking into RPATH
alexfmpe Jun 10, 2025
a28e514
haskellPackages.yaml: build executables
ncfavier Jun 12, 2025
ef6d393
Merge 376a91ea0506c2963296a955cc6c401274cdc978 into haskell-updates
nixpkgs-ci[bot] Jul 2, 2025
8f1e3c0
Merge d55716bb59b91ae9d1ced4b1ccdea7a442ecbfdb into haskell-updates
nixpkgs-ci[bot] Jul 3, 2025
ea705e3
Merge 9af9e79f31b9727693942df951261e708b0ee922 into haskell-updates
nixpkgs-ci[bot] Jul 4, 2025
5cfe11f
haskell-modules/configuration-common: explicitly list amazonka packages
TeofilC Jul 4, 2025
9cd2a82
Merge 3b3e2c8b6ca02889fb3d55648001892529349647 into haskell-updates
nixpkgs-ci[bot] Jul 5, 2025
dc9a5da
Merge 17b5150fcbbfe392892f94e7d0ca1eb3c44b2713 into haskell-updates
nixpkgs-ci[bot] Jul 6, 2025
8443969
Merge e4097b55758cfaa13336857214f83f74b593b7c5 into haskell-updates
nixpkgs-ci[bot] Jul 7, 2025
378a769
haskellPackages.cabal2nix-unstable: move overrides into config*-nix
sternenseemann Jul 2, 2025
dca180b
haskellPackages.hpack_0_38_1: disable tests accessing network
sternenseemann Jul 3, 2025
1c393bb
haskellPackages.cabal2nix-unstable: build against Cabal 3.14
sternenseemann Jul 3, 2025
249a8b6
Merge e6e45d9aa62a96dbfd5def815ecf16308c246f24 into haskell-updates
nixpkgs-ci[bot] Jul 8, 2025
d68714a
Merge 308b628d7e4ccb29030971a0eaebeb085456f0c8 into haskell-updates
nixpkgs-ci[bot] Jul 9, 2025
85ef96a
Merge 686386f4cc49e76cb0c03a34e467a5489d6cbfc8 into haskell-updates
nixpkgs-ci[bot] Jul 10, 2025
1158f20
maintainers/haskell/update*: print version diff when not committing
sternenseemann Jul 3, 2025
f834f1d
maintainers/scripts/haskell: briefer commit message bodies
sternenseemann Jul 3, 2025
5e758ae
maintainers/haskell/regen-h-packages.sh: let user edit commit msg
sternenseemann Jul 3, 2025
34c51b7
maintainers/scripts/haskell: unify pkg set update into single commit
sternenseemann Jul 7, 2025
7479392
haskellPackages: stackage LTS 23.24 -> LTS 23.27
sternenseemann Jul 7, 2025
4b59ccb
haskellPackages.gpu-vulkan-middle: drop obsolete override
sternenseemann Jul 10, 2025
fb745cd
haskellPackages.persistent-test: drop obsolete overrides
sternenseemann Jul 10, 2025
bf81170
haskellPackages.shakespeare: use latest version from Stackage again
sternenseemann Jul 10, 2025
543e922
haskellPackages.shakespeare: disable broken test suite
sternenseemann Jul 10, 2025
22e64af
haskellPackages.llvm-ffi: don't unnecessarily pass null
sternenseemann Jul 10, 2025
2464848
haskell.packages.ghc912.doctest: 0.24.0 -> 0.24.2
wolfgangwalther Jul 11, 2025
a39fb3b
haskellPackages.llvm-ffi: pin to 20.*
sternenseemann Jul 10, 2025
9f70a23
Merge bcef7b39781011d4332b54f59e989d4d4c22d643 into haskell-updates
nixpkgs-ci[bot] Jul 12, 2025
e84623d
haskellPackages.servant-client: drop released patch
sternenseemann Jul 12, 2025
4e0dda4
haskellPackages.servant-routes: drop released patch
sternenseemann Jul 12, 2025
f256da2
git-annex: update sha256 for 10.20250630
sternenseemann Jul 12, 2025
a2fd33c
Merge 9805973355c672cc7d1e09bc8447a84d14082188 into haskell-updates
nixpkgs-ci[bot] Jul 13, 2025
0b0059b
haskellPackages: fixes for pkgsCross.ucrt64 (#357744)
alexfmpe Jul 13, 2025
d5e837b
haskellPackages: fix GHC 9.12 on android (#414317)
alexfmpe Jul 13, 2025
1a7e00b
haskell-modules/configuration-common: explicitly list amazonka packag…
wolfgangwalther Jul 14, 2025
f1a96f4
haskellPackages.Agda: generate interface files for the primitive modules
ncfavier Jul 10, 2025
67a1389
agdaPackages.standard-library: 2.2 -> 2.2-unstable-2025-07-03
ncfavier Jul 10, 2025
7bd1a19
agdaPackages._1lab: unstable-2024-08-05 -> unstable-2025-07-01
ncfavier Jul 10, 2025
5a6da0e
agdaPackages.cubical-mini: nightly-20241214 -> 0.5-unstable-2025-06-13
ncfavier Jul 10, 2025
5be62c2
agdaPackages.generics: fix build
ncfavier Jul 10, 2025
cc70802
stack: use hpack == 0.38.1 to match upstream
sternenseemann Jul 14, 2025
59ea7fd
haskell.compiler.*: enable NUMA in rts if supported
sternenseemann Jul 14, 2025
5cfa2b2
Merge commit cb8ff21c into haskell-updates
sternenseemann Jul 15, 2025
f10aa08
Merge d7c8095791ce3aafe97d9c16c1dc2f4e3d69a3ba into haskell-updates
nixpkgs-ci[bot] Jul 16, 2025
1288f57
agdaPackages: switch to `--build-library`
ncfavier Jul 10, 2025
32e5230
Merge 6c6254bd01ea09bc528cf3933a4df7eb7363777e into haskell-updates
nixpkgs-ci[bot] Jul 17, 2025
e022698
haskell.compiler: (make-native-bignum) group unconditional patches
sternenseemann Jul 17, 2025
a9be46b
haskell.compiler: (make-native-bignum) sort cond patches by version
sternenseemann Jul 17, 2025
98d795a
haskell.compiler: (make built) add libnuma paths to pkg db
sternenseemann Jul 17, 2025
1d2cfef
agda: fixes for 2.8.0 (#424180)
philiptaron Jul 17, 2025
250924f
maintainers/update-hackage.sh: don't print diff if no changes
sternenseemann Jul 14, 2025
0545642
maintainers/update-{st,h}ackage.sh: drop support for --do-commit
sternenseemann Jul 14, 2025
32d8dd2
Revert "git-annex: apply workaround for test failure with git 2.50"
sternenseemann Jul 17, 2025
4475db2
Merge 751c64a7953badfa6c189a73f21322360ed8e059 into haskell-updates
nixpkgs-ci[bot] Jul 18, 2025
7873608
Merge cda03d762aa4d6930f41c2a60b946e0f8a743630 into haskell-updates
nixpkgs-ci[bot] Jul 19, 2025
31ef27c
Merge 8722e0db438d8664b504bd0fa4a1c3e37ab1eb09 into haskell-updates
nixpkgs-ci[bot] Jul 20, 2025
66c485c
Merge 76ad8f2d0d56f00dd5ed33d9939999eadaa4a5ea into haskell-updates
nixpkgs-ci[bot] Jul 21, 2025
8294696
haskell.compiler: (make built) add libnuma paths to pkg db (#426196)
wolfgangwalther Jul 21, 2025
f2ef2c1
Merge 77fc6c546bd1420b85a998e439c25eb129d6d338 into haskell-updates
nixpkgs-ci[bot] Jul 22, 2025
9895bd6
haskellPackages.Agda: fix build on aarch64-darwin
ncfavier Jul 22, 2025
3641b16
haskellPackages: unbreak packages
wolfgangwalther Jul 22, 2025
aa6c778
haskell.compiler: elaborate error when cross compiling hadrian ghcs
sternenseemann Jul 21, 2025
4657535
haskell.compiler: (make built) also patch rts.cabal.in in numa patch
sternenseemann Jul 17, 2025
d4314e7
Merge 8cf338f2bd34b72cfaf3fa65509801a40bc4a11a into haskell-updates
nixpkgs-ci[bot] Jul 23, 2025
999812c
Merge 2e19e30b26f149c4b9cb30ab03b785b34e5e6e4c into haskell-updates
nixpkgs-ci[bot] Jul 24, 2025
3f3bd4c
Merge commit 'ebebf7f93a3ef53489e240247e518f2f08d85b28' into haskell-…
wolfgangwalther Jul 24, 2025
317b72c
haskellPackages.Agda: fix build on aarch64-darwin (#427394)
ncfavier Jul 24, 2025
d2bf267
haskellPackages.llvm-ffi: 20.0 -> 21.0
sternenseemann Jul 24, 2025
3aa4085
haskellPackages.llvm-ffi: 20.0 -> 21.0 (#428050)
wolfgangwalther Jul 24, 2025
e68a89a
Merge 26fe5299e615df3fd67edb89aacc4feb6e2dadee into haskell-updates
nixpkgs-ci[bot] Jul 25, 2025
1c3ce1e
Merge d09337b0038a6d75f70a2bedc387106e183f38ef into haskell-updates
nixpkgs-ci[bot] Jul 26, 2025
957606c
haskell.packages.ghc912.doctest: correctly skip cabal-install tests
sternenseemann Jul 26, 2025
3ddc9cb
haskellPackages.hiedb: downgrade to < 0.7
sternenseemann Jul 26, 2025
8076d01
haskell.packages.ghc{810,90}.hpack_0_38_1: avoid broken test dep
sternenseemann Jul 26, 2025
29e26c8
haskellPackages.ghc-hie: disable versioned ghc tests
sternenseemann Jul 26, 2025
28c9c6e
Merge b569c6cb485e91b17ba09258743126bd32ff2637 into haskell-updates
nixpkgs-ci[bot] Jul 27, 2025
494c6fb
haskellPackages: mark builds failing on hydra as broken
sternenseemann Jul 28, 2025
5e18f49
Merge 0933eb736ed0e9ac5bf20506751ff65790f471f7 into haskell-updates
nixpkgs-ci[bot] Jul 28, 2025
53e8ad3
haskellPackages.agda2hs: fix build with Agda 2.8.0
ncfavier Jul 26, 2025
a6117ac
haskellPackages.haskell-pgmq: provide postgresql+pgmq for tests
sternenseemann Jul 26, 2025
54ba7d3
haskellPackages.haskell-bee-redis: provide redis for tests
sternenseemann Jul 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 14 additions & 31 deletions doc/languages-frameworks/agda.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,10 @@ To install Agda without GHC, use `ghc = null;`.

## Writing Agda packages {#writing-agda-packages}

To write a nix derivation for an Agda library, first check that the library has a `*.agda-lib` file.
To write a nix derivation for an Agda library, first check that the library has a (single) `*.agda-lib` file.

A derivation can then be written using `agdaPackages.mkDerivation`. This has similar arguments to `stdenv.mkDerivation` with the following additions:

* `everythingFile` can be used to specify the location of the `Everything.agda` file, defaulting to `./Everything.agda`. If this file does not exist then either it should be patched in or the `buildPhase` should be overridden (see below).
* `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`.
* `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`.

Expand All @@ -150,9 +149,9 @@ agdaPackages.mkDerivation {

### Building Agda packages {#building-agda-packages}

The default build phase for `agdaPackages.mkDerivation` runs `agda` on the `Everything.agda` file.
The default build phase for `agdaPackages.mkDerivation` runs `agda --build-library`.
If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden.
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file.
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the library.
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.

### Installing Agda packages {#installing-agda-packages}
Expand Down Expand Up @@ -180,53 +179,37 @@ the Agda package set is small and can (still) be maintained by hand.

### Adding Agda packages to Nixpkgs {#adding-agda-packages-to-nixpkgs}

To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the top line of the `default.nix` can look like:
To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/default.nix` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the derivation could look like:

```nix
{
mkDerivation,
standard-library,
fetchFromGitHub,
}:
{ }
```

Note that the derivation function is called with `mkDerivation` set to `agdaPackages.mkDerivation`, therefore you
could use a similar set as in your `default.nix` from [Writing Agda Packages](#writing-agda-packages) with
`agdaPackages.mkDerivation` replaced with `mkDerivation`.

Here is an example skeleton derivation for iowa-stdlib:

```nix
mkDerivation {
version = "1.5.0";
pname = "iowa-stdlib";

pname = "my-library";
version = "1.0";
src = <...>;

libraryFile = "";
libraryName = "IAL-1.3";

buildPhase = ''
runHook preBuild

patchShebangs find-deps.sh
make

runHook postBuild
'';
buildInputs = [ standard-library ];
meta = <...>;
}
```

This library has a file called `.agda-lib`, and so we give an empty string to `libraryFile` as nothing precedes `.agda-lib` in the filename. This file contains `name: IAL-1.3`, and so we let `libraryName = "IAL-1.3"`. This library does not use an `Everything.agda` file and instead has a Makefile, so there is no need to set `everythingFile` and we set a custom `buildPhase`.
You can look at other files under `pkgs/development/libraries/agda/` for more inspiration.

Note that the derivation function is called with `mkDerivation` set to `agdaPackages.mkDerivation`, therefore you
could use a similar set as in your `default.nix` from [Writing Agda Packages](#writing-agda-packages) with
`agdaPackages.mkDerivation` replaced with `mkDerivation`.

When writing an Agda package it is essential to make sure that no `.agda-lib` file gets added to the store as a single file (for example by using `writeText`). This causes Agda to think that the nix store is a Agda library and it will attempt to write to it whenever it typechecks something. See [https://github.com/agda/agda/issues/4613](https://github.com/agda/agda/issues/4613).

In the pull request adding this library,
you can test whether it builds correctly by writing in a comment:

```
@ofborg build agdaPackages.iowa-stdlib
@ofborg build agdaPackages.my-library
```

### Maintaining Agda packages {#agda-maintaining-packages}
Expand Down
8 changes: 1 addition & 7 deletions maintainers/scripts/haskell/merge-and-open-pr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,7 @@ echo "Merging https://github.com/NixOS/nixpkgs/pull/${curr_haskell_updates_pr_nu
gh pr merge --repo NixOS/nixpkgs --merge "$curr_haskell_updates_pr_num"

# Update stackage, Hackage hashes, and regenerate Haskell package set
echo "Updating Stackage..."
./maintainers/scripts/haskell/update-stackage.sh --do-commit
echo "Updating Hackage hashes..."
./maintainers/scripts/haskell/update-hackage.sh --do-commit
echo "Regenerating Hackage packages..."
# Using fast here because after the hackage-update eval errors will likely break the transitive dependencies check.
./maintainers/scripts/haskell/regenerate-hackage-packages.sh --fast --do-commit
./maintainers/scripts/haskell/update-package-set.sh

# Push these new commits to the haskell-updates branch
echo "Pushing commits just created to the remote $push_remote/haskell-updates branch..."
Expand Down
4 changes: 2 additions & 2 deletions maintainers/scripts/haskell/regenerate-hackage-packages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ nixfmt pkgs/development/haskell-modules/hackage-packages.nix
if [[ "$DO_COMMIT" -eq 1 ]]; then
git add pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
git add pkgs/development/haskell-modules/hackage-packages.nix
git commit -F - << EOF
git commit --edit -F - << EOF
haskellPackages: regenerate package set based on current config

This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
(generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh)
EOF
fi

Expand Down
41 changes: 31 additions & 10 deletions maintainers/scripts/haskell/update-hackage.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,34 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq git gnused -I nixpkgs=.

# See regenerate-hackage-packages.sh for details on the purpose of this script.
#
# SYNOPSIS
#
# Update Hackage index and hashes data exposed via pkgs.all-cabal-hashes.
#
# DESCRIPTION
#
# Find latest revision of the commercialhaskell/all-cabal-hashes repository's
# hackage branch and update pkgs/data/misc/hackage/pin.json accordingly.
#
# This data is used by hackage2nix to generate hackage-packages.nix. Since
# hackage2nix uses the latest version of a package unless an explicit
# constraint is configured, running this script indirectly updates packages
# (when hackage2nix is executed afterwards).
#
# Prints a version difference to stdout if the pin has been updated, nothing
# otherwise.
#
# EXIT STATUS
#
# Always exit with zero (even if nothing changed) unless there was an error.

set -euo pipefail

if [[ "${1:-}" == "--do-commit" ]]; then
echo "$0: --do-commit is no longer supported. Use update-package-set.sh instead."
exit 100
fi

pin_file=pkgs/data/misc/hackage/pin.json
current_commit="$(jq -r .commit $pin_file)"
old_date="$(jq -r .msg $pin_file | sed 's/Update from Hackage at //')"
Expand All @@ -14,6 +38,7 @@ commit_msg="$(echo "$git_info" | jq -r .commit.commit.message)"
new_date="$(echo "$commit_msg" | sed 's/Update from Hackage at //')"

if [ "$current_commit" != "$head_commit" ]; then
echo "Updating all-cabal-hashes from $old_date to $new_date" >&2
url="https://github.com/commercialhaskell/all-cabal-hashes/archive/$head_commit.tar.gz"
hash="$(nix-prefetch-url "$url")"
jq -n \
Expand All @@ -23,13 +48,9 @@ if [ "$current_commit" != "$head_commit" ]; then
--arg commit_msg "$commit_msg" \
'{commit: $commit, url: $url, sha256: $hash, msg: $commit_msg}' \
> $pin_file
else
echo "No new all-cabal-hashes version" >&2
exit 0
fi

if [[ "${1:-}" == "--do-commit" ]]; then
git add pkgs/data/misc/hackage/pin.json
git commit -F - << EOF
all-cabal-hashes: $old_date -> $new_date

This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
EOF
fi
echo "$old_date -> $new_date"
53 changes: 53 additions & 0 deletions maintainers/scripts/haskell/update-package-set.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash
#! nix-shell -p git -I nixpkgs=.
set -euo pipefail

filesToStage=(
'pkgs/data/misc/hackage/pin.json'
'pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml'
'pkgs/development/haskell-modules/hackage-packages.nix'
)

if ! git diff --quiet --cached; then
echo "Please commit staged changes before running $0" >&2
exit 100
fi

if ! git diff --quiet -- "${filesToStage[@]}"; then
echo -n "Please commit your changes to the following files before running $0: " >&2
echo "${filesToStage[@]}" >&2
exit 100
fi

stackage_diff="$(./maintainers/scripts/haskell/update-stackage.sh)"
hackage_diff="$(./maintainers/scripts/haskell/update-hackage.sh)"
readonly stackage_diff hackage_diff

# Prefer Stackage version diff in the commit header, fall back to Hackage
if [[ -n "$stackage_diff" ]]; then
commit_message="haskellPackages: stackage $stackage_diff"
if [[ -n "$hackage_diff" ]]; then
commit_message="$commit_message

all-cabal-hashes: $hackage_diff"
fi
elif [[ -n "$hackage_diff" ]]; then
commit_message="haskellPackages: hackage $hackage_diff

all-cabal-hashes: $hackage_diff"
else
echo "Neither Hackage nor Stackage changed. Nothing to do." >&2
exit 0
fi

commit_message="$commit_message

(generated by maintainers/scripts/haskell/update-package-set.sh)"

# Using fast here because after the hackage-update eval errors will likely break the transitive dependencies check.
./maintainers/scripts/haskell/regenerate-hackage-packages.sh --fast

# A --do-commit flag probably doesn't make much sense
git add -- "${filesToStage[@]}"
git commit -m "$commit_message"
40 changes: 30 additions & 10 deletions maintainers/scripts/haskell/update-stackage.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,36 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p curl jq git gnused gnugrep -I nixpkgs=.
# shellcheck shell=bash
#
# SYNOPSIS
#
# Update version constraints in hackage2nix config file from Stackage.
#
# DESCRIPTION
#
# Fetches the latest snapshot of the configured Stackage solver which is
# configured via the SOLVER (either LTS or Nightly) and VERSION variables in
# the script.
#
# VERSION is only applicable if SOLVER is LTS. SOLVER=LTS and VERSION=22
# will cause update-stackage.sh to fetch the latest LTS-22.XX version.
# If empty, the latest version of the solver is used.
#
# If the configuration file has been updated, update-stackage.sh prints a
# version difference to stdout, e.g. 23.11 -> 23.13. Otherwise, stdout remains
# empty.
#
# EXIT STATUS
#
# Always exit with zero (even if nothing changed) unless there was an error.

set -eu -o pipefail

if [[ "${1:-}" == "--do-commit" ]]; then
echo "$0: --do-commit is no longer supported. Use update-package-set.sh instead."
exit 100
fi

# Stackage solver to use, LTS or Nightly
# (should be capitalized like the display name)
SOLVER=LTS
Expand Down Expand Up @@ -31,11 +58,11 @@ old_version=$(grep '^# Stackage' $stackage_config | sed -e 's/.\+ \([A-Za-z]\+ [
version="$SOLVER $(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.$(toLower "$SOLVER")-//p" "$tmpfile")"

if [[ "$old_version" == "$version" ]]; then
echo "No new stackage version"
echo "No new stackage version" >&2
exit 0 # Nothing to do
fi

echo "Updating Stackage from $old_version to $version."
echo "Updating Stackage from $old_version to $version." >&2

# Create a simple yaml version of the file.
sed -r \
Expand Down Expand Up @@ -78,11 +105,4 @@ sed -r \
# ShellCheck: latest version of command-line dev tool.
# Agda: The Agda community is fast-moving; we strive to always include the newest versions of Agda and the Agda packages in nixpkgs.

if [[ "${1:-}" == "--do-commit" ]]; then
git add $stackage_config
git commit -F - << EOF
haskellPackages: stackage $old_version -> $version

This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
EOF
fi
echo "$old_version -> $version"
12 changes: 3 additions & 9 deletions pkgs/build-support/agda/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,6 @@ let
pname,
meta,
buildInputs ? [ ],
everythingFile ? "./Everything.agda",
includePaths ? [ ],
libraryName ? pname,
libraryFile ? "${libraryName}.agda-lib",
buildPhase ? null,
Expand All @@ -100,26 +98,22 @@ let
...
}:
let
agdaWithArgs = withPackages (filter (p: p ? isAgdaDerivation) buildInputs);
includePathArgs = concatMapStrings (path: "-i" + path + " ") (
includePaths ++ [ (dirOf everythingFile) ]
);
agdaWithPkgs = withPackages (filter (p: p ? isAgdaDerivation) buildInputs);
in
{
inherit libraryName libraryFile;

isAgdaDerivation = true;

buildInputs = buildInputs ++ [ agdaWithArgs ];
buildInputs = buildInputs ++ [ agdaWithPkgs ];

buildPhase =
if buildPhase != null then
buildPhase
else
''
runHook preBuild
agda ${includePathArgs} ${everythingFile}
rm ${everythingFile} ${lib.interfaceFile Agda.version everythingFile}
agda --build-library
runHook postBuild
'';

Expand Down
4 changes: 2 additions & 2 deletions pkgs/build-support/agda/lib.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
* The resulting path may not be normalized.
*
* Examples:
* interfaceFile pkgs.agda.version "./Everything.agda" == "_build/2.6.4.3/agda/./Everything.agdai"
* interfaceFile pkgs.agda.version "src/Everything.lagda.tex" == "_build/2.6.4.3/agda/src/Everything.agdai"
* interfaceFile pkgs.agda.version "./Foo.agda" == "_build/AGDA_VERSION/agda/./Foo.agdai"
* interfaceFile pkgs.agda.version "src/Foo.lagda.tex" == "_build/AGDA_VERSION/agda/src/Foo.agdai"
*/
interfaceFile =
agdaVersion: agdaFile:
Expand Down
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "0b40331fe9f6ba2ce9cf1b8afe0a04aa79d36878",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/0b40331fe9f6ba2ce9cf1b8afe0a04aa79d36878.tar.gz",
"sha256": "03mjsvybfh8bq5v475pqqs5bs9xdb0pm2qrw9w892q0q0ir5b6na",
"msg": "Update from Hackage at 2025-06-01T18:10:16Z"
"commit": "e184dedb360769d6e8e041e711559185f39ab55c",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/e184dedb360769d6e8e041e711559185f39ab55c.tar.gz",
"sha256": "16qlwrw96lf52yvmmhfl948wpimbnqm9z87j27agcdmigf5icg1s",
"msg": "Update from Hackage at 2025-07-07T21:33:55Z"
}
Loading
Loading