···1818 runs-on: ubuntu-latest
1919 steps:
2020 - name: Resolving the merge commit
2121+ env:
2222+ GH_TOKEN: ${{ github.token }}
2123 run: |
2222- if result=$(git ls-remote --exit-code ${{ github.event.pull_request.base.repo.clone_url }} refs/pull/${{ github.event.pull_request.number }}/merge 2>&1); then
2323- mergedSha=$(cut -f1 <<< "$result")
2424- echo "The PR appears to not have any conflicts, checking the merge commit $mergedSha"
2424+ # This checks for mergeability of a pull request as recommended in
2525+ # https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
2626+ while true; do
2727+ echo "Checking whether the pull request can be merged"
2828+ prInfo=$(gh api \
2929+ -H "Accept: application/vnd.github+json" \
3030+ -H "X-GitHub-Api-Version: 2022-11-28" \
3131+ /repos/"$GITHUB_REPOSITORY"/pulls/${{ github.event.pull_request.number }})
3232+ mergeable=$(jq -r .mergeable <<< "$prInfo")
3333+ mergedSha=$(jq -r .merge_commit_sha <<< "$prInfo")
3434+3535+ if [[ "$mergeable" == "null" ]]; then
3636+ # null indicates that GitHub is still computing whether it's mergeable
3737+ # Wait a couple seconds before trying again
3838+ echo "GitHub is still computing whether this PR can be merged, waiting 5 seconds before trying again"
3939+ sleep 5
4040+ else
4141+ break
4242+ fi
4343+ done
4444+4545+ if [[ "$mergeable" == "true" ]]; then
4646+ echo "The PR can be merged, checking the merge commit $mergedSha"
2547 else
2626- echo "The PR may have a merge conflict"
2727- echo "'git ls-remote' output was:"
2828- echo "$result"
4848+ echo "The PR cannot be merged, it has a merge conflict"
2949 exit 1
3050 fi
3151 echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
+23
doc/builders/fetchers.chapter.md
···243243244244***
245245```
246246+## `fetchFromBittorrent` {#fetchfrombittorrent}
247247+248248+`fetchFromBittorrent` expects two arguments. `url` which can either be a Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file. It can also take a `config` argument which will craft a `settings.json` configuration file and give it to `transmission`, the underlying program that is performing the fetch. The available config options for `transmission` can be found [here](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md#options)
249249+250250+```
251251+{ fetchFromBittorrent }:
252252+253253+fetchFromBittorrent {
254254+ config = { peer-limit-global = 100; };
255255+ url = "magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c";
256256+ sha256 = "";
257257+}
258258+```
259259+260260+### Parameters {#fetchfrombittorrent-parameters}
261261+262262+- `url`: Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file.
263263+264264+- `backend`: Which bittorrent program to use. Default: `"transmission"`. Valid values are `"rqbit"` or `"transmission"`. These are the two most suitable torrent clients for fetching in a fixed-output derivation at the time of writing, as they can be easily exited after usage. `rqbit` is written in Rust and has a smaller closure size than `transmission`, and the performance and peer discovery properties differs between these clients, requiring experimentation to decide upon which is the best.
265265+266266+- `config`: When using `transmission` as the `backend`, a json configuration can
267267+ be supplied to transmission. Refer to the [upstream documentation](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md) for information on how to configure.
268268+
+2
nixos/doc/manual/release-notes/rl-2311.section.md
···250250251251- The binary of the package `cloud-sql-proxy` has changed from `cloud_sql_proxy` to `cloud-sql-proxy`.
252252253253+- Garage has been upgraded to 0.9.x. `services.garage.package` now needs to be explicitly set, so version upgrades can be done in a controlled fashion. For this, we expose `garage_x_y` attributes which can be set here.
254254+253255- The `woodpecker-*` CI packages have been updated to 1.0.0. This release is wildly incompatible with the 0.15.X versions that were previously packaged. Please read [upstream's documentation](https://woodpecker-ci.org/docs/next/migrations#100) to learn how to update your CI configurations.
254256255257- The Caddy module gained a new option named `services.caddy.enableReload` which is enabled by default. It allows reloading the service instead of restarting it, if only a config file has changed. This option must be disabled if you have turned off the [Caddy admin API](https://caddyserver.com/docs/caddyfile/options#admin). If you keep this option enabled, you should consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period) to a non-infinite value to prevent Caddy from delaying the reload indefinitely.
···331331 # Link to our own Node.js and Java (required during the build):
332332 mkdir -p third_party/node/linux/node-linux-x64/bin
333333 ln -s "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node
334334- ln -s "${pkgsBuildHost.jre8_headless}/bin/java" third_party/jdk/current/bin/
334334+ ln -s "${pkgsBuildHost.jdk17_headless}/bin/java" third_party/jdk/current/bin/
335335336336 # Allow building against system libraries in official builds
337337 sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
···11-{ fetchurl, fetchpatch, lib, stdenv, libX11, xorgproto, libXext, libXtst
22-, gtk2, libXi, pkg-config, texinfo }:
11+{ lib
22+, stdenv
33+, fetchurl
44+, fetchpatch
55+, autoreconfHook
66+, pkg-config
77+, gtk2
88+, libX11
99+, libXext
1010+, libXi
1111+, libXtst
1212+, texinfo
1313+, xorgproto
1414+}:
31544-stdenv.mkDerivation rec {
1616+stdenv.mkDerivation (finalAttrs: {
517 version = "3.19";
618 pname = "xnee";
719820 src = fetchurl {
99- url = "mirror://gnu/xnee/${pname}-${version}.tar.gz";
1010- sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j";
2121+ url = "mirror://gnu/xnee/xnee-${finalAttrs.version}.tar.gz";
2222+ hash = "sha256-UqQeXPYvgbej5bWBJOs1ZeHhICir2mP1R/u+DZiiwhI=";
1123 };
12241325 patches = [
···1628 (fetchpatch {
1729 name = "fno-common.patch";
1830 url = "https://savannah.gnu.org/bugs/download.php?file_id=49534";
1919- sha256 = "04j2cjy2yaiigg31a6k01vw0fq19yj3zpriikkjcz9q4ab4m5gh2";
3131+ hash = "sha256-Ar5SyVIEp8/knDHm+4f0KWAH+A5gGhXGezEqL7xkQhI=";
2032 })
2133 ];
22342323- postPatch =
2424- '' for i in `find cnee/test -name \*.sh`
2525- do
2626- sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
2727- done
3535+ postPatch = ''
3636+ for i in `find cnee/test -name \*.sh`; do
3737+ sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
3838+ done
3939+ ''
4040+ # Fix for glibc-2.34. For some reason, `LIBSEMA="CCC"` is added
4141+ # if `sem_init` is part of libc which causes errors like
4242+ # `gcc: error: CCC: No such file or directory` during the build.
4343+ + ''
4444+ substituteInPlace configure* \
4545+ --replace 'LIBSEMA="CCC"' 'LIBSEMA=""'
4646+ '';
28472929- # Fix for glibc-2.34. For some reason, `LIBSEMA="CCC"` is added
3030- # if `sem_init` is part of libc which causes errors like
3131- # `gcc: error: CCC: No such file or directory` during the build.
3232- substituteInPlace configure \
3333- --replace 'LIBSEMA="CCC"' 'LIBSEMA=""'
3434- '';
4848+ strictDeps = true;
35493636- nativeBuildInputs = [ pkg-config ];
3737- buildInputs =
3838- [ libX11 xorgproto libXext libXtst gtk2
3939- libXi
4040- texinfo
4141- ];
5050+ nativeBuildInputs = [
5151+ autoreconfHook
5252+ pkg-config
5353+ ];
5454+5555+ buildInputs = [
5656+ gtk2
5757+ libX11
5858+ libXext
5959+ libXi
6060+ libXtst
6161+ texinfo
6262+ xorgproto
6363+ ];
42644343- configureFlags =
6565+ configureFlags = [
6666+ "--disable-gnome-applet"
4467 # Do a static build because `libxnee' doesn't get installed anyway.
4545- [ "--disable-gnome-applet" "--enable-static" ];
6868+ "--enable-static"
6969+ ];
46704747- # `cnee' is linked without `-lXi' and as a consequence has a RUNPATH that
4848- # lacks libXi.
4949- makeFlags = [ "LDFLAGS=-lXi" ];
7171+ makeFlags = [
7272+ # `cnee' is linked without `-lXi' and as a consequence has a RUNPATH that
7373+ # lacks libXi.
7474+ "LDFLAGS=-lXi"
7575+ ];
50765177 # XXX: Actually tests require an X server.
5278 doCheck = true;
53795480 meta = {
5581 description = "X11 event recording and replay tool";
5656-5757- longDescription =
5858- '' Xnee is a suite of programs that can record, replay and distribute
5959- user actions under the X11 environment. Think of it as a robot that
6060- can imitate the job you just did. Xnee can be used to automate
6161- tests, demonstrate programs, distribute actions, record & replay
6262- "macros", retype a file.
6363- '';
6464-8282+ longDescription = ''
8383+ Xnee is a suite of programs that can record, replay and distribute
8484+ user actions under the X11 environment. Think of it as a robot that
8585+ can imitate the job you just did. Xnee can be used to automate
8686+ tests, demonstrate programs, distribute actions, record & replay
8787+ "macros", retype a file.
8888+ '';
8989+ homepage = "https://www.gnu.org/software/xnee/";
6590 license = lib.licenses.gpl3Plus;
6666-6767- homepage = "https://www.gnu.org/software/xnee/";
6868-6969- maintainers = with lib.maintainers; [ ];
7070- platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice
9191+ maintainers = with lib.maintainers; [ wegank ];
9292+ platforms = lib.platforms.unix;
7193 };
7272-}
9494+})
···187187 };
188188189189 nix_2_17 = common {
190190- version = "2.17.0";
191191- hash = "sha256-QMYAkdtU+g9HlZKtoJ+AI6TbWzzovKGnPZJHfZdclc8=";
190190+ version = "2.17.1";
191191+ hash = "sha256-Q5L+rHzjp0bYuR2ogg+YPCn6isjmlQ4CJVT0zpn/hFc=";
192192 };
193193194194 nix_2_18 = common {
+2
pkgs/top-level/aliases.nix
···263263 ### G ###
264264265265 g4py = python3Packages.geant4; # Added 2020-06-06
266266+ garage_0_7 = throw "garage 0.7.x has been removed as it is EOL. Please upgrade to 0.8 series."; # Added 2023-10-10
267267+ garage_0_7_3 = throw "garage 0.7.x has been removed as it is EOL. Please upgrade to 0.8 series."; # Added 2023-10-10
266268 garmindev = throw "'garmindev' has been removed as the dependent software 'qlandkartegt' has been removed"; # Added 2023-04-17
267269 geekbench4 = throw "'geekbench4' has been renamed to 'geekbench_4'"; # Added 2023-03-10
268270 geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10