Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900
2025-11-16 15:57:28 +03:00
352 changed files with 6491 additions and 21297 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ The manpages must have a section suffix, and may optionally be compressed (with
{
nativeBuildInputs = [ installShellFiles ];
# Sometimes the manpage file has an undersirable name; e.g., it conflicts with
# Sometimes the manpage file has an undesirable name; e.g., it conflicts with
# another software with an equal name. To install it with a different name,
# the installed name must be provided before the path to the file.
#
-6
View File
@@ -2088,12 +2088,6 @@
githubId = 8049011;
name = "Arik Grahl";
};
aristid = {
email = "aristidb@gmail.com";
github = "aristidb";
githubId = 30712;
name = "Aristid Breitkreuz";
};
ariutta = {
email = "anders.riutta@gmail.com";
github = "ariutta";
+55 -12
View File
@@ -1,16 +1,59 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bundler bundix
#!nix-shell -i bash -p bundler bundix nixfmt
# shellcheck shell=bash
set -euf -o pipefail
(
cd pkgs/development/ruby-modules/with-packages
rm -f gemset.nix Gemfile.lock
# Since bundler 2+, the lock command generates a platform-dependent
# Gemfile.lock, hence causing to bundix to generate a gemset tied to the
# platform from where it was executed.
BUNDLE_FORCE_RUBY_PLATFORM=1 bundle lock
bundix
mv gemset.nix ../../../top-level/ruby-packages.nix
rm -f Gemfile.lock
)
self="$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")"
getSpecifiedGems() {
grep '^\s*gem' "$1" | cut -d"'" -f2
}
cd pkgs/development/ruby-modules/with-packages
# Cleanup possible leftovers from a failed run.
rm -f gemset.nix Gemfile.lock
# Since bundler 2+, the lock command generates a platform-dependent
# Gemfile.lock, hence causing to bundix to generate a gemset tied to the
# platform from where it was executed.
BUNDLE_FORCE_RUBY_PLATFORM=1 bundle lock
bundix
nixfmt gemset.nix
# Run checks against the update.
if ! \
nix-instantiate --eval --strict \
--argstr specifiedGems "$(getSpecifiedGems Gemfile)"\
--arg old ../../../top-level/ruby-packages.nix \
--arg new ./gemset.nix \
"$self/update-ruby-packages.checks.nix"
then
(
echo ""
echo "NOTE: The Gemfile.lock and gemset.nix files were left intact for comparison."
echo ""
echo "Do not simply continue through with the update."
echo "Make sure to get the Ruby maintainers involved in finding a solution to this problem."
echo ""
echo "The non-specified gems listed are generally not at fault."
echo "Regressions likely come from specified gems getting updated and having clashing requirements."
echo ""
echo "Start by pessimistically pinning (~>) specified gems to their current full version that look like they could be the cause."
echo "Then once only non-specified gems are regressed, pessimistically pin the leftover ones."
echo "Once this passes with pessimistic pinning of gems, try reducing specificity in pessimistic bounds, then try using minimum version bounds (>=)."
echo "At some point bundler will tell you why it can't give you the bounds being asked for."
echo ""
echo "Don't forget to re-generate the ruby-packages.nix nix from scratch for the proper report once the minimum required set of pins is known!"
echo ""
) >&2
exit 1
fi
{
echo "# This file is generated and should be updated with maintainers/scripts/update-ruby-packages."
echo ""
cat gemset.nix
} > ../../../top-level/ruby-packages.nix
rm -v -f gemset.nix Gemfile.lock
@@ -0,0 +1,210 @@
{
old,
new,
specifiedGems,
withData ? false,
# Use for `lib`.
pkgs ? import ../.. { },
}:
# Rename inputs to re-use those names.
let
old' = old;
new' = new;
specifiedGems' = specifiedGems;
in
let
inherit (builtins)
attrNames
concatStrings
filter
genList
isNull
length
stringLength
toJSON
;
inherit (pkgs.lib)
concatMapStringsSep
concatStringsSep
intersectLists
splitString
subtractLists
versionOlder
;
# Keeps non-nulls in a list.
# Mirroring Ruby's `Array#compact`.
compact = filter (v: !(isNull v));
# The full gemsets attribute sets.
old = import old';
new = import new';
# All gem names.
allGems = attrNames (old // new);
# Gems found in both old and new.
keptGems = intersectLists (attrNames old) (attrNames new);
# Gems added or removed.
addedOrRemovedGems = subtractLists keptGems allGems;
# Gems specified in Gemfile.
specifiedGems = splitString "\n" specifiedGems';
# Gems that were not specified.
nonSpecifiedGems = subtractLists specifiedGems keptGems;
# Generates data for the summary tables
# This is also used for `failedChecks`.
versionChangeDataFor =
gems:
let
results = map (
name:
let
oldv = old.${name}.version or null;
newv = new.${name}.version or null;
in
if newv == oldv then
# Nothing changed. This will be filtered out.
null
else
{
inherit
name
;
old = oldv;
new = newv;
}
) gems;
in
compact results;
checkRegression =
entry: message:
let
isRemoval = isNull entry.new;
isAddition = isNull entry.old;
isRegression = versionOlder entry.new entry.old;
in
if
# Gems being added or gems being removed won't cause failures.
!isRemoval
&& !isAddition
# A version being regressed is a failure.
&& isRegression
then
message
else
null;
# This is a list of error messages to float up to the user.
# An empty list means no error.
failedChecks = compact (
[ ]
++ (map (
entry:
checkRegression entry "Version regression for specified gem ${toJSON entry.name}, from ${toJSON entry.old} to ${toJSON entry.new}"
) (versionChangeDataFor specifiedGems))
++ (map (
entry:
checkRegression entry "Version regression for non-specified gem ${toJSON entry.name}, from ${toJSON entry.old} to ${toJSON entry.new}"
) (versionChangeDataFor nonSpecifiedGems))
);
# Formats a version number (or null) as markdown.
gemVersionToMD = version: if isNull version then "*N/A*" else "`${version}`";
# Formats a `versionChangeDataFor` output as markdown.
versionChangeDataMD =
gems:
let
result = versionChangeDataFor gems;
in
map (
row:
[ row.name ]
++ (map gemVersionToMD [
row.old
row.new
])
) result;
# Given a list of columns, and a list of list of column data,
# generates the markup for markdown table.
mkTable =
columns: entries:
let
entryToMarkdown = columns: "| ${concatStringsSep " | " columns} |";
sep = entryToMarkdown (map (_: "---") columns);
in
if length entries == 0 then
"> *No data...*"
else
''
${entryToMarkdown columns}
${sep}
${concatMapStringsSep "\n" entryToMarkdown entries}
'';
# The markdown report is built as this string.
report = ''
<!--
----------------------------------------------
NOTE: You must copy this whole report section
to your pull request!
----------------------------------------------
-->
#### Nixpkgs Ruby packages update report
**Specified gems changed:**
${mkTable [ "Name" "old" "new" ] (versionChangeDataMD specifiedGems)}
**Gems added or removed:**
${mkTable [ "Name" "old" "new" ] (versionChangeDataMD addedOrRemovedGems)}
<details>
<summary><strong>(Non-specified gem changes)</strong></summary>
${mkTable [ "Name" "old" "new" ] (versionChangeDataMD nonSpecifiedGems)}
</details>
<!-- --------------- End ----------------- -->
'';
in
if (length failedChecks) > 0 then
# Fail the update script via `abort` on checks failure.
builtins.abort ''
${"\n"}Gem upgrade aborted with the following failures:
${concatMapStringsSep "\n" (msg: " - ${msg}") failedChecks}
''
else
# Output the report.
builtins.trace "(Report follows...)\n\n${report}" (
# And if `withData` is true, expose the data for REPL usage.
if withData then
{
inherit
# The gemsets used
old
new
# The lists of gems
allGems
specifiedGems
nonSpecifiedGems
addedOrRemovedGems
keptGems
;
}
else
null
)
@@ -21,6 +21,7 @@ in
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.packages = [ cfg.package ];
systemd.user.services.orca.wantedBy = [ "graphical-session.target" ];
services.speechd.enable = true;
};
}
@@ -207,9 +207,7 @@ in
# Global environment
environment.systemPackages =
(with pkgs.pantheon; [
elementary-bluetooth-daemon
elementary-session-settings
elementary-settings-daemon
gala
gnome-settings-daemon
(switchboard-with-plugs.override {
@@ -226,7 +224,6 @@ in
gnome-menus
adwaita-icon-theme
gtk3.out # for gtk-launch program
onboard
sound-theme-freedesktop
xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
])
@@ -243,8 +240,10 @@ in
elementary-shortcut-overlay
# Services
elementary-bluetooth-daemon
elementary-capnet-assist
elementary-notifications
elementary-settings-daemon
pantheon-agent-geoclue2
pantheon-agent-polkit
])
@@ -259,14 +258,16 @@ in
xdg.icons.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-gtk
]
++ (with pkgs.pantheon; [
elementary-files
elementary-settings-daemon
xdg-desktop-portal-pantheon
]);
xdg.portal.extraPortals = utils.removePackagesByName (
[
pkgs.xdg-desktop-portal-gtk
]
++ (with pkgs.pantheon; [
elementary-files
elementary-settings-daemon
xdg-desktop-portal-pantheon
])
) config.environment.pantheon.excludePackages;
xdg.portal.configPackages = mkDefault [ pkgs.pantheon.elementary-default-settings ];
+7 -20
View File
@@ -7,10 +7,6 @@
let
cfg = config.services.onlyoffice;
defaultNginxNonceFileContent = "set $secure_link_secret \"mynonce\";";
defaultNginxNonceFile = pkgs.writeText "onlyoffice-nonce-nginx.conf" ''
${defaultNginxNonceFileContent}
'';
in
{
options.services.onlyoffice = {
@@ -26,17 +22,14 @@ in
securityNonceFile = lib.mkOption {
type = lib.types.str;
default = "${defaultNginxNonceFile}";
defaultText = lib.literalExpression ''
(pkgs.writeText "onlyoffice-nonce-nginx.conf" \'\'
${defaultNginxNonceFileContent}
\'\').outPath;
'';
example = "/run/keys/onlyoffice-nginx-nonce.conf";
description = ''
Path to a file that contains a secret to sign web requests.
This file should set a 'secure_link_secret' nginx variable,
and ideally be managed by a
[secret managing scheme](https://wiki.nixos.org/wiki/Comparison_of_secret_managing_schemes).
File holding nginx configuration that sets the nonce used to create secret links.
Example:
```
set $secure_link_secret "changeme";
```
'';
};
@@ -103,12 +96,6 @@ in
};
config = lib.mkIf cfg.enable {
warnings = [
(lib.optionalString (cfg.securityNonceFile == "${defaultNginxNonceFile}") ''
Please set `options.services.onlyoffice.securityNonceFile`
to avoid an (albeit unlikely) information disclosure issue.
'')
];
services = {
nginx = {
enable = lib.mkDefault true;
-1
View File
@@ -10,7 +10,6 @@ in
name = "containers-bridge";
meta = {
maintainers = with lib.maintainers; [
aristid
aszlig
];
};
-1
View File
@@ -3,7 +3,6 @@
name = "containers-imperative";
meta = {
maintainers = with lib.maintainers; [
aristid
aszlig
];
};
-1
View File
@@ -17,7 +17,6 @@ in
name = "containers-ipv4-ipv6";
meta = {
maintainers = with lib.maintainers; [
aristid
aszlig
];
};
-1
View File
@@ -10,7 +10,6 @@ in
name = "containers-portforward";
meta = {
maintainers = with lib.maintainers; [
aristid
aszlig
ianwookim
];
+35 -4
View File
@@ -36,27 +36,58 @@ in
let
user = nodes.machine.users.users.alice;
in
# python
''
from test_driver.errors import RequestedAssertionFailed
start_all()
machine.wait_until_tty_matches("1", "password:")
# old ly versions before 1.1.2 used to allow typing the username
# but now a user can only be selected from a set of users
def navigate_user(machine, username, wm, tty="1"):
wm = wm.lower()
tries = 0
while username not in machine.get_tty_text(tty):
machine.send_key("left")
machine.sleep(0.3)
if tries > 3:
RequestedAssertionFailed(f"Failed to find user:{username} in ly")
tries += 1
# move cursor to wm selection
machine.send_key("up")
tries = 0
while wm not in machine.get_tty_text(tty).lower():
machine.send_key("left")
machine.sleep(0.3)
if tries > 3:
RequestedAssertionFailed(f"Failed to find wm:{wm} in ly")
tries += 1
# reset cursor to user selection
machine.send_key("tab")
# https://github.com/NixOS/nixpkgs/pull/455191#discussion_r2507716719
machine.wait_until_succeeds("getfacl /dev/dri/card0 | grep video")
machine.wait_until_tty_matches("1", "password")
machine.send_key("ctrl-alt-f1")
machine.sleep(1)
machine.screenshot("ly")
machine.send_chars("alice")
navigate_user(machine, "${user.name}", "icewm")
machine.send_key("tab")
machine.send_chars("${user.password}")
machine.send_key("ret")
machine.wait_for_file("/run/user/${toString user.uid}/lyxauth")
machine.succeed("xauth merge /run/user/${toString user.uid}/lyxauth")
machine.wait_for_window("^IceWM ")
machine.sleep(2)
machine.screenshot("icewm")
machineNoX11.wait_until_tty_matches("1", "password:")
machineNoX11.wait_until_tty_matches("1", "password")
machineNoX11.send_key("ctrl-alt-f1")
machineNoX11.sleep(1)
machineNoX11.screenshot("ly-no-x11")
machineNoX11.send_chars("alice")
navigate_user(machineNoX11, "${user.name}", "Sway")
machineNoX11.send_key("tab")
machineNoX11.send_chars("${user.password}")
machineNoX11.send_key("ret")
+3 -23
View File
@@ -6,7 +6,7 @@
};
nodes.machine =
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [ ./common/x11.nix ];
@@ -80,37 +80,17 @@
machine.wait_for_x()
with subtest("starting shadps4 works"):
machine.succeed("shadps4 >&2 &")
machine.wait_for_text("Directory to install games")
machine.screenshot("0001-shadps4-dir-setup-prompt")
machine.send_chars("/root\n")
machine.wait_for_text("Game List")
# Make it fullscreen, so mouse coords are simpler & content isn't cut off
machine.send_key("alt-f10")
# Should now see the rest too
machine.wait_for_text("Play Time")
machine.screenshot("0002-shadps4-started")
with subtest("running example works"):
# Ensure that chosen openorbis logo colour isn't present already
assert (
check_for_color(openorbisColor)(True) == False
), "openorbisColor {} was present on the screen before we launched anything!".format(openorbisColor)
machine.succeed("xdotool mousemove 20 30 click 1") # click on "File"
machine.wait_for_text("Boot Game")
machine.send_key("down")
machine.send_key("ret")
# Pick the PNG sample (hello world runs too, but text-only output is currently broken)
machine.wait_for_text("Look in")
machine.send_chars("/etc/openorbis-sample-packages/OpenOrbis-PNG-Sample/uroot/eboot.bin\n")
machine.succeed("shadps4 /etc/openorbis-sample-packages/OpenOrbis-PNG-Sample/uroot/eboot.bin >&2 &")
# Look for logo
with machine.nested("Waiting for the screen to have openorbisColor {} on it:".format(openorbisColor)):
retry(check_for_color(openorbisColor))
machine.screenshot("0003-shadps4-sample-running")
machine.screenshot("0001-shadps4-sample-running")
'';
}
-4
View File
@@ -210,9 +210,6 @@ let
output = json.loads(client.succeed(f"bw --nointeraction --raw --session {key} list items"))
assert output[0]['login']['password'] == "${storedPassword}"
with subtest("Check systemd unit hardening"):
server.log(server.succeed("systemd-analyze security vaultwarden.service | grep -v "))
'';
}
);
@@ -239,7 +236,6 @@ builtins.mapAttrs (k: v: makeVaultwardenTest k v) {
with subtest("Check that backup exists"):
server.succeed('[ -d "/srv/backups/vaultwarden" ]')
server.succeed('[ -f "/srv/backups/vaultwarden/db.sqlite3" ]')
server.succeed('[ -d "/srv/backups/vaultwarden/attachments" ]')
server.succeed('[ -f "/srv/backups/vaultwarden/rsa_key.pem" ]')
# Ensure only the db backed up with the backup command exists and not the other db files.
server.succeed('[ ! -f "/srv/backups/vaultwarden/db.sqlite3-shm" ]')
@@ -23,16 +23,16 @@
rustPlatform.buildRustPackage rec {
pname = "librespot";
version = "0.7.1";
version = "0.8.0";
src = fetchFromGitHub {
owner = "librespot-org";
repo = "librespot";
rev = "v${version}";
hash = "sha256-gBMzvQxmy+GYzrOKWmbhl56j49BK8W8NYO2RrvS4mWI=";
hash = "sha256-twWndV6z5Cdivz7pfAJzdlIjddEiZPEFnTzipMczmJo=";
};
cargoHash = "sha256-PiGIxMIA/RL+YkpG1f46zyAO5anx9Ii+anKrANCM+rk=";
cargoHash = "sha256-Kf3w6tD/MQaXXegtiCkFbUcYwr4OMw6ipLxNLxJ2NTQ=";
nativeBuildInputs = [
pkg-config
@@ -11,8 +11,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "calva";
publisher = "betterthantomorrow";
version = "2.0.539";
hash = "sha256-nNlEBm89sVQzLMfQjeE4uBUH/bH/mw8mYF+3/JfB78U=";
version = "2.0.540";
hash = "sha256-KzBO6BEWUUPpwNzyAAYpr6hBDUMkv3cl7EamfCqeOvk=";
};
nativeBuildInputs = [
@@ -1953,8 +1953,8 @@ let
mktplcRef = {
publisher = "github";
name = "vscode-pull-request-github";
version = "0.120.2";
hash = "sha256-XY98UQ2XuVhObfaRiVlwiV+thNH9biPN0aDYG1c7xrM=";
version = "0.122.0";
hash = "sha256-U7BpKnkk7l4+dmgam6OP3Dl6ySX9e+wHmUELGpAjOss=";
};
meta = {
license = lib.licenses.mit;
@@ -4484,8 +4484,8 @@ let
mktplcRef = {
name = "svelte-vscode";
publisher = "svelte";
version = "109.11.2";
hash = "sha256-ANeFsYvvOFvoQh59gfMrXRV8l1H8lKjNjjk5byruMno=";
version = "109.12.0";
hash = "sha256-pPzpP7xYZ2cxj1euA3jj6d0g0c+tK+1is+o4zeMdT/Q=";
};
meta = {
changelog = "https://github.com/sveltejs/language-tools/releases";
@@ -13,19 +13,19 @@ let
vsix = stdenvNoCC.mkDerivation (finalAttrs: {
name = "gitlens-${finalAttrs.version}.zip";
pname = "gitlens-vsix";
version = "17.6.2";
version = "17.7.1";
src = fetchFromGitHub {
owner = "gitkraken";
repo = "vscode-gitlens";
tag = "v${finalAttrs.version}";
hash = "sha256-RN5PH8OvMUSqvVqt00VhfYQyazBBU5YLxzUEXaVB0+A=";
hash = "sha256-9XEv50WIG1BJenY9MswES6d72Ead2VqW5dgBr7Eu8ek=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 2;
hash = "sha256-R8E25vkc9kLjAEQ8UqxFhfvVbW5qMCWQUt3iWqJoSPE=";
hash = "sha256-QHITHoaz/lzZ3Th/YPlQayFMU9rtlnAZWEYkLyBuAkc=";
};
postPatch = ''
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-dev";
publisher = "saoudrizwan";
version = "3.36.1";
hash = "sha256-8pkX3KYwLr/jIHtWVmt+cx8CionKGjgSz6yFApSHR3g=";
version = "3.37.1";
hash = "sha256-wS893/I6uc6aUy2chPYCTdG7PzLl5tqx8dhMDasmtYA=";
};
meta = {
@@ -14,19 +14,19 @@ let
vsix = stdenvNoCC.mkDerivation (finalAttrs: {
name = "vscode-icons-${finalAttrs.version}.zip";
pname = "vscode-icons-vsix";
version = "12.14.0";
version = "12.15.0";
src = fetchFromGitHub {
owner = "vscode-icons";
repo = "vscode-icons";
tag = "v${finalAttrs.version}";
hash = "sha256-uxGKgqAllwW3MG89mvZ/M6So+vtpHVUDLCnVHKYfMOA=";
hash = "sha256-HYMXcmK2cW01PsjwMr+SGq94oFWEXvdny6IFnXMBdKA=";
};
npmDeps = fetchNpmDeps {
name = "${finalAttrs.pname}-npm-deps";
inherit (finalAttrs) src;
hash = "sha256-QLla/7hBIi7REhix+cXscdDHy+wzVXItQypeU+NUHQo=";
hash = "sha256-3Jt9JKbu5QxZynbkgQX/So3PWeJDdxIU5TVM4nfvgcQ=";
};
nativeBuildInputs = [
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "fbneo";
version = "0-unstable-2025-11-06";
version = "0-unstable-2025-11-16";
src = fetchFromGitHub {
owner = "libretro";
repo = "fbneo";
rev = "7759881be43b5f1711c95a2a80aa8987a98fbb99";
hash = "sha256-vYHWJV5xRACjdllmeg/3tr2WgI4QcWtuhKJhEwGIGD0=";
rev = "79fa66dde4caea81b51910b7ea907951651e5fea";
hash = "sha256-MBMxuRdgafar5zdlYLnIoIalBzuK3XS0FwuyllOab18=";
};
makefile = "Makefile";
@@ -1,73 +0,0 @@
{
lib,
stdenv,
cmake,
extra-cmake-modules,
plasma-framework,
kwindowsystem,
redshift,
fetchFromGitHub,
fetchpatch,
}:
let
version = "1.0.18";
in
stdenv.mkDerivation {
pname = "redshift-plasma-applet";
inherit version;
src = fetchFromGitHub {
owner = "kotelnik";
repo = "plasma-applet-redshift-control";
rev = "v${version}";
sha256 = "122nnbafa596rxdxlfshxk45lzch8c9342bzj7kzrsjkjg0xr9pq";
};
patches = [
# This patch fetches from out-of-source repo because the GitHub copy is frozen,
# the active fork is now on invent.kde.org. Remove this patch when a new version is released and src is updated
# Redshift version >= 1.12 requires the -P option to clear the existing effects before applying shading.
# Without it scrolling makes the screen gets darker and darker until it is impossible to see anything.
(fetchpatch {
url = "https://invent.kde.org/plasma/plasma-redshift-control/-/commit/898c3a4cfc6c317915f1e664078d8606497c4049.patch";
sha256 = "0b6pa3fcj698mgqnc85jbbmcl3qpf418mh06qgsd3c4v237my0nv";
})
];
patchPhase = ''
substituteInPlace package/contents/ui/main.qml \
--replace "redshiftCommand: 'redshift'" \
"redshiftCommand: '${redshift}/bin/redshift'" \
--replace "redshiftOneTimeCommand: 'redshift -O " \
"redshiftOneTimeCommand: '${redshift}/bin/redshift -O "
substituteInPlace package/contents/ui/config/ConfigAdvanced.qml \
--replace "'redshift -V'" \
"'${redshift}/bin/redshift -V'"
'';
nativeBuildInputs = [
cmake
extra-cmake-modules
];
buildInputs = [
plasma-framework
kwindowsystem
];
dontWrapQtApps = true;
meta = with lib; {
description = "KDE Plasma 5 widget for controlling Redshift";
homepage = "https://github.com/kotelnik/plasma-applet-redshift-control";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [
benley
zraexy
];
};
}
@@ -63,13 +63,13 @@
"vendorHash": "sha256-QWBzQXx/dzWZr9dn3LHy8RIvZL1EA9xYqi7Ppzvju7g="
},
"auth0_auth0": {
"hash": "sha256-+Bd+Nc16DqKcO6srCyNjYoEWvckJA8z5GyoGYylh2rg=",
"hash": "sha256-Hxvk8TTTF+zFgbtnlQ36Ksw1jHlegVnFTbh+xuV1FEs=",
"homepage": "https://registry.terraform.io/providers/auth0/auth0",
"owner": "auth0",
"repo": "terraform-provider-auth0",
"rev": "v1.33.0",
"rev": "v1.35.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-xeng27kJrugxYZfZatrTLG0gql3xDJlnDWJ9pNFOp0c="
"vendorHash": "sha256-+laQm8vbuf1WmUVovdD1qvWWJd65W9fzHzINFVPtRh4="
},
"aviatrixsystems_aviatrix": {
"hash": "sha256-V1JRVOMHQu5KlPFw7q/qZuHlJjdVSQotI9w7s88v8GM=",
@@ -300,11 +300,11 @@
"vendorHash": null
},
"digitalocean_digitalocean": {
"hash": "sha256-XNRfSqBtgYOnu2n2uO9eJv5G58a8k01g23UandDzIHw=",
"hash": "sha256-tfeSP2/3Eacvw5IfidiWqds1Z0DFwYRIj9maTGT4I8Y=",
"homepage": "https://registry.terraform.io/providers/digitalocean/digitalocean",
"owner": "digitalocean",
"repo": "terraform-provider-digitalocean",
"rev": "v2.68.0",
"rev": "v2.69.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -372,11 +372,11 @@
"vendorHash": "sha256-GEdgHY2cIiXxeIYev7zbGd4c+IyZZfeZtSj9Z/gG6E4="
},
"exoscale_exoscale": {
"hash": "sha256-w7OI4cieF5RtClKUrlnOTE0HSmI1lZ8X+hqMJpzQENo=",
"hash": "sha256-dOgWrQoVMLGpTYaa80f22BS14073Iio9JrCyJl36caY=",
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
"owner": "exoscale",
"repo": "terraform-provider-exoscale",
"rev": "v0.66.0",
"rev": "v0.67.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -462,13 +462,13 @@
"vendorHash": "sha256-UmlhKa2SVgrhRc1EOO9sEkherIS77CP+hkAL3Y79h3U="
},
"grafana_grafana": {
"hash": "sha256-RHADl2x2Tr22P53PJ0gXrAmxe+1mm6A3k0B8+92iDYg=",
"hash": "sha256-ou8S+18+vFmfPr1GuB2KjHzDCAQ0OT/a/KcrivnWo0g=",
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
"owner": "grafana",
"repo": "terraform-provider-grafana",
"rev": "v4.12.0",
"rev": "v4.14.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-xCwnCYP3QjIGkO844rczU6cHd6Pk8SKzRfO3mJK3XVc="
"vendorHash": "sha256-jdf10eXhTj0FGkG9bCZQYclbuGWwS0HAZX+4oET7oTQ="
},
"gridscale_gridscale": {
"hash": "sha256-XdBGD94kMLcB3ycZABVT+skiPg7rYyR4ycfvnubj6JM=",
@@ -498,13 +498,13 @@
"vendorHash": "sha256-mTK19nqRGR7H45oUHgSC56KrAEJFIu/EocqBjY70fDY="
},
"hashicorp_awscc": {
"hash": "sha256-eaFzTQehn1nIq0Zl/8r2AtmPQnhh7X44q/6JVzIzX2A=",
"hash": "sha256-TpSNJZN+V1uCHrJZs9R6W7SEwqYpcZwq69LxGCPIFIM=",
"homepage": "https://registry.terraform.io/providers/hashicorp/awscc",
"owner": "hashicorp",
"repo": "terraform-provider-awscc",
"rev": "v1.63.0",
"rev": "v1.64.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-wP7A2k0sXfbfQjKkDx+rOC8vgBhSQXak3gdera8inzY="
"vendorHash": "sha256-Nk3KDESUMujMtBCjwRHCgGsEpCkhBM7qiW1XtQj8y+Y="
},
"hashicorp_azuread": {
"hash": "sha256-9vGXzFLRaQPXECcFtZMnbhHQvEm0FeGwYm4K9utpZf4=",
@@ -913,13 +913,13 @@
"vendorHash": "sha256-5cqj1O57snU+NoVqmWc/KIGnowQNMww+rJxYfIPvHWU="
},
"mongodb_mongodbatlas": {
"hash": "sha256-a5oTDhV1e0wX7HR1xyZM1KM9D4/8EghhKFF0PkvPjqM=",
"hash": "sha256-/AoY7E8sMq74ulxU1DpBXYHgDuLIZ9EMHNz5PmiRAPM=",
"homepage": "https://registry.terraform.io/providers/mongodb/mongodbatlas",
"owner": "mongodb",
"repo": "terraform-provider-mongodbatlas",
"rev": "v2.1.0",
"rev": "v2.2.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-MejX7qApT4Aq/LzUExpi92yCb4Id/yfY6z/rduOs+so="
"vendorHash": "sha256-k2pLh6I1KQvEZczOIi6OlQ+hFb/vRUka3NdyAfNRXMc="
},
"namecheap_namecheap": {
"hash": "sha256-fHH9sHI1mqQ9q9nX9DHJ0qfEfmDB4/2uzyVvUuIAF18=",
@@ -949,13 +949,13 @@
"vendorHash": "sha256-OAd8SeTqTrH0kMoM2LsK3vM2PI23b3gl57FaJYM9hM0="
},
"newrelic_newrelic": {
"hash": "sha256-OdvDvo40fjuKoRjI1r1re/h2i5JopssRF5dQye4AsSM=",
"hash": "sha256-iqqjOaop4h7ffAo3Q80ryIcwXZnKH1vmLGAZ/seRqrM=",
"homepage": "https://registry.terraform.io/providers/newrelic/newrelic",
"owner": "newrelic",
"repo": "terraform-provider-newrelic",
"rev": "v3.75.2",
"rev": "v3.75.4",
"spdx": "MPL-2.0",
"vendorHash": "sha256-LBOxoSGvJ5AWS71UINBbVgDxLZqDpNgq7lY8LaPZsvs="
"vendorHash": "sha256-AfkCBD1qYDhwUsezUZg27fbENMOQN21gH4dT54AMco4="
},
"ns1-terraform_ns1": {
"hash": "sha256-S0ji/gZsbMTgug7DwPODAcPx3IfRaw1JHYPJ6V+tqeM=",
@@ -86,8 +86,8 @@ rec {
thunderbird = thunderbird-latest;
thunderbird-latest = common {
version = "144.0.1";
sha512 = "e1859ecd247260c9303a335d14f51d2b80bca7fe0125c41cf6f6bdf1331072dcef490d75fba588b37db5410ce2e7084bbe1c8f568d40c46303891ae2bfbe431c";
version = "145.0";
sha512 = "f33835e4d740b32d072ac915124d988ef9d4cbe55d7c972c817991d19b64e8bc95b75b503ad3cb9abf4fd1d220fc7cb61720ea84dc49482faa13da1690d7d80e";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-latest";
@@ -30,17 +30,17 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "mullvad";
version = "2025.10";
version = "2025.13";
src = fetchFromGitHub {
owner = "mullvad";
repo = "mullvadvpn-app";
tag = version;
fetchSubmodules = true;
hash = "sha256-1Noz+2qKCS4ObJfQu6ftx43rUAIu4wJg4aYyjVFYifo=";
hash = "sha256-YDHO7NpZU5rxjCMpdKvpYcy0l8AEtiSN+fP2Ii8JXDQ=";
};
cargoHash = "sha256-+JUp3L8UaMnDYCky/2Yo62uh1bHU7+Vx7vmfRIDgZtk=";
cargoHash = "sha256-XaVgQRJcIqeKgwxlJSrW6WI7GC02lX3NtTJOGo4irzg=";
cargoBuildFlags = [
"-p mullvad-daemon --bin mullvad-daemon"
@@ -210,6 +210,34 @@ stdenv.mkDerivation (finalAttrs: {
sed -i -e 's/#if USE_SVMLIGHT/#ifdef USE_SVMLIGHT/' src/interfaces/swig/Machine.i
sed -i -e 's@// USE_SVMLIGHT@//USE_SVMLIGHT@' src/interfaces/swig/Transfer.i
sed -i -e 's@/\* USE_SVMLIGHT \*/@//USE_SVMLIGHT@' src/interfaces/swig/Transfer_includes.i
# Fix build with CMake 4
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required(VERSION 3.1)" "cmake_minimum_required(VERSION 3.5)"
# Patch rxcpp to build with CMake 4 and GCC 14
rxcpp_tmpdir=$(mktemp -d)
tar -xzf third_party/rxcpp/v${rxcppVersion}.tar.gz -C "$rxcpp_tmpdir"
rm third_party/rxcpp/v${rxcppVersion}.tar.gz
find "$rxcpp_tmpdir/RxCpp-${rxcppVersion}" -type f -name "CMakeLists.txt" -exec \
sed -i -E 's/cmake_minimum_required\(VERSION.*\)/cmake_minimum_required\(VERSION 3.5\)/g' {} +
substituteInPlace "$rxcpp_tmpdir/RxCpp-${rxcppVersion}/Rx/v2/src/rxcpp/rx-notification.hpp" \
--replace-fail "{ ep = std::move(o.ep); return *this; }" "RXCPP_DELETE;"
tar -czf third_party/rxcpp/v${rxcppVersion}.tar.gz -C "$rxcpp_tmpdir" RxCpp-${rxcppVersion}
rxcpp_hash=$(md5sum third_party/rxcpp/v${rxcppVersion}.tar.gz | awk '{ print $1 }')
substituteInPlace cmake/external/rxcpp.cmake \
--replace-fail "feb89934f465bb5ac513c9adce8d3b1b" "$rxcpp_hash"
# Patch gtest to build with CMake 4
gtest_tmpdir=$(mktemp -d)
tar -xzf third_party/GoogleMock/release-${gtestVersion}.tar.gz -C "$gtest_tmpdir"
rm third_party/GoogleMock/release-${gtestVersion}.tar.gz
find "$gtest_tmpdir/googletest-release-${gtestVersion}" -type f -name "CMakeLists.txt" -exec \
sed -i -E 's/cmake_minimum_required\(VERSION.*\)/cmake_minimum_required\(VERSION 3.5\)/g' {} +
tar -czf third_party/GoogleMock/release-${gtestVersion}.tar.gz -C "$gtest_tmpdir" googletest-release-${gtestVersion}
gtest_hash=$(md5sum third_party/GoogleMock/release-${gtestVersion}.tar.gz | awk '{ print $1 }')
substituteInPlace cmake/external/GoogleTestNMock.cmake \
--replace-fail "16877098823401d1bf2ed7891d7dce36" "$gtest_hash"
''
+ lib.optionalString (!withSvmLight) ''
# Run SVMlight scrubber
+2 -2
View File
@@ -7,7 +7,7 @@
pkg-config,
freetype,
yasm,
ffmpeg,
ffmpeg_7,
aalibSupport ? true,
aalib,
fontconfigSupport ? true,
@@ -140,7 +140,7 @@ stdenv.mkDerivation {
];
buildInputs = [
freetype
ffmpeg
ffmpeg_7
]
++ lib.optional aalibSupport aalib
++ lib.optional fontconfigSupport fontconfig
@@ -956,7 +956,6 @@ rec {
outputHashAlgo = hashAlgo_;
outputHash = hash_;
preferLocalBuild = true;
allowSubstitutes = false;
builder = writeScript "restrict-message" ''
source ${stdenvNoCC}/setup
cat <<_EOF_
+10 -10
View File
@@ -1,28 +1,28 @@
{
"stable": {
"linux": {
"version": "8.11.16",
"version": "8.11.18",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.16.x64.tar.gz",
"hash": "sha256-LZ0V296GLLdeokj3mgD0LnQCHqlMHnMwPLHlwI5b1K0="
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.18.x64.tar.gz",
"hash": "sha256-0a3DfTuCfPH49Nanb825azgc3WglQCf44g8w3GPI68Q="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.16.arm64.tar.gz",
"hash": "sha256-itykcOtXCtODeJ7CtasN8M4Aq8DCV2pumpy646PADiE="
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.18.arm64.tar.gz",
"hash": "sha256-1fyQjPBQP6kYYh63bNQkggqGf8Pj+CEcDfLjweDrCrs="
}
}
},
"darwin": {
"version": "8.11.16",
"version": "8.11.18",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.16-x86_64.zip",
"hash": "sha256-puVz4k5jSFgkExE78sdxawCtVJzAqtP9jEEc+H4geMY="
"url": "https://downloads.1password.com/mac/1Password-8.11.18-x86_64.zip",
"hash": "sha256-N9t4oIdI/xXE8YHVHAfPykbaSdob01liCZ4n4Ef/FYo="
},
"aarch64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.16-aarch64.zip",
"hash": "sha256-xuN6l5ejj7SZp1uGhAIaha+qMUfStZm2kTkPJU9pnos="
"url": "https://downloads.1password.com/mac/1Password-8.11.18-aarch64.zip",
"hash": "sha256-OoaZw8IfgQFaU8FtLIrVeQxR7iAMt+PWAZBb9TsWlDs="
}
}
}
+1
View File
@@ -60,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
env = {
NIX_CFLAGS_COMPILE = toString [
"-Wno-error=array-bounds"
"-Wno-character-conversion"
];
};
+7 -7
View File
@@ -9,23 +9,23 @@
buildGoModule (finalAttrs: {
pname = "adguardhome";
version = "0.107.65";
version = "0.107.69";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = "AdGuardHome";
tag = "v${finalAttrs.version}";
hash = "sha256-OOW77CJRR5vi5jHFOCyF/OyCXaQdTgEc8xZKPcF9vQE=";
hash = "sha256-eUMssp4rYmkreYdaSDlYP0bQsZgsrrN9e65UF7NseN8=";
};
vendorHash = "sha256-spBMVSZhiM0R5tf8dhZD+N4ucFZ9Wno9Y+BhZMdzQRM=";
vendorHash = "sha256-qee3ifDDR1U23VZAu0gj1CPPaDrSQfwfrKte1OUZPlE=";
dashboard = buildNpmPackage {
inherit (finalAttrs) src;
name = "dashboard";
inherit (finalAttrs) src version;
pname = "adguardhome-dashboard";
postPatch = ''
cd client
'';
npmDepsHash = "sha256-s7TJvGyk05HkAOgjYmozvIQ3l2zYUhWrGRJrWdp9ZJQ=";
npmDepsHash = "sha256-AYm4ZgTsPJ6aNL7fo9DJqC0yq9i1mJghO7zWWC1X9eA=";
npmBuildScript = "build-prod";
postBuild = ''
mkdir -p $out/build/
@@ -45,7 +45,7 @@ buildGoModule (finalAttrs: {
passthru = {
updateScript = ./update.sh;
schema_version = 30;
schema_version = 31;
tests.adguardhome = nixosTests.adguardhome;
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "applesauce";
version = "0.5.20";
version = "0.5.21";
src = fetchFromGitHub {
owner = "Dr-Emann";
repo = "applesauce";
tag = "applesauce-cli-v${finalAttrs.version}";
hash = "sha256-KiivMFp772x/rFHh9PpDBjCxxC/6n6+KyAaZTmhnZV0=";
hash = "sha256-Dd1gfjtg1kEXyDakIoAkbu+iiRafykPO39z7tMJylkM=";
};
cargoHash = "sha256-WyDHp34NQi3/OotM4+4/d4ySOSYg+PDDmnLUn5R9yaU=";
cargoHash = "sha256-fx/D5Bt5YKySJXZRBHlJlAiFWu5++JXgHK1jSKvWEiA=";
meta = {
description = "Transparent compression for Apple File System Compression (AFSC)";
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
owner = "ValHaris";
repo = "asc-hq";
rev = "fa3bca082a5cea2b35812349f99b877f0113aef0";
sha256 = "atamYCN2mOqxV6auToTeWdpKuFfC+GLfLdRsfT0ouwQ=";
hash = "sha256-atamYCN2mOqxV6auToTeWdpKuFfC+GLfLdRsfT0ouwQ=";
};
nativeBuildInputs = [ pkg-config ];
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
libsigcxx
];
meta = with lib; {
meta = {
description = "Turn based strategy game";
longDescription = ''
@@ -78,9 +78,9 @@ stdenv.mkDerivation {
homepage = "https://www.asc-hq.org/";
license = licenses.gpl2Plus;
license = lib.licenses.gpl2Plus;
maintainers = with maintainers; [ raskin ];
platforms = platforms.linux;
maintainers = with lib.maintainers; [ raskin ];
platforms = lib.platforms.linux;
};
}
+10 -5
View File
@@ -18,23 +18,23 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "atuin-desktop";
version = "0.1.3";
version = "0.1.11";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "desktop";
tag = "v${finalAttrs.version}";
hash = "sha256-woYWWDJ2JeyghlRh5IKhPfDy4WmcAGlBJgjBPg1hHq8=";
hash = "sha256-ySws3R4CatOrKjjGrLJQU9feXIb5MdVX1uKK0fFV21s=";
};
cargoRoot = "backend";
buildAndTestSubdir = finalAttrs.cargoRoot;
cargoHash = "sha256-tyN9gM8U8kOl62Z0N/plcpTOCbOPuT0kkLI/EKLv/mQ=";
cargoHash = "sha256-gyDg8XBPiMovOtzmb0eHVWuXmavZTBMvPPgbcdNU6xo=";
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 2;
hash = "sha256-y+WZF30R/+nvAVr50SWmMN5kfVb1kYiylAd1IBftoVA=";
hash = "sha256-6YDYrFo5iCelRGBnDFoI8V3Nv/8w3XPNwuArc+nSShU=";
};
nativeBuildInputs = [
@@ -71,6 +71,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
passthru.updateScript = nix-update-script { };
checkFlags = [
# Failing for unknown reason.
"--skip=runtime::blocks::handlers::script_output_test::tests::test_multiple_scripts"
];
doCheck = !stdenv.isDarwin;
meta = {
description = "Local-first, executable runbook editor";
homepage = "https://atuin.sh";
@@ -84,6 +90,5 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
mainProgram = "atuin-desktop";
platforms = with lib.platforms; windows ++ darwin ++ linux;
broken = stdenv.hostPlatform.isDarwin;
};
})
@@ -0,0 +1,21 @@
diff --git a/configure.ac b/configure.ac
index cf96d6f..3a621bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -102,13 +102,13 @@ bash_version=`$SH_PROG --version`
[bash_major=`$SH_PROG -c 'echo ${BASH_VERSINFO[0]}'`]
[bash_minor=`$SH_PROG -c 'echo ${BASH_VERSINFO[1]}'`]
bash_5_or_greater=no
-case "${bash_major}.${bash_minor}" in
- 'OK_BASH_VERS' | '5.0' | '5.1')
+case "${bash_major}" in
+ '5')
bash_5_or_greater=yes
;;
*)
AC_MSG_WARN([You have Bash $bash_version installed.])
- AC_MSG_ERROR([This package is only known to work with Bash 5.0 or 5.1])
+ AC_MSG_ERROR([This package is only known to work with Bash 5])
;;
esac
+39 -23
View File
@@ -1,44 +1,60 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
makeWrapper,
python3Packages,
fetchFromGitHub,
autoreconfHook,
texinfo,
perl,
python3,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation {
pname = "bashdb";
version = "5.0-1.1.2";
version = "5.2-1.1.2-unstable-2025-06-07";
src = fetchurl {
url = "mirror://sourceforge/bashdb/${pname}-${version}.tar.bz2";
sha256 = "sha256-MBdtKtKMWwCy4tIcXqGu+PuvQKj52fcjxnxgUx87czA=";
src = fetchFromGitHub {
owner = "Trepan-Debuggers";
repo = "bashdb";
rev = "7d0f9751e04fa54f48f0ab4be32ecb8030a4315d";
sha256 = "sha256-fwxmlFC66Lv+zD632s9a44I9IEQ/82caKnQ44pdVes4=";
};
patches = [
# Enable building with bash 5.1/5.2
# Remove with any upstream 5.1-x.y.z release
(fetchpatch {
url = "https://raw.githubusercontent.com/freebsd/freebsd-ports/569fbb806d9ee813afa8b27d2098a44f93433922/devel/bashdb/files/patch-configure";
sha256 = "19zfzcnxavndyn6kfxp775kjcd0gigsm4y3bnh6fz5ilhnnbbbgr";
})
./bash-5-or-greater.patch
];
patchFlags = [ "-p0" ];
nativeBuildInputs = [
makeWrapper
autoreconfHook
texinfo # maninfo
perl # pod2man
];
postInstall = ''
wrapProgram $out/bin/bashdb --prefix PYTHONPATH ":" "$(toPythonPath ${python3Packages.pygments})"
'';
buildInputs = [
# used at runtime by term-highlight.py
(python3.withPackages (ps: [ ps.pygments ]))
];
configureFlags = [
# wants to point where bash expects dbg-main
# for now point to self
"--with-dbg-main=${placeholder "out"}/share/bashdb/bashdb-main.inc"
];
meta = {
description = "Bash script debugger";
mainProgram = "bashdb";
homepage = "https://bashdb.sourceforge.net/";
license = lib.licenses.gpl2;
description = "A gdb-like debugger for bash";
longDescription = ''
The Bash Debugger Project is a source-code debugger for bash that follows
the gdb command syntax.
'';
license = lib.licenses.gpl2Plus;
mainProgram = "bashdb";
maintainers = with lib.maintainers; [
jk
];
platforms = lib.platforms.linux;
};
}
+7 -4
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "bluetui";
version = "0.7.2";
version = "0.8.0";
src = fetchFromGitHub {
owner = "pythops";
repo = "bluetui";
rev = "v${version}";
hash = "sha256-qryBx0Lezg98FzfAFZR6+j7byJTW7hMbGmKIQMkciec=";
hash = "sha256-8X1kr0GPY/DqGZb1hJ52OkmgtYk0giwTeoqWTN0ZEbI=";
};
cargoHash = "sha256-CijMGqsfyoUV8TSy1dWUR//PCySgkxKGuhUMHp4Tn48=";
cargoHash = "sha256-CQFjauJ/y7XWZob/8gRQszKjBbkSdIt5l5OlSKVKoMw=";
nativeBuildInputs = [
pkg-config
@@ -35,7 +35,10 @@ rustPlatform.buildRustPackage rec {
description = "TUI for managing bluetooth on Linux";
homepage = "https://github.com/pythops/bluetui";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ donovanglover ];
maintainers = with lib.maintainers; [
donovanglover
matthiasbeyer
];
mainProgram = "bluetui";
platforms = lib.platforms.linux;
};
+2
View File
@@ -5,6 +5,7 @@
desktop-file-utils,
fetchFromGitLab,
glib,
gobject-introspection,
graphene,
gtk4,
gusb,
@@ -40,6 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
appstream
desktop-file-utils
glib
gobject-introspection
gtk4
json-glib
libpeas2
+22 -5
View File
@@ -21,6 +21,9 @@
# useful, but have to disable tests for now, as /dev/tpmrm0 is not accessible
withTpm2 ? false,
policy ? null,
# create additional "selftests" output and put botan-test binary together with
# test vectors there. Useful to perform initial botan self-tests before using it
exposeSelftests ? false,
}@args:
assert lib.assertOneOf "policy" policy [
@@ -65,6 +68,9 @@ stdenv.mkDerivation (finalAttrs: {
"dev"
"doc"
"man"
]
++ lib.optionals exposeSelftests [
"selftests"
];
src = fetchurl {
@@ -102,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: {
buildTargets = [
"cli"
]
++ lib.optionals finalAttrs.finalPackage.doCheck [ "tests" ]
++ lib.optionals (finalAttrs.finalPackage.doCheck || exposeSelftests) [ "tests" ]
++ lib.optionals static [ "static" ]
++ lib.optionals (!static) [ "shared" ];
@@ -156,10 +162,21 @@ stdenv.mkDerivation (finalAttrs: {
fi
'';
postInstall = ''
cd "$out"/lib/pkgconfig
ln -s botan-*.pc botan.pc || true
'';
postInstall =
lib.optionalString exposeSelftests ''
mkdir -p $selftests/bin
install -Dpm755 -D botan-test $selftests/bin/botan-test
# don't copy leading source folder structure
pushd src/tests/data &> /dev/null
find . -type d -exec install -d $selftests/test-data/{} \;
find . -type f -exec install -Dpm644 {} $selftests/test-data/{} \;
popd &> /dev/null
''
+ ''
cd "$out"/lib/pkgconfig
ln -s botan-*.pc botan.pc || true
'';
doCheck = true;
@@ -12,6 +12,7 @@
libapparmor,
libselinux,
libseccomp,
writableTmpDirAsHomeHook,
versionCheckHook,
}:
@@ -69,8 +70,12 @@ buildGoModule (finalAttrs: {
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
nativeInstallCheckInputs = [
writableTmpDirAsHomeHook
versionCheckHook
];
versionCheckProgramArg = "--version";
versionCheckKeepEnvironment = [ "HOME" ];
meta = {
description = "Tool which facilitates building OCI images";
+1 -1
View File
@@ -74,5 +74,5 @@ runCommand buildah-unwrapped.name
ln -s ${buildah-unwrapped}/share $out/share
makeWrapper ${buildah-unwrapped}/bin/buildah $out/bin/buildah \
--set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \
--prefix PATH : ${binPath}
--prefix PATH : "${binPath}"
''
@@ -1,22 +0,0 @@
commit a5d3497577c78b03c05c69d17df972fa9fb54f53
Author: Linus Heckemann <git@sphalerite.org>
Date: Fri Jan 5 23:57:09 2018 +0100
Add -Wno-narrowing to GWEN's CMakeLists
This avoids the compilation issue that occurs on aarch64 with gcc6.
(nixpkgs-specific patch)
diff --git a/examples/ThirdPartyLibs/Gwen/CMakeLists.txt b/examples/ThirdPartyLibs/Gwen/CMakeLists.txt
index 82fa0ffba..26c4bbd37 100644
--- a/examples/ThirdPartyLibs/Gwen/CMakeLists.txt
+++ b/examples/ThirdPartyLibs/Gwen/CMakeLists.txt
@@ -15,7 +15,7 @@ IF(NOT WIN32 AND NOT APPLE)
ADD_DEFINITIONS("-DDYNAMIC_LOAD_X11_FUNCTIONS=1")
ENDIF()
-ADD_DEFINITIONS( -DGLEW_STATIC -DGWEN_COMPILE_STATIC -D_HAS_EXCEPTIONS=0 -D_STATIC_CPPLIB )
+ADD_DEFINITIONS( -DGLEW_STATIC -DGWEN_COMPILE_STATIC -D_HAS_EXCEPTIONS=0 -D_STATIC_CPPLIB -Wno-narrowing )
FILE(GLOB gwen_SRCS "*.cpp" "Controls/*.cpp" "Controls/Dialog/*.cpp" "Controls/Dialogs/*.cpp" "Controls/Layout/*.cpp" "Controls/Property/*.cpp" "Input/*.cpp" "Platforms/*.cpp" "Renderers/*.cpp" "Skins/*.cpp")
FILE(GLOB gwen_HDRS "*.h" "Controls/*.h" "Controls/Dialog/*.h" "Controls/Dialogs/*.h" "Controls/Layout/*.h" "Controls/Property/*.h" "Input/*.h" "Platforms/*.h" "Renderers/*.h" "Skins/*.h")
@@ -1,58 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
libGLU,
libGL,
libglut,
}:
stdenv.mkDerivation {
pname = "bullet";
version = "2019-03-27";
src = fetchFromGitHub {
owner = "olegklimov";
repo = "bullet3";
# roboschool needs the HEAD of a specific branch of this fork, see
# https://github.com/openai/roboschool/issues/126#issuecomment-421643980
# https://github.com/openai/roboschool/pull/62
# https://github.com/openai/roboschool/issues/124
rev = "3687507ddc04a15de2c5db1e349ada3f2b34b3d6";
sha256 = "1wd7vj9136dl7lfb8ll0rc2fdl723y3ls9ipp7657yfl2xrqhvkb";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
libGLU
libGL
libglut
];
patches = [ ./gwen-narrowing.patch ];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_CPU_DEMOS=OFF"
"-DINSTALL_EXTRA_LIBS=ON"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"-DBUILD_BULLET2_DEMOS=OFF"
"-DBUILD_UNIT_TESTS=OFF"
];
meta = with lib; {
description = "Professional free 3D Game Multiphysics Library";
longDescription = ''
Bullet 3D Game Multiphysics Library provides state of the art collision
detection, soft body and rigid body dynamics.
'';
homepage = "http://bulletphysics.org";
license = licenses.zlib;
platforms = platforms.unix;
# /tmp/nix-build-bullet-2019-03-27.drv-0/source/src/Bullet3Common/b3Vector3.h:297:7: error: argument value 10880 is outside the valid range [0, 255] [-Wargument-outside-range]
# y = b3_splat_ps(y, 0x80);
broken = (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
};
}
+3 -3
View File
@@ -19,19 +19,19 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bustle";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "bustle";
tag = finalAttrs.version;
hash = "sha256-gzPFODVLvv+Ore1XR+XTi2fjVh3OJOZF0k9vilVnst4=";
hash = "sha256-+Pl4ze1nrC27NIfJ4FNc3iqYWBtCBpHp2zZNAxAPbJk=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-DYkicVDjQRIMfKl0f9aLWIyQfR153I43EpSuskenmoA=";
hash = "sha256-el1zVFE8hsmIisHO+btvnA0WVN9bN8iuVPaSF02ovCI=";
};
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
+40
View File
@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitLab,
cmake,
gfortran,
}:
stdenv.mkDerivation rec {
pname = "calceph";
version = "4.0.5";
src = fetchFromGitLab {
domain = "gitlab.obspm.fr";
owner = "imcce_calceph";
repo = "calceph";
tag = "calceph_${builtins.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-V4Hh3FItBv3zYerNqNPeRJ5Afj3QTfdG3Ps5xeiDASg=";
};
nativeBuildInputs = [
cmake
gfortran
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
];
meta = {
homepage = "https://www.imcce.fr/inpop/calceph/";
changelog = "https://gitlab.obspm.fr/imcce_calceph/calceph/-/blob/${src.rev}/NEWS";
description = "C library for interacting with binary planetary ephemeris files, such INPOPxx, JPL DExxx and SPICE";
license = with lib.licenses; [
cecill21
cecill-b
cecill-c
];
maintainers = with lib.maintainers; [ kiranshila ];
platforms = lib.platforms.all;
};
}
+2 -2
View File
@@ -40,14 +40,14 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "cameractrls";
version = "0.6.8";
version = "0.6.9";
pyproject = false;
src = fetchFromGitHub {
owner = "soyersoyer";
repo = "cameractrls";
rev = "v${version}";
hash = "sha256-kc5/HbtDZHJHR2loo8Zs555GRW6ynSdBLr3Uowo+OEA=";
hash = "sha256-eQwTEu8lBToh3N8FSlNQbTIGnIejnJLKScyN07jnzqQ=";
};
postPatch = ''
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
version = "1.15.9";
version = "1.16.0";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
tag = "v${version}";
hash = "sha256-v/tilaoDLZDV0VbMTT/DfqSNO4Ezyu3AWGzMftMubqc=";
hash = "sha256-zJUTwmmF/yEZwAI9R+Kau+eqB/MMqs05BoZkzR6B1VY=";
};
cargoHash = "sha256-itYqZi1tSWVwqGfNFSBh4/+PoLrQZQTnla4lOCjoX8Q=";
cargoHash = "sha256-T2pIWKLJhLXZAaRjWSJGbwhQwSf5j1Qem0evVbQeoWM=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -4,7 +4,7 @@
fetchgit,
cmake,
pkg-config,
ffmpeg,
ffmpeg_7,
libopus,
SDL2,
libevdev,
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
buildInputs = [
ffmpeg
ffmpeg_7 # needs avcodec_close which was removed in ffmpeg 8
libopus
libsForQt5.qtbase
libsForQt5.qtmultimedia
+2
View File
@@ -25,6 +25,8 @@ rustPlatform.buildRustPackage rec {
# Fix compilation errors caused by stricter restrictions on unused code in Rust 1.89.
# TODO: remove this patch after upstream fix it.
./dummy.patch
# https://github.com/xrelkd/clipcat/pull/871
./remove_unnecessary_parenthesis.patch
];
nativeBuildInputs = [
@@ -0,0 +1,22 @@
From 76e3ce46eb930dbc51c3e7aeb832a9db6194fd34 Mon Sep 17 00:00:00 2001
From: sandroid <sandroid@posteo.net>
Date: Sun, 9 Nov 2025 22:12:03 +0100
Subject: [PATCH] fix(crates/server): remove unnecessary parentheses
---
crates/server/src/snippets/mod.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crates/server/src/snippets/mod.rs b/crates/server/src/snippets/mod.rs
index 00759b1e..8a43c326 100644
--- a/crates/server/src/snippets/mod.rs
+++ b/crates/server/src/snippets/mod.rs
@@ -39,7 +39,7 @@ async fn load(config: &config::SnippetConfig) -> HashMap<ClipEntry, Option<PathB
clipcat_base::utils::fs::read_dir_recursively_async(&path)
.await
.into_iter()
- .map(|file| (async move { (tokio::fs::read(&file).await.ok(), file) })),
+ .map(|file| async move { (tokio::fs::read(&file).await.ok(), file) }),
)
.await
.into_iter()
+3 -3
View File
@@ -24,15 +24,15 @@
}:
let
version = "2025.8.779";
version = "2025.9.558";
sources = {
x86_64-linux = fetchurl {
url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_amd64.deb";
hash = "sha256-488sXR0CqZAkeXSMawYVXHszK9NXsTCQc5RAd87Hj9k=";
hash = "sha256-eYPy8YnP/vvYmvvjvF6Y0gSzdglsvoPW6CJ5npjrtpo=";
};
aarch64-linux = fetchurl {
url = "https://pkg.cloudflareclient.com/pool/noble/main/c/cloudflare-warp/cloudflare-warp_${version}.0_arm64.deb";
hash = "sha256-rLDGY8kmYU/B0wks20oE1sQ7luaX6teTNfWZ6atJzhU=";
hash = "sha256-K8XENo+9n3ChmQ33wAg/KiVHjNOKOXp6UQM2fpntgkE=";
};
};
in
+3 -3
View File
@@ -7,17 +7,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codebook";
version = "0.3.17";
version = "0.3.18";
src = fetchFromGitHub {
owner = "blopker";
repo = "codebook";
tag = "v${finalAttrs.version}";
hash = "sha256-5LTblBxYuz/ErESSLPZ4EHlLID8XvhCDQkKxUyEWcmM=";
hash = "sha256-KRygy6YC7W7V0TFarKSnCS9Ww3M8q3xJvg925aolLmM=";
};
buildAndTestSubdir = "crates/codebook-lsp";
cargoHash = "sha256-jkYtXrNJTaxrAWpB7ZYsj/LA2tUWVReAnF2cb4TpwE0=";
cargoHash = "sha256-HAJglGtOy+OMZoB50Uz5vrf8IXqBKMMO/Hr9Lcry2+Q=";
# Integration tests require internet access for dictionaries
doCheck = false;
@@ -11,6 +11,7 @@
libinput,
fontconfig,
freetype,
isocodes,
pipewire,
pulseaudio,
udev,
@@ -73,6 +74,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
preFixup = ''
libcosmicAppWrapperArgs+=(
--prefix PATH : ${lib.makeBinPath [ cosmic-randr ]}
--prefix XDG_DATA_DIRS : ${lib.makeSearchPathOutput "bin" "share" [ isocodes ]}
--set-default X11_BASE_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/base.xml
--set-default X11_BASE_EXTRA_RULES_XML ${xkeyboard_config}/share/X11/xkb/rules/extra.xml
)
+2 -2
View File
@@ -9,7 +9,7 @@
stdenv.mkDerivation rec {
pname = "dinit";
version = "0.19.4";
version = "0.20.0";
src = fetchFromGitHub {
owner = "davmac314";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
postFetch = ''
[ -f "$out/BUILD" ] && rm "$out/BUILD"
'';
hash = "sha256-IKT4k2eXCOCXtiypGbsIpN0OHS+WKqXvr4Mb61fbl0M=";
hash = "sha256-71BUjguKt9Ow5n2olnIaTtOJJ/Bap50SJ3HD+91Rj6s=";
};
postPatch = ''
+10
View File
@@ -22,6 +22,16 @@ buildNpmPackage rec {
installShellFiles
];
doCheck = true;
checkPhase = ''
runHook preCheck
npm run test
runHook postCheck
'';
postInstall = ''
installManPage doc/djot.1
'';
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Biome (JS/TS) wrapper plugin";
hash = "sha256-WEabcffl/sARrVc00Qr6QdEjFG4BZgHRrk3eeEfFV4g=";
hash = "sha256-6UIeTsS5ovtH79gP4PGn0ePttqr4Vuo+RgXTk+jSZjE=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "biome";
@@ -16,6 +16,6 @@ mkDprintPlugin {
};
pname = "dprint-plugin-biome";
updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json";
url = "https://plugins.dprint.dev/biome-0.11.3.wasm";
version = "0.11.3";
url = "https://plugins.dprint.dev/biome-0.11.4.wasm";
version = "0.11.4";
}
@@ -0,0 +1,33 @@
{
stdenv,
fetchFromGitHub,
cmake,
lib,
nix-update-script,
}:
stdenv.mkDerivation (self: {
pname = "emmy-lua-code-style";
version = "1.5.7";
src = fetchFromGitHub {
owner = "CppCXY";
repo = "EmmyLuaCodeStyle";
tag = self.version;
hash = "sha256-Lzh4ruyrWRTwU95iTMQozpLT5w92owHsDQM874XIuOg=";
};
nativeBuildInputs = [ cmake ];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/CppCXY/EmmyLuaCodeStyle";
changelog = "https://github.com/CppCXY/EmmyLuaCodeStyle/releases/tag/${self.version}";
description = "Fast, powerful, and feature-rich Lua formatting and checking tool";
mainProgram = "CodeFormat";
platforms = lib.platforms.unix;
license = [ lib.licenses.mit ];
maintainers = [ lib.maintainers.nobbz ];
};
})
+2 -2
View File
@@ -7,13 +7,13 @@
}:
llvmPackages.stdenv.mkDerivation rec {
pname = "enzyme";
version = "0.0.208";
version = "0.0.215";
src = fetchFromGitHub {
owner = "EnzymeAD";
repo = "Enzyme";
rev = "v${version}";
hash = "sha256-/WNiGeKoEvKYlXIK4cU6z5gFGujQbAE13qyvnhMniXc=";
hash = "sha256-XK3d47Q/6+sJ2RL+on483z9PvZrdaKxIT9/GUQuLPl8=";
};
postPatch = ''
+2 -2
View File
@@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: {
# the Equicord repository. Dates as tags (and automatic releases) were the compromise
# we came to with upstream. Please do not change the version schema (e.g., to semver)
# unless upstream changes the tag schema from dates.
version = "2025-11-09";
version = "2025-11-16";
src = fetchFromGitHub {
owner = "Equicord";
repo = "Equicord";
tag = "${finalAttrs.version}";
hash = "sha256-tddAMGNcaFj1hygrkQZfutWtgI+JHdYN5BHeW37562w=";
hash = "sha256-12P62UAt9eiQoGCXQGYQx0cPmankniltGqPTsys9Ves=";
};
pnpmDeps = pnpm_10.fetchDeps {
+3 -3
View File
@@ -8,7 +8,7 @@
buildNpmPackage (finalAttrs: {
pname = "ergogen";
version = "4.1.0";
version = "4.2.1";
forceGitDeps = true;
@@ -16,10 +16,10 @@ buildNpmPackage (finalAttrs: {
owner = "ergogen";
repo = "ergogen";
tag = "v${finalAttrs.version}";
hash = "sha256-Y4Ri5nLxbQ78LvyGARPxsvoZ9gSMxY14QuxZJg6Cu3Y=";
hash = "sha256-pddohqq08w/PpU3ZF3tCGSjUMLKnhCn/Db6WLKytjo0=";
};
npmDepsHash = "sha256-BQbf/2lWLYnrSjwWjDo6QceFyR+J/vhDcVgCaytGfl0=";
npmDepsHash = "sha256-gSF4L4QiScW3ZaAm8QFCBGhbw7NhFe4gHWitN/OuQi4=";
makeCacheWritable = true;
dontNpmBuild = true;
+3 -3
View File
@@ -8,16 +8,16 @@
buildGo125Module (finalAttrs: {
pname = "f2";
version = "2.2.1";
version = "2.2.2";
src = fetchFromGitHub {
owner = "ayoisaiah";
repo = "f2";
tag = "v${finalAttrs.version}";
hash = "sha256-zAhJ1giOhAhcDlRO/M+pf275m6lVydet1WCSiBIUkjw=";
hash = "sha256-Kjq3QTK8FE/UDjy1OAHkzHKuK2EBNHtfDQnFAlyWbYw=";
};
vendorHash = "sha256-DHUX+8gw+pmjEQRUeukzTimfYo0iHyN90MjrOlpjoJg=";
vendorHash = "sha256-tkDcC/2EdeNC60vbbRJ3zlsXvOYYkjr0QYO/aeEtQS0=";
ldflags = [
"-s"
-18
View File
@@ -1,18 +0,0 @@
diff --git a/Makefile b/Makefile
index c92df71..724911a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,11 +10,12 @@ DATE ?= $(shell date -u -d @${SOURCE_DATE_EPOCH} +"%Y-%m-%dT%H:%M:%SZ")
VERSION ?= 0.10.0
test: ## Run all tests
- @go clean --testcache && go test -v ./...
+ @go clean --testcache && go test -ldflags -extldflags=-Wl,-z,lazy -v ./...
build: ## Builds the CLI
@go build ${GO_FLAGS} \
-ldflags "-w -s \
+ -extldflags=-Wl,-z,lazy \
-X ${NAME}/cmd/global.Version=${VERSION} \
-X ${PACKAGE}/cmd/global.Version=${VERSION} \
-X ${NAME}/cmd/global.Commit=${GIT_REV} \
+15 -6
View File
@@ -1,19 +1,22 @@
{
config,
buildGoModule,
fetchFromGitHub,
lib,
lm_sensors,
autoAddDriverRunpath,
enableNVML ? config.cudaSupport,
}:
buildGoModule rec {
pname = "fan2go";
version = "0.10.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "markusressel";
repo = "fan2go";
tag = version;
hash = "sha256-mLypuOGjYrXFf3BGCDggEDk1+PVx2CgsxAjZQ7uiSW0=";
hash = "sha256-CHBJhG10RD5rQW1SFk7ffV9M4t6LtJR6xQrw47KQzC0=";
leaveDotGit = true;
postFetch = ''
cd $out
@@ -22,12 +25,14 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-IJJTolpOtstVov8MNel6EOJqv1oCkTOTiPyW42ElQjc=";
vendorHash = "sha256-BSZwvD9psXtSmoUPBxMVuvbcpqDSpFEKVskJo05e4fo=";
nativeBuildInputs = lib.optionals enableNVML [
autoAddDriverRunpath
];
buildInputs = [ lm_sensors ];
patches = [ ./lazy-binding.patch ];
postConfigure = ''
substituteInPlace vendor/github.com/md14454/gosensors/gosensors.go \
--replace-fail '"/etc/sensors3.conf"' '"${lib.getLib lm_sensors}/etc/sensors3.conf"'
@@ -41,7 +46,7 @@ buildGoModule rec {
buildPhase = ''
runHook preBuild
make build GIT_REV="$(cat GIT_REV)"
make build${lib.optionalString (!enableNVML) "-no-nvml"} GIT_REV="$(cat GIT_REV)"
dir="$GOPATH/bin"
mkdir -p "$dir"
@@ -50,6 +55,10 @@ buildGoModule rec {
runHook postBuild
'';
postFixup = lib.optionalString enableNVML ''
patchelf --add-needed libnvidia-ml.so "$out/bin/fan2go"
'';
checkPhase = ''
runHook preCheck
make test
+2 -2
View File
@@ -18,14 +18,14 @@
python3Packages.buildPythonApplication rec {
pname = "faugus-launcher";
version = "1.9.10";
version = "1.10.4";
pyproject = false;
src = fetchFromGitHub {
owner = "Faugus";
repo = "faugus-launcher";
tag = version;
hash = "sha256-XYEqC+vqB8dHGxDZQnyYEG2FgxfOakXB0u0OrIwsf0k=";
hash = "sha256-FmbAlvjzUEjKDFEI1O9TJGpKl8/WJaCYUVT75+oG2vc=";
};
nativeBuildInputs = [
+1 -93
View File
@@ -1,93 +1 @@
{
lib,
python3Packages,
buildNpmPackage,
fetchFromGitHub,
stdenv,
}:
let
src = buildNpmPackage (finalAttrs: {
pname = "fava-frontend";
version = "1.30.7";
src = fetchFromGitHub {
owner = "beancount";
repo = "fava";
tag = "v${finalAttrs.version}";
hash = "sha256-gO6eJIFp/yWAXFWhUcqkkfk2pA8/vyTxgPRPBmv4a6Q=";
};
sourceRoot = "${finalAttrs.src.name}/frontend";
npmDepsHash = "sha256-cXIhEzYFpLOxUEY7lhTWW7R3/ptkx7hB9K92Fd2m1Ng=";
makeCacheWritable = true;
preBuild = ''
chmod -R u+w ..
'';
installPhase = ''
runHook preInstall
cp -R .. $out
runHook postInstall
'';
});
in
python3Packages.buildPythonApplication {
pname = "fava";
inherit (src) version;
pyproject = true;
inherit src;
patches = [ ./dont-compile-frontend.patch ];
postPatch = ''
substituteInPlace tests/test_cli.py \
--replace-fail '"fava"' '"${placeholder "out"}/bin/fava"'
'';
build-system = [ python3Packages.setuptools-scm ];
dependencies = with python3Packages; [
babel
beancount
beangulp
beanquery
cheroot
click
flask
flask-babel
jinja2
markdown2
ply
simplejson
werkzeug
watchfiles
];
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
# tests/test_cli.py
__darwinAllowLocalNetworking = true;
# flaky, fails only on ci
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ "tests/test_core_watcher.py" ];
env = {
# Disable some tests when building with beancount2
SNAPSHOT_IGNORE = lib.versions.major python3Packages.beancount.version == "2";
};
meta = {
description = "Web interface for beancount";
mainProgram = "fava";
homepage = "https://beancount.github.io/fava";
changelog = "https://beancount.github.io/fava/changelog.html";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
bhipple
prince213
sigmanificient
];
};
}
{ python3Packages }: python3Packages.toPythonApplication python3Packages.fava
+2 -2
View File
@@ -3,7 +3,7 @@
stdenv,
buildNpmPackage,
fetchFromGitHub,
electron_36,
electron_38,
dart-sass,
pnpm_10,
darwin,
@@ -21,7 +21,7 @@ let
hash = "sha256-F5m0hsN1BLfiUcl2Go54bpFnN8ktn6Rqa/df1xxoCA4=";
};
electron = electron_36;
electron = electron_38;
pnpm = pnpm_10;
in
buildNpmPackage {
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "fetchmail";
version = "6.6.0";
version = "6.6.1";
src = fetchurl {
url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
hash = "sha256-e5wZ5mg+gn1VZ1GqXbXUS5Yeh76LMIdTW0kJuhtZMhw=";
hash = "sha256-ONAf5ATmdRTfOUpu0agVu7YaqQwPpEAiUlk6ztDjih0=";
};
buildInputs = [
+4 -1
View File
@@ -34,7 +34,10 @@ rustPlatform.buildRustPackage rec {
asl20
mit
];
maintainers = with maintainers; [ Br1ght0ne ];
maintainers = with maintainers; [
Br1ght0ne
matthiasbeyer
];
mainProgram = "fselect";
};
}
+4 -1
View File
@@ -71,7 +71,10 @@ python3Packages.buildPythonApplication rec {
changelog = "https://github.com/tcgoetz/GarminDB/releases/tag/${src.tag}";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ ethancedwards8 ];
maintainers = with lib.maintainers; [
ethancedwards8
matthiasbeyer
];
mainProgram = "garmindb";
};
}
@@ -8,18 +8,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "gdscript-formatter";
version = "0.14.0";
version = "0.17.0";
src = fetchFromGitHub {
owner = "GDQuest";
repo = "GDScript-formatter";
tag = finalAttrs.version;
hash = "sha256-cY6Ow1f8o40M9/knneAod8ABj7ObQAkzs3yODMpkCxQ=";
hash = "sha256-pxJGn2MXJN+NIhDTbJBRDT+0nynuELYLk3kPzGb4Ia0=";
# Needed due to .gitattributes being used for the Godot addon and export-ignoring all files
deepClone = true;
};
cargoHash = "sha256-U3M1xuSybP9WVHNMYaY6QrBZ//cAGCIOIo2dY0jpJzc=";
cargoHash = "sha256-F0L6/9HU9zkFSFHGpgX8UDRTJm/yVKuv4GakgjFuG6Y=";
cargoBuildFlags = [
"--bin=gdscript-formatter"
+3 -3
View File
@@ -13,16 +13,16 @@
buildNpmPackage (finalAttrs: {
pname = "gemini-cli";
version = "0.13.0";
version = "0.15.3";
src = fetchFromGitHub {
owner = "google-gemini";
repo = "gemini-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-Y6RIFF65uzgeOKU03wibEeLtUub1iG52tljM+rHDZbg=";
hash = "sha256-a3zigpALuuqD42n2X+5G+ol1XdSbHwLalS3ArA/cQH8=";
};
npmDepsHash = "sha256-6YhbPj+gbSi/OvyH+dFxkTD4qVj+/7TiMQuP7f1aZYE=";
npmDepsHash = "sha256-KkMnxZ0G8PzIdksChVZoH5jMz8qeyGirN7URq08sz48=";
nativeBuildInputs = [
jq
+2 -2
View File
@@ -1,12 +1,12 @@
{
lib,
stdenv,
stdenvNoCC,
fetchurl,
gitUpdater,
nixosTests,
}:
stdenv.mkDerivation rec {
stdenvNoCC.mkDerivation rec {
pname = "gerrit";
version = "3.12.3";
+32
View File
@@ -0,0 +1,32 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule (finalAttrs: {
pname = "gh-webhook";
version = "0.2.0";
src = fetchFromGitHub {
owner = "cli";
repo = "gh-webhook";
tag = "v${finalAttrs.version}";
hash = "sha256-y/lJmLxuTIZoxkxSksLxZ7nOBfOOSMD8Z08Ku9f0na8=";
};
vendorHash = "sha256-MAvrtuxB0iH+1ESYrE1JZFUE1Jy8TaAAnhTuwsh+frc=";
ldflags = [
"-s"
"-w"
];
meta = {
description = "GitHub CLI extension to chatter with Webhooks";
homepage = "https://github.com/cli/gh-webhook";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ adamperkowski ];
mainProgram = "gh-webhook";
};
})
+3 -3
View File
@@ -11,13 +11,13 @@
buildNpmPackage rec {
pname = "ghostfolio";
version = "2.215.0";
version = "2.217.0";
src = fetchFromGitHub {
owner = "ghostfolio";
repo = "ghostfolio";
tag = version;
hash = "sha256-j7UmjyayVbun4PrNSPwOi2+EGUhyTFuLQLSIZp8l95g=";
hash = "sha256-W2dkSMKa9Tg+1vZUs9dBEuNIFqF6c1FquO80y2Dw1QA=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -27,7 +27,7 @@ buildNpmPackage rec {
'';
};
npmDepsHash = "sha256-58e/LBgB4MQIp3xUdQXVvmq7krQ8+i0ku9xineC1HRU=";
npmDepsHash = "sha256-1d06JlZYzvrL+GE2zCaNtYCwAmVpa9Yg4Ov9Fn/w97c=";
nativeBuildInputs = [
prisma
+3 -13
View File
@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
installShellFiles,
python312,
python3,
# Override Python packages using
# self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
@@ -13,21 +13,11 @@
let
defaultOverrides = [
(self: super: {
av = (
super.av.overridePythonAttrs rec {
version = "13.1.0";
src = fetchFromGitHub {
owner = "PyAV-Org";
repo = "PyAV";
tag = "v${version}";
hash = "sha256-x2a9SC4uRplC6p0cD7fZcepFpRidbr6JJEEOaGSWl60=";
};
}
);
av = self.av_13;
})
];
python = python312.override {
python = python3.override {
self = python;
packageOverrides = lib.composeManyExtensions (defaultOverrides ++ [ packageOverrides ]);
};
@@ -1,4 +1,5 @@
{
stdenv,
buildNpmPackage,
fetchFromGitHub,
lib,
@@ -31,6 +32,10 @@ buildNpmPackage rec {
# remove cleanup which runs git commands
substituteInPlace package.json \
--replace-fail "npm run cleanup" "true"
# set a script name to avoid yargs using index.js as $0
substituteInPlace src/handler.ts src/index.ts \
--replace-fail 'yargs(process.argv.slice(2))' 'yargs(process.argv.slice(2)).scriptName("gitlab-ci-local")'
'';
postInstall = ''
@@ -41,6 +46,11 @@ buildNpmPackage rec {
gitMinimal
]
}"
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd gitlab-ci-local \
--bash <(SHELL=bash $out/bin/gitlab-ci-local --completion) \
--zsh <(SHELL=zsh $out/bin/gitlab-ci-local --completion)
'';
passthru = {
+11 -7
View File
@@ -36,6 +36,10 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \
--subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${finalAttrs.pname}-${finalAttrs.version}"}
substituteInPlace src/gnome-shell/metadata.json.in --replace-fail \
'"shell-version": [ "45", "46", "47", "48" ],' \
'"shell-version": [ "45", "46", "47", "48", "49" ],'
'';
nativeBuildInputs = [
@@ -59,9 +63,9 @@ stdenv.mkDerivation (finalAttrs: {
];
mesonFlags = [
"-Dcontrol-center-keybindings-dir=${placeholder "out"}/share/gnome-control-center/keybindings"
"-Ddbus-services-dir=${placeholder "out"}/share/dbus-1/services"
"-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user"
(lib.mesonOption "control-center-keybindings-dir" "${placeholder "out"}/share/gnome-control-center/keybindings")
(lib.mesonOption "dbus-services-dir" "${placeholder "out"}/share/dbus-1/services")
(lib.mesonOption "systemd-user-unit-dir" "${placeholder "out"}/etc/systemd/user")
];
postInstall = ''
@@ -78,13 +82,13 @@ stdenv.mkDerivation (finalAttrs: {
--subst-var-by typelibDir "${placeholder "out"}/lib/girepository-1.0"
'';
meta = with lib; {
meta = {
homepage = "https://github.com/Keruspe/GPaste";
changelog = "https://github.com/Keruspe/GPaste/blob/v${finalAttrs.version}/NEWS";
description = "Clipboard management system with GNOME integration";
mainProgram = "gpaste-client";
license = licenses.bsd2;
platforms = platforms.linux;
teams = [ teams.gnome ];
license = lib.licenses.bsd2;
platforms = lib.platforms.linux;
teams = [ lib.teams.gnome ];
};
})
+1 -1
View File
@@ -1,5 +1,5 @@
import GIRepository from 'gi://GIRepository';
GIRepository.Repository.prepend_search_path('@typelibDir@');
GIRepository.Repository.dup_default().prepend_search_path('@typelibDir@');
export default (await import('./.@originalName@-wrapped.js')).default;
+12
View File
@@ -2,6 +2,9 @@
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
testers,
graphqurl,
}:
buildNpmPackage rec {
@@ -19,6 +22,15 @@ buildNpmPackage rec {
dontNpmBuild = true;
passthru = {
updateScript = nix-update-script { };
tests = {
graphqurl-version = testers.testVersion {
package = graphqurl;
};
};
};
meta = {
description = "CLI and JS library for making GraphQL queries";
homepage = "https://github.com/hasura/graphqurl";
+5
View File
@@ -34,6 +34,11 @@ stdenv.mkDerivation rec {
})
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'cmake_minimum_required(VERSION 2.8)' 'cmake_minimum_required(VERSION 3.10)'
'';
nativeBuildInputs = [
cmake
pkg-config
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "httpx";
version = "1.7.1";
version = "1.7.2";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "httpx";
tag = "v${version}";
hash = "sha256-PJN7Pmor2pZauW70QDAs4U8Q5kjBrjfyWqEgkUNK+MQ=";
hash = "sha256-UZybzKPBattd2WIkATJEywPiRJ1v6B20it5Jqnle7Xo=";
};
vendorHash = "sha256-loxc8ddnape3d0TVvmAw76oqKJOJ6uFKNnPkPbEXEJ8=";
vendorHash = "sha256-T9nq2Ad2UhndOC5KUZ+ix4PzmzKD1la2zmo5L6vq2Yk=";
subPackages = [ "cmd/httpx" ];
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprlang";
version = "0.6.4";
version = "0.6.5";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprlang";
rev = "v${finalAttrs.version}";
hash = "sha256-pyDe001L3a1dQiUun25y2z4R8vOgx0cmo9l1SvWKEyA=";
hash = "sha256-BRPZIWse1Ayat/FwOl52YGHoDC91oQ3HAQuirnNpwew=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprutils";
version = "0.10.1";
version = "0.10.2";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprutils";
tag = "v${finalAttrs.version}";
hash = "sha256-gQ9zJ+pUI4o+Gh4Z6jhJll7jjCSwi8ZqJIhCE2oqwhQ=";
hash = "sha256-nuJoIbG1DeXaoj9LtSRqfCBzM0dJ2uzTwQgO5B2Kj/8=";
};
nativeBuildInputs = [
+5 -2
View File
@@ -16,8 +16,11 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-xGfX7ttWrcIVhy+MkR5RZr2DCAwIKwGu7zkafHcrjaE=";
};
# The tool needs a nightly compiler.
RUSTC_BOOTSTRAP = 1;
patches = [
# `let_chain` feature is not needed anymore with 1.90.
# See https://github.com/Cretezy/i3-back/pull/5
./remove-feature.patch
];
cargoHash = "sha256-o/um/Ugm3GfDz1daBKxoDD7ailUu6QJ0rj5jcKWB0lM=";
@@ -0,0 +1,22 @@
diff --git a/Cargo.toml b/Cargo.toml
index 68cbda32f3..0e3f6ad1f6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "i3-back"
version = "0.3.2"
-edition = "2021"
+edition = "2024"
description = "An i3/Sway utility to switch focus to your last focused window. Allows for behavior similar to Alt+Tab on other desktop environments."
repository = "https://github.com/Cretezy/i3-back"
homepage = "https://github.com/Cretezy/i3-back"
diff --git a/src/main.rs b/src/main.rs
index e11a2a7550..91a34cab07 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,4 +1,3 @@
-#![feature(let_chains)]
use std::process;
use std::thread;
use std::time::Duration;
+1 -1
View File
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ aristid ];
maintainers = [ ];
mainProgram = "ideviceinstaller";
};
}
-1
View File
@@ -109,7 +109,6 @@ stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/ispc/ispc/releases/tag/${finalAttrs.version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
aristid
thoughtpolice
athas
alexfmpe
+2 -2
View File
@@ -34,13 +34,13 @@ in
stdenv.mkDerivation rec {
pname = "janus-gateway";
version = "1.3.2";
version = "1.3.3";
src = fetchFromGitHub {
owner = "meetecho";
repo = "janus-gateway";
rev = "v${version}";
sha256 = "sha256-FvTNe2lpDBchhVLTD+fKtwTcuqsuSEeNWcRAbLibLbc=";
sha256 = "sha256-RxLpvmoQLOu0P0cBKObz8sfSHod8uT4dN9tP3CRLIDs=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -1,6 +1,6 @@
{
lib,
stdenv,
stdenvNoCC,
fetchurl,
common-updater-scripts,
coreutils,
@@ -16,7 +16,7 @@
curl,
}:
stdenv.mkDerivation (finalAttrs: {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "jenkins";
version = "2.528.1";
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
tests = { inherit (nixosTests) jenkins jenkins-cli; };
updateScript = writeScript "update.sh" ''
#!${stdenv.shell}
#!${stdenvNoCC.shell}
set -o errexit
PATH=${
lib.makeBinPath [
+5 -2
View File
@@ -7,14 +7,14 @@
python3Packages.buildPythonApplication rec {
pname = "jiratui";
version = "1.2.0";
version = "1.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "whyisdifficult";
repo = "jiratui";
tag = "v${version}";
hash = "sha256-2Fxf1pH2HCKtaJ1RYxUPJSuOrTmoy4RBXCLKLQKpwds=";
hash = "sha256-b5bSMPnqHqpeFDl501gSun7G38OlhV/IMNMYXQT+j/4=";
};
build-system = with python3Packages; [
@@ -25,12 +25,15 @@ python3Packages.buildPythonApplication rec {
with python3Packages;
[
click
gitpython
httpx
pyaml
pydantic-settings
python-dateutil
python-json-logger
python-magic
textual
textual-image
xdg-base-dirs
]
++ textual.optional-dependencies.syntax;
+1 -1
View File
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
description = "Optimize JPEG files";
homepage = "https://www.kokkonen.net/tjko/projects.html";
license = licenses.gpl3Plus;
maintainers = [ maintainers.aristid ];
maintainers = [ ];
platforms = platforms.all;
mainProgram = "jpegoptim";
};
+5
View File
@@ -21,6 +21,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-hfdeztEyHvuOnLS71oSv8sPqFe2UCX5KlANqrT/Gfx8=";
};
postPatch = ''
substituteInPlace CMakeLists.txt ext/bifrost/CMakeLists.txt \
--replace-fail "cmake_minimum_required(VERSION 3.0.0)" "cmake_minimum_required(VERSION 3.10)"
'';
nativeBuildInputs = [
autoconf
cmake
+2 -2
View File
@@ -1,5 +1,5 @@
{
stdenv,
stdenvNoCC,
undmg,
pname,
version,
@@ -7,7 +7,7 @@
meta,
...
}:
stdenv.mkDerivation {
stdenvNoCC.mkDerivation {
inherit
pname
version
+1 -3
View File
@@ -18,9 +18,7 @@ let
sources = rec {
aarch64-darwin = {
# Upstream does not provide archives of previous versions,
# therefore a capture using the wayback machine is used
url = "https://web.archive.org/web/20250520135916/https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-latest.dmg";
url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.dmg";
hash = "sha256-H6xRau7pWuSF5Aa6lblwi/Lg5KxC+HM3rtUMjX+hEE8=";
};
x86_64-darwin = aarch64-darwin;
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "lazydocker";
version = "0.24.1";
version = "0.24.2";
src = fetchFromGitHub {
owner = "jesseduffield";
repo = "lazydocker";
rev = "v${version}";
sha256 = "sha256-cVjDdrxmGt+hj/WWP9B3BT739k9SSr4ryye5qWb3XNM=";
sha256 = "sha256-Dw7FBJ78b835iVkV8OrA06CAZ/GRCEXlLg/RfHZXfF0=";
};
vendorHash = null;
+3 -11
View File
@@ -23,23 +23,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lenmus";
version = "6.0.1";
version = "6.0.1-unstable-2025-09-15";
src = fetchFromGitHub {
owner = "lenmus";
repo = "lenmus";
rev = "Release_${finalAttrs.version}";
hash = "sha256-qegOAc6vs2+6VViDHVjv0q+qjLZyTT7yPF3hFpTt5zE=";
rev = "113787fe4d755e7e406b5ea4bd2cfb9eae0e56a3";
hash = "sha256-tDvSgdeFx5xEjExnDhoXgvuvk7+oEPgbt4DJajckvLc=";
};
patches = [
(fetchpatch {
name = "bump-cmake-minimum-required-version.patch";
url = "https://github.com/lenmus/lenmus/commit/cc250ca4ce9a90d8dddb0fc359c5a80609cdafcb.patch";
hash = "sha256-aP+ooaSi6vHk+g1XftfjZ39zAgYts1vOCqZWWZhJ+G8=";
})
];
env = {
NIX_CFLAGS_COMPILE = "-fpermissive";
};
+2 -1
View File
@@ -50,7 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
# remove useless man pages about directories
rm doc/man/man*/_*
installManPage doc/man/man*/*
# avoid installing doc/man/man3/noname
installManPage doc/man/man*/*.*
moveToOutput share/liberasurecode/ $doc
'';
+11 -11
View File
@@ -1,31 +1,33 @@
{
lib,
stdenv,
gcc15Stdenv,
fetchFromGitHub,
gtk3,
jansson,
luajit,
meson,
ninja,
pkg-config,
unstableGitUpdater,
wrapGAppsHook3,
xxd,
}:
stdenv.mkDerivation {
gcc15Stdenv.mkDerivation {
pname = "libresplit";
version = "0-unstable-2025-10-15";
version = "0-unstable-2025-11-11";
src = fetchFromGitHub {
owner = "wins1ey";
owner = "LibreSplit";
repo = "LibreSplit";
rev = "7628922ba2c6b6a9e6d6d144b55d20479d7ceeb3";
hash = "sha256-3UXDHmcW6lxXGno5ijG6OlQ58F1z/J2O8S1y2O+7+p4=";
rev = "1a149e2d6d02c456e787bffc07b3c7ca67d7bd44";
hash = "sha256-EEYocgSKgQsGxJfyRYsfTGFmR8+TWPOLfOKjv6uXKuU=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook3
xxd
];
buildInputs = [
@@ -34,12 +36,10 @@ stdenv.mkDerivation {
luajit
];
makeFlags = [ "PREFIX=$(out)" ];
passthru.updateScript = unstableGitUpdater { };
meta = {
homepage = "https://github.com/wins1ey/LibreSplit";
homepage = "https://github.com/LibreSplitDev/LibreSplit";
description = "Speedrun timer with auto splitting and load removal for Linux";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ fgaz ];
+2 -2
View File
@@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lock";
version = "1.8.1";
version = "1.8.2";
src = fetchFromGitHub {
owner = "konstantintutsch";
repo = "Lock";
tag = "v${finalAttrs.version}";
hash = "sha256-W51V5Nz4TSN6F0/XOvn9givUIfAnI0SefooUQyj1AqM=";
hash = "sha256-8vJK9uvmm3GtQcJ/6L0R8Y9gAv1W07asfKmDYZyeEOQ=";
};
strictDeps = true;
+110 -117
View File
@@ -16,124 +16,117 @@
withJava ? true,
jre_headless,
}:
let
version = "1.18.2";
# Using two URLs as the first one will break as soon as a new version is released
src_bin = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
];
hash = "sha256-v8THzrwPAEl2cf/Vbmo08HcKnmr37/LwEn76FD8oY24=";
};
src_oss = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
];
hash = "sha256-uUl/VVXCV/XTx/GLarA8dM/z6kQ36ANJ1hjRFb9fpEU=";
};
in
stdenv.mkDerivation {
pname = "makemkv";
inherit version;
srcs = [
src_bin
src_oss
];
sourceRoot = "makemkv-oss-${version}";
patches = [ ./r13y.patch ];
enableParallelBuilding = true;
nativeBuildInputs = [
autoPatchelfHook
pkg-config
qt5.wrapQtAppsHook
];
buildInputs = [
ffmpeg
openssl
qt5.qtbase
zlib
];
runtimeDependencies = [ (lib.getLib curl) ];
qtWrapperArgs =
let
binPath = lib.makeBinPath [ jre_headless ];
in
lib.optionals withJava [ "--prefix PATH : ${binPath}" ];
installPhase = ''
runHook preInstall
install -Dm555 -t $out/bin out/makemkv out/mmccextr out/mmgplsrv ../makemkv-bin-${version}/bin/amd64/makemkvcon
install -D -t $out/lib out/lib{driveio,makemkv,mmbd}.so.*
install -D -t $out/share/MakeMKV ../makemkv-bin-${version}/src/share/*
install -Dm444 -t $out/share/applications ../makemkv-oss-${version}/makemkvgui/share/makemkv.desktop
install -Dm444 -t $out/share/icons/hicolor/16x16/apps ../makemkv-oss-${version}/makemkvgui/share/icons/16x16/*
install -Dm444 -t $out/share/icons/hicolor/32x32/apps ../makemkv-oss-${version}/makemkvgui/share/icons/32x32/*
install -Dm444 -t $out/share/icons/hicolor/64x64/apps ../makemkv-oss-${version}/makemkvgui/share/icons/64x64/*
install -Dm444 -t $out/share/icons/hicolor/128x128/apps ../makemkv-oss-${version}/makemkvgui/share/icons/128x128/*
install -Dm444 -t $out/share/icons/hicolor/256x256/apps ../makemkv-oss-${version}/makemkvgui/share/icons/256x256/*
runHook postInstall
'';
passthru = {
srcs = {
inherit src_bin src_oss;
};
updateScript = lib.getExe (writeShellApplication {
name = "update-makemkv";
runtimeInputs = [
common-updater-scripts
curl
rubyPackages.nokogiri
stdenv.mkDerivation (
finalAttrs:
let
inherit (finalAttrs) version;
# Using two URLs as the first one will break as soon as a new version is released
srcs.bin = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
];
text = ''
get_version() {
# shellcheck disable=SC2016
curl --fail --silent 'https://forum.makemkv.com/forum/viewtopic.php?f=3&t=224' \
| nokogiri -e 'puts $_.css("head title").first.text.match(/\bMakeMKV (\d+\.\d+\.\d+) /)[1]'
}
oldVersion=${lib.escapeShellArg version}
newVersion=$(get_version)
if [[ $oldVersion == "$newVersion" ]]; then
echo "$0: New version same as old version, nothing to do." >&2
exit
fi
update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_bin
update-source-version makemkv "$newVersion" --source-key=passthru.srcs.src_oss --ignore-same-version
'';
});
};
hash = "sha256-v8THzrwPAEl2cf/Vbmo08HcKnmr37/LwEn76FD8oY24=";
};
srcs.oss = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
];
hash = "sha256-uUl/VVXCV/XTx/GLarA8dM/z6kQ36ANJ1hjRFb9fpEU=";
};
in
{
pname = "makemkv";
version = "1.18.2";
meta = with lib; {
description = "Convert blu-ray and dvd to mkv";
longDescription = ''
makemkv is a one-click QT application that transcodes an encrypted
blu-ray or DVD disc into a more portable set of mkv files, preserving
subtitles, chapter marks, all video and audio tracks.
srcs = lib.attrValues finalAttrs.passthru.srcs;
sourceRoot = "makemkv-oss-${version}";
patches = [ ./r13y.patch ];
Program is time-limited -- it will stop functioning after 60 days. You
can always download the latest version from makemkv.com that will reset the
expiration date.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = [
licenses.unfree
licenses.lgpl21
enableParallelBuilding = true;
nativeBuildInputs = [
autoPatchelfHook
pkg-config
qt5.wrapQtAppsHook
];
homepage = "https://makemkv.com";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jchw ];
};
}
buildInputs = [
ffmpeg
openssl
qt5.qtbase
zlib
];
runtimeDependencies = [ (lib.getLib curl) ];
qtWrapperArgs =
let
binPath = lib.makeBinPath [ jre_headless ];
in
lib.optionals withJava [ "--prefix PATH : ${binPath}" ];
installPhase = ''
runHook preInstall
install -Dm555 -t "$out"/bin out/{makemkv,mmccextr,mmgplsrv} \
../makemkv-bin-"$version"/bin/amd64/makemkvcon
install -D -t "$out"/lib out/lib{driveio,makemkv,mmbd}.so.*
install -D -t "$out"/share/MakeMKV ../makemkv-bin-"$version"/src/share/*
install -Dm444 -t "$out"/share/applications ../makemkv-oss-"$version"/makemkvgui/share/makemkv.desktop
install -Dm444 -t "$out"/share/icons/hicolor/16x16/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/16x16/*
install -Dm444 -t "$out"/share/icons/hicolor/32x32/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/32x32/*
install -Dm444 -t "$out"/share/icons/hicolor/64x64/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/64x64/*
install -Dm444 -t "$out"/share/icons/hicolor/128x128/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/128x128/*
install -Dm444 -t "$out"/share/icons/hicolor/256x256/apps ../makemkv-oss-"$version"/makemkvgui/share/icons/256x256/*
runHook postInstall
'';
passthru = {
inherit srcs;
updateScript = lib.getExe (writeShellApplication {
name = "update-makemkv";
runtimeInputs = [
common-updater-scripts
curl
rubyPackages.nokogiri
];
runtimeEnv.oldVersion = version;
text = ''
get_version() {
# shellcheck disable=SC2016
curl --fail --silent 'https://forum.makemkv.com/forum/viewtopic.php?f=3&t=224' \
| nokogiri -e 'puts $_.css("head title").first.text.match(/\bMakeMKV (\d+\.\d+\.\d+) /)[1]'
}
newVersion=$(get_version)
if [ "$oldVersion" == "$newVersion" ]; then
echo "$0: New version same as old version, nothing to do." >&2
exit
fi
update-source-version makemkv "$newVersion" --source-key=passthru.srcs.bin
update-source-version makemkv "$newVersion" --source-key=passthru.srcs.oss --ignore-same-version
'';
});
};
meta = with lib; {
description = "Convert blu-ray and dvd to mkv";
longDescription = ''
makemkv is a one-click QT application that transcodes an encrypted
blu-ray or DVD disc into a more portable set of mkv files, preserving
subtitles, chapter marks, all video and audio tracks.
Program is time-limited -- it will stop functioning after 60 days. You
can always download the latest version from makemkv.com that will reset the
expiration date.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = [
licenses.unfree
licenses.lgpl21
];
homepage = "https://makemkv.com";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jchw ];
};
}
)

Some files were not shown because too many files have changed in this diff Show More