Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
@@ -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.
|
||||
#
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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,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;
|
||||
|
||||
@@ -10,7 +10,6 @@ in
|
||||
name = "containers-bridge";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
aristid
|
||||
aszlig
|
||||
];
|
||||
};
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
name = "containers-imperative";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
aristid
|
||||
aszlig
|
||||
];
|
||||
};
|
||||
|
||||
@@ -17,7 +17,6 @@ in
|
||||
name = "containers-ipv4-ipv6";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
aristid
|
||||
aszlig
|
||||
];
|
||||
};
|
||||
|
||||
@@ -10,7 +10,6 @@ in
|
||||
name = "containers-portforward";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [
|
||||
aristid
|
||||
aszlig
|
||||
ianwookim
|
||||
];
|
||||
|
||||
+35
-4
@@ -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
@@ -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")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
+3
-3
@@ -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
|
||||
|
||||
@@ -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_
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString [
|
||||
"-Wno-error=array-bounds"
|
||||
"-Wno-character-conversion"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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} \
|
||||
@@ -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
|
||||
|
||||
@@ -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 +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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -34,7 +34,10 @@ rustPlatform.buildRustPackage rec {
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
maintainers = with maintainers; [ Br1ght0ne ];
|
||||
maintainers = with maintainers; [
|
||||
Br1ght0ne
|
||||
matthiasbeyer
|
||||
];
|
||||
mainProgram = "fselect";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "gerrit";
|
||||
version = "3.12.3";
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
@@ -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,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 = {
|
||||
|
||||
@@ -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,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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ aristid ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "ideviceinstaller";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
undmg,
|
||||
pname,
|
||||
version,
|
||||
@@ -7,7 +7,7 @@
|
||||
meta,
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user