Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-05-31 18:05:12 +00:00
committed by GitHub
43 changed files with 2516 additions and 1953 deletions
@@ -25,6 +25,8 @@
- The `services.polipo` module has been removed as `polipo` is unmaintained and archived upstream.
- The Pocket ID module ([`services.pocket-id`][#opt-services.pocket-id.enable]) and package (`pocket-id`) has been updated to 1.0.0. Some environment variables have been changed or removed, see the [migration guide](https://pocket-id.org/docs/setup/migrate-to-v1/).
- `renovate` was updated to v40. See the [upstream release notes](https://github.com/renovatebot/renovate/releases/tag/40.0.0) for breaking changes.
## Other Notable Changes {#sec-release-25.11-notable-changes}
+1 -1
View File
@@ -69,7 +69,7 @@ in
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig.ExecStart = "${cfg.package}/bin/dwm-status ${configFile}";
serviceConfig.ExecStart = "${cfg.package}/bin/dwm-status ${configFile} --quiet";
};
};
+42 -84
View File
@@ -7,12 +7,16 @@
let
inherit (lib)
concatMap
concatStringsSep
getExe
maintainers
mkEnableOption
mkIf
mkOption
optionalAttrs
optional
mkPackageOption
optional
optionalAttrs
;
inherit (lib.types)
bool
@@ -27,7 +31,7 @@ let
settingsFile = format.generate "pocket-id-env-vars" cfg.settings;
in
{
meta.maintainers = with lib.maintainers; [
meta.maintainers = with maintainers; [
gepbird
ymstnt
];
@@ -56,7 +60,7 @@ in
freeformType = format.type;
options = {
PUBLIC_APP_URL = mkOption {
APP_URL = mkOption {
type = str;
description = ''
The URL where you will access the app.
@@ -71,6 +75,16 @@ in
'';
default = false;
};
ANALYTICS_DISABLED = mkOption {
type = bool;
description = ''
Whether to disable analytics.
See [docs page](https://pocket-id.org/docs/configuration/analytics/).
'';
default = false;
};
};
};
@@ -105,18 +119,36 @@ in
};
config = mkIf cfg.enable {
warnings = (
warnings =
optional (cfg.settings ? MAXMIND_LICENSE_KEY)
"config.services.pocket-id.settings.MAXMIND_LICENSE_KEY will be stored as plaintext in the Nix store. Use config.services.pocket-id.environmentFile instead."
);
++ concatMap
(
# Added 2025-05-27
setting:
optional (cfg.settings ? "${setting}") ''
config.services.pocket-id.settings.${setting} is deprecated.
See https://pocket-id.org/docs/setup/migrate-to-v1/ for migration instructions.
''
)
[
"PUBLIC_APP_URL"
"PUBLIC_UI_CONFIG_DISABLED"
"CADDY_DISABLED"
"CADDY_PORT"
"BACKEND_PORT"
"POSTGRES_CONNECTION_STRING"
"SQLITE_DB_PATH"
"INTERNAL_BACKEND_URL"
];
systemd.tmpfiles.rules = [
"d ${cfg.dataDir} 0755 ${cfg.user} ${cfg.group}"
];
systemd.services = {
pocket-id-backend = {
description = "Pocket ID backend";
pocket-id = {
description = "Pocket ID";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
restartTriggers = [
@@ -130,7 +162,7 @@ in
User = cfg.user;
Group = cfg.group;
WorkingDirectory = cfg.dataDir;
ExecStart = "${cfg.package}/bin/pocket-id-backend";
ExecStart = getExe cfg.package;
Restart = "always";
EnvironmentFile = [
cfg.environmentFile
@@ -169,7 +201,7 @@ in
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = lib.concatStringsSep " " [
SystemCallFilter = concatStringsSep " " [
"~"
"@clock"
"@cpu-emulation"
@@ -186,80 +218,6 @@ in
UMask = "0077";
};
};
pocket-id-frontend = {
description = "Pocket ID frontend";
after = [
"network.target"
"pocket-id-backend.service"
];
wantedBy = [ "multi-user.target" ];
restartTriggers = [
cfg.package
cfg.environmentFile
settingsFile
];
serviceConfig = {
Type = "simple";
User = cfg.user;
Group = cfg.group;
ExecStart = "${cfg.package}/bin/pocket-id-frontend";
Restart = "always";
EnvironmentFile = [
cfg.environmentFile
settingsFile
];
# Hardening
AmbientCapabilities = "";
CapabilityBoundingSet = "";
DeviceAllow = "";
DevicePolicy = "closed";
#IPAddressDeny = "any"; # communicates with the backend and client
LockPersonality = true;
MemoryDenyWriteExecute = false; # V8_Fatal segfault
NoNewPrivileges = true;
PrivateDevices = true;
PrivateNetwork = false; # communicates with the backend and client
PrivateTmp = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = lib.concatStringsSep " " [
"~"
"@clock"
"@cpu-emulation"
"@debug"
"@module"
"@mount"
"@obsolete"
"@privileged"
"@raw-io"
"@reboot"
"@resources"
"@swap"
];
UMask = "0077";
};
};
};
users.users = optionalAttrs (cfg.user == "pocket-id") {
+2 -7
View File
@@ -15,8 +15,6 @@
enable = true;
settings = {
PORT = 10001;
INTERNAL_BACKEND_URL = "http://localhost:10002";
BACKEND_PORT = 10002;
};
};
};
@@ -29,17 +27,14 @@
inherit (builtins) toString;
in
''
machine.wait_for_unit("pocket-id-backend.service")
machine.wait_for_open_port(${toString settings.BACKEND_PORT})
machine.wait_for_unit("pocket-id-frontend.service")
machine.wait_for_unit("pocket-id.service")
machine.wait_for_open_port(${toString settings.PORT})
backend_status = machine.succeed("curl -L -o /tmp/backend-output -w '%{http_code}' http://localhost:${toString settings.BACKEND_PORT}/api/users/me")
backend_status = machine.succeed("curl -L -o /tmp/backend-output -w '%{http_code}' http://localhost:${toString settings.PORT}/api/users/me")
assert backend_status == "401"
machine.succeed("grep 'You are not signed in' /tmp/backend-output")
frontend_status = machine.succeed("curl -L -o /tmp/frontend-output -w '%{http_code}' http://localhost:${toString settings.PORT}")
assert frontend_status == "200"
machine.succeed("grep 'Sign in to Pocket ID' /tmp/frontend-output")
'';
}
File diff suppressed because it is too large Load Diff
@@ -167,7 +167,27 @@ stdenv.mkDerivation {
changelog = "https://www.mozilla.org/en-US/firefox/${version}/releasenotes/";
description = "Mozilla Firefox, free web browser (binary package)";
homepage = "https://www.mozilla.org/firefox/";
license = licenses.mpl20;
license = {
shortName = "firefox";
fullName = "Firefox Terms of Use";
url = "https://www.mozilla.org/about/legal/terms/firefox/";
# "You Are Responsible for the Consequences of Your Use of Firefox"
# (despite the heading, not an indemnity clause) states the following:
#
# > You agree that you will not use Firefox to infringe anyones rights
# > or violate any applicable laws or regulations.
# >
# > You will not do anything that interferes with or disrupts Mozillas
# > services or products (or the servers and networks which are connected
# > to Mozillas services).
#
# This conflicts with FSF freedom 0: "The freedom to run the program as
# you wish, for any purpose". (Why should Mozilla be involved in
# instances where you break your local laws just because you happen to
# use Firefox whilst doing it?)
free = false;
redistributable = true; # since MPL-2.0 still applies
};
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = builtins.attrNames mozillaPlatforms;
hydraPlatforms = [ ];
File diff suppressed because it is too large Load Diff
@@ -10,13 +10,13 @@
buildMozillaMach rec {
pname = "firefox-devedition";
binaryName = pname;
version = "140.0b2";
version = "140.0b3";
applicationName = "Firefox Developer Edition";
requireSigning = false;
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "4a369638dab1202f21f071a1eb48552888adf01e49ee4e029dfe7b42919312719004099b203a066057fd4d9ef9a684e5f95b0aa06ecf82cc88df0025f33f6368";
sha512 = "f7e2382ba9ad9a6fbea4a99ab541a4b70dcc4dd78d52230f5e600e9812eb796c890d424805b9c4d2ad7c981e3e509d654e9ae4e4c79c6a50880388e1b4c83bbe";
};
meta = {
@@ -0,0 +1,36 @@
# Using an external Containerd
K3s ships with its own containerd binary, however, sometimes it's necessary to use an external
containerd. This can be done in a few lines of configuration.
## Configure Containerd
```nix
virtualisation.containerd = {
enable = true;
settings.plugins."io.containerd.grpc.v1.cri".cni = {
bin_dir = "/var/lib/rancher/k3s/data/current/bin";
conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d";
};
# Optionally, configure containerd to use the k3s pause image
settings.plugins."io.containerd.grpc.v1.cri" = {
sandbox_image = "docker.io/rancher/mirrored-pause:3.6";
};
};
```
## Configure k3s
```nix
services.k3s = {
enable = true;
extraFlags = [ "--container-runtime-endpoint unix:///run/containerd/containerd.sock" ];
};
```
## Importing Container Images
K3s provides the `services.k3s.images` option to import container images at startup. This option
does **not** work with an external containerd, but you can import the images via
`ctr -n=k8s.io image import /var/lib/rancher/k3s/agent/images/*`. Note that you need to set the
`k8s.io` namespace to make the images available to the cluster.
@@ -10,7 +10,7 @@ let
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.95";
ptb = "0.0.144";
ptb = "0.0.146";
canary = "0.0.687";
development = "0.0.75";
}
@@ -30,7 +30,7 @@ let
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-URTBQ2YzkC8p7524RqR1OCqI3WkvtsClvd91RIWEQqU=";
hash = "sha256-bcQsz6hhgtUD2j0MD3rEdFhsGJMQY1+yo19y/lLX+j8=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
+87 -35
View File
@@ -10,8 +10,8 @@
boost,
libopus,
libsndfile,
speexdsp,
protobuf,
speex,
libcap,
alsa-lib,
python3,
@@ -22,16 +22,21 @@
libogg,
libvorbis,
stdenv_32bit,
alsaSupport ? stdenv.hostPlatform.isLinux,
iceSupport ? true,
zeroc-ice,
jackSupport ? false,
libjack2,
pipewireSupport ? true,
pipewireSupport ? stdenv.hostPlatform.isLinux,
pipewire,
pulseSupport ? true,
libpulseaudio,
speechdSupport ? false,
speechd-minimal,
microsoft-gsl,
nlohmann_json,
xar,
makeWrapper,
}:
let
@@ -52,18 +57,24 @@ let
qt5.qttools
] ++ (overrides.nativeBuildInputs or [ ]);
buildInputs = [
avahi
boost
poco
protobuf
] ++ (overrides.buildInputs or [ ]);
buildInputs =
[
boost
poco
protobuf
microsoft-gsl
nlohmann_json
]
++ lib.optionals stdenv.hostPlatform.isLinux [ avahi ]
++ (overrides.buildInputs or [ ]);
cmakeFlags = [
"-D g15=OFF"
"-D CMAKE_CXX_STANDARD=17" # protobuf >22 requires C++ 17
"-D BUILD_NUMBER=${lib.versions.patch source.version}"
] ++ (overrides.configureFlags or [ ]);
"-D bundled-gsl=OFF"
"-D bundled-json=OFF"
] ++ (overrides.cmakeFlags or [ ]);
preConfigure = ''
patchShebangs scripts
@@ -79,7 +90,7 @@ let
felixsinger
lilacious
];
platforms = platforms.linux;
platforms = platforms.linux ++ (overrides.platforms or [ ]);
};
}
);
@@ -89,7 +100,13 @@ let
generic {
type = "mumble";
nativeBuildInputs = [ qt5.qttools ];
platforms = lib.platforms.darwin;
nativeBuildInputs =
[ qt5.qttools ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
makeWrapper
];
buildInputs =
[
flac
@@ -97,36 +114,71 @@ let
libopus
libsndfile
libvorbis
speexdsp
qt5.qtsvg
rnnoise
speex
]
++ lib.optional (!jackSupport) alsa-lib
++ lib.optional (!jackSupport && alsaSupport) alsa-lib
++ lib.optional jackSupport libjack2
++ lib.optional speechdSupport speechd-minimal
++ lib.optional pulseSupport libpulseaudio
++ lib.optional pipewireSupport pipewire;
++ lib.optional pipewireSupport pipewire
++ lib.optionals stdenv.hostPlatform.isDarwin [
xar
];
configureFlags =
[
"-D server=OFF"
"-D bundled-celt=ON"
"-D bundled-opus=OFF"
"-D bundled-speex=OFF"
"-D bundle-qt-translations=OFF"
"-D update=OFF"
"-D overlay-xcompile=OFF"
"-D oss=OFF"
"-D warnings-as-errors=OFF" # conversion error workaround
]
++ lib.optional (!speechdSupport) "-D speechd=OFF"
++ lib.optional (!pulseSupport) "-D pulseaudio=OFF"
++ lib.optional (!pipewireSupport) "-D pipewire=OFF"
++ lib.optional jackSupport "-D alsa=OFF -D jackaudio=ON";
cmakeFlags = [
"-D server=OFF"
"-D bundled-speex=OFF"
"-D bundle-qt-translations=OFF"
"-D update=OFF"
"-D overlay-xcompile=OFF"
"-D oss=OFF"
"-D warnings-as-errors=OFF" # conversion error workaround
# building the overlay on darwin does not work in nipxkgs (yet)
# also see the patch below to disable scripts the build option misses
# see https://github.com/mumble-voip/mumble/issues/6816
(lib.cmakeBool "overlay" (!stdenv.hostPlatform.isDarwin))
(lib.cmakeBool "speechd" speechdSupport)
(lib.cmakeBool "pulseaudio" pulseSupport)
(lib.cmakeBool "pipewire" pipewireSupport)
(lib.cmakeBool "jackaudio" jackSupport)
(lib.cmakeBool "alsa" (!jackSupport && alsaSupport))
];
env.NIX_CFLAGS_COMPILE = lib.optionalString speechdSupport "-I${speechd-minimal}/include/speech-dispatcher";
postFixup = ''
patches = [
./disable-overlay-build.patch
./fix-plugin-copy.patch
# Can be removed before the next update of Mumble, as that fix was upstreamed
# fix version display in MacOS Finder
(fetchpatch {
url = "https://github.com/mumble-voip/mumble/commit/fbd21bd422367bed19f801bf278562f567cbb8b7.patch";
sha256 = "sha256-qFhC2j/cOWzAhs+KTccDIdcgFqfr4y4VLjHiK458Ucs=";
})
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
# The build erraneously marks the *.dylib as executable
# which causes the qt-hook to wrap it, which then prevents the app from loading it
chmod -x $out/lib/mumble/plugins/*.dylib
# Post-processing for the app bundle
$NIX_BUILD_TOP/source/macx/scripts/osxdist.py \
--source-dir=$NIX_BUILD_TOP/source/ \
--binary-dir=$out \
--only-appbundle \
--version "${source.version}"
mkdir -p $out/Applications $out/bin
mv $out/Mumble.app $out/Applications/Mumble.app
# ensure that the app can be started from the shell
makeWrapper $out/Applications/Mumble.app/Contents/MacOS/mumble $out/bin/mumble
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
wrapProgram $out/bin/mumble \
--prefix LD_LIBRARY_PATH : "${
lib.makeLibraryPath (
@@ -134,6 +186,7 @@ let
)
}"
'';
} source;
server =
@@ -141,14 +194,13 @@ let
generic {
type = "murmur";
configureFlags =
cmakeFlags =
[
"-D client=OFF"
(lib.cmakeBool "ice" iceSupport)
]
++ lib.optional (!iceSupport) "-D ice=OFF"
++ lib.optionals iceSupport [
"-D Ice_HOME=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}"
"-D CMAKE_PREFIX_PATH=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}"
"-D Ice_SLICE_DIR=${lib.getDev zeroc-ice}/share/ice/slice"
];
@@ -161,7 +213,7 @@ let
stdenv = stdenv_32bit;
type = "mumble-overlay";
configureFlags = [
cmakeFlags = [
"-D server=OFF"
"-D client=OFF"
"-D overlay=ON"
@@ -0,0 +1,21 @@
diff --git a/macx/scripts/osxdist.py b/macx/scripts/osxdist.py
index bdc7fcbd2..2114caf37 100755
--- a/macx/scripts/osxdist.py
+++ b/macx/scripts/osxdist.py
@@ -128,7 +128,7 @@ class AppBundle(object):
shutil.copy(rsrc, os.path.join(rsrcpath, b))
# Extras
- shutil.copy(os.path.join(options.binary_dir, 'MumbleOverlay.pkg'), os.path.join(rsrcpath, 'MumbleOverlay.pkg'))
+ # shutil.copy(os.path.join(options.binary_dir, 'MumbleOverlay.pkg'), os.path.join(rsrcpath, 'MumbleOverlay.pkg'))
def copy_codecs(self):
'''
@@ -275,7 +276,7 @@ def package_client():
title = 'Mumble %s' % ver
# Fix overlay installer package
- create_overlay_package()
+ # create_overlay_package()
if options.only_overlay:
sys.exit(0)
@@ -0,0 +1,13 @@
diff --git a/macx/scripts/osxdist.py b/macx/scripts/osxdist.py
index bdc7fcbd2..2114caf37 100755
--- a/macx/scripts/osxdist.py
+++ b/macx/scripts/osxdist.py
@@ -151,7 +151,7 @@ class AppBundle(object):
dst = os.path.join(self.bundle, 'Contents', 'Plugins')
if not os.path.exists(dst):
os.makedirs(dst)
- for plugin in glob.glob(os.path.join(options.binary_dir, 'plugins') + '/*.dylib'):
+ for plugin in glob.glob(os.path.join(options.binary_dir, 'lib/mumble/plugins') + '/*.dylib'):
shutil.copy(plugin, dst)
def update_plist(self):
@@ -0,0 +1,35 @@
{
lib,
rel,
buildKodiBinaryAddon,
fetchFromGitHub,
pkg-config,
glm,
libGL,
}:
buildKodiBinaryAddon rec {
pname = "screensaver-asteroids";
namespace = "screensaver.asteroids";
version = "22.0.2";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
hash = "sha256-Ri9dgdhJbHybdUkZeRE7X7SQMaV2JZCm7znAyDEa470=";
};
extraNativeBuildInputs = [ pkg-config ];
extraBuildInputs = [
glm
libGL
];
meta = with lib; {
homepage = "https://github.com/xbmc/screensaver.asteroids";
description = "A screensaver that plays Asteroids";
license = licenses.gpl2Plus;
platforms = platforms.all;
teams = [ teams.kodi ];
};
}
@@ -15,6 +15,7 @@
dnsutils,
iproute2,
wirelesstools,
nix-update-script,
}:
let
@@ -32,13 +33,13 @@ in
rustPlatform.buildRustPackage rec {
pname = "dwm-status";
version = "1.9.0";
version = "1.10.0";
src = fetchFromGitHub {
owner = "Gerschtli";
repo = pname;
rev = version;
sha256 = "sha256-OFwI4evwbXLO4ufjrh5SZia79bwbAKVoSm/IPCDku68=";
tag = version;
hash = "sha256-982JFYZroskKppAOZjBWOFt624FfRjhXpYN57s/cM50=";
};
nativeBuildInputs = [
@@ -53,19 +54,24 @@ rustPlatform.buildRustPackage rec {
];
useFetchCargoVendor = true;
cargoHash = "sha256-G31p8iVRUODD4hUssXaOqEOUTW+C+GZMy/L/tgumDtA=";
cargoHash = "sha256-2/zzE6JzhqeBYLiRkx5ELaW150rk1bMTrpxSw/wxNes=";
postInstall = lib.optionalString (bins != [ ]) ''
wrapProgram $out/bin/dwm-status --prefix "PATH" : "${lib.makeBinPath bins}"
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Highly performant and configurable DWM status service";
homepage = "https://github.com/Gerschtli/dwm-status";
changelog = "https://github.com/Gerschtli/dwm-status/blob/master/CHANGELOG.md";
license = with licenses; [ mit ];
maintainers = with maintainers; [ gerschtli ];
changelog = "https://github.com/Gerschtli/dwm-status/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
gepbird
gerschtli
];
mainProgram = "dwm-status";
platforms = platforms.linux;
platforms = lib.platforms.linux;
};
}
+59
View File
@@ -0,0 +1,59 @@
{
lib,
qt6,
zlib,
cmake,
efivar,
pkg-config,
fetchFromGitHub,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "efibooteditor";
version = "1.5.3";
src = fetchFromGitHub {
owner = "Neverous";
repo = "efibooteditor";
tag = "v${finalAttrs.version}";
hash = "sha256-xD40ZzkpwerDYC8nzGVqEHLV0KWbxcc0ApquQjrPJTc=";
};
buildInputs = [ zlib ] ++ lib.optional stdenv.hostPlatform.isLinux efivar;
nativeBuildInputs = [
cmake
pkg-config
qt6.qttools
qt6.wrapQtAppsHook
];
postPatch = ''
substituteInPlace misc/org.x.efibooteditor.policy \
--replace-fail /usr/bin $out/bin
substituteInPlace misc/EFIBootEditor.desktop \
--replace-fail "1.0" ${finalAttrs.version} \
--replace-fail \
'pkexec efibooteditor' \
'sh -c "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY efibooteditor"'
'';
env.BUILD_VERSION = "v${finalAttrs.version}";
cmakeBuildType = "MinSizeRel";
cmakeFlags = [ "-DQT_VERSION_MAJOR=6" ];
postInstall = ''
install -Dm644 $src/LICENSE.txt $out/share/licenses/${finalAttrs.pname}/LICENSE
'';
meta = {
description = "Boot Editor for (U)EFI based systems";
homepage = "https://github.com/Neverous/efibooteditor";
changelog = "https://github.com/Neverous/efibooteditor/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.lgpl3Plus;
platforms = lib.platforms.linux; # TODO build is broken on darwin
maintainers = with lib.maintainers; [ phanirithvij ];
mainProgram = "efibooteditor";
};
})
+10 -1
View File
@@ -5,6 +5,7 @@
bash,
makeWrapper,
kanjidraw,
installShellFiles,
pcre,
sqlite,
nodejs,
@@ -34,7 +35,10 @@ python3.pkgs.buildPythonApplication rec {
./cookie-fix.patch
];
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [
makeWrapper
installShellFiles
];
buildInputs = [
pcre
sqlite
@@ -66,6 +70,11 @@ python3.pkgs.buildPythonApplication rec {
postInstall = ''
# requires pywebview
rm $out/bin/jiten-gui
installShellCompletion --cmd jiten \
--bash <(_JITEN_COMPLETE=bash_source $out/bin/jiten) \
--zsh <(_JITEN_COMPLETE=zsh_source $out/bin/jiten) \
--fish <(env _JITEN_COMPLETE=fish_source $out/bin/jiten)
'';
meta = with lib; {
+24
View File
@@ -0,0 +1,24 @@
From 580bd3f0fea7ddc913329537070ab08fd3bf6033 Mon Sep 17 00:00:00 2001
From: matthiasdotsh <git@matthias.sh>
Date: Mon, 26 May 2025 11:22:01 +0200
Subject: [PATCH] Fix build for gcc >=14
---
src/include/fst/fst.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/include/fst/fst.h b/src/include/fst/fst.h
index 20e6bb3..2cb1364 100644
--- a/src/include/fst/fst.h
+++ b/src/include/fst/fst.h
@@ -652,8 +652,8 @@ class FstImpl {
FstImpl &operator=(const FstImpl<Arc> &impl) {
properties_ = impl.properties_;
type_ = impl.type_;
- isymbols_ = impl.isymbols_ ? impl.isymbols_->Copy() : nullptr;
- osymbols_ = impl.osymbols_ ? impl.osymbols_->Copy() : nullptr;
+ isymbols_ = impl.isymbols_ ? std::unique_ptr<fst::SymbolTable>(impl.isymbols_->Copy()) : nullptr;
+ osymbols_ = impl.osymbols_ ? std::unique_ptr<fst::SymbolTable>(impl.osymbols_->Copy()) : nullptr;
return *this;
}
+5 -1
View File
@@ -62,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: {
cp -r ../egs $out/share/kaldi
'';
dontCheckForBrokenSymlinks = true; # TODO: investigate
passthru = {
sources = {
# rev from https://github.com/kaldi-asr/kaldi/blob/master/cmake/third_party/openfst.cmake
@@ -69,7 +71,9 @@ stdenv.mkDerivation (finalAttrs: {
owner = "kkm000";
repo = "openfst";
rev = "338225416178ac36b8002d70387f5556e44c8d05";
hash = "sha256-MGEUuw7ex+WcujVdxpO2Bf5sB6Z0edcAeLGqW/Lo1Hs=";
hash = "sha256-y1E6bQgBfYt1Co02UutOyEM2FnETuUl144tHwypiX+M=";
# https://github.com/kkm000/openfst/issues/59
postFetch = ''(cd "$out"; patch -p1 < '${./gcc14.patch}')'';
};
};
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "mihomo";
version = "1.19.8";
version = "1.19.10";
src = fetchFromGitHub {
owner = "MetaCubeX";
repo = "mihomo";
rev = "v${version}";
hash = "sha256-C8g2KhhXY11bqGKthNgiqdZwxoPVPhflhkh+X6JU33I=";
hash = "sha256-7zbJMwczbCHRrAbRC61Pjo58dyphTu+3WYkfi3iiwxw=";
};
vendorHash = "sha256-j97UFlcN8SfY6nireI6NDw8UcQuxyH34gue1Ywf25Yg=";
vendorHash = "sha256-2hLI8R6hwam7/n8JRQ9Xs4ycWwdNxGRvFM+JhH7ExgM=";
excludedPackages = [ "./test" ];
+17 -11
View File
@@ -30,11 +30,10 @@
libsForQt5,
libspnav,
libzip,
manifold,
mesa,
mpfr,
python3,
tbb_2021_11,
tbb_2022_0,
wayland,
wayland-protocols,
wrapGAppsHook3,
@@ -46,15 +45,13 @@
# clang consume much less RAM than GCC
clangStdenv.mkDerivation rec {
pname = "openscad-unstable";
version = "2025-02-07";
version = "2025-05-17";
src = fetchFromGitHub {
owner = "openscad";
repo = "openscad";
rev = "1308a7d476facb466bf9fae1e77666c35c8e3c8f";
hash = "sha256-+0cQ5mgRzOPfP6nl/rfC/hnw3V7yvGJCyLU8hOmlGOc=";
# Unfortunately, we can't selectively fetch submodules. It would be good
# to see that we don't accidentally depend on it.
fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD
rev = "c76900f9a62fcb98c503dcc5ccce380db8ac564b";
hash = "sha256-R2/8T5+BugVTRIUVLaz6SxKQ1YrtyAGbiE4K1Fuc6bg=";
fetchSubmodules = true; # Only really need sanitizers-cmake and MCAD and manifold
};
patches = [ ./test.diff ];
@@ -81,7 +78,7 @@ clangStdenv.mkDerivation rec {
[
clipper2
glm
tbb_2021_11
tbb_2022_0
mimalloc
boost
cairo
@@ -99,7 +96,6 @@ clangStdenv.mkDerivation rec {
lib3mf
libspnav
libzip
manifold
mpfr
qscintilla
qtbase
@@ -119,7 +115,9 @@ clangStdenv.mkDerivation rec {
"-DEXPERIMENTAL=ON" # enable experimental options
"-DSNAPSHOT=ON" # nightly icons
"-DUSE_BUILTIN_OPENCSG=OFF"
"-DUSE_BUILTIN_MANIFOLD=OFF"
# use builtin manifold: 3.1.0 doesn't pass tests, builtin is 7c8fbe1, between 3.0.1 and 3.1.0
# FIXME revisit on version update
"-DUSE_BUILTIN_MANIFOLD=ON"
"-DUSE_BUILTIN_CLIPPER2=OFF"
"-DOPENSCAD_VERSION=\"${builtins.replaceStrings [ "-" ] [ "." ] version}\""
"-DCMAKE_UNITY_BUILD=OFF" # broken compile with unity
@@ -135,6 +133,14 @@ clangStdenv.mkDerivation rec {
# tests rely on sysprof which is not available on darwin
doCheck = !stdenv.hostPlatform.isDarwin;
# remove unused submodules, to ensure correct dependency usage
postUnpack = ''
( cd $sourceRoot
for m in submodules/OpenCSG submodules/mimalloc submodules/Clipper2
do rm -r $m
done )
'';
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir $out/Applications
mv $out/bin/*.app $out/Applications
+17 -11
View File
@@ -5,14 +5,20 @@
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
let
features = [
"rustls-webpki"
"geosparql"
];
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "oxigraph";
version = "0.4.9";
src = fetchFromGitHub {
owner = "oxigraph";
repo = "oxigraph";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-sv9LpAoPQ4oFrGI6j6NgVZwEwpM1wt93lHkUwnvmhIY=";
fetchSubmodules = true;
};
@@ -27,10 +33,7 @@ rustPlatform.buildRustPackage rec {
buildAndTestSubdir = "cli";
buildNoDefaultFeatures = true;
buildFeatures = [
"rustls-webpki"
"geosparql"
];
buildFeatures = features;
# Man pages and autocompletion
postInstall = ''
@@ -43,9 +46,9 @@ rustPlatform.buildRustPackage rec {
'';
cargoCheckNoDefaultFeatures = true;
cargoCheckFeatures = buildFeatures;
cargoCheckFeatures = features;
meta = with lib; {
meta = {
homepage = "https://github.com/oxigraph/oxigraph";
description = "SPARQL graph database";
platforms = [
@@ -53,11 +56,14 @@ rustPlatform.buildRustPackage rec {
"aarch64-linux"
"aarch64-darwin"
];
maintainers = with maintainers; [ astro ];
license = with licenses; [
maintainers = with lib.maintainers; [
astro
tnias
];
license = with lib.licenses; [
asl20
mit
];
mainProgram = "oxigraph";
};
}
})
+22 -48
View File
@@ -3,36 +3,38 @@
fetchFromGitHub,
buildGoModule,
buildNpmPackage,
makeWrapper,
nodejs,
stdenvNoCC,
nixosTests,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
buildGoModule (finalAttrs: {
pname = "pocket-id";
version = "0.53.0";
version = "1.1.0";
src = fetchFromGitHub {
owner = "pocket-id";
repo = "pocket-id";
tag = "v${finalAttrs.version}";
hash = "sha256-3lW4jPh9YElgpBcIooGQ2zZbNwC/rz7CABsp7ScTxyQ=";
hash = "sha256-J/s8wpKAU7w8Djtd7rtamCzg/7176W0ybSoAB/vHOjs=";
};
backend = buildGoModule {
pname = "pocket-id-backend";
inherit (finalAttrs) version src;
sourceRoot = "${finalAttrs.src.name}/backend";
sourceRoot = "${finalAttrs.src.name}/backend";
vendorHash = "sha256-jLwuBYiFZhUDIvG5uk78vXmo+wuqkFmyC5lAUZ3vUxU=";
vendorHash = "sha256-wOrYIhOrUxz22Ay2A26FTrPJA8YRgdRihP78Ls8VgNM=";
env.CGO_ENABLED = 0;
ldflags = [
"-X github.com/pocket-id/pocket-id/backend/internal/common.Version=${finalAttrs.version}"
"-buildid=${finalAttrs.version}"
];
preFixup = ''
mv $out/bin/cmd $out/bin/pocket-id-backend
'';
};
preBuild = ''
cp -r ${finalAttrs.frontend}/lib/pocket-id-frontend/dist frontend/dist
'';
preFixup = ''
mv $out/bin/cmd $out/bin/pocket-id
'';
frontend = buildNpmPackage {
pname = "pocket-id-frontend";
@@ -40,56 +42,27 @@ stdenvNoCC.mkDerivation (finalAttrs: {
sourceRoot = "${finalAttrs.src.name}/frontend";
npmDepsHash = "sha256-UjYAndueuJU07unbNFoTQHqRFkdyaBKHyT4k3Ex4pg0=";
npmDepsHash = "sha256-ykoyJtnqFK1fK60SbzrL7nhRcKYa3qYdHf9kFOC3EwE=";
npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [
makeWrapper
];
env.BUILD_OUTPUT_PATH = "dist";
installPhase = ''
runHook preInstall
# even though vite build creates most of the minified js files,
# it still needs a few packages from node_modules, try to strip that
npm prune --omit=dev --omit=optional $npmFlags
# larger seemingly unused packages
rm -r node_modules/{lucide-svelte,jiti,@swc,.bin}
# unused file types
for pattern in '*.map' '*.map.js' '*.ts'; do
find . -type f -name "$pattern" -exec rm {} +
done
mkdir -p $out/{bin,lib/pocket-id-frontend}
cp -r build $out/lib/pocket-id-frontend/dist
cp -r node_modules $out/lib/pocket-id-frontend/node_modules
makeWrapper ${lib.getExe nodejs} $out/bin/pocket-id-frontend \
--add-flags $out/lib/pocket-id-frontend/dist/index.js
mkdir -p $out/lib/pocket-id-frontend
cp -r dist $out/lib/pocket-id-frontend/dist
runHook postInstall
'';
};
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
ln -s ${finalAttrs.backend}/bin/pocket-id-backend $out/bin/pocket-id-backend
ln -s ${finalAttrs.frontend}/bin/pocket-id-frontend $out/bin/pocket-id-frontend
runHook postInstall
'';
passthru = {
tests = {
inherit (nixosTests) pocket-id;
};
updateScript = nix-update-script {
extraArgs = [
"--subpackage"
"backend"
"--subpackage"
"frontend"
];
@@ -101,6 +74,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
homepage = "https://pocket-id.org";
changelog = "https://github.com/pocket-id/pocket-id/releases/tag/v${finalAttrs.version}";
license = lib.licenses.bsd2;
mainProgram = "pocket-id";
maintainers = with lib.maintainers; [
gepbird
marcusramberg
@@ -0,0 +1,18 @@
diff --git a/scripts/workflow/build-routes.ts b/scripts/workflow/build-routes.ts
index 9807cfc..b9dcfb9 100644
--- a/scripts/workflow/build-routes.ts
+++ b/scripts/workflow/build-routes.ts
@@ -4,6 +4,7 @@ import { parse } from 'tldts';
import fs from 'node:fs';
import path from 'node:path';
import toSource from 'tosource';
+import { exit } from 'node:process';
import { getCurrentPath } from '../../lib/utils/helpers';
const __dirname = getCurrentPath(import.meta.url);
@@ -73,3 +74,5 @@ fs.writeFileSync(path.join(__dirname, '../../assets/build/radar-rules.js'), `(${
fs.writeFileSync(path.join(__dirname, '../../assets/build/maintainers.json'), JSON.stringify(maintainers, null, 2));
fs.writeFileSync(path.join(__dirname, '../../assets/build/routes.json'), JSON.stringify(namespaces, null, 2));
fs.writeFileSync(path.join(__dirname, '../../assets/build/routes.js'), `export default ${JSON.stringify(namespaces, null, 2)}`.replaceAll(/"module": "(.*)"\n/g, `"module": $1\n`));
+
+exit(0);
+10 -10
View File
@@ -7,48 +7,48 @@
replaceVars,
stdenv,
}:
let
pnpm = pnpm_9;
in
stdenv.mkDerivation (finalAttrs: {
pname = "rsshub";
version = "0-unstable-2025-02-03";
version = "0-unstable-2025-05-31";
src = fetchFromGitHub {
owner = "DIYgod";
repo = "RSSHub";
rev = "72f78e2bfbcf000a6f374a92894430cf845fd1fd";
hash = "sha256-okavLIYJZ+0iCsYtBc2r3FS18MVE/ap2OwRae7rWTrw=";
rev = "2dce2e32dd5f4dade2fc915ac8384c953e11cc83";
hash = "sha256-gS/t6O3MishJgi2K9hV22hT95oYHfm44cJqrUo2GPlM=";
};
patches = [
(replaceVars ./0001-fix-git-hash.patch {
"GIT_HASH" = finalAttrs.src.rev;
})
./0002-fix-network-call.patch
];
pnpmDeps = pnpm_9.fetchDeps {
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-c16Ue5YiRWlF7ldt/8WLi1/xYhGqqr6XqvUieQbvbWg=";
hash = "sha256-7qh6YZbIH/kHVssDZxHY7X8bytrnMcUq0MiJzWZYItc=";
};
nativeBuildInputs = [
makeBinaryWrapper
nodejs
pnpm_9.configHook
pnpm.configHook
];
buildPhase = ''
runHook preBuild
pnpm build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib/rsshub
cp -r lib node_modules assets api package.json tsconfig.json $out/lib/rsshub
runHook postInstall
'';
@@ -14,13 +14,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sherlock-launcher";
version = "0.1.11";
version = "0.1.12";
src = fetchFromGitHub {
owner = "Skxxtz";
repo = "sherlock";
tag = "v${finalAttrs.version}";
hash = "sha256-YuAJbLQc7SIV9HkWGcQBPdZ6uxI5qeeSIaK0t8owe4A=";
hash = "sha256-r3cXrcpczI5xJUhCxabYLv2YImvA+Ixi+oZJnLS0WoY=";
};
nativeBuildInputs = [
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
wayland
];
cargoHash = "sha256-1swjAwDH1vyMcVv/Mx4P8lrdUJGdvoR1SVIjaUe4zZo=";
cargoHash = "sha256-zgvTMjDycqrHpcXonAP6vZSIv4IQQslyl19xpb74mSg=";
meta = {
description = "Lightweight and efficient application launcher for Wayland built with Rust and GTK4";
+2 -2
View File
@@ -19,13 +19,13 @@
buildDotnetModule (finalAttrs: {
pname = "sourcegit";
version = "2025.17";
version = "2025.19";
src = fetchFromGitHub {
owner = "sourcegit-scm";
repo = "sourcegit";
tag = "v${finalAttrs.version}";
hash = "sha256-rpgsaWpVREftEve7vhAi42mNvWWU8Bl+4fUbUwJf1M4=";
hash = "sha256-4DZ4fZPvDHmpKtre6Gl7YtjmFN+tglAW9+Axld+m7dM=";
};
patches = [ ./fix-darwin-git-path.patch ];
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "tinfoil-cli";
version = "0.0.13";
version = "0.0.21";
src = fetchFromGitHub {
owner = "tinfoilsh";
repo = "tinfoil-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-/VjhInen6f+PYQENhGZ31q51r5J/lyG4rzXI3ZEPUAg=";
hash = "sha256-wgXiu5RcWPWINQ4iepxncU6lpJOedV722uNmGliCuW0=";
};
vendorHash = "sha256-EN6IYOSYuSlKpQKcdKvPjFa9A51uwqSzHNuwlrzYsfI=";
vendorHash = "sha256-MriCtyjWr4tJ9H+2z4KmnZw7ssqOEM3GL9ZGxUTm11k=";
# The attestation test requires internet access
checkFlags = [ "-skip=TestAttestationVerifySEV" ];
+22 -12
View File
@@ -1,19 +1,27 @@
{
lib,
python3Packages,
fetchPypi,
fetchFromGitHub,
versionCheckHook,
}:
python3Packages.buildPythonApplication rec {
pname = "updog";
version = "1.4";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "7n/ddjF6eJklo+T79+/zBxSHryebc2W9gxwxsb2BbF4=";
src = fetchFromGitHub {
owner = "sc0tfree";
repo = "updog";
tag = version;
hash = "sha256-e6J4Cbe9ZRb+nDMi6uxwP2ZggbNDyKysQC+IcKCDtIw=";
};
propagatedBuildInputs = with python3Packages; [
build-system = [
python3Packages.setuptools
];
dependencies = with python3Packages; [
colorama
flask
flask-httpauth
@@ -21,15 +29,17 @@ python3Packages.buildPythonApplication rec {
pyopenssl
];
checkPhase = ''
$out/bin/updog --help > /dev/null
'';
nativeCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
meta = with lib; {
description = "Updog is a replacement for Python's SimpleHTTPServer";
# no python tests
meta = {
description = "Replacement for Python's SimpleHTTPServer";
mainProgram = "updog";
homepage = "https://github.com/sc0tfree/updog";
license = licenses.mit;
maintainers = with maintainers; [ ethancedwards8 ];
changelog = "https://github.com/sc0tfree/updog/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ethancedwards8 ];
};
}
+3 -3
View File
@@ -18,17 +18,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "uv";
version = "0.7.8";
version = "0.7.9";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
tag = finalAttrs.version;
hash = "sha256-S5RmmFkFGeWc8fKR3gYLhIG1GQ50M4jdtgSqEV8I9oA=";
hash = "sha256-Q2HOR8kpHuCB4c61vS0yojyue5tYNCHpx/NuG0HGHl4=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-CShN2LuDYB1hKpZlTMCNHJcO2emHJdxaL3U8Mvahfb4=";
cargoHash = "sha256-oIgvufZsS65gL0SL8WQggjZ3UFPDfEpf0yM+kkkUiqg=";
buildInputs = [
rust-jemalloc-sys
+245
View File
@@ -0,0 +1,245 @@
{
lib,
stdenv,
coreutils,
fetchurl,
zlib,
libX11,
libXext,
libSM,
libICE,
libxkbcommon,
libxshmfence,
libXfixes,
libXt,
libXi,
libXcursor,
libXScrnSaver,
libXcomposite,
libXdamage,
libXtst,
libXrandr,
alsa-lib,
dbus,
cups,
libexif,
ffmpeg,
systemd,
libva,
libGL,
freetype,
fontconfig,
libXft,
libXrender,
libxcb,
expat,
libuuid,
libxml2,
glib,
gtk3,
pango,
gdk-pixbuf,
cairo,
atk,
at-spi2-atk,
at-spi2-core,
qt6,
libdrm,
libgbm,
vulkan-loader,
nss,
nspr,
patchelf,
makeWrapper,
wayland,
pipewire,
proprietaryCodecs ? false,
vivaldi-ffmpeg-codecs ? null,
enableWidevine ? false,
widevine-cdm ? null,
commandLineArgs ? "",
pulseSupport ? stdenv.hostPlatform.isLinux,
libpulseaudio,
kerberosSupport ? true,
libkrb5,
}:
stdenv.mkDerivation rec {
pname = "vivaldi";
version = "7.4.3684.43";
suffix =
{
aarch64-linux = "arm64";
x86_64-linux = "amd64";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/vivaldi-stable_${version}-1_${suffix}.deb";
hash =
{
aarch64-linux = "sha256-/Zmxwm65HjIL/JdWJtvcgxk4Bj4VcTXr/px6eCJHy0I=";
x86_64-linux = "sha256-tDGoew5jEOqoHIHSvoOsBcuEzq817YT0pFSO3Li48OU=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
unpackPhase = ''
runHook preUnpack
ar vx $src
tar -xvf data.tar.xz
runHook postUnpack
'';
nativeBuildInputs = [
patchelf
makeWrapper
qt6.wrapQtAppsHook
];
dontWrapQtApps = true;
buildInputs =
[
stdenv.cc.cc
stdenv.cc.libc
zlib
libX11
libXt
libXext
libSM
libICE
libxcb
libxkbcommon
libxshmfence
libXi
libXft
libXcursor
libXfixes
libXScrnSaver
libXcomposite
libXdamage
libXtst
libXrandr
atk
at-spi2-atk
at-spi2-core
alsa-lib
dbus
cups
gtk3
gdk-pixbuf
libexif
ffmpeg
systemd
libva
qt6.qtbase
qt6.qtwayland
freetype
fontconfig
libXrender
libuuid
expat
glib
nss
nspr
libGL
libxml2
pango
cairo
libdrm
libgbm
vulkan-loader
wayland
pipewire
]
++ lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs
++ lib.optional pulseSupport libpulseaudio
++ lib.optional kerberosSupport libkrb5;
libPath =
lib.makeLibraryPath buildInputs
+ lib.optionalString (stdenv.hostPlatform.is64bit) (
":" + lib.makeSearchPathOutput "lib" "lib64" buildInputs
)
+ ":$out/opt/vivaldi/lib";
buildPhase =
''
runHook preBuild
echo "Patching Vivaldi binaries"
for f in chrome_crashpad_handler vivaldi-bin vivaldi-sandbox ; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
opt/vivaldi/$f
done
for f in libGLESv2.so libqt5_shim.so libqt6_shim.so; do
patchelf --set-rpath "${libPath}" opt/vivaldi/$f
done
''
+ lib.optionalString proprietaryCodecs ''
ln -s ${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so opt/vivaldi/libffmpeg.so.''${version%\.*\.*}
''
+ ''
echo "Finished patching Vivaldi binaries"
runHook postBuild
'';
dontPatchELF = true;
dontStrip = true;
installPhase =
''
runHook preInstall
mkdir -p "$out"
cp -r opt "$out"
mkdir "$out/bin"
ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi"
mkdir -p "$out/share"
cp -r usr/share/{applications,xfce4} "$out"/share
substituteInPlace "$out"/share/applications/*.desktop \
--replace-fail /usr/bin/vivaldi "$out"/bin/vivaldi
substituteInPlace "$out"/share/applications/*.desktop \
--replace-fail vivaldi-stable vivaldi
local d
for d in 16 22 24 32 48 64 128 256; do
mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps
ln -s \
"$out"/opt/vivaldi/product_logo_''${d}.png \
"$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png
done
wrapProgram "$out/bin/vivaldi" \
--add-flags ${lib.escapeShellArg commandLineArgs} \
--prefix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ \
--prefix LD_LIBRARY_PATH : ${libPath} \
--prefix PATH : ${coreutils}/bin \
''${qtWrapperArgs[@]}
''
+ lib.optionalString enableWidevine ''
ln -sf ${widevine-cdm}/share/google/chrome/WidevineCdm $out/opt/vivaldi/WidevineCdm
''
+ ''
runHook postInstall
'';
passthru.updateScript = ./update-vivaldi.sh;
meta = {
description = "Browser for our Friends, powerful and personal";
homepage = "https://vivaldi.com";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "vivaldi";
maintainers = with lib.maintainers; [
marcusramberg
rewine
];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
};
}
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts
set -eu -o pipefail
version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)-1_amd64\.deb.*/\1/p')
update_hash() {
url="https://downloads.vivaldi.com/stable/vivaldi-stable_$version-1_$2.deb"
hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "$url"))
update-source-version vivaldi "$version" "$hash" --system=$1 --ignore-same-version
}
update_hash aarch64-linux arm64
update_hash x86_64-linux amd64
+2 -2
View File
@@ -13,13 +13,13 @@
buildGoModule rec {
pname = "walker";
version = "0.12.21";
version = "0.12.23";
src = fetchFromGitHub {
owner = "abenz1267";
repo = "walker";
rev = "v${version}";
hash = "sha256-wONW5CaPkLiVR5roGFx2SOcvcVDr9E9eCtojGBy3ErE=";
hash = "sha256-DUbOu45ls/h0Nnrrue/t0R12yNOhL6GegjGL1pV6BAQ=";
};
vendorHash = "sha256-6PPNVnsH1eU4fLcZpxiBoHCzN/TUUxfTfmxDsBDPDKQ=";
+3 -3
View File
@@ -17,13 +17,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wrangler";
version = "4.16.1";
version = "4.17.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "workers-sdk";
rev = "wrangler@${finalAttrs.version}";
hash = "sha256-5mRoQFfOwQ9PC97WdspnRLAFoyAdGpJuV7Ii6ilkR8I=";
hash = "sha256-PXVfNYy1gzK1OqYOeGRxTRRrxNEQkEhAjE5J9yKcQ/w=";
};
pnpmDeps = pnpm_9.fetchDeps {
@@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: {
src
postPatch
;
hash = "sha256-msIXeN8t8Dm3RUkw4woZIMn7wXxw/0jVl8oFmkPJbrA=";
hash = "sha256-OCxUhvPIPKSGTTeXaLmkErOBpYQ8mKmieUYj6qxuTK4=";
};
# pnpm packageManager version in workers-sdk root package.json may not match nixpkgs
postPatch = ''
@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "switchboard-plug-display";
version = "8.0.1";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
repo = "settings-display";
rev = version;
sha256 = "sha256-uSEixgakYmh+rheDVF9kYs43C+vjfzuz1SNfwV3+RIU=";
sha256 = "sha256-/qWNs72x9Y2m+QOu5jLjtbIXjZhf6AGtLdpRpdED+AE=";
};
nativeBuildInputs = [
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Switchboard Displays Plug";
homepage = "https://github.com/elementary/switchboard-plug-display";
homepage = "https://github.com/elementary/settings-display";
license = licenses.gpl3Plus;
platforms = platforms.linux;
teams = [ teams.pantheon ];
@@ -2,7 +2,6 @@
stdenv,
lib,
fetchFromGitLab,
desktop-file-utils,
gobject-introspection,
meson,
ninja,
@@ -19,18 +18,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "catfish";
version = "4.20.0";
version = "4.20.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "catfish";
rev = "catfish-${finalAttrs.version}";
hash = "sha256-7ERE6R714OuqTjeNZw3K6HvQTA8OIglG6+8Kiawwzu8=";
hash = "sha256-mTAunc1GJLkSu+3oWD5+2sCQemWdVsUURlP09UkbVyw=";
};
nativeBuildInputs = [
desktop-file-utils
gobject-introspection
meson
ninja
@@ -1,27 +1,51 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
gtk3,
glib,
gitUpdater,
}:
mkXfceDerivation {
category = "apps";
stdenv.mkDerivation (finalAttrs: {
pname = "gigolo";
version = "0.5.4";
odd-unstable = false;
version = "0.6.0";
sha256 = "sha256-gRv1ZQLgwwzFERnco2Dm2PkT/BNDIZU6fX+HdhiRCJk=";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "gigolo";
tag = "gigolo-${finalAttrs.version}";
hash = "sha256-tyFjVvtDE25y6rnmlESdl8s/GdyHGqbn2Dn/ymIIgWs=";
};
strictDeps = true;
nativeBuildInputs = [
glib # glib-compile-resources
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk3
glib
];
meta = with lib; {
passthru.updateScript = gitUpdater { rev-prefix = "gigolo-"; };
meta = {
description = "Frontend to easily manage connections to remote filesystems";
homepage = "https://gitlab.xfce.org/apps/gigolo";
license = lib.licenses.gpl2Plus;
mainProgram = "gigolo";
license = with licenses; [ gpl2Only ];
teams = [ teams.xfce ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
}
})
@@ -1,9 +1,15 @@
{
stdenv,
lib,
mkXfceDerivation,
fetchFromGitLab,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
dbus,
dbus-glib,
gst_all_1,
glib,
gtk3,
libnotify,
libX11,
@@ -11,24 +17,40 @@
libxfce4util,
taglib,
xfconf,
gitUpdater,
}:
# Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
mkXfceDerivation {
category = "apps";
stdenv.mkDerivation (finalAttrs: {
pname = "parole";
version = "4.18.2";
version = "4.20.0";
sha256 = "sha256-C4dGiMYn51YuASsQeQs3Cbc+KkPqcOrsCMS+dYfP+Ps=";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "parole";
tag = "parole-${finalAttrs.version}";
hash = "sha256-I1wZsuZ/NM5bH6QTJpwd5WL9cIGNtkAxA2j5vhhdaTE=";
};
buildInputs = with gst_all_1; [
strictDeps = true;
nativeBuildInputs = [
dbus-glib # dbus-binding-tool
glib # glib-genmarshal
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
dbus
dbus-glib
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
glib
gtk3
libnotify
libX11
@@ -38,9 +60,14 @@ mkXfceDerivation {
xfconf
];
meta = with lib; {
passthru.updateScript = gitUpdater { rev-prefix = "parole-"; };
meta = {
description = "Modern simple media player";
homepage = "https://gitlab.xfce.org/apps/parole";
license = lib.licenses.gpl2Plus;
mainProgram = "parole";
teams = [ teams.xfce ];
teams = [ lib.teams.xfce ];
platforms = lib.platforms.linux;
};
}
})
@@ -4,10 +4,14 @@
fetchFromGitLab,
gettext,
gobject-introspection,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
glib,
gtk3,
libxfce4ui,
libxfce4util,
python3,
gitUpdater,
}:
@@ -20,19 +24,22 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "xfce4-panel-profiles";
version = "1.0.15";
version = "1.1.1";
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = "apps";
repo = "xfce4-panel-profiles";
rev = "xfce4-panel-profiles-${finalAttrs.version}";
sha256 = "sha256-UxXxj0lxJhaMv5cQoyz+glJiLwvIFfpPu27TCNDhoL0=";
hash = "sha256-4sUNlabWp6WpBlePVFHejq/+TXiJYSQTnZFp5B258Wc=";
};
nativeBuildInputs = [
gettext
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook3
];
@@ -40,15 +47,13 @@ stdenv.mkDerivation (finalAttrs: {
glib
gtk3
libxfce4ui
libxfce4util
pythonEnv
];
configurePhase = ''
runHook preConfigure
# This is just a handcrafted script and does not accept additional arguments.
./configure --prefix=$out
runHook postConfigure
'';
mesonFlags = [
"-Dpython-path=${lib.getExe pythonEnv}"
];
passthru.updateScript = gitUpdater { rev-prefix = "xfce4-panel-profiles-"; };
@@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "namex";
version = "0.0.9";
version = "0.1.0";
pyproject = true;
# Not using fetchFromGitHub because the repo does not have any tag/release
src = fetchPypi {
inherit pname version;
hash = "sha256-it/qnaXOpb6PTmMjSbRmnjAXLHhZ4f2XRZ/fOxdGklM=";
hash = "sha256-EX8DzNMCzEjj9cWKKWg49ricg0VauGg6HoXypDCqQwY=";
};
build-system = [
-1
View File
@@ -2007,7 +2007,6 @@ mapAliases {
vistafonts = vista-fonts; # Added 2025-02-03
vistafonts-chs = vista-fonts-chs; # Added 2025-02-03
vistafonts-cht = vista-fonts-cht; # Added 2025-02-03
vivaldi = throw "'vivaldi' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-29
vkBasalt = vkbasalt; # Added 2022-11-22
vkdt-wayland = vkdt; # Added 2024-04-19
vocal = throw "'vocal' has been archived upstream. Consider using 'gnome-podcasts' or 'kasts' instead."; # Added 2025-04-12
+2
View File
@@ -137,6 +137,8 @@ let
robotocjksc = callPackage ../applications/video/kodi/addons/robotocjksc { };
screensaver-asteroids = callPackage ../applications/video/kodi/addons/screensaver-asteroids { };
skyvideoitalia = callPackage ../applications/video/kodi/addons/skyvideoitalia { };
svtplay = callPackage ../applications/video/kodi/addons/svtplay { };
+5 -5
View File
@@ -1907,10 +1907,10 @@ with self;
AuthenKrb5 = buildPerlModule {
pname = "Authen-Krb5";
version = "1.905";
version = "1.906";
src = fetchurl {
url = "mirror://cpan/authors/id/I/IO/IOANR/Authen-Krb5-1.905.tar.gz";
hash = "sha256-13sAuxUBpW9xGOkarAx+Qi2888QY+c6YuAF3HDqg900=";
url = "mirror://cpan/authors/id/O/OD/ODENBACH/Authen-Krb5-1.906.tar.gz";
hash = "sha256-LcCSjvsTtfMF3zRSCI5j+StnrOqH+9RwMI9GD3kSboQ=";
};
propagatedBuildInputs = [ pkgs.libkrb5 ];
buildInputs = [
@@ -14151,10 +14151,10 @@ with self;
FinanceQuote = buildPerlPackage rec {
pname = "Finance-Quote";
version = "1.64";
version = "1.65";
src = fetchurl {
url = "mirror://cpan/authors/id/B/BP/BPSCHUCK/Finance-Quote-${version}.tar.gz";
hash = "sha256-BYB8lEFakSzlbiJ4FRcTjv/OdoOaj4LtOLsxxAaOXBs=";
hash = "sha256-C3pJZaLJrW+nwDawloHHtEWyB1j6qYNnsmZZz2L+Axg=";
};
buildInputs = [
DateManip