mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-01 01:33:20 +00:00
Merge staging-next-24.05 into staging-24.05
This commit is contained in:
commit
af1476980e
@ -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.
|
||||
|
@ -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; };
|
||||
|
@ -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
|
||||
|
25
nixos/modules/programs/wayland/hyprlock.nix
Normal file
25
nixos/modules/programs/wayland/hyprlock.nix
Normal 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 ];
|
||||
}
|
@ -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";
|
||||
|
26
nixos/modules/services/wayland/hypridle.nix
Normal file
26
nixos/modules/services/wayland/hypridle.nix
Normal 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 ];
|
||||
}
|
@ -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)
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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: {
|
||||
|
69
pkgs/build-support/testers/lychee.nix
Normal file
69
pkgs/build-support/testers/lychee.nix
Normal 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;
|
||||
}
|
@ -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, ... }: {
|
||||
|
@ -5,6 +5,7 @@
|
||||
, openjdk17
|
||||
, gnused
|
||||
, autoPatchelfHook
|
||||
, wrapGAppsHook3
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
@ -15,6 +16,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
makeWrapper
|
||||
gnused
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
src =
|
||||
|
@ -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
|
||||
'';
|
||||
|
@ -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"
|
||||
|
@ -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" ];
|
||||
};
|
||||
})
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 {
|
||||
|
@ -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",
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 = [
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 doesn’t build with `darwin.libunwind`
|
||||
];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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)" ];
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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 = [
|
||||
|
@ -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/";
|
||||
|
@ -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;
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
|
35
pkgs/development/python-modules/vnoise/default.nix
Normal file
35
pkgs/development/python-modules/vnoise/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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" ];
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
28
pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix
Normal file
28
pkgs/tools/networking/lychee/tests/fail-emptyDirectory.nix
Normal 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
|
||||
''
|
21
pkgs/tools/networking/lychee/tests/fail.nix
Normal file
21
pkgs/tools/networking/lychee/tests/fail.nix
Normal 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
|
||||
''
|
66
pkgs/tools/networking/lychee/tests/network.nix
Normal file
66
pkgs/tools/networking/lychee/tests/network.nix
Normal 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}
|
||||
""")
|
||||
'';
|
||||
}
|
12
pkgs/tools/networking/lychee/tests/ok.nix
Normal file
12
pkgs/tools/networking/lychee/tests/ok.nix
Normal 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; };
|
||||
}
|
@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user