Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2026-04-15 12:22:59 +00:00
committed by GitHub
39 changed files with 821 additions and 130 deletions
@@ -46,6 +46,8 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- [OpenThread Border Router](https://openthread.io/), a Thread border router for POSIX-based platforms that bridges Thread mesh networks to IP networks. Available as [services.openthread-border-router](#opt-services.openthread-border-router.enable).
- [Meshtastic](https://meshtastic.org), an open-source, off-grid, decentralised mesh network
designed to run on affordable, low-power devices. Available as [services.meshtasticd]
(#opt-services.meshtasticd.enable).
+1
View File
@@ -729,6 +729,7 @@
./services/home-automation/home-assistant.nix
./services/home-automation/homebridge.nix
./services/home-automation/matter-server.nix
./services/home-automation/openthread-border-router.nix
./services/home-automation/wyoming/faster-whisper.nix
./services/home-automation/wyoming/openwakeword.nix
./services/home-automation/wyoming/piper.nix
@@ -0,0 +1,348 @@
{
lib,
config,
pkgs,
utils,
...
}:
let
cfg = config.services.openthread-border-router;
logLevelMappings = {
"emerg" = 0;
"alert" = 1;
"crit" = 2;
"err" = 3;
"warning" = 4;
"notice" = 5;
"info" = 6;
"debug" = 7;
};
logLevel = lib.getAttr cfg.logLevel logLevelMappings;
# Use correct iptables for otbr-firewall (legacy vs nf-compat)
iptables =
let
inherit (config.networking) firewall;
in
if firewall.backend == "iptables" then firewall.package else pkgs.iptables;
in
{
meta.maintainers = with lib.maintainers; [
jamiemagee
leonm1
mrene
];
options.services.openthread-border-router = {
enable = lib.mkEnableOption "the OpenThread Border Router";
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to open the firewall for the REST API and web interface ports.";
};
package = lib.mkPackageOption pkgs "openthread-border-router" { };
backboneInterfaces = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "eth0" ];
description = "The network interfaces on which to advertise the thread ipv6 mesh prefix. Can be specified multiple times.";
};
interfaceName = lib.mkOption {
type = lib.types.str;
default = "wpan0";
description = "The network interface to create for thread packets.";
};
logLevel = lib.mkOption {
type = lib.types.enum (lib.attrNames logLevelMappings);
default = "err";
description = "The level to use when logging messages.";
};
rest = {
listenAddress = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = "The address on which to listen for REST API requests.";
example = "::";
};
listenPort = lib.mkOption {
type = lib.types.port;
default = 8081;
description = "The port on which to listen for REST API requests. Warning: the web interface relies on this value being set to 8081.";
};
};
web = {
enable = lib.mkEnableOption "the web interface";
listenAddress = lib.mkOption {
type = lib.types.str;
default = "127.0.0.1";
description = "The address on which the web interface should listen.";
example = "::";
};
listenPort = lib.mkOption {
type = lib.types.port;
default = 8082;
description = "The port on which the web interface should listen.";
};
};
radio = {
device = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = ''
The device name of the serial port of the radio device.
Ignored if {option}`services.openthread-border-router.radio.url` is set.
'';
};
baudRate = lib.mkOption {
type = lib.types.ints.positive;
default = 115200;
description = ''
The baud rate of the radio device.
Ignored if {option}`services.openthread-border-router.radio.url` is set.
'';
};
flowControl = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable hardware flow control.
Ignored if {option}`services.openthread-border-router.radio.url` is set.
'';
};
urlQueryString = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Extra URL query string parameters.
Ignored if {option}`services.openthread-border-router.radio.url` is set.
'';
example = "bus-latency=100&region=ca";
};
url = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "The URL of the radio device to use.";
example = "spinel+hdlc+uart:///dev/ttyUSB0?uart-baudrate=460800&uart-flow-control";
};
extraDevices = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra devices to add to the radio device.";
example = [ "trel://eth0" ];
};
};
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra arguments to pass to the otbr-agent daemon.";
example = [ "--radio-version" ];
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = cfg.radio.device != null || cfg.radio.url != null;
message = "services.openthread-border-router requires either radio.device or radio.url to be set.";
}
];
warnings = lib.optional (cfg.web.enable && cfg.rest.listenPort != 8081) ''
The openthread-border-router web interface is hardcoded to talk to the REST API on port 8081, but its
port has been changed to ${toString cfg.rest.listenPort}. Some features will be broken.
'';
services.openthread-border-router.radio.url = lib.mkIf (cfg.radio.device != null) (
lib.mkDefault (
"spinel+hdlc+uart://${cfg.radio.device}?"
+ lib.concatStringsSep "&" (
[ "uart-baudrate=${toString cfg.radio.baudRate}" ]
++ lib.optional cfg.radio.flowControl "uart-flow-control"
++ lib.optional (cfg.radio.urlQueryString != "") cfg.radio.urlQueryString
)
)
);
# ot-ctl can be used to query the router instance
environment.systemPackages = [ cfg.package ];
# Make sure we have ipv6 support, and that forwarding is enabled
networking.enableIPv6 = true;
networking.firewall.allowedTCPPorts =
lib.optional cfg.openFirewall cfg.rest.listenPort
++ lib.optional (cfg.openFirewall && cfg.web.enable) cfg.web.listenPort;
boot.kernel.sysctl = {
"net.ipv4.conf.all.forwarding" = 1;
"net.ipv6.conf.all.forwarding" = 1;
}
// lib.listToAttrs (
lib.concatMap (iface: [
{
name = "net.ipv6.conf.${iface}.accept_ra";
value = 2;
}
{
name = "net.ipv6.conf.${iface}.accept_ra_rt_info_max_plen";
value = 64;
}
]) cfg.backboneInterfaces
);
# OTBR uses avahi for mDNS service publishing
services.avahi = {
enable = lib.mkDefault true;
publish = {
enable = lib.mkDefault true;
userServices = lib.mkDefault true;
};
};
# The upstream service files (src/agent/otbr-agent.service.in, src/web/otbr-web.service.in) use
# EnvironmentFile and CMake-substituted platform scripts that don't translate to NixOS, so the
# services are rebuilt here from typed module options instead.
systemd.services = {
# The agent keeps its local state in /var/lib/thread
otbr-agent = {
description = "OpenThread Border Router Agent";
wantedBy = [ "multi-user.target" ];
requires = [ "network-online.target" ];
after = [ "network-online.target" ];
environment = {
THREAD_IF = cfg.interfaceName;
};
serviceConfig = {
ExecStartPre = "${utils.escapeSystemdExecArg (lib.getExe' cfg.package "otbr-firewall")} start";
ExecStart = lib.concatStringsSep " " (
lib.concatLists [
[
(lib.getExe' cfg.package "otbr-agent")
"--verbose"
]
(map (iface: "--backbone-ifname ${utils.escapeSystemdExecArg iface}") cfg.backboneInterfaces)
[
"--thread-ifname ${utils.escapeSystemdExecArg cfg.interfaceName}"
"--debug-level ${toString logLevel}"
]
(lib.optional (cfg.rest.listenPort != 0) "--rest-listen-port ${toString cfg.rest.listenPort}")
(lib.optional (
cfg.rest.listenAddress != ""
) "--rest-listen-address ${utils.escapeSystemdExecArg cfg.rest.listenAddress}")
(lib.optional (cfg.radio.url != null) (utils.escapeSystemdExecArg cfg.radio.url))
(map utils.escapeSystemdExecArg cfg.radio.extraDevices)
(map utils.escapeSystemdExecArg cfg.extraArgs)
]
);
ExecStopPost = "${utils.escapeSystemdExecArg (lib.getExe' cfg.package "otbr-firewall")} stop";
KillMode = "mixed";
Restart = "on-failure";
RestartSec = 5;
RestartPreventExitStatus = "SIGKILL";
# Hardening options (not present in upstream service definitions)
StateDirectory = "thread";
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
ProtectClock = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectProc = "invisible";
ProcSubset = "pid";
NoNewPrivileges = true;
LockPersonality = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_NETLINK"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
UMask = "0077";
CapabilityBoundingSet = [
"CAP_NET_ADMIN"
"CAP_NET_RAW"
];
};
path = [
pkgs.ipset
iptables
];
};
# Sync with: src/web/otbr-web.service.in
otbr-web = lib.mkIf cfg.web.enable {
description = "OpenThread Border Router Web Interface";
after = [ "otbr-agent.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = lib.concatStringsSep " " (
lib.concatLists [
[
(lib.getExe' cfg.package "otbr-web")
"-I"
(utils.escapeSystemdExecArg cfg.interfaceName)
"-d"
(toString logLevel)
]
(lib.optional (
cfg.web.listenAddress != ""
) "-a ${utils.escapeSystemdExecArg cfg.web.listenAddress}")
(lib.optional (cfg.web.listenPort != 0) "-p ${toString cfg.web.listenPort}")
]
);
# Hardening options (not present in upstream service definitions)
DynamicUser = true;
PrivateUsers = true;
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
ProtectClock = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectControlGroups = true;
ProtectProc = "invisible";
ProcSubset = "pid";
NoNewPrivileges = true;
LockPersonality = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
UMask = "0077";
CapabilityBoundingSet = "";
};
};
};
};
}
@@ -31,9 +31,11 @@ let
];
# FIXME: let's hope that upstream will fix this soon and we can drop this hack again.
# https://bugzilla.mozilla.org/show_bug.cgi?id=2006630
extraPostPatch = lib.optionalString (lib.versionAtLeast version "147") ''
find . -name .cargo-checksum.json | xargs sed 's/"[^"]*\.gitmodules":"[a-z0-9]*",//g' -i
'';
extraPostPatch =
lib.optionalString (lib.versionAtLeast version "147" && lib.versionOlder version "149")
''
find . -name .cargo-checksum.json | xargs sed 's/"[^"]*\.gitmodules":"[a-z0-9]*",//g' -i
'';
meta = {
changelog = "https://www.thunderbird.net/en-US/thunderbird/${version}/releasenotes/";
@@ -53,20 +55,26 @@ let
license = lib.licenses.mpl20;
};
}).override
{
geolocationSupport = false;
webrtcSupport = false;
(
{
geolocationSupport = false;
webrtcSupport = false;
pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
};
pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
}
// lib.optionalAttrs (lib.versionAtLeast version "149") {
# https://bugzilla.mozilla.org/show_bug.cgi?id=2025767
crashreporterSupport = false;
}
);
in
rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "148.0.1";
sha512 = "4f6e721b0858bece740f04744d10d8bb0b0673d2ebfe5624d3797e28e394510a8518dc31fc6a121ba7ed8a5a44953efefe3a74071e9f967c22be17cee45b3faf";
version = "149.0.2";
sha512 = "b458139d6345bef6d07b8169aee45daae6935c2d0f540c462b1d54113c8beb2c8f17a73ce077225160dee0d2a0891fa567b57a1e5d488704c5fe0aff264f1967";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
@@ -4,6 +4,7 @@
fetchFromGitHub,
cmake,
ninja,
pkg-config,
obs-studio,
onnxruntime,
opencv,
@@ -13,19 +14,21 @@
stdenv.mkDerivation rec {
pname = "obs-backgroundremoval";
version = "1.1.13";
version = "1.3.7";
src = fetchFromGitHub {
owner = "occ-ai";
repo = "obs-backgroundremoval";
rev = version;
hash = "sha256-QoC9/HkwOXMoFNvcOxQkGCLLAJmsja801LKCNT9O9T0=";
tag = version;
hash = "sha256-bl0KixfBnBeyidZ4+RJhX4TDy33l9awo0wISMr7XUwk=";
};
nativeBuildInputs = [
cmake
ninja
pkg-config
];
buildInputs = [
obs-studio
onnxruntime
@@ -37,26 +40,19 @@ stdenv.mkDerivation rec {
dontWrapQtApps = true;
cmakeFlags = [
"--preset linux-x86_64"
"-DCMAKE_MODULE_PATH:PATH=${src}/cmake"
"-DUSE_SYSTEM_ONNXRUNTIME=ON"
"-DUSE_SYSTEM_OPENCV=ON"
"-DDISABLE_ONNXRUNTIME_GPU=ON"
"-DENABLE_FRONTEND_API=OFF"
"-DENABLE_QT=OFF"
];
buildPhase = ''
cd ..
cmake --build build_x86_64 --parallel
'';
installPhase = ''
cmake --install build_x86_64 --prefix "$out"
'';
meta = {
description = "OBS plugin to replace the background in portrait images and video";
homepage = "https://github.com/royshil/obs-backgroundremoval";
maintainers = with lib.maintainers; [ zahrun ];
homepage = "https://github.com/occ-ai/obs-backgroundremoval";
maintainers = with lib.maintainers; [
randomizedcoder
zahrun
];
license = lib.licenses.mit;
inherit (obs-studio.meta) platforms;
};
@@ -0,0 +1,37 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e3c1ac7..e7884d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -223,17 +223,13 @@ endif()
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
add_custom_target(CreateOSXIcons
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset
- COMMAND sips -z 16 16 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_16x16.png
- COMMAND sips -z 32 32 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_16x16@2x.png
- COMMAND sips -z 32 32 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_32x32.png
- COMMAND sips -z 64 64 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_32x32@2x.png
- COMMAND sips -z 128 128 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_128x128.png
- COMMAND sips -z 256 256 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_128x128@2x.png
- COMMAND sips -z 256 256 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_256x256.png
- COMMAND sips -z 512 512 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_256x256@2x.png
- COMMAND sips -z 512 512 mm/macosx/2s2hIcon.png --out ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_512x512.png
- COMMAND cp mm/macosx/2s2hIcon.png ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_512x512@2x.png
- COMMAND iconutil -c icns -o ${CMAKE_BINARY_DIR}/macosx/2s2h.icns ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 16x16 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_16.png
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 32x32 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_32.png
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 64x64 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_64.png
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 128x128 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_128.png
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 256x256 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_256.png
+ COMMAND convert ${CMAKE_SOURCE_DIR}/mm/macosx/2s2hIcon.png -resize 512x512 ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_512.png
+ COMMAND png2icns ${CMAKE_BINARY_DIR}/macosx/2s2h.icns ${CMAKE_BINARY_DIR}/macosx/2s2h.iconset/icon_{16,32,64,128,256,512}.png
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Creating OSX icons ..."
)
@@ -250,7 +246,6 @@ install(DIRECTORY "${CMAKE_SOURCE_DIR}/mm/assets/xml/" DESTINATION ./assets/xml)
INSTALL(CODE "FILE(RENAME \${CMAKE_INSTALL_PREFIX}/../MacOS/2s2h-macos \${CMAKE_INSTALL_PREFIX}/../MacOS/2s2h)")
install(CODE "
include(BundleUtilities)
- fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/../MacOS/2s2h\" \"\" \"${dirs}\")
")
endif()
+80 -20
View File
@@ -31,6 +31,10 @@
opusfile,
sdl_gamecontrollerdb,
makeDesktopItem,
darwin,
glew,
libicns,
fixDarwinDylibNames,
}:
let
@@ -103,6 +107,13 @@ let
hash = "sha256-zhRFEmPYNFLqQCfvdAaG5VBNle9Qm8FepIIIrT9sh88=";
};
metalcpp = fetchFromGitHub {
owner = "briaguya-ai";
repo = "single-header-metal-cpp";
tag = "macOS13_iOS16";
hash = "sha256-CSYIpmq478bla2xoPL/cGYKIWAeiORxyFFZr0+ixd7I";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "2ship2harkinian";
@@ -125,37 +136,50 @@ stdenv.mkDerivation (finalAttrs: {
};
patches = [
./darwin-fixes.patch
# remove fetching stb as we will patch our own
./dont-fetch-stb.patch
];
nativeBuildInputs = [
cmake
copyDesktopItems
imagemagick
lsb-release
makeWrapper
ninja
pkg-config
python3
]
++ lib.optionals stdenv.hostPlatform.isLinux [
copyDesktopItems
lsb-release
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.sigtool
fixDarwinDylibNames
libicns
];
buildInputs = [
bzip2
libGL
libogg
(lib.getDev libopus)
libpng
libpulseaudio
libvorbis
libx11
libzip
nlohmann_json
(lib.getDev opusfile)
SDL2
spdlog
tinyxml-2
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libGL
libpulseaudio
libx11
zenity
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
glew
];
cmakeFlags = [
@@ -169,8 +193,14 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_THREADPOOL" "${thread_pool}")
(lib.cmakeFeature "OPUS_INCLUDE_DIR" "${lib.getDev libopus}/include/opus")
(lib.cmakeFeature "OPUSFILE_INCLUDE_DIR" "${lib.getDev opusfile}/include/opus")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_METALCPP" "${metalcpp}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_SPDLOG" "${spdlog}")
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-int-conversion -Wno-implicit-int -Wno-elaborated-enum-base";
strictDeps = true;
__structuredAttrs = true;
enableParallelBuilding = true;
@@ -209,24 +239,51 @@ stdenv.mkDerivation (finalAttrs: {
cp ../OTRExporter/2ship.o2r mm/
'';
postInstall = ''
mkdir -p $out/bin
ln -s $out/2s2h/2s2h.elf $out/bin/2s2h
install -Dm644 ../mm/linux/2s2hIcon.png $out/share/icons/hicolor/512x512/apps/2s2h.png
postInstall =
lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/bin
ln -s $out/2s2h/2s2h.elf $out/bin/2s2h
install -Dm644 ../mm/linux/2s2hIcon.png $out/share/icons/hicolor/512x512/apps/2s2h.png
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
# Recreate the macOS bundle (without using cpack)
# We mirror the structure of the bundle distributed by the project
install -Dm644 -t $out/share/licenses/2ship2harkinian ../LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/OTRExporter ../OTRExporter/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/ZAPDTR ../ZAPDTR/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/libgfxd ${libgfxd}/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/libultraship ../libultraship/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/thread_pool ${thread_pool}/LICENSE.txt
'';
mkdir -p $out/Applications/2s2h.app/Contents
cp $src/mm/macosx/Info.plist.in $out/Applications/2s2h.app/Contents/Info.plist
substituteInPlace $out/Applications/2s2h.app/Contents/Info.plist \
--replace-fail "@CMAKE_PROJECT_VERSION@" "${finalAttrs.version}"
postFixup = ''
mv $out/MacOS $out/Applications/2s2h.app/Contents/MacOS
# "2s2h" contains all resources that are in "Resources" in the official bundle.
# We move them to the right place and symlink them back to $out/2s2h,
# as that's where the game expects them.
mv $out/Resources $out/Applications/2s2h.app/Contents/Resources
mv $out/2s2h/* $out/Applications/2s2h.app/Contents/Resources
rm -rf $out/2s2h
ln -s $out/Applications/2s2h.app/Contents/Resources $out/2s2h
# Copy icons
cp -r ../build/macosx/2s2h.icns $out/Applications/2s2h.app/Contents/Resources/2s2h.icns
# Codesign (ad-hoc)
codesign -f -s - $out/Applications/2s2h.app/Contents/MacOS/2s2h
''
+ ''
install -Dm644 -t $out/share/licenses/2ship2harkinian ../LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/OTRExporter ../OTRExporter/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/ZAPDTR ../ZAPDTR/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/libgfxd ${libgfxd}/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/libultraship ../libultraship/LICENSE
install -Dm644 -t $out/share/licenses/2ship2harkinian/thread_pool ${thread_pool}/LICENSE.txt
'';
fixupPhase = lib.optionalString stdenv.hostPlatform.isLinux ''
wrapProgram $out/2s2h/2s2h.elf --prefix PATH ":" ${lib.makeBinPath [ zenity ]}
'';
desktopItems = [
desktopItems = lib.optionals stdenv.hostPlatform.isLinux [
(makeDesktopItem {
name = "2s2h";
icon = "2s2h";
@@ -242,8 +299,11 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/HarbourMasters/2ship2harkinian";
description = "PC port of Majora's Mask with modern controls, widescreen, high-resolution, and more";
mainProgram = "2s2h";
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ qubitnano ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [
qubitnano
matteopacini
];
license = with lib.licenses; [
# OTRExporter, ZAPDTR, libultraship, libgfxd, thread_pool
mit
+4
View File
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
hash = "sha256-cZ0P9cygj+5GgkDRpQk7P9z8zh087fpVfrYXMRRVUAI=";
};
cmakeFlags = [
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5")
];
nativeBuildInputs = [
pkg-config
cmake
+4 -4
View File
@@ -11,7 +11,7 @@
gbenchmark,
gtest,
protobuf,
glog,
abseil-cpp,
nlohmann_json,
zlib,
openssl,
@@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "buildbox";
version = "1.3.54";
version = "1.4.0";
src = fetchFromGitLab {
owner = "BuildGrid";
repo = "buildbox/buildbox";
tag = finalAttrs.version;
hash = "sha256-5IJHXgDeedh0FMxupokB0BRo0ZrchEo/Lba6ifeeFBg=";
hash = "sha256-yZux8uXjv9kQPGGL+y0p+1pURauFHhLpCAfjvOVMGmg=";
};
nativeBuildInputs = [
@@ -40,11 +40,11 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
abseil-cpp
bubblewrap
curl
fuse3
gbenchmark
glog
grpc
gtest
libuuid
+3 -3
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-nextest";
version = "0.9.132";
version = "0.9.133";
src = fetchFromGitHub {
owner = "nextest-rs";
repo = "nextest";
tag = "cargo-nextest-${finalAttrs.version}";
hash = "sha256-UikUhfVfBhP2HZxUFovY5Il9lqzFTITBWMSeRxRXWtk=";
hash = "sha256-D8n7wvO9/MCSmvTkT6rht5+Zx9mOA/g8pajAVDVKGg8=";
};
# FIXME: we don't support dtrace probe generation on macOS until we have a dtrace build: https://github.com/NixOS/nixpkgs/pull/392918
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
./no-dtrace-macos.patch
];
cargoHash = "sha256-mz6Gykzztf2OV/yifk0X0luSzv6BCVHqUCk0gWsxi2U=";
cargoHash = "sha256-oftwiuKIGaxr44RnkMUAu/uSs47Sh5DqqDKZWRXhAN4=";
cargoBuildFlags = [
"-p"
+2 -2
View File
@@ -10,14 +10,14 @@
python3Packages.buildPythonApplication (finalAttrs: {
pname = "evil-winrm-py";
version = "1.5.0";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "adityatelange";
repo = "evil-winrm-py";
tag = "v${finalAttrs.version}";
hash = "sha256-IACFPPlkgyJh78p6Jy740CQqcySkMTV/8VVPSRJKTPI=";
hash = "sha256-arfH7z7QGZPenyHLAubuG1VOJArUxI4wlQgV+iU7CvU=";
};
pythonRelaxDeps = true;
+1 -1
View File
@@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
hash = "sha256-F8FSgUhvG6iZK7cz4Mg2zZy4M7eSlCTnDy3H2S/+Xso=";
hash = "sha256-vCbvFeSKDujyUwvgYr974OXWU7jKUHOukffBDurS1ik=";
};
sourceRoot = ".";
+1 -1
View File
@@ -13,7 +13,7 @@ let
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage";
hash = "sha256-wBI3D+FUGmXDaSjBdbLVjIXjzldUz3wx3c3CiTKyuXE=";
hash = "sha256-SpX28ailaBpJ/ARyUVzzZ76Mf3GbTLvNpLiGHv17GQg=";
}
else
throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}";
+1 -1
View File
@@ -4,7 +4,7 @@
callPackage,
}:
let
version = "5.6.265";
version = "5.6.266";
pname = "gdevelop";
meta = {
description = "Graphical Game Development Studio";
+2 -2
View File
@@ -11,13 +11,13 @@
buildGoModule (finalAttrs: {
pname = "goshs";
version = "2.0.0-beta.5";
version = "2.0.1";
src = fetchFromGitHub {
owner = "patrickhener";
repo = "goshs";
tag = "v${finalAttrs.version}";
hash = "sha256-rbmHtVtHG8cdhFpVM5A8XlJbeB3Uh/OyUKqmYMPZeU8=";
hash = "sha256-Lh4jUz6dtbAwC9ErQrHe5FtxjHLL2gBRTSqLtj33GTc=";
};
vendorHash = "sha256-wn+t6xY4zUK6NE5kZSefHYGpMq5whFZ644ij5bDs50I=";
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "llmfit";
version = "0.9.1";
version = "0.9.8";
src = fetchFromGitHub {
owner = "AlexsJones";
repo = "llmfit";
tag = "v${finalAttrs.version}";
hash = "sha256-IOAY1aTt2wvwp7lNxaD4Svm1xwDGR03aZ7WvpXStrHc=";
hash = "sha256-hD/9Q/VChQZBVYH4c7rMdIoTsM11TgYO+OSDs2W7aKM=";
};
cargoHash = "sha256-74uFCzSkX9TxMJjz/37ASQoWfuzNK/iAAc5pPfJl5NI=";
cargoHash = "sha256-BrydHdtiMklC8OZ+FzDg88v+i2/plPyX9eTYprtqNnM=";
meta = {
description = "Find what runs on your hardware";
@@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "mfcl8690cdwcupswrapper";
version = "1.4.0-0";
version = "1.5.0-3";
src = fetchurl {
url = "http://download.brother.com/welcome/dlf103250/${pname}-${version}.i386.deb";
sha256 = "1bl9r8mmj4vnanwpfjqgq3c9lf2v46wp5k6r2n9iqprf7ldd1kb2";
url = "https://download.brother.com/welcome/dlf103250/mfcl8690cdwcupswrapper-${version}.i386.deb";
hash = "sha256-CREQRr4nhw1pD+8AfD5p/EHpx3R6vQIO8h6VtnHxXls=";
};
nativeBuildInputs = [
@@ -56,9 +56,11 @@ stdenv.mkDerivation rec {
meta = {
description = "Brother MFC-L8690CDW CUPS wrapper driver";
homepage = "http://www.brother.com/";
homepage = "https://www.brother.com/";
license = lib.licenses.unfree;
platforms = lib.platforms.linux;
maintainers = [ ];
maintainers = with lib.maintainers; [
nick-linux
];
};
}
+17 -11
View File
@@ -16,11 +16,11 @@
stdenv.mkDerivation rec {
pname = "mfcl8690cdwlpr";
version = "1.3.0-0";
version = "1.5.0-3";
src = fetchurl {
url = "http://download.brother.com/welcome/dlf103241/${pname}-${version}.i386.deb";
sha256 = "0x8zd4b1psmw1znp2ibncs37xm5mljcy9yza2rx8jm8lp0a3l85v";
url = "https://download.brother.com/welcome/dlf103241/mfcl8690cdwlpr-${version}.i386.deb";
hash = "sha256-CXYo6ISUr0hFiHRVRnXbJ/21dK/2NUrCt2bnzQuHOXI=";
};
nativeBuildInputs = [
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
];
dontUnpack = true;
dontPatchELF = true;
installPhase = ''
dpkg-deb -x $src $out
@@ -37,9 +38,9 @@ stdenv.mkDerivation rec {
filter=$dir/lpd/filter_mfcl8690cdw
substituteInPlace $filter \
--replace /usr/bin/perl ${perl}/bin/perl \
--replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir/\"; #" \
--replace "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #"
--replace-fail /usr/bin/perl ${perl}/bin/perl \
--replace-fail "BR_PRT_PATH =~" "BR_PRT_PATH = \"$dir/\"; #" \
--replace-fail "PRINTER =~" "PRINTER = \"mfcl8690cdw\"; #"
wrapProgram $filter \
--prefix PATH : ${
@@ -53,17 +54,22 @@ stdenv.mkDerivation rec {
]
}
# need to use i686 glibc here, these are 32bit proprietary binaries
interpreter=${pkgs.pkgsi686Linux.glibc}/lib/ld-linux.so.2
patchelf --set-interpreter "$interpreter" $dir/lpd/brmfcl8690cdwfilter
# Adding x86_64 binaries
for file in $dir/lpd/x86_64/brmfcl8690cdwfilter $dir/lpd/x86_64/brprintconf_mfcl8690cdw; do
patchelf --set-interpreter \
${pkgs.pkgsi686Linux.glibc}/lib/ld-linux.so.2 \
$file
done
'';
meta = {
description = "Brother MFC-L8690CDW LPR printer driver";
homepage = "http://www.brother.com/";
homepage = "https://www.brother.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = [ ];
maintainers = with lib.maintainers; [
nick-linux
];
platforms = [
"x86_64-linux"
"i686-linux"
+2 -2
View File
@@ -170,11 +170,11 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "146.0.3856.97";
version = "147.0.3912.60";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-qsWH4zvEOZQii+KntwjYQgwL/5YgRv9jGPmfr/A4vw8=";
hash = "sha256-fb7BkPuiP3KjLw4h6idyMiaMuesVLseTgblLnz6ZfTU=";
};
# With strictDeps on, some shebangs were not being patched correctly
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mold-unwrapped";
version = "2.40.4";
version = "2.41.0";
src = fetchFromGitHub {
owner = "rui314";
repo = "mold";
tag = "v${finalAttrs.version}";
hash = "sha256-BiPeZJvMlLIC0TbsqBD1JSt/RE4xZ5wSRYujPXKb+RY=";
hash = "sha256-N+dFJk4KJY8E0UBrAlKXpMSuiseF4KAtpFMUA/nbleQ=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -11,11 +11,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "msedgedriver";
version = "146.0.3856.97";
version = "147.0.3912.60";
src = fetchzip {
url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip";
hash = "sha256-RqXRR7p+wMkil1jbZPWpOXl3AJV0ggG47NWauUsSy8g=";
hash = "sha256-OvhvTMnY7ckM92wCrM+sfn1e5641rFgi54YZGZZeUh0=";
stripRoot = false;
};
+5 -3
View File
@@ -82,7 +82,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "mujoco";
version = "3.6.0";
version = "3.7.0";
# Bumping version? Make sure to look though the MuJoCo's commit
# history for bumped dependency pins!
@@ -90,10 +90,12 @@ stdenv.mkDerivation (finalAttrs: {
owner = "google-deepmind";
repo = "mujoco";
tag = finalAttrs.version;
hash = "sha256-Gxr8AH9grTjrMTHHOVseLuTC3rNuQEZRWhSvR4HgIc4=";
hash = "sha256-Ti5Pdr25fck5IdgumiuLIcrI403XawbTePMJY1Fg6/A=";
};
patches = [ ./mujoco-system-deps-dont-fetch.patch ];
patches = [
./mujoco-system-deps-dont-fetch.patch
];
nativeBuildInputs = [
cmake
@@ -0,0 +1,16 @@
diff --git a/script/otbr-firewall b/script/otbr-firewall
--- a/script/otbr-firewall
+++ b/script/otbr-firewall
@@ -38,12 +38,8 @@
# Description: This service sets up firewall for OTBR.
### END INIT INFO
-THREAD_IF="wpan0"
OTBR_FORWARD_INGRESS_CHAIN="OTBR_FORWARD_INGRESS"
-. /lib/lsb/init-functions
-. /lib/init/vars.sh
-
set -euxo pipefail
ipset_destroy_if_exist()
@@ -0,0 +1,122 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
systemdLibs,
avahi,
dbus,
protobuf,
jsoncpp,
boost,
libnetfilter_queue,
libnfnetlink,
nodejs,
bashNonInteractive,
buildNpmPackage,
}:
let
pname = "ot-br-posix";
version = "0-unstable-2025-06-12";
src = fetchFromGitHub {
owner = "openthread";
repo = "ot-br-posix";
rev = "thread-reference-20250612";
hash = "sha256-lPMMLtbPu9NpDcBCZE6XID7u1maCAhkZiSDEyFq7yvg=";
fetchSubmodules = true;
};
frontendModules = buildNpmPackage {
pname = "${pname}-frontend";
inherit version;
src = "${src}/src/web/web-service/frontend";
npmDepsHash = "sha256-7UVfPICyIbHEClpr3p7eDR46OUzS8mVf6P7phnDpVLk=";
dontNpmBuild = true;
};
in
stdenv.mkDerivation {
inherit pname version src;
strictDeps = true;
__structuredAttrs = true;
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
env.NIX_CFLAGS_COMPILE = "-O";
patches = [
# Patch the firewall script so we can run it within the systemd start script
./firewall-script.patch
];
nativeBuildInputs = [
pkg-config
cmake
nodejs
];
# Adding npmConfigHook and manually passing fetchNpmDeps was resulting in ENOTCACHED errors
postConfigure = ''
ln -sf ${frontendModules}/lib/node_modules/otbr-web/node_modules ./src/web/web-service/frontend/
'';
buildInputs = [
avahi # TODO: upstream deprecated OTBR_MDNS=avahi after this release (https://github.com/openthread/ot-br-posix/pull/3240)
systemdLibs
protobuf
jsoncpp
boost
libnetfilter_queue
libnfnetlink
dbus
(lib.getBin bashNonInteractive)
];
postInstall = ''
mkdir -p $out/bin
cp ../script/otbr-firewall $out/bin/
chmod +x $out/bin/otbr-firewall
'';
cmakeFlags = [
(lib.cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5")
(lib.cmakeBool "BUILD_TESTING" false)
(lib.cmakeBool "INSTALL_SYSTEMD_UNIT" false)
(lib.cmakeBool "Boost_USE_STATIC_LIBS" false)
(lib.cmakeBool "OTBR_REST" true)
(lib.cmakeBool "OTBR_WEB" true)
(lib.cmakeBool "OTBR_NAT64" true)
(lib.cmakeBool "OTBR_BACKBONE_ROUTER" true)
(lib.cmakeBool "OTBR_BORDER_ROUTING" true)
(lib.cmakeBool "OTBR_DBUS" true)
(lib.cmakeBool "OTBR_TREL" true)
(lib.cmakeFeature "OTBR_VERSION" version)
(lib.cmakeBool "OTBR_DNSSD_DISCOVERY_PROXY" true)
(lib.cmakeBool "OTBR_SRP_ADVERTISING_PROXY" true)
(lib.cmakeBool "OTBR_DUA_ROUTING" true)
(lib.cmakeBool "OTBR_DNS_UPSTREAM_QUERY" true)
(lib.cmakeBool "OT_CHANNEL_MANAGER" true)
(lib.cmakeBool "OT_CHANNEL_MONITOR" true)
# Required by protobuf
(lib.cmakeFeature "CMAKE_CXX_STANDARD" "17")
];
meta = {
description = "Thread border router for POSIX-based platforms";
homepage = "https://github.com/openthread/ot-br-posix";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
jamiemagee
leonm1
mrene
];
mainProgram = "ot-ctl";
platforms = lib.platforms.linux;
};
}
+2 -2
View File
@@ -7,11 +7,11 @@
}:
let
pname = "qidi-studio";
version = "2.05.01.52";
version = "2.05.01.53";
src = fetchurl {
url = "https://github.com/QIDITECH/QIDIStudio/releases/download/v${version}/QIDIStudio_v0${version}_Ubuntu24.AppImage";
hash = "sha256-bjQsLWuBcA9rWwX8UICgh0SKJ3zQe1oZWcqf7buoe6E=";
hash = "sha256-d43u7tUEX8QB3vHQZzMylW4t4/TrFkQJB+Kapsew/CU=";
};
appimageContents = appimageTools.extract {
+40
View File
@@ -0,0 +1,40 @@
{
cups,
fetchurl,
lib,
pkg-config,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rollo-printer";
version = "1.8.4";
src = fetchurl {
url = "https://rollo-main.b-cdn.net/driver-dl/linux/rollo-cups-driver-${finalAttrs.version}.tar.gz";
hash = "sha256-v61/5HY25cvhVbHF+dXOOGrDfZZzvvicJEy7MKTAG10=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cups ];
# configure unconditionally derives CUPS_DATADIR/CUPS_SERVERBIN from
# pkg-config, which points into the cups store path; override at make time
# so the filter and PPD are installed into $out instead.
makeFlags = [
"CUPS_DATADIR=${placeholder "out"}/share/cups"
"CUPS_SERVERBIN=${placeholder "out"}/lib/cups"
];
strictDeps = true;
__structuredAttrs = true;
meta = {
description = "CUPS driver for Rollo label printers";
homepage = "https://www.rollo.com/driver-linux/";
license = with lib.licenses; gpl3Plus;
maintainers = with lib.maintainers; [ shymega ];
platforms = cups.meta.platforms;
broken = stdenv.hostPlatform.isDarwin;
};
})
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rumdl";
version = "0.1.67";
version = "0.1.72";
src = fetchFromGitHub {
owner = "rvben";
repo = "rumdl";
tag = "v${finalAttrs.version}";
hash = "sha256-+oCgwNGLmntYLbXY1kYQMIQI4IdWOkNS7MBWWIY0I3o=";
hash = "sha256-/dMGfXNh/294fA4q/zn2fOAou3HC+BoTOYvQ18oYvI0=";
};
cargoHash = "sha256-zIppcngdW7eKXuqA0BD4B7Qpt1EVL22IZHEXyuF6xIY=";
cargoHash = "sha256-ZfvH4KS2UXvhkfkY6pReXBPiZ3enRqLu32ScG6VZZfM=";
cargoBuildFlags = [
"--bin=rumdl"
+3 -3
View File
@@ -29,16 +29,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sniffnet";
version = "1.4.2";
version = "1.5.0";
src = fetchFromGitHub {
owner = "gyulyvgc";
repo = "sniffnet";
tag = "v${finalAttrs.version}";
hash = "sha256-LqEEh+YqFJkseLdFRfCTIK7Q3Xs0M1u+vVcxpNJntCA=";
hash = "sha256-ifXccpoyz+NnZDjbRXlVZXfd2TLvOhGVB504hDyIjnE=";
};
cargoHash = "sha256-iSQZxZTuSCNIB/725TO9UcvzKyA49DARoYcZh87y1Xs=";
cargoHash = "sha256-Tw32dOzFkO/cOlLdTfHeybhmbidgsnfYMIeHhfrrtVc=";
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "tbls";
version = "1.94.2";
version = "1.94.4";
src = fetchFromGitHub {
owner = "k1LoW";
repo = "tbls";
tag = "v${finalAttrs.version}";
hash = "sha256-jsMNPtcdrfKO3O2sy+pyFVU4H/HLWVmI3OS43Q6j7AE=";
hash = "sha256-IcJVEVyO8cq9UHWq+b+1YuMgkwJRI430UekiLKeKjYo=";
};
vendorHash = "sha256-ShhztdAKbEhooIGgxHig7RptDLCSG64G9ajmXr9hmL8=";
vendorHash = "sha256-NhssCwXaeBUS+LLU/CTG/+Y5hOih9aOVCMYIXrxbU4M=";
excludedPackages = [ "scripts/jsonschema" ];
+3 -3
View File
@@ -10,20 +10,20 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "wayscriber";
version = "0.9.13";
version = "0.9.16";
src = fetchFromGitHub {
owner = "devmobasa";
repo = "wayscriber";
tag = "v${finalAttrs.version}";
hash = "sha256-5e+Qqy8SwRz3qOqcgwZtoVQ7j+nYski0Q8yj1PtDn14=";
hash = "sha256-gfWvepANARgXXdpTRdAr9zZNfAxwi9icEbvP3AMFsUI=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
pango
libxkbcommon
];
cargoHash = "sha256-YRNUZ82U8MTx1GFRT4mLvWcFatrbSsIkHp2NKtw6RbA=";
cargoHash = "sha256-SqTWkbuW2Dy/e5oCr7G7m/T5/kLpf+ZPKxXKPDeRX9U=";
passthru.updateScript = nix-update-script { };
meta = {
+5 -2
View File
@@ -57,7 +57,10 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xorg-server";
version = "21.1.21";
# `xvfb` inherits `version` and `src` from here, leading to many rebuilds. If
# necessary, these can be moved out of lockstep in order to merge updates
# quickly.
version = "21.1.22";
outputs = [
"out"
@@ -66,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "mirror://xorg/individual/xserver/xorg-server-${finalAttrs.version}.tar.xz";
hash = "sha256-wMvlVFs/ZFuuYCS4MNHRFUqVY1BoOk5Ssv/1sPoatRk=";
hash = "sha256-GiQsiRfEm6KczB9gIWE9iiuYBd0NJxpmrp0J9LC7BrM=";
};
patches = lib.optionals stdenv.hostPlatform.isDarwin [
+8 -1
View File
@@ -7,6 +7,7 @@
ninja,
pkg-config,
xorg-server,
fetchurl,
dri-pkgconfig-stub,
libdrm,
libGL,
@@ -37,7 +38,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xvfb";
inherit (xorg-server) src version;
#FIXME: go back to xorg-server version on nixpkgs staging
#inherit (xorg-server) src version;
version = "21.1.21";
src = fetchurl {
url = "mirror://xorg/individual/xserver/xorg-server-${finalAttrs.version}.tar.xz";
hash = "sha256-wMvlVFs/ZFuuYCS4MNHRFUqVY1BoOk5Ssv/1sPoatRk=";
};
strictDeps = true;
+3 -3
View File
@@ -41,7 +41,7 @@
ninja,
pcre2,
pkg-config,
plasma5Packages,
kdePackages,
python3,
rtaudio_6,
rtmidi,
@@ -200,8 +200,8 @@ stdenv.mkDerivation (finalAttrs: {
preFixup = ''
gappsWrapperArgs+=(
--prefix GSETTINGS_SCHEMA_DIR : "$out/share/gsettings-schemas/${finalAttrs.pname}-${finalAttrs.version}/glib-2.0/schemas/"
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${plasma5Packages.breeze-icons}/share"
--prefix GSETTINGS_SCHEMA_DIR : "$out/share/gsettings-schemas/zrythm-${finalAttrs.version}/glib-2.0/schemas/"
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${kdePackages.breeze-icons}/share"
)
'';
+10 -15
View File
@@ -16,29 +16,24 @@
inherit version;
defaultVersion =
let
case = coq: mc: out: {
cases = [
coq
mc
];
inherit out;
};
case = case: out: { inherit case out; };
in
with lib.versions;
lib.switch
[ coq.coq-version mathcomp.version ]
[
(case (range "8.20" "9.1") (range "2.2" "2.4") "2025.06.1")
(case (range "8.19" "9.1") (range "2.2" "2.4") "2025.02.1")
(case (isEq "8.18") (isEq "2.2") "2024.07.2")
]
null;
lib.switch coq.coq-version [
(case (range "8.20" "9.1") "2026.03.1")
(case (isEq "8.19") "2025.02.2")
(case (isEq "8.18") "2024.07.4")
] null;
releaseRev = v: "v${v}";
release."2026.03.1".hash = "sha256-CE+WbcG0lgKvaV/OSMlTp3fG+v82X41z/w7ynsM/LLg=";
release."2026.03.0".hash = "sha256-MzdVbZhXlb9JFLsf+23yJNFiGJDBJZGbX6Ox3/U1EzA=";
release."2025.06.1".sha256 = "sha256-wEL1tN0HUa1Eb7FiQOBA6sAkuonrAMdkqq8gu9/CED0=";
release."2025.06.0".sha256 = "sha256-XfTg7ofamzMWqmRIU1/MO+S/ieNjvNEhlgIqFrchdAQ=";
release."2025.02.2".hash = "sha256-ks0eWqKv7bqgHgMowqTFjKzuT9kMYl2Ozj2s1DaSdEo=";
release."2025.02.1".sha256 = "sha256-8P2GdplB12Q0e0XdL77w3nQL1/6Xl/gQNhGTB0WX/8I=";
release."2025.02.0".sha256 = "sha256-Jlf0+VPuYWXdWyKHKHSp7h/HuCCp4VkcrgDAmh7pi5s=";
release."2024.07.4".hash = "sha256-eA9xX8jhmt8HJAetBj1lrIOYn5edOjO8iHr8uvm9+lE=";
release."2024.07.3".sha256 = "sha256-n/X8d7ILuZ07l24Ij8TxbQzAG7E8kldWFcUI65W4r+c=";
release."2024.07.2".sha256 = "sha256-aF8SYY5jRxQ6iEr7t6mRN3BEmIDhJ53PGhuZiJGB+i8=";
@@ -0,0 +1,40 @@
{
buildDunePackage,
fetchurl,
lib,
menhir,
ounit2,
ppxlib,
re,
}:
buildDunePackage (finalAttrs: {
pname = "ppx_mikmatch";
version = "1.3";
src = fetchurl {
name = "ppx_mikmatch-${finalAttrs.version}.tar.gz";
url = "https://codeload.github.com/ahrefs/ppx_mikmatch/tar.gz/refs/tags/${finalAttrs.version}";
hash = "sha256-i97gSyutefbJbDZv/yjaeHfV1CU6j3RSaQ1oPjiz8hg=";
};
minimalOCamlVersion = "5.3";
nativeBuildInputs = [ menhir ];
propagatedBuildInputs = [
ppxlib
re
];
checkInputs = [ ounit2 ];
doCheck = true;
meta = {
description = "Matching Regular Expressions with OCaml Patterns using Mikmatch's syntax";
homepage = "https://github.com/ahrefs/ppx_mikmatch";
license = lib.licenses.lgpl3Plus;
maintainers = [
lib.maintainers.vog
lib.maintainers.zazedd
];
};
})
@@ -29,14 +29,14 @@
buildPythonPackage (finalAttrs: {
pname = "dm-control";
version = "1.0.38";
version = "1.0.39";
pyproject = true;
src = fetchFromGitHub {
owner = "google-deepmind";
repo = "dm_control";
tag = finalAttrs.version;
hash = "sha256-3Bo4XOR3iEf9H0RgMq/62CyKHua9nPU8gpYgze1GMno=";
hash = "sha256-N5/zFIJIj0T0TxATeExbcSuAy/kNotY5odSiJuehZ7Y=";
};
build-system = [
@@ -38,7 +38,7 @@ buildPythonPackage (finalAttrs: {
# in the project's CI.
src = fetchPypi {
inherit (finalAttrs) pname version;
hash = "sha256-FcifQj4zvOCGCtcGF2O3IyNCbWNI17Lkbr3MN7EeCQU=";
hash = "sha256-0yXFRIcCqRnbWz0AUP/wr4bUfaFG1ZZ4cishEve1UIQ=";
};
nativeBuildInputs = [ cmake ];
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "symbolic";
version = "12.17.3";
version = "12.18.0";
pyproject = true;
src = fetchFromGitHub {
@@ -23,12 +23,12 @@ buildPythonPackage rec {
tag = version;
# the `py` directory is not included in the tarball, so we fetch the source via git instead
forceFetchGit = true;
hash = "sha256-DNzu33JQuTA60uGD5iG9UkHUO/ljQbpcSUkmVk4vrbU=";
hash = "sha256-BPGT+Hb47LN7X6Qx31foqQUMLd8UW5wKVg5xzkQERh8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-EPCMTeA5Cm86bT/k+cEFngJstmDO6ffVUemW5pOV1Fo=";
hash = "sha256-6u6j0AQTyR7lU5kWAHTfa0B0cY0EhTBDG9L7vq62UCw=";
};
nativeBuildInputs = [
+2
View File
@@ -1816,6 +1816,8 @@ let
ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { };
ppx_mikmatch = callPackage ../development/ocaml-modules/ppx_mikmatch { };
ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { };
ppx_repr = callPackage ../development/ocaml-modules/repr/ppx.nix { };