Merge staging-next-24.05 into staging-24.05

This commit is contained in:
github-actions[bot] 2024-05-29 00:16:02 +00:00 committed by GitHub
commit af1476980e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
73 changed files with 746 additions and 296 deletions

View File

@ -40,6 +40,82 @@ If the `moduleNames` argument is omitted, `hasPkgConfigModules` will use `meta.p
:::
## `lycheeLinkCheck` {#tester-lycheeLinkCheck}
Check a packaged static site's links with the [`lychee` package](https://search.nixos.org/packages?show=lychee&type=packages&query=lychee).
You may use Nix to reproducibly build static websites, such as for software documentation.
Some packages will install documentation in their `out` or `doc` outputs, or maybe you have dedicated package where you've made your static site reproducible by running a generator, such as [Hugo](https://gohugo.io/) or [mdBook](https://rust-lang.github.io/mdBook/), in a derivation.
If you have a static site that can be built with Nix, you can use `lycheeLinkCheck` to check that the hyperlinks in your site are correct, and do so as part of your Nix workflow and CI.
:::{.example #ex-lycheelinkcheck}
# Check hyperlinks in the `nix` documentation
```nix
testers.lycheeLinkCheck {
site = nix.doc + "/share/doc/nix/manual";
}
```
:::
### Return value {#tester-lycheeLinkCheck-return}
This tester produces a package that does not produce useful outputs, but only succeeds if the hyperlinks in your site are correct. The build log will list the broken links.
It has two modes:
- Build the returned derivation; its build process will check that internal hyperlinks are correct. This runs in the sandbox, so it will not check external hyperlinks, but it is quick and reliable.
- Invoke the `.online` attribute with [`nix run`](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-run) ([experimental](https://nixos.org/manual/nix/stable/contributing/experimental-features#xp-feature-nix-command)). This runs outside the sandbox, and checks that both internal and external hyperlinks are correct.
Example:
```shell
nix run nixpkgs#lychee.tests.ok.online
```
### Inputs {#tester-lycheeLinkCheck-inputs}
`site` (path or derivation) {#tester-lycheeLinkCheck-param-site}
: The path to the files to check.
`remap` (attribe set, optional) {#tester-lycheeLinkCheck-param-remap}
: An attribute set where the attribute names are regular expressions.
The values should be strings, derivations, or path values.
In the returned check's default configuration, external URLs are only checked when you run the `.online` attribute.
By adding remappings, you can check offline that URLs to external resources are correct, by providing a stand-in from the file system.
Before checking the existence of a URL, the regular expressions are matched and replaced by their corresponding values.
Example:
```nix
{
"https://nix\\.dev/manual/nix/[a-z0-9.-]*" = "${nix.doc}/share/doc/nix/manual";
"https://nixos\\.org/manual/nix/(un)?stable" = "${emptyDirectory}/placeholder-to-disallow-old-nix-docs-urls";
}
```
Store paths in the attribute values are automatically prefixed with `file://`, because lychee requires this for paths in the file system.
If this is a problem, or if you need to control the order in which replacements are performed, use `extraConfig.remap` instead.
`extraConfig` (attribute set) {#tester-lycheeLinkCheck-param-extraConfig}
: Extra configuration to pass to `lychee` in its [configuration file](https://github.com/lycheeverse/lychee/blob/master/lychee.example.toml).
It is automatically [translated](https://nixos.org/manual/nixos/stable/index.html#sec-settings-nix-representable) to TOML.
Example: `{ "include_verbatim" = true; }`
`lychee` (derivation, optional) {#tester-lycheeLinkCheck-param-lychee}
: The `lychee` package to use.
## `testVersion` {#tester-testVersion}
Checks that the output from running a command contains the specified version string in it as a whole word.

View File

@ -54,10 +54,11 @@ with lib;
intel-vaapi-driver = super.intel-vaapi-driver.override { enableGui = false; };
libdevil = super.libdevil-nox;
libextractor = super.libextractor.override { gtkSupport = false; };
libplacebo = super.libplacebo.override { vulkanSupport = false; };
libva = super.libva-minimal;
limesuite = super.limesuite.override { withGui = false; };
mc = super.mc.override { x11Support = false; };
mpv-unwrapped = super.mpv-unwrapped.override { sdl2Support = false; x11Support = false; waylandSupport = false; };
mpv-unwrapped = super.mpv-unwrapped.override { drmSupport = false; screenSaverSupport = false; sdl2Support = false; vulkanSupport = false; waylandSupport = false; x11Support = false; };
msmtp = super.msmtp.override { withKeyring = false; };
mupdf = super.mupdf.override { enableGL = false; enableX11 = false; };
neofetch = super.neofetch.override { x11Support = false; };

View File

@ -293,6 +293,7 @@
./programs/virt-manager.nix
./programs/wavemon.nix
./programs/wayland/cardboard.nix
./programs/wayland/hyprlock.nix
./programs/wayland/hyprland.nix
./programs/wayland/labwc.nix
./programs/wayland/river.nix
@ -1325,6 +1326,7 @@
./services/video/unifi-video.nix
./services/video/v4l2-relayd.nix
./services/wayland/cage.nix
./services/wayland/hypridle.nix
./services/web-apps/akkoma.nix
./services/web-apps/alps.nix
./services/web-apps/anuko-time-tracker.nix

View File

@ -0,0 +1,25 @@
{ lib, pkgs, config, ... }:
let
cfg = config.programs.hyprlock;
in
{
options.programs.hyprlock = {
enable = lib.mkEnableOption "hyprlock, Hyprland's GPU-accelerated screen locking utility";
package = lib.mkPackageOption pkgs "hyprlock" { };
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
];
# Hyprlock needs Hypridle systemd service to be running to detect idle time
services.hypridle.enable = true;
# Hyprlock needs PAM access to authenticate, else it fallbacks to su
security.pam.services.hyprlock = {};
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
}

View File

@ -69,14 +69,18 @@
virtualisation.docker.daemon.settings = lib.mkIf
(config.hardware.nvidia-container-toolkit.enable &&
(lib.versionAtLeast config.virtualisation.docker.package.version "25")) {
features.cdi = true;
};
features.cdi = true;
};
hardware.nvidia-container-toolkit.mounts = let
nvidia-driver = config.hardware.nvidia.package;
in (lib.mkMerge [
[{ hostPath = pkgs.addDriverRunpath.driverLink;
containerPath = pkgs.addDriverRunpath.driverLink; }
{ hostPath = "${lib.getLib nvidia-driver}/etc";
containerPath = "${lib.getLib nvidia-driver}/etc"; }
{ hostPath = "${lib.getLib nvidia-driver}/share";
containerPath = "${lib.getLib nvidia-driver}/share"; }
{ hostPath = "${lib.getLib pkgs.glibc}/lib";
containerPath = "${lib.getLib pkgs.glibc}/lib"; }
{ hostPath = "${lib.getLib pkgs.glibc}/lib64";

View File

@ -0,0 +1,26 @@
{ lib, pkgs, config, ... }:
let
cfg = config.services.hypridle;
in
{
options.services.hypridle = {
enable = lib.mkEnableOption "hypridle, Hyprland's idle daemon";
package = lib.mkPackageOption pkgs "hypridle" { };
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
];
systemd.user.services.hypridle = {
description = "Hypridle idle daemon";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
script = lib.getExe cfg.package;
};
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
}

View File

@ -84,7 +84,6 @@ import ./make-test-python.nix (
"dash-to-dock"
"dash-to-panel"
"ddterm"
"emoji-selector"
"gsconnect"
"system-monitor-next"
"desktop-icons-ng-ding"
@ -138,11 +137,11 @@ import ./make-test-python.nix (
# Enable and optionally disable
machine.succeed(f"${run "gnome-extensions enable {extension}"}")
checkState("ENABLED", extension)
checkState("ACTIVE", extension)
if disable:
machine.succeed(f"${run "gnome-extensions disable {extension}"}")
checkState("DISABLED", extension)
checkState("INACTIVE", extension)
''
+ lib.concatLines (map (e: ''checkExtension("${e}", False)'') alwaysOnExtensions)
+ lib.concatLines (map (e: ''checkExtension("${e}", True)'') testExtensions)

View File

@ -6,12 +6,12 @@
python3.pkgs.buildPythonPackage rec {
pname = "ledfx";
version = "2.0.96";
version = "2.0.99";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-nvPHAnoD5j1rneeuMufQkXj8YWXau2zJYug+Avpe87I=";
hash = "sha256-pwrAVcIwZ3RDYFMDk80q5aVSqLTQ5weZqgB3GRRu2ig=";
};
pythonRelaxDeps = true;
@ -58,6 +58,7 @@ python3.pkgs.buildPythonPackage rec {
sounddevice
stupidartnet
uvloop
vnoise
voluptuous
zeroconf
];
@ -71,5 +72,6 @@ python3.pkgs.buildPythonPackage rec {
changelog = "https://github.com/LedFx/LedFx/blob/${version}/CHANGELOG.rst";
license = licenses.gpl3Only;
maintainers = teams.c3d2.members;
mainProgram = "ledfx";
};
}

View File

@ -40,15 +40,15 @@
, xvfb-run
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-builder";
version = "46.1";
version = "46.2";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-lhaWbVIqLIUCizPAm605cudp6fkK91VNXnGDfb3HiHE=";
url = "mirror://gnome/sources/gnome-builder/${lib.versions.major finalAttrs.version}/gnome-builder-${finalAttrs.version}.tar.xz";
hash = "sha256-DIV7iQA7JHh/Kx0qrhLSdaB0xmhLSIA7SMACdtk3GWM=";
};
patches = [
@ -154,7 +154,7 @@ stdenv.mkDerivation rec {
'';
passthru.updateScript = gnome.updateScript {
packageName = pname;
packageName = "gnome-builder";
};
meta = with lib; {
@ -175,4 +175,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
mainProgram = "gnome-builder";
};
}
})

View File

@ -13,6 +13,7 @@
, gnome-desktop
, glib
, gtk3
, json-glib
, wayland
, libdrm
, libxkbcommon
@ -51,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
gnome-desktop
# For keybindings settings schemas
gnome.mutter
json-glib
wayland
finalAttrs.wlroots
xorg.xcbutilwm

View File

@ -3,7 +3,7 @@
, fetchurl
, perl
, buildsystem
, iconv
, libiconv
}:
stdenv.mkDerivation (finalAttrs: {
@ -18,7 +18,8 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
perl
buildsystem
iconv
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
];
makeFlags = [

View File

@ -3,14 +3,14 @@ let
versions =
if stdenv.isLinux then {
stable = "0.0.54";
ptb = "0.0.84";
canary = "0.0.382";
development = "0.0.18";
ptb = "0.0.85";
canary = "0.0.402";
development = "0.0.19";
} else {
stable = "0.0.303";
ptb = "0.0.113";
canary = "0.0.492";
development = "0.0.40";
stable = "0.0.305";
ptb = "0.0.114";
canary = "0.0.510";
development = "0.0.41";
};
version = versions.${branch};
srcs = rec {
@ -21,33 +21,33 @@ let
};
ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-0bOsmy2ldZT7S4tVOkihE5eLiujXC/ugF8CKXfBXHNU=";
hash = "sha256-2RyilxldJX2wqKlEcrp6srj0O7UNHMxySRJD1xBfqMk=";
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-MXMq4V+21KPHoCUs5x1rNRbkfw6+3cF7xSSNguiqOfc=";
hash = "sha256-YE+sHmEkUCHLflSUgf4aotWWdzhbFyzozc3vLcJ96yA=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-SoJ4/jXl0axQyeqv8CPSzM+lBsYq/QelHctRAeoscdA=";
hash = "sha256-RP6SUM4DW3JhddSbJX6Xg8EE4iqCkSOgBL1oa7Zwp/E=";
};
};
x86_64-darwin = {
stable = fetchurl {
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-B4r0W//d3761ufQr4PAt4ZuPMrOC7Zfo8Q3lHqKxkJ0=";
hash = "sha256-UEKsweUvtVKXZDrdIYuo3FPSPrnY3ECIilntBs9ZrGU=";
};
ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-hdT33jK0nHvY3rIh9i1eDq5j46xS9xInRxzGCUP/hi8=";
hash = "sha256-ahCgJ1aSLL7Mhx5Jjkeuqqlis8gqxHbIhQvlbUK2wIU=";
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-74XQu4PGW3eW4wPICGsAVlR4SQkDXJWZ1p/G7Bwq950=";
hash = "sha256-viWOmu1+6tpzNDN/q0kXRMo+rohOP6/L7ke2EeBEADg=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-uPz3uWPAqp3JeL9E+coMrb2Hc+Zn0YGF9Jw3BTKYRlw=";
hash = "sha256-RiGyca/zjPpENgcq9KnRh5G4YArrUOQeueUdUBgZgjo=";
};
};
aarch64-darwin = x86_64-darwin;

View File

@ -1,20 +1,27 @@
{ lib, stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
{ lib, stdenv, fetchFromGitHub, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
stdenv.mkDerivation rec {
pname = "fricas";
version = "1.3.9";
version = "1.3.10";
src = fetchurl {
url = "mirror://sourceforge/fricas/fricas/${version}/fricas-${version}-full.tar.bz2";
sha256 = "sha256-5RPcffM0GN0l6r8IgHJlwdxwwp2y4kIdJ5M3JnGZCzc=";
src = fetchFromGitHub {
owner = "fricas";
repo = "fricas";
rev = version;
sha256 = "sha256-T1xDndDnHq/hmhTWWO3Eu0733u8+C8sJMCF6pbLU2GI=";
};
buildInputs = [ sbcl libX11 libXpm libICE libSM libXt libXau libXdmcp ];
# Remove when updating to next version
configurePhase = ''
./configure --prefix=$out --with-lisp='sbcl --dynamic-space-size 3072'
'';
dontStrip = true;
meta = {
homepage = "https://fricas.sourceforge.net/";
homepage = "https://fricas.github.io";
description = "An advanced computer algebra system";
license = lib.licenses.bsd3;

View File

@ -61,12 +61,19 @@ stdenv.mkDerivation rec {
hash = "sha256-uCXchYx26DdxTjR1k2748KCEHPnekKS2fAM7SpyhNvM=";
})
# https://github.com/sagemath/sage/pull/37763
# https://github.com/sagemath/sage/pull/37763, landed in 10.4.beta2
(fetchpatch {
name = "scipy-fault-tolerance.patch";
url = "https://github.com/sagemath/sage/commit/547d502ed56f9fd44eb5d9b4ee0824746c60fef7.diff";
url = "https://github.com/sagemath/sage/commit/551139c09f26a5da96b1187c3f0dd17b8d80ef84.diff";
hash = "sha256-PR4przrZ3ieHaW2nSY7l7VhNfrUupu9yCIrXpeyoAgg=";
})
# first two commits from https://github.com/sagemath/sage/pull/38100
(fetchpatch {
name = "sphinx-7.3-update.patch";
url = "https://github.com/sagemath/sage/compare/10.4.beta7...d2932e142991b442a3eee5dc4f8949e3f7e6fe5c.patch";
hash = "sha256-g6w0ImE0d2ocKnbGMQikcz9eI9r3/gESlA1NrQfGimk=";
})
];
# Patches needed because of package updates. We could just pin the versions of

View File

@ -24,10 +24,6 @@ stdenv.mkDerivation rec {
export HOME="$TMPDIR/sage_home"
mkdir -p "$HOME"
# adapted from src/doc/Makefile (doc-src target), which tries to call Sage from PATH
mkdir -p $SAGE_DOC_SRC_OVERRIDE/en/reference/repl
${sage-with-env}/bin/sage -advanced > $SAGE_DOC_SRC_OVERRIDE/en/reference/repl/options.txt
# needed to link them in the sage docs using intersphinx
export PPLPY_DOCS=${python3.pkgs.pplpy.doc}/share/doc/pplpy

View File

@ -1,4 +1,4 @@
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, infotagger, requests, inputstream-adaptive, inputstreamhelper }:
buildKodiAddon rec {
pname = "invidious";
@ -11,6 +11,7 @@ buildKodiAddon rec {
};
propagatedBuildInputs = [
infotagger
requests
inputstream-adaptive
inputstreamhelper

View File

@ -9,20 +9,20 @@ let
callPackage
(import ./generic.nix rec {
pname = "apptainer";
version = "1.3.1";
version = "1.3.2";
projectName = "apptainer";
src = fetchFromGitHub {
owner = "apptainer";
repo = "apptainer";
rev = "refs/tags/v${version}";
hash = "sha256-XhJecINx8jC6pRzIoM4nC6Aunj40xL8EmYIA4UizfAY=";
hash = "sha256-NseigaPmRKDsBk8v7RpYf+uoEGvQHVnqOMO49kP0mQ8=";
};
# Update by running
# nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules"
# at the root directory of the Nixpkgs repository
vendorHash = "sha256-MXW1U13uDRAx4tqZvqsuJvoD22nEL2gcxiGaa/6zwU0=";
vendorHash = "sha256-W853++SSvkAYYUczbl8vnoBQZnimUdsAEXp4MCkLPBU=";
extraDescription = " (previously known as Singularity)";
extraMeta.homepage = "https://apptainer.org";

View File

@ -1,6 +1,10 @@
{ pkgs, pkgsLinux, buildPackages, lib, callPackage, runCommand, stdenv, substituteAll, testers }:
# Documentation is in doc/builders/testers.chapter.md
{
# See https://nixos.org/manual/nixpkgs/unstable/#tester-lycheeLinkCheck
# or doc/builders/testers.chapter.md
inherit (callPackage ./lychee.nix {}) lycheeLinkCheck;
# See https://nixos.org/manual/nixpkgs/unstable/#tester-testBuildFailure
# or doc/builders/testers.chapter.md
testBuildFailure = drv: drv.overrideAttrs (orig: {

View File

@ -0,0 +1,69 @@
deps@{ formats, lib, lychee, stdenv, writeShellApplication }:
let
inherit (lib) mapAttrsToList throwIf;
inherit (lib.strings) hasInfix hasPrefix escapeNixString;
toURL = v:
let s = "${v}";
in if hasPrefix builtins.storeDir s
then # lychee requires that paths on the file system are prefixed with file://
"file://${s}"
else s;
withCheckedName = name:
throwIf (hasInfix " " name) ''
lycheeLinkCheck: remap patterns must not contain spaces.
A space marks the end of the regex in lychee.toml.
Please change attribute name 'remap.${escapeNixString name}'
'';
# See https://nixos.org/manual/nixpkgs/unstable/#tester-lycheeLinkCheck
# or doc/builders/testers.chapter.md
lycheeLinkCheck = {
site,
remap ? { },
lychee ? deps.lychee,
extraConfig ? { },
}:
stdenv.mkDerivation (finalAttrs: {
name = "lychee-link-check";
inherit site;
nativeBuildInputs = [ finalAttrs.passthru.lychee ];
configFile = (formats.toml {}).generate "lychee.toml" finalAttrs.passthru.config;
# These can be overriden with overrideAttrs if needed.
passthru = {
inherit lychee remap;
config = {
include_fragments = true;
} // lib.optionalAttrs (finalAttrs.passthru.remap != { }) {
remap =
mapAttrsToList
(name: value: withCheckedName name "${name} ${toURL value}")
finalAttrs.passthru.remap;
} // extraConfig;
online = writeShellApplication {
name = "run-lychee-online";
runtimeInputs = [ finalAttrs.passthru.lychee ];
# Comment out to run shellcheck:
checkPhase = "";
text = ''
site=${finalAttrs.site}
configFile=${finalAttrs.configFile}
echo Checking links on $site
exec lychee --config $configFile $site "$@"
'';
};
};
buildCommand = ''
echo Checking internal links on $site
lychee --offline --config $configFile $site
touch $out
'';
});
in
{
inherit lycheeLinkCheck;
}

View File

@ -12,6 +12,8 @@ let
in
lib.recurseIntoAttrs {
lycheeLinkCheck = lib.recurseIntoAttrs pkgs.lychee.tests;
hasPkgConfigModules = pkgs.callPackage ../hasPkgConfigModules/tests.nix { };
runNixOSTest-example = pkgs-with-overlay.testers.runNixOSTest ({ lib, ... }: {

View File

@ -5,6 +5,7 @@
, openjdk17
, gnused
, autoPatchelfHook
, wrapGAppsHook3
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@ -15,6 +16,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
makeWrapper
gnused
autoPatchelfHook
wrapGAppsHook3
];
src =

View File

@ -93,6 +93,11 @@ buildGoModule rec {
substituteInPlace grype/presenter/sarif/presenter_test.go \
--replace-fail "Test_SarifIsValid" "SkipTest_SarifIsValid"
# May fail on NixOS, probably due bug in how syft handles tmpfs.
# See https://github.com/anchore/grype/issues/1822
substituteInPlace grype/distro/distro_test.go \
--replace-fail "Test_NewDistroFromRelease_Coverage" "SkipTest_NewDistroFromRelease_Coverage"
# segfault
rm grype/db/v5/namespace/cpe/namespace_test.go
'';

View File

@ -7,23 +7,23 @@
, ninja
, pkg-config
, uhttpmock_1_0
, libxml2
, glib
, gnome-online-accounts
, json-glib
, librest_1_0
, libsoup_3
, gnome
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libmsgraph";
version = "0.2.1";
version = "0.2.2";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/msgraph/${lib.versions.majorMinor finalAttrs.version}/msgraph-${finalAttrs.version}.tar.xz";
hash = "sha256-4OWeqorj4KSOwKbC/tBHCFanCSSOkhK2odA33leS7Ls=";
hash = "sha256-EsyVT3ULsTes6FAP6TVdJubgDvbMqrKVDp02DpJ1gzU=";
};
nativeBuildInputs = [
@ -36,21 +36,16 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
uhttpmock_1_0
libxml2
];
propagatedBuildInputs = [
glib
gnome-online-accounts
json-glib
librest_1_0
libsoup_3
];
mesonFlags = [
# https://gitlab.gnome.org/GNOME/msgraph/-/merge_requests/9
"-Dc_args=-Wno-error=format-security"
];
postFixup = ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
moveToOutput "share/doc/msgraph-0" "$devdoc"

View File

@ -43,6 +43,6 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/PaulCombal/SamRewritten";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ludovicopiero ];
platforms = lib.platforms.linux;
platforms = [ "x86_64-linux" ];
};
})

View File

@ -7,15 +7,15 @@
rustPlatform.buildRustPackage rec {
pname = "unison-fsmonitor";
version = "0.3.3";
version = "0.3.4";
src = fetchFromGitHub {
owner = "autozimu";
repo = "unison-fsmonitor";
rev = "v${version}";
hash = "sha256-JA0WcHHDNuQOal/Zy3yDb+O3acZN3rVX1hh0rOtRR+8=";
hash = "sha256-U/KMKYqYVSeYBmW+PnXtvjnyUTjTJgtpwy1GPefqJOk=";
};
cargoHash = "sha256-aqAa0F1NSJI1nckTjG5C7VLxaLjJgD+9yK/IpclSMqs=";
cargoHash = "sha256-eKRayFU3xq2uo6YeFqcTPLInZYlympH6Z01vOCVsVqQ=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices

View File

@ -10,40 +10,66 @@
, vulkan-headers
, wine64Packages
, fetchpatch
, fetchFromGitLab
, fetchurl
,
}:
let
# wine-staging doesn't support overrideAttrs for now
stagingPatch = fetchFromGitLab {
sha256 = "sha256-VQ4j4PuXRoXbCUZ16snVO+jRvuKD4Rjn14R7bhwdAco=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";
rev = "v9.2";
};
wine = wine64Packages.staging.overrideDerivation (oldAttrs: {
patches =
(oldAttrs.patches or [])
prePatch = ''
patchShebangs tools
cp -r ${stagingPatch}/patches ${stagingPatch}/staging .
chmod +w patches
patchShebangs ./patches/gitapply.sh
python3 ./staging/patchinstall.py --destdir="$PWD" --all
'';
patches = (oldAttrs.patches or [ ])
++ [
# upstream issue: https://bugs.winehq.org/show_bug.cgi?id=55604
# Here are the currently applied patches for Roblox to run under WINE:
(fetchpatch {
name = "vinegar-wine-segregrevert.patch";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/e24cb9dfa996bcfeaa46504c0375660fe271148d/patches/wine/segregrevert.patch";
hash = "sha256-+3Nld81nG3GufI4jAF6yrWfkJmsSCOku39rx0Hov29c=";
})
(fetchpatch {
name = "vinegar-wine-mouselock.patch";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/e24cb9dfa996bcfeaa46504c0375660fe271148d/patches/wine/mouselock.patch";
hash = "sha256-0AGA4AQbxTL5BGVbm072moav7xVA3zpotYqM8pcEDa4=";
})
];
(fetchurl {
name = "childwindow.patch";
hash = "sha256-u3mDvlbhQnfh2tUKb8jNJA0tTcLIaKVLfY8ktJmeRns=";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/childwindow.patch";
})
(fetchpatch {
name = "mouselock.patch";
hash = "sha256-0AGA4AQbxTL5BGVbm072moav7xVA3zpotYqM8pcEDa4=";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/mouselock.patch";
})
(fetchpatch {
name = "segregrevert.patch";
hash = "sha256-+3Nld81nG3GufI4jAF6yrWfkJmsSCOku39rx0Hov29c=";
url = "https://raw.githubusercontent.com/flathub/org.vinegarhq.Vinegar/9f43ce33a691afb50562d95adfc6719a3b58ddb7/patches/wine/segregrevert.patch";
})
];
src = fetchFromGitLab rec {
sha256 = "sha256-GlPH34dr9aHx7xvlcbtDMn/wrY//DP58ilXjhQXgihQ=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine";
rev = "wine-9.2";
};
});
in
buildGoModule rec {
pname = "vinegar";
version = "1.7.3";
version = "1.7.4";
src = fetchFromGitHub {
owner = "vinegarhq";
repo = "vinegar";
rev = "v${version}";
hash = "sha256-aKL+4jw/uMbbvLRCBHstCTrcQ1PTYSCwMNgXTvSvMeY=";
hash = "sha256-4tkcrUzW8la5WiDtGUvvsRzFqZM1gqnWWAzXc82hirM=";
};
vendorHash = "sha256-OaMfWecOPQh6quXjYkZLyBDHZ9TINSA7Ue/Y0sz5ZYY=";
vendorHash = "sha256-pi9FjKYXH8cqTx2rTRCyT4+pOM5HnIKosEcmcpbuywQ=";
nativeBuildInputs = [ pkg-config makeBinaryWrapper ];
buildInputs = [ libGL libxkbcommon xorg.libX11 xorg.libXcursor xorg.libXfixes wayland vulkan-headers wine ];

View File

@ -26,11 +26,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "file-roller";
version = "44.2";
version = "44.3";
src = fetchurl {
url = "mirror://gnome/sources/file-roller/${lib.versions.major finalAttrs.version}/file-roller-${finalAttrs.version}.tar.xz";
hash = "sha256-LFcXzn8F+6sTyEe2zjGxsCSIYfp6uPD/Hx4dRdHizfk=";
hash = "sha256-BMinRiX+yEJn/exAMGr7QQS9My2FBh4NNtSrBTOt+ko=";
};
nativeBuildInputs = [

View File

@ -29,11 +29,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-maps";
version = "46.10";
version = "46.11";
src = fetchurl {
url = "mirror://gnome/sources/gnome-maps/${lib.versions.major finalAttrs.version}/gnome-maps-${finalAttrs.version}.tar.xz";
hash = "sha256-XyXul6DC/t+E8M8DkrTvi+GT4/bOJfl1RntvzsBUIa8=";
hash = "sha256-lAtBuXQLCBMyXjkWdYcWz4+g7k4MkZHyYM7AbZITWDU=";
};
doCheck = !stdenv.isDarwin;

View File

@ -40,15 +40,15 @@
, withLibsecret ? true
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "evince";
version = "46.1";
version = "46.3";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-lLtSU2WwYKKML2AX0iy/KvURVQclSqQum/wAC7wYq2I=";
url = "mirror://gnome/sources/evince/${lib.versions.major finalAttrs.version}/evince-${finalAttrs.version}.tar.xz";
hash = "sha256-vA0dQbnX/8di6Z0qv6+sv3RRgvCzHYbbXuyMZ/XzAGs=";
};
depsBuildBuild = [
@ -121,7 +121,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "evince";
};
};
@ -141,4 +141,4 @@ stdenv.mkDerivation rec {
mainProgram = "evince";
maintainers = teams.gnome.members ++ teams.pantheon.members;
};
}
})

View File

@ -28,6 +28,7 @@
, gst_all_1
, gtk4
, ibus
, json-glib
, libgtop
, libgudev
, libadwaita
@ -122,6 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
gsound
gtk4
ibus
json-glib
libepoxy
libgtop
libgudev

View File

@ -34,13 +34,13 @@
, gsettings-desktop-schemas
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-initial-setup";
version = "46.0";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-+O6dzqfjXnNeqjvI0QQdBrtk6/HhBG5ejkjx+0QVGEc=";
url = "mirror://gnome/sources/gnome-initial-setup/${lib.versions.major finalAttrs.version}/gnome-initial-setup-${finalAttrs.version}.tar.xz";
hash = "sha256-bHktiSrbYLDeC33oglwUlD0c0nmvT5x2So9UEbYKjyc=";
};
patches = [
@ -94,8 +94,8 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
packageName = "gnome-initial-setup";
attrPath = "gnome.gnome-initial-setup";
};
};
@ -106,4 +106,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
maintainers = teams.gnome.members;
};
}
})

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-shell-extensions";
version = "46.1";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major finalAttrs.version}/gnome-shell-extensions-${finalAttrs.version}.tar.xz";
hash = "sha256-xbpQcA2nephvAGC+7az8AX5+yCKD8qY4SEKggHvEVT8=";
hash = "sha256-1ELp0mklEl/yFaXBNCkElWVTgHQdqvuzejqZ1vDH2G8=";
};
patches = [

View File

@ -66,13 +66,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-shell";
version = "46.1";
version = "46.2";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
hash = "sha256-ZPmZhEwQHmO/KU1FsTjeVjGa0vMmKCchqtD6hgZTs2k=";
hash = "sha256-a1hxAcBL+zZKsJzTi12T6+60JUdUyAfPcS+8juP94jg=";
};
patches = [
@ -102,13 +102,6 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/dcd112d9708954187e7490564c2229d82ba5326f/f/0001-gdm-Work-around-failing-fingerprint-auth.patch";
hash = "sha256-mgXty5HhiwUO1UV3/eDgWtauQKM0cRFQ0U7uocST25s=";
})
# screencast: Correct expected bus name for streams
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3303
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/50a011a19dcc6997ea6173c07bb80b2d9888d363.patch";
hash = "sha256-ccEpdWgDxwnj7ouzFekpoln5Y2PtgRikWetwK+0U9Fg=";
})
];
nativeBuildInputs = [

View File

@ -43,13 +43,13 @@ let
withFwupd = stdenv.hostPlatform.isx86;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-software";
version = "46.1";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-tu63iRAN6UtQ6+Lnfxaya+TC2xVImQXxmNBgxCXhkHY=";
url = "mirror://gnome/sources/gnome-software/${lib.versions.major finalAttrs.version}/gnome-software-${finalAttrs.version}.tar.xz";
hash = "sha256-5wDLood2T14iVVFOMS4WBVD9v3pdP+FjWLtve2cyuXQ=";
};
patches = [
@ -110,7 +110,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "gnome-software";
attrPath = "gnome.gnome-software";
};
};
@ -123,4 +123,4 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}
})

View File

@ -27,16 +27,16 @@
, nixosTests
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-terminal";
version = "3.52.1";
version = "3.52.2";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-terminal";
rev = version;
hash = "sha256-npoQfe5+HTn7CsrW6MuOoiYBc3rYMAMv4apC6dFR8O4=";
rev = finalAttrs.version;
hash = "sha256-c6xMUyhQnJiIrFnnUEx6vGVvFghGvLjTxiAFq+nSj2A=";
};
nativeBuildInputs = [
@ -94,4 +94,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = teams.gnome.members;
};
}
})

View File

@ -43,9 +43,9 @@ let
unicode-character-database
];
};
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "gucharmap";
version = "15.1.2";
version = "15.1.5";
outputs = [ "out" "lib" "dev" "devdoc" ];
@ -53,8 +53,8 @@ in stdenv.mkDerivation rec {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gucharmap";
rev = version;
sha256 = "sha256-tvFw2k5xCl+QE6cHvLj5KKdYFSghN7PVgHPmd27wh7k=";
rev = finalAttrs.version;
sha256 = "sha256-PG86D8QvqHdmo3aJseCerngmuWUqtSMdWzbixWE2HOQ=";
};
strictDeps = true;
@ -107,8 +107,8 @@ in stdenv.mkDerivation rec {
description = "GNOME Character Map, based on the Unicode Character Database";
mainProgram = "gucharmap";
homepage = "https://gitlab.gnome.org/GNOME/gucharmap";
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}
})

View File

@ -10,7 +10,6 @@
, colord
, lcms2
, pango
, json-glib
, libstartup_notification
, libcanberra
, ninja
@ -59,7 +58,6 @@
, sysprof
, libsysprof-capture
, desktop-file-utils
, libcap_ng
, egl-wayland
, graphene
, wayland
@ -68,13 +66,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mutter";
version = "46.1";
version = "46.2";
outputs = [ "out" "dev" "man" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
hash = "sha256-Y7JmDdD6GT+mYsgO4S64sW8rjDvDiWNmIAx5lDgk1R0=";
hash = "sha256-AJuqd/g2JhLKouGMM4obPIqtO1/ilkwv73gk0yEiiYM=";
};
mesonFlags = [
@ -91,9 +89,7 @@ stdenv.mkDerivation (finalAttrs: {
];
propagatedBuildInputs = [
# required for pkg-config to detect mutter-clutter
json-glib
libcap_ng
# required for pkg-config to detect mutter-mtk
graphene
];

View File

@ -38,13 +38,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nautilus";
version = "46.1";
version = "46.2";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/nautilus/${lib.versions.major finalAttrs.version}/nautilus-${finalAttrs.version}.tar.xz";
hash = "sha256-zBpf3x3XL5Lp4/PHrSY3CaDeU5Golb6TRPamf0OIe9c=";
hash = "sha256-bujJkBm540R/aRjWgjKiDeyonlUlwFgFQyt9iEDKcfo=";
};
patches = [

View File

@ -26,16 +26,16 @@
, gnome
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rygel";
version = "0.42.5";
version = "0.42.6";
# TODO: split out lib
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "ETNgLS5nEKreayKqmNkzhMjVY5bzRHY0E+luARC32J8=";
url = "mirror://gnome/sources/rygel/${lib.versions.majorMinor finalAttrs.version}/rygel-${finalAttrs.version}.tar.xz";
sha256 = "R9JXBLYQiDdeJqq6Vr5HwXGJRy5vgMdSq+hvAu9OMwQ=";
};
patches = [
@ -92,8 +92,8 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
packageName = "rygel";
attrPath = "gnome.rygel";
versionPolicy = "odd-unstable";
};
};
@ -105,4 +105,4 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}
})

View File

@ -14,8 +14,6 @@
, netcat-gnu
, nvme-cli
, procps
, pulseaudio
, python3
, smartmontools
, substituteAll
, touchegg
@ -106,14 +104,6 @@ super: lib.trivial.pipe super [
];
}))
(patchExtension "mullvadindicator@pobega.github.com" (old: {
patches = [
# Patch from https://github.com/Pobega/gnome-shell-extension-mullvad-indicator/pull/36
# tweaked to drop the Makefile changes to fix application
./extensionOverridesPatches/mullvadindicator_at_pobega.github.com.patch
];
}))
(patchExtension "pano@elhan.io" (old: {
patches = [
(substituteAll {

View File

@ -1,25 +0,0 @@
From ea472538fc73e9ab81e50183444dbb256d32ecc0 Mon Sep 17 00:00:00 2001
From: Sergio Rubio <rubiojr@rbel.co>
Date: Wed, 27 Mar 2024 20:43:38 +0100
Subject: [PATCH] Bump GNOME desktop version
The extension is 46 compatible.
---
metadata.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletions(-)
diff --git a/metadata.json b/metadata.json
index bc0e272..e647258 100644
--- a/metadata.json
+++ b/metadata.json
@@ -3,7 +3,8 @@
"description": "Mullvad connection status indicator",
"uuid": "mullvadindicator@pobega.github.com",
"shell-version": [
- "45"
+ "45",
+ "46"
],
"url": "https://github.com/Pobega/gnome-shell-extension-mullvad-indicator",
"settings-schema": "org.gnome.shell.extensions.MullvadIndicator",

View File

@ -16,16 +16,16 @@
, yelp-tools
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "aisleriot";
version = "3.22.32";
version = "3.22.33";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "aisleriot";
rev = version;
sha256 = "sha256-+U/EsKTZjWa05DbILWAxqIpMcZ0DP0l4LIYxM2wCFdM=";
rev = finalAttrs.version;
sha256 = "sha256-HylhDBgkAJrrs/r42v3aDNR8mBJaqnJHyY7T3QW1eWg=";
};
nativeBuildInputs = [
@ -70,4 +70,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}
})

View File

@ -47,11 +47,11 @@
stdenv.mkDerivation rec {
pname = "geary";
version = "44.1";
version = "46.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "fRHLbhxQThCMLckaoiVqRATcq+fRyHPY1glOLfM1onc=";
sha256 = "r60VEwKBfd8Ji15BbnrH8tXupWejuAu5C9PGKv0TuaE=";
};
nativeBuildInputs = [

View File

@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
"--with-berkeleydb=${db62.out}"
"--with-xerces=${xercesc}"
"--with-xqilla=${xqilla}"
# code uses register storage specifier
"CXXFLAGS=-std=c++14"
];
preConfigure = ''

View File

@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-online-accounts";
version = "3.50.1";
version = "3.50.2";
outputs = [ "out" "dev" ] ++ lib.optionals enableBackend [ "man" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-online-accounts/${lib.versions.majorMinor finalAttrs.version}/gnome-online-accounts-${finalAttrs.version}.tar.xz";
hash = "sha256-Qu5D/R4pQrn/YQYlLM3INGAoFVCL96OlLAvf/6Vur0A=";
hash = "sha256-3xatl10TnGv8TrsuyLuDJyl6eR7yvwuXfHgHavX6qY4=";
};
mesonFlags = [

View File

@ -46,13 +46,13 @@
, gsettings-desktop-schemas
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gvfs";
version = "1.54.0";
version = "1.54.1";
src = fetchurl {
url = "mirror://gnome/sources/gvfs/${lib.versions.majorMinor version}/gvfs-${version}.tar.xz";
hash = "sha256-9T2B34bC6GzdJRgsLYpmmiI3HoNiPe0bnVQW3Pxt42Y=";
url = "mirror://gnome/sources/gvfs/${lib.versions.majorMinor finalAttrs.version}/gvfs-${finalAttrs.version}.tar.xz";
hash = "sha256-rEo7zLf+FQIVjvD95cl5q0RxJVfQKKjk8wop8PvZ0Z8=";
};
patches = [
@ -138,13 +138,13 @@ stdenv.mkDerivation rec {
];
doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'"
doInstallCheck = doCheck;
doInstallCheck = finalAttrs.doCheck;
separateDebugInfo = true;
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "gvfs";
versionPolicy = "odd-unstable";
};
};
@ -155,4 +155,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = teams.gnome.members;
};
}
})

View File

@ -22,7 +22,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "libadwaita";
version = "1.5.0";
version = "1.5.1";
outputs = [ "out" "dev" "devdoc" ];
outputBin = "devdoc"; # demo app
@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GNOME";
repo = "libadwaita";
rev = finalAttrs.version;
hash = "sha256-uEaBI2jHlMdVprMGRZe/8HszO3nEBUJaJtvJjrMOjE4=";
hash = "sha256-dH0VPIt6SGTDcb1I72cKnNlyqZ3dptvKmMDjOd17BfA=";
};
depsBuildBuild = [

View File

@ -10,15 +10,15 @@
, deterministic-uname
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libgtop";
version = "2.41.2";
version = "2.41.3";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-2QJs2KSNJ83/0zL41gqSdktWQk5SLEIM0ToB9A2vksM=";
url = "mirror://gnome/sources/libgtop/${lib.versions.majorMinor finalAttrs.version}/libgtop-${finalAttrs.version}.tar.xz";
hash = "sha256-d1Z235WOLqJFL3Vo8osupYEGPTEnc91cC3Ykwbmy2ow=";
};
nativeBuildInputs = [
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "libgtop";
versionPolicy = "odd-unstable";
};
};
@ -48,4 +48,4 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.unix;
};
}
})

View File

@ -15,6 +15,7 @@
, libdovi
, xxHash
, fast-float
, vulkanSupport ? true
}:
stdenv.mkDerivation rec {
@ -33,13 +34,11 @@ stdenv.mkDerivation rec {
meson
ninja
pkg-config
vulkan-headers
python3Packages.jinja2
python3Packages.glad2
];
buildInputs = [
vulkan-loader
shaderc
lcms2
libGL
@ -47,15 +46,19 @@ stdenv.mkDerivation rec {
libunwind
libdovi
xxHash
vulkan-headers
] ++ lib.optionals vulkanSupport [
vulkan-loader
] ++ lib.optionals (!stdenv.cc.isGNU) [
fast-float
];
mesonFlags = with lib; [
(mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
(mesonBool "demos" false) # Don't build and install the demo programs
(mesonEnable "d3d11" false) # Disable the Direct3D 11 based renderer
(mesonEnable "glslang" false) # rely on shaderc for GLSL compilation instead
(mesonEnable "vk-proc-addr" vulkanSupport)
(mesonOption "vulkan-registry" "${vulkan-headers}/share/vulkan/registry/vk.xml")
] ++ optionals stdenv.isDarwin [
(mesonEnable "unwind" false) # libplacebo doesnt build with `darwin.libunwind`
];

View File

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchurl
, fetchpatch2
, gi-docgen
, meson
, ninja
@ -21,26 +20,18 @@
, gnome
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libshumate";
version = "1.2.1";
version = "1.2.2";
outputs = [ "out" "dev" "devdoc" ];
outputBin = "devdoc"; # demo app
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
hash = "sha256-EQXuB34hR/KgOc3fphb6XLlDiIPdlAQn4RaZ3NZUnBE=";
url = "mirror://gnome/sources/libshumate/${lib.versions.majorMinor finalAttrs.version}/libshumate-${finalAttrs.version}.tar.xz";
hash = "sha256-b1h1effy1gs40/RyfrGo0v6snL3AGOU/9fdyqGCPpEs=";
};
patches = [
(fetchpatch2 {
# Fix tests https://gitlab.gnome.org/GNOME/libshumate/-/merge_requests/236
url = "https://gitlab.gnome.org/GNOME/libshumate/-/commit/852615b0df2252ea67f4f82e9ace2fc2794467b3.patch";
hash = "sha256-Ksye3zNNYmzP4O+QFDVODXUkFJOLDVMEZNfGXwbxWhs=";
})
];
depsBuildBuild = [
# required to find native gi-docgen when cross compiling
pkg-config
@ -95,7 +86,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "libshumate";
};
};
@ -107,4 +98,4 @@ stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.unix;
};
}
})

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, libsamplerate, libsndfile, fftw
, lv2, jdk
, lv2, jdk_headless
, vamp-plugin-sdk, ladspaH, meson, ninja, darwin }:
stdenv.mkDerivation rec {
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
hash = "sha256-2e+J4rjvn4WxOsPC+uww4grPLJ86nIxFzmN/K8leV2w=";
};
nativeBuildInputs = [ pkg-config meson ninja jdk ];
nativeBuildInputs = [ pkg-config meson ninja jdk_headless ];
buildInputs = [ libsamplerate libsndfile fftw vamp-plugin-sdk ladspaH lv2 ] ++ lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [Accelerate CoreGraphics CoreVideo]);
makeFlags = [ "AR:=$(AR)" ];

View File

@ -32,14 +32,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "vte";
version = "0.76.1";
version = "0.76.2";
outputs = [ "out" "dev" ]
++ lib.optional (gtkVersion != null) "devdoc";
src = fetchurl {
url = "mirror://gnome/sources/vte/${lib.versions.majorMinor finalAttrs.version}/vte-${finalAttrs.version}.tar.xz";
hash = "sha256-CE6D73ZXdCaaSynfl8oi7cNDuaHYFDPTALjLLQh6HsI=";
hash = "sha256-49xggtW9cPiq+qrSzfyvflHaa6AKkZsR3axu+gnHKEc=";
};
patches = [

View File

@ -19,13 +19,13 @@
, webp-pixbuf-loader
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "xdg-desktop-portal-gnome";
version = "46.1";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
hash = "sha256-fo2WI+nZaonAiXYWgnzUQdzygykn048TXHIlUrEXKqE=";
url = "mirror://gnome/sources/xdg-desktop-portal-gnome/${lib.versions.major finalAttrs.version}/xdg-desktop-portal-gnome-${finalAttrs.version}.tar.xz";
hash = "sha256-tcZeol6Eg1AtAzphO+bca3GIOsB/Gj5HStGAScR9FtY=";
};
nativeBuildInputs = [
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
packageName = "xdg-desktop-portal-gnome";
};
};
@ -75,4 +75,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}
})

View File

@ -3,11 +3,10 @@
argcomplete,
buildPythonPackage,
fetchFromGitHub,
fetchpatch2,
httpx,
mock,
pytestCheckHook,
pythonAtLeast,
pythonOlder,
requests,
responses,
setuptools,
@ -20,9 +19,6 @@ buildPythonPackage rec {
version = "1.9.8";
pyproject = true;
# Still uses distutils, https://github.com/tchellomello/python-amcrest/issues/234
disabled = pythonOlder "3.7" || pythonAtLeast "3.12";
src = fetchFromGitHub {
owner = "tchellomello";
repo = "python-amcrest";
@ -30,6 +26,15 @@ buildPythonPackage rec {
hash = "sha256-v0jWEZo06vltEq//suGrvJ/AeeDxUG5CCFhbf03q34w=";
};
patches = [
(fetchpatch2 {
# https://github.com/tchellomello/python-amcrest/pull/235
name = "replace-distutils.patch";
url = "https://github.com/tchellomello/python-amcrest/commit/ec56049c0f5b49bc4c5bcf0acb7fea89ec1c1df4.patch";
hash = "sha256-ym+Bn795y+JqhNMk4NPnOVr3DwO9DkUV0d9LEaz3CMo=";
})
];
build-system = [ setuptools ];
dependencies = [

View File

@ -2,11 +2,13 @@
lib,
buildPythonPackage,
fetchFromGitHub,
ax,
botorch,
ipywidgets,
jinja2,
pandas,
plotly,
python,
setuptools,
setuptools-scm,
typeguard,
@ -79,6 +81,11 @@ buildPythonPackage rec {
];
pythonImportsCheck = [ "ax" ];
# Many portions of the test suite fail under Python 3.12
doCheck = lib.versions.majorMinor python.version != "3.12";
passthru.tests.check = ax.overridePythonAttrs { doCheck = true; };
meta = with lib; {
description = "Ax is an accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments";
homepage = "https://ax.dev/";

View File

@ -9,23 +9,26 @@
pytestCheckHook,
pythonOlder,
respx,
setuptools,
}:
buildPythonPackage rec {
pname = "ha-philipsjs";
version = "3.1.1";
format = "setuptools";
version = "3.2.1";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "danielperna84";
repo = pname;
repo = "ha-philipsjs";
rev = "refs/tags/${version}";
hash = "sha256-r8uqToxkJg9j89UUZpxsPXutWPefAYDW95zFBKU9Al4=";
hash = "sha256-gN7TPbNGw1vT0oAE6+Kg4V3J5dhYH+Gvv3JwptQ2aMk=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
cryptography
httpx
];
@ -40,7 +43,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "haphilipsjs" ];
meta = with lib; {
description = "Python library to interact with Philips TVs with jointSPACE API";
description = "Library to interact with Philips TVs with jointSPACE API";
homepage = "https://github.com/danielperna84/ha-philipsjs";
changelog = "https://github.com/danielperna84/ha-philipsjs/releases/tag/${version}";
license = licenses.mit;

View File

@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pillow,
xlib,
six,
@ -15,19 +16,28 @@
buildPythonPackage rec {
pname = "pystray";
version = "0.19.2";
format = "pyproject";
version = "0.19.5";
pyproject = true;
src = fetchFromGitHub {
owner = "moses-palmer";
repo = "pystray";
rev = "v${version}";
hash = "sha256-8B178MSe4ujlnGBmQhIu+BoAh1doP9V5cL0ermLQTvs=";
hash = "sha256-CZhbaXwKFrRBEomzfFPMQdMkTOl5lbgI64etfDRiRu4=";
};
patches = [
# fix test_menu_construct_from_none test case
# https://github.com/moses-palmer/pystray/pull/133
(fetchpatch {
url = "https://github.com/moses-palmer/pystray/commit/813007e3034d950d93a2f3e5b029611c3c9c98ad.patch";
hash = "sha256-m2LfZcWXSfgxb73dac21VDdMDVz3evzcCz5QjdnfM1U=";
})
];
postPatch = ''
substituteInPlace setup.py \
--replace "'sphinx >=1.3.1'" ""
--replace-fail "'sphinx >=1.3.1'" ""
'';
nativeBuildInputs = [

View File

@ -15,21 +15,21 @@
buildPythonPackage rec {
pname = "pyswitchbot";
version = "0.45.0";
version = "0.46.1";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pySwitchbot";
rev = "refs/tags/${version}";
hash = "sha256-lQVUHZvAZ4J0DLlUl30dSz2wwXKb9MK5prkXvub0yNI=";
hash = "sha256-fiWjChr7NATkO6jNBlt5kqxaLSSZWcdd7TjQwMP6klY=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
bleak
bleak-retry-connector
boto3

View File

@ -0,0 +1,35 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, numpy
, pytestCheckHook
, setuptools
}:
buildPythonPackage rec {
pname = "vnoise";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "plottertools";
repo = "vnoise";
rev = version;
hash = "sha256-nflAh3vj48wneM0wy/+M+XD6GC63KZEIFb1x4SS46YI=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [ numpy ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "vnoise" ];
meta = with lib; {
description = "Vectorized, pure-Python Perlin noise library";
homepage = "https://github.com/plottertools/vnoise";
license = licenses.mit;
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@ -1,24 +1,26 @@
{
lib,
aiohttp,
aresponses,
awesomeversion,
backoff,
buildPythonPackage,
cachetools,
fetchFromGitHub,
poetry-core,
yarl,
aresponses,
pytest-asyncio,
pytest-xdist,
pytestCheckHook,
pythonOlder,
typer,
yarl,
zeroconf,
}:
buildPythonPackage rec {
pname = "wled";
version = "0.17.1";
format = "pyproject";
version = "0.18.0";
pyproject = true;
disabled = pythonOlder "3.11";
@ -26,19 +28,19 @@ buildPythonPackage rec {
owner = "frenck";
repo = "python-wled";
rev = "refs/tags/v${version}";
hash = "sha256-9682AbcADhd9m5XrYeDFiX+sJCCe+pnuvntJDnpzJ+U=";
hash = "sha256-0BJgbyDhCPFlHxlEry7Rh/j0nv3D3kRhIqCSW+Irhqk=";
};
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
--replace "0.0.0" "${version}" \
--replace "--cov" ""
--replace-fail "0.0.0" "${version}" \
--replace-fail "--cov" ""
'';
nativeBuildInputs = [ poetry-core ];
build-system = [ poetry-core ];
propagatedBuildInputs = [
dependencies = [
aiohttp
awesomeversion
backoff
@ -46,6 +48,13 @@ buildPythonPackage rec {
yarl
];
passthru.optional-dependencies = {
cli = [
typer
zeroconf
];
};
nativeCheckInputs = [
aresponses
pytest-asyncio

View File

@ -14,15 +14,14 @@
buildPythonPackage rec {
pname = "zconfig";
version = "4.0";
version = "4.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
pname = "ZConfig";
inherit version;
hash = "sha256-+NZC+6a6mNCGMb4sH3GtGVfAUf70qj0/ufHgjcYdAVY=";
inherit pname version;
hash = "sha256-tqed2hV/NpjIdo0s7cJjIW6K8kDTz50JoCpkKREU6yA=";
};
patches = lib.optional stdenv.hostPlatform.isMusl ./remove-setlocale-test.patch;

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchpatch, xercesc }:
{ lib, stdenv, fetchurl, fetchpatch, darwin, xercesc }:
stdenv.mkDerivation rec {
pname = "xqilla";
@ -17,7 +17,18 @@ stdenv.mkDerivation rec {
})
];
configureFlags = [ "--with-xerces=${xercesc}" ];
configureFlags = [
"--with-xerces=${xercesc}"
# code uses register storage specifier
"CXXFLAGS=-std=c++14"
];
buildInputs = [
xercesc
] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
CoreServices
SystemConfiguration
]);
meta = with lib; {
description = "An XQuery and XPath 2 library and command line utility written in C++, implemented on top of the Xerces-C library";

View File

@ -1,30 +1,29 @@
{ lib
, fetchFromGitHub
, nixosTests
, stdenv
, dotnetCorePackages
, buildDotnetModule
, ffmpeg
, fontconfig
, freetype
, jellyfin-web
, sqlite
{
lib,
fetchFromGitHub,
nixosTests,
stdenv,
dotnetCorePackages,
buildDotnetModule,
ffmpeg,
fontconfig,
freetype,
jellyfin-web,
sqlite,
}:
buildDotnetModule rec {
pname = "jellyfin";
version = "10.9.1"; # ensure that jellyfin-web has matching version
version = "10.9.3"; # ensure that jellyfin-web has matching version
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin";
rev = "v${version}";
sha256 = "sha256-ZvXz4gnpYE9bMvOHbmLhqJLUomPmk1K9ysw+Wlsyhr4=";
sha256 = "sha256-gJMz2LfxC0JXqGYNKNz1zRbWZOH1UxbcoGtmdymZ/Oo=";
};
propagatedBuildInputs = [
sqlite
];
propagatedBuildInputs = [ sqlite ];
projectFile = "Jellyfin.Server/Jellyfin.Server.csproj";
executables = [ "jellyfin" ];
@ -56,7 +55,12 @@ buildDotnetModule rec {
homepage = "https://jellyfin.org/";
# https://github.com/jellyfin/jellyfin/issues/610#issuecomment-537625510
license = licenses.gpl2Plus;
maintainers = with maintainers; [ nyanloutre minijackson purcell jojosch ];
maintainers = with maintainers; [
nyanloutre
minijackson
purcell
jojosch
];
mainProgram = "jellyfin";
platforms = dotnet-runtime.meta.platforms;
};

View File

@ -4,6 +4,7 @@
overrideSDK,
fetchFromGitHub,
buildNpmPackage,
jellyfin,
nix-update-script,
pkg-config,
xcbuild,
@ -26,16 +27,18 @@ let
in
buildNpmPackage' rec {
pname = "jellyfin-web";
version = "10.9.2";
version = "10.9.3";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-web";
rev = "v${version}";
hash = "sha256-0MBVcMajRk+CR0nZ8Dtd3Mg4tKdLiHGs3AhI8BEqZyE=";
};
src =
assert version == jellyfin.version;
fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-web";
rev = "v${version}";
hash = "sha256-duq2tilUDEzj7o3Nq3Ku5qVJm4XDqVmqkQQIK/dlTpE=";
};
npmDepsHash = "sha256-aN+EXHRXez26oS4Ad1d9HSBkwVKnvYQMJvJVypDCk+0=";
npmDepsHash = "sha256-nKA/mR1ug1yq4+jJGhWGtAL9Zsx3KjDPqt5rkCE4LFU=";
npmBuildScript = [ "build:production" ];

View File

@ -1,5 +1,6 @@
{ lib
, fetchFromGitHub
, fetchpatch
, buildGoModule
, buildNpmPackage
, makeWrapper
@ -10,7 +11,6 @@
}:
let
pname = "photofield-ui";
version = "0.13.0";
src = fetchFromGitHub {
@ -35,11 +35,20 @@ let
};
in
buildGoModule rec {
buildGoModule {
pname = "photofield";
inherit version src;
vendorHash = "sha256-4JFP3vs/Z8iSKgcwfxpdnQpO9kTF68XQArFHYP8IoDQ=";
patches = [
# Needed for Go 1.22 build support
(fetchpatch {
name = "upgrade-pyroscope-go.patch";
url = "https://github.com/SmilyOrg/photofield/commit/681dcd48ab4113b0e99fe1a0d3638f0dfe985c05.patch";
hash = "sha256-JGb5KAI/SmR1kiiaPoSsAF7G4YWDFXj0K3Gjw0zA3Ro=";
})
];
vendorHash = "sha256-BnImE4wK2MDO21N5tT9Q9w+NkDpdBCEqUwzuH/xb6fg=";
preBuild = ''
cp -r ${webui}/share/photofield-ui ui/dist

View File

@ -2,6 +2,7 @@
, stdenv
, buildGoModule
, fetchFromGitHub
, fetchpatch
, makeWrapper
, getent
, iproute2
@ -24,6 +25,16 @@ buildGoModule {
rev = "v${version}";
hash = "sha256-ETBca3qKO2iS30teIF5sr/oyJdRSKFqLFVO3+mmm7bo=";
};
patches = [
# Fix "tailscale ssh" when built with ts_include_cli tag
# https://github.com/tailscale/tailscale/pull/12109
(fetchpatch {
url = "https://github.com/tailscale/tailscale/commit/325ca13c4549c1af58273330744d160602218af9.patch";
hash = "sha256-SMwqZiGNVflhPShlHP+7Gmn0v4b6Gr4VZGIF/oJAY8M=";
})
];
vendorHash = "sha256-Hd77xy8stw0Y6sfk3/ItqRIbM/349M/4uf0iNy1xJGw=";
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];

View File

@ -1,4 +1,5 @@
{ lib
{ callPackage
, lib
, stdenv
, rustPlatform
, fetchFromGitHub
@ -6,6 +7,7 @@
, openssl
, Security
, SystemConfiguration
, testers
}:
rustPlatform.buildRustPackage rec {
@ -41,6 +43,15 @@ rustPlatform.buildRustPackage rec {
"--skip=src/lib.rs"
];
passthru.tests = {
# NOTE: These assume that testers.lycheeLinkCheck uses this exact derivation.
# Which is true most of the time, but not necessarily after overriding.
ok = callPackage ./tests/ok.nix { };
fail = callPackage ./tests/fail.nix { };
fail-emptyDirectory = callPackage ./tests/fail-emptyDirectory.nix { };
network = testers.runNixOSTest ./tests/network.nix;
};
meta = with lib; {
description = "A fast, async, stream-based link checker written in Rust";
homepage = "https://github.com/lycheeverse/lychee";

View File

@ -0,0 +1,28 @@
{ runCommand, testers, emptyDirectory }:
let
sitePkg = runCommand "site" { } ''
dist=$out/dist
mkdir -p $dist
echo "<html><body><a href=\"https://example.com/foo\">foo</a></body></html>" > $dist/index.html
echo "<html><body></body></html>" > $dist/foo.html
'';
check = testers.lycheeLinkCheck {
site = sitePkg + "/dist";
remap = {
# Normally would recommend to append a subpath that hints why it's forbidden; see example in docs.
# However, we also want to test that a package is converted to a string *before*
# it's tested whether it's a store path. Mistake made during development caused:
# cannot check URI: InvalidUrlRemap("The remapping pattern must produce a valid URL, but it is not: /nix/store/4d0ix...empty-directory/foo
"https://example.com" = emptyDirectory;
};
};
failure = testers.testBuildFailure check;
in
runCommand "link-check-fail" { inherit failure; } ''
# The details of the message might change, but we have to make sure the
# correct error is reported, so that we know it's not something else that
# went wrong.
grep 'empty-directory/foo.*Cannot find file' $failure/testBuildFailure.log >/dev/null
touch $out
''

View File

@ -0,0 +1,21 @@
{ runCommand, testers }:
let
sitePkg = runCommand "site" { } ''
dist=$out/dist
mkdir -p $dist
echo "<html><body><a href=\"https://example.com/foo.html#foos-missing-anchor\">foo</a></body></html>" > $dist/index.html
echo "<html><body><a href=\".\">index</a></body></html>" > $dist/foo.html
'';
linkCheck = testers.lycheeLinkCheck rec {
site = sitePkg + "/dist";
remap = { "https://exampl[e]\\.com" = site; };
};
failure = testers.testBuildFailure linkCheck;
in
runCommand "link-check-fail" { inherit failure; } ''
grep -F foos-missing-anchor $failure/testBuildFailure.log >/dev/null
touch $out
''

View File

@ -0,0 +1,66 @@
{ config, hostPkgs, lib, ... }:
let
sitePkg = hostPkgs.runCommand "site" { } ''
dist=$out/dist
mkdir -p $dist
echo "<html><body><a href=\"http://example/foo.html\">foo</a></body></html>" > $dist/index.html
echo "<html><body><a href=\".\">index</a></body></html>" > $dist/foo.html
'';
check = config.node.pkgs.testers.lycheeLinkCheck {
site = sitePkg;
};
in
{
name = "testers-lychee-link-check-run";
nodes.client = { ... }: { };
nodes.example = {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx = {
enable = true;
virtualHosts."example" = {
locations."/" = {
root = "/var/www/example";
index = "index.html";
};
};
};
};
testScript = ''
start_all()
# SETUP
example.succeed("""
mkdir -p /var/www/example
echo '<h1>hi</h1>' > /var/www/example/index.html
""")
client.wait_until_succeeds("""
curl --fail -v http://example
""")
# FAILURE CASE
client.succeed("""
exec 1>&2
r=0
${lib.getExe check.online} || {
r=$?
}
if [[ $r -ne 2 ]]; then
echo "lycheeLinkCheck unexpected exit code $r"
exit 1
fi
""")
# SUCCESS CASE
example.succeed("""
echo '<h1>foo</h1>' > /var/www/example/foo.html
""")
client.succeed("""
${lib.getExe check.online}
""")
'';
}

View File

@ -0,0 +1,12 @@
{ runCommand, testers }:
let
sitePkg = runCommand "site" { } ''
dist=$out/dist
mkdir -p $dist
echo "<html><body><a href=\"https://example.com/foo.html\">foo</a><a href=\"https://nixos.org/this-is-ignored.html\">bar</a></body></html>" > $dist/index.html
echo "<html><body><a href=\".\">index</a></body></html>" > $dist/foo.html
'';
in testers.lycheeLinkCheck rec {
site = sitePkg + "/dist";
remap = { "https://example.com" = site; };
}

View File

@ -1,9 +1,9 @@
{ lib }:
rec {
version = "1.73.0";
version = "1.74.0";
srcHash = "sha256-INgc1rTN5K5mcV3u4Jktn7cqu87Z5sLnn70CxuZlbPA=";
srcHash = "sha256-PH0fTT6n6o3Jtuq+cyyRb048Tuv3VGNduCZCEKTXMrE=";
# submodule dependencies
# these are fetched so we:
@ -25,19 +25,19 @@ rec {
core = {
x86_64-linux = {
platform = "any";
hash = "sha256-NSleztCh9+VEsezypbIS74Ll+KP/Nb/zqAWum7tdoMc=";
hash = "sha256-ZA5KlbSLkC0IJGqyK0XhuDKRx53987vf53vSM0zwD9k=";
};
aarch64-linux = {
platform = "musllinux_1_0_aarch64.manylinux2014_aarch64";
hash = "sha256-tySsh+CLciJRXpr4oJa/h6Zh0Fw8c+EDdSNNRwOfKpg=";
hash = "sha256-aHq87uzk9TtnlMDfAS6492ocXRJSHdBinng0hu2xLas=";
};
x86_64-darwin = {
platform = "macosx_10_14_x86_64";
hash = "sha256-jO8H0wSjW34ynx+WN0oP8mpuAsfMva7H86gg72WrsBY=";
hash = "sha256-OorDXQ0oYHV8aPu9o1dQAd22u78/EjpUWA2yPYG0S9E=";
};
aarch64-darwin = {
platform = "macosx_11_0_arm64";
hash = "sha256-EizxrTI7b4qSp8nLwXCnvJqKwZje7+WXyw5z+Yk6bvQ=";
hash = "sha256-g8sFLh2V9NDIvAZOaDhMpFxKqbS/S1eKep4v1vlOOo8=";
};
};

View File

@ -16700,6 +16700,8 @@ self: super: with self; {
vncdo = callPackage ../development/python-modules/vncdo { };
vnoise = callPackage ../development/python-modules/vnoise { };
vobject = callPackage ../development/python-modules/vobject { };
volatile = callPackage ../development/python-modules/volatile { };