Unverified Commit 3d5144e3 authored by github-actions[bot]'s avatar github-actions[bot] Committed by GitHub
Browse files

Merge master into staging-next

parents 03ca5eba 5d0d3528
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -4453,6 +4453,12 @@
    githubId = 103082;
    name = "Ed Brindley";
  };
  elesiuta = {
    email = "elesiuta@gmail.com";
    github = "elesiuta";
    githubId = 8146662;
    name = "Eric Lesiuta";
  };
  eliandoran = {
    email = "contact@eliandoran.me";
    name = "Elian Doran";
@@ -6528,6 +6534,11 @@
    github = "icewind1991";
    githubId = 1283854;
  };
  icyrockcom = {
    github = "icyrockcom";
    githubId = 785140;
    name = "icyrock";
  };
  icy-thought = {
    name = "Icy-Thought";
    email = "gilganyx@pm.me";
@@ -6691,6 +6702,12 @@
    githubId = 55066419;
    name = "Emily Lange";
  };
  indexyz = {
    email = "indexyz@pm.me";
    github = "5aaee9";
    githubId = 7685264;
    name = "Indexyz";
  };
  ineol = {
    email = "leo.stefanesco@gmail.com";
    github = "ineol";
@@ -15514,6 +15531,12 @@
    githubId = 3268082;
    name = "Thibaut Marty";
  };
  thielema = {
    name = "Henning Thielemann";
    email = "nix@henning-thielemann.de";
    github = "thielema";
    githubId = 898989;
  };
  thled = {
    name = "Thomas Le Duc";
    email = "dev@tleduc.de";
+0 −2
Original line number Diff line number Diff line
@@ -32,8 +32,6 @@ EOF
sort -iu "$tmpfile" >> "$broken_config"
clear="env -u HOME -u NIXPKGS_CONFIG"
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
evalline=$(maintainers/scripts/haskell/hydra-report.hs eval-info)

if [[ "${1:-}" == "--do-commit" ]]; then
+88 −23
Original line number Diff line number Diff line
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix -I nixpkgs=.

# This script is used to regenerate nixpkgs' Haskell package set, using the
# tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the
# config files in pkgs/development/haskell-modules/configuration-hackage2nix
# and generates a Nix expression for package version specified there, using the
# Cabal files from the Hackage database (available under all-cabal-hashes) and
# its companion tool cabal2nix.
#
# Related scripts are update-hackage.sh, for updating the snapshot of the
# Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
# for updating the version of hackage2nix used to perform this task.
#
# Note that this script doesn't gcroot anything, so it may be broken by an
# unfortunately timed nix-store --gc.

set -euo pipefail

self=$0

print_help () {
cat <<END_HELP
Usage: $self [options]

Options:
   --do-commit    Commit changes to this file.
   -f | --fast    Do not update the transitive-broken.yaml file.
   -h | --help    Show this help.

This script is used to regenerate nixpkgs' Haskell package set, using the
tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the
config files in pkgs/development/haskell-modules/configuration-hackage2nix
and generates a Nix expression for package version specified there, using the
Cabal files from the Hackage database (available under all-cabal-hashes) and
its companion tool cabal2nix.

Unless --fast is used, it will then use the generated nix expression by
running regenerate-transitive-broken-packages.sh which updates the transitive-broken.yaml
file. Then it re-runs hackage2nix.

Related scripts are update-hackage.sh, for updating the snapshot of the
Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
for updating the version of hackage2nix used to perform this task.

Note that this script doesn't gcroot anything, so it may be broken by an
unfortunately timed nix-store --gc.

END_HELP
}

DO_COMMIT=0
REGENERATE_TRANSITIVE=1

options=$(getopt -o "fh" -l "help,fast,do-commit" -- "$@")

eval set -- "$options"

while true; do
   case "$1" in
      --do-commit)
         DO_COMMIT=1
         ;;
      -f|--fast)
         REGENERATE_TRANSITIVE=0
         ;;
      -h|--help)
         print_help
         exit 0
         ;;
      --)
         break;;
      *)
         print_help
         exit 1
         ;;
   esac
   shift
done

HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}"

# To prevent hackage2nix fails because of encoding.
@@ -25,14 +72,7 @@ export LC_ALL=C.UTF-8

config_dir=pkgs/development/haskell-modules/configuration-hackage2nix

echo "Obtaining Hackage data"
extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"

echo "Generating compiler configuration"
compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)"

echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..."
run_hackage2nix() {
"$HACKAGE2NIX" \
   --hackage "$unpacked_hackage" \
   --preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
@@ -42,8 +82,33 @@ echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackag
   --config "$config_dir/stackage.yaml" \
   --config "$config_dir/broken.yaml" \
   --config "$config_dir/transitive-broken.yaml"
}

echo "Obtaining Hackage data …"
extraction_derivation='with import ./. {}; runCommandLocal "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"

echo "Generating compiler configuration …"
compiler_config="$(nix-build -A haskellPackages.cabal2nix-unstable.compilerConfig --no-out-link)"

echo "Running hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix …"
run_hackage2nix

if [[ "$REGENERATE_TRANSITIVE" -eq 1 ]]; then

echo "Regenerating transitive-broken.yaml … (pass --fast to $self to skip this step)"

maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh

echo "Running hackage2nix again to reflect changes in transitive-broken.yaml …"

run_hackage2nix

fi


if [[ "${1:-}" == "--do-commit" ]]; then
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
haskellPackages: regenerate package set based on current config
+0 −1
Original line number Diff line number Diff line
@@ -11,5 +11,4 @@ cat > $config_file << EOF
dont-distribute-packages:
EOF

echo "Regenerating list of transitive broken packages ..."
nix-instantiate --eval --option restrict-eval true -I . --strict --json maintainers/scripts/haskell/transitive-broken-packages.nix | jq -r . | LC_ALL=C.UTF-8 sort -i >> $config_file
+2 −0
Original line number Diff line number Diff line
@@ -117,6 +117,8 @@ In addition to numerous new and upgraded packages, this release has the followin

- [woodpecker-server](https://woodpecker-ci.org/), a simple CI engine with great extensibility. Available as [services.woodpecker-server](#opt-services.woodpecker-server.enable).

- [lldap](https://github.com/lldap/lldap), a lightweight authentication server that provides an opinionated, simplified LDAP interface for authentication. Available as [services.lldap](#opt-services.lldap.enable).

- [ReGreet](https://github.com/rharish101/ReGreet), a clean and customizable greeter for greetd. Available as [programs.regreet](#opt-programs.regreet.enable).

- [v4l2-relayd](https://git.launchpad.net/v4l2-relayd), a streaming relay for v4l2loopback using gstreamer. Available as [services.v4l2-relayd](#opt-services.v4l2-relayd.instances._name_.enable).
Loading