Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-08-03 00:13:56 +00:00
committed by GitHub
190 changed files with 6724 additions and 1798 deletions

3
.github/CODEOWNERS vendored
View File

@@ -267,6 +267,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/applications/editors/emacs @adisbladis
/pkgs/top-level/emacs-packages.nix @adisbladis
# Kakoune
/pkgs/applications/editors/kakoune @philiptaron
# Neovim
/pkgs/applications/editors/neovim @figsoda @teto

View File

@@ -16033,6 +16033,11 @@
githubId = 1830959;
name = "Piper McCorkle";
};
pitkling = {
github = "pitkling";
githubId = 1018801;
name = "Peter Kling";
};
piturnah = {
email = "peterhebden6@gmail.com";
github = "Piturnah";
@@ -21325,6 +21330,12 @@
githubId = 8889722;
name = "Vitomir Čanadi";
};
vcele = {
email = "ejycebfx@duck.com";
github = "Vcele";
githubId = 101071881;
name = "Victor";
};
vcunat = {
name = "Vladimír Čunát";
# vcunat@gmail.com predominated in commits before 2019/03

View File

@@ -40,6 +40,8 @@
- [ddns-updater](https://github.com/qdm12/ddns-updater), a service to update DNS records periodically with WebUI for many DNS providers. Available as [services.ddns-updater](#opt-services.ddns-updater.enable).
- [Immersed VR](https://immersed.com/), a closed-source coworking platform. Available as [programs.immersed-vr](#opt-programs.immersed-vr.enable).
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
- [Music Assistant](https://music-assistant.io/), a music library manager for your offline and online music sources which can easily stream your favourite music to a wide range of supported players. Available as [services.music-assistant](#opt-services.music-assistant.enable).
@@ -319,6 +321,9 @@
- `nix.channel.enable = false` no longer implies `nix.settings.nix-path = []`.
Since Nix 2.13, a `nix-path` set in `nix.conf` cannot be overriden by the `NIX_PATH` configuration variable.
- Buildkite Agents are now each running in their own private `/tmp`.
To return to the old behaviour, set `systemd.services.buildkite-agent-${name}.serviceConfig.PrivateTmp = false;`.
## Detailed migration information {#sec-release-24.11-migration}
### `sound` options removal {#sec-release-24.11-migration-sound}

View File

@@ -88,8 +88,8 @@ with lib;
prepend = [ "${config.system.build.initialRamdisk}/initrd" ];
contents =
[ { object = config.system.build.squashfsStore;
symlink = "/nix-store.squashfs";
[ { source = config.system.build.squashfsStore;
target = "/nix-store.squashfs";
}
];
};

View File

@@ -213,6 +213,7 @@
./programs/iay.nix
./programs/iftop.nix
./programs/i3lock.nix
./programs/immersed-vr.nix
./programs/iotop.nix
./programs/java.nix
./programs/joycond-cemuhook.nix

View File

@@ -0,0 +1,34 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.immersed-vr;
in
{
options = {
programs.immersed-vr = {
enable = lib.mkEnableOption "immersed-vr";
package = lib.mkPackageOption pkgs "immersed-vr" {};
};
};
config = lib.mkIf cfg.enable {
boot = {
kernelModules = [ "v4l2loopback" "snd-aloop" ];
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback exclusive_caps=1 card_label="v4l2loopback Virtual Camera"
'';
};
environment.systemPackages = [ cfg.package ];
};
meta.maintainers = pkgs.immersed-vr.meta.maintainers;
}

View File

@@ -374,7 +374,7 @@ in
${resticCmd} cat config > /dev/null || ${resticCmd} init
''}
${optionalString (backup.paths != null && backup.paths != []) ''
cat ${pkgs.writeText "staticPaths" (concatStringsSep "\n" backup.paths)} >> ${filesFromTmpFile}
cat ${pkgs.writeText "staticPaths" (concatLines backup.paths)} >> ${filesFromTmpFile}
''}
${optionalString (backup.dynamicFilesFrom != null) ''
${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} >> ${filesFromTmpFile}

View File

@@ -351,12 +351,16 @@ in
sha256 = "0imblp0kw9vkcr7sp962jmj20fpmb3hvd3hmf4cs4x04klnq3k90";
finalImageTag = "21.1.2-debian-11-r0";
})
config.services.k3s.package.airgapImages
]
'';
description = ''
List of derivations that provide container images.
All images are linked to {file}`${imageDir}` before k3s starts and consequently imported
by the k3s agent. This option only makes sense on nodes with an enabled agent.
by the k3s agent. Consider importing the k3s airgap images archive of the k3s package in
use, if you want to pre-provision this node with all k3s container images. This option
only makes sense on nodes with an enabled agent.
'';
};

View File

@@ -205,6 +205,8 @@ in
serviceConfig = {
ExecStart = "${cfg.package}/bin/buildkite-agent start --config ${cfg.dataDir}/buildkite-agent.cfg";
User = "buildkite-agent-${name}";
# Workaround https://github.com/buildkite/agent/issues/2916
PrivateTmp = lib.mkDefault true;
RestartSec = 5;
Restart = "on-failure";
TimeoutSec = 10;

View File

@@ -10,6 +10,13 @@ let
configFile = format.generate "nats.conf" cfg.settings;
validateConfig = file:
pkgs.runCommand "validate-nats-conf" {
nativeBuildInputs = [ pkgs.nats-server ];
} ''
nats-server --config "${configFile}" -t
ln -s "${configFile}" "$out"
'';
in {
### Interface
@@ -104,7 +111,7 @@ in {
})
{
Type = "simple";
ExecStart = "${pkgs.nats-server}/bin/nats-server -c ${configFile}";
ExecStart = "${pkgs.nats-server}/bin/nats-server -c ${validateConfig configFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -SIGINT $MAINPID";
Restart = "on-failure";

View File

@@ -57,6 +57,15 @@ let
'';
};
generatePrivateKeyFile = mkOption {
default = false;
type = types.bool;
description = ''
Automatically generate a private key with
{command}`wg genkey`, at the privateKeyFile location.
'';
};
privateKeyFile = mkOption {
example = "/private/wireguard_key";
type = with types; nullOr str;
@@ -218,9 +227,24 @@ let
writeScriptFile = name: text: ((pkgs.writeShellScriptBin name text) + "/bin/${name}");
generatePrivateKeyScript = privateKeyFile: ''
set -e
# If the parent dir does not already exist, create it.
# Otherwise, does nothing, keeping existing permissions intact.
mkdir -p --mode 0755 "${dirOf privateKeyFile}"
if [ ! -f "${privateKeyFile}" ]; then
# Write private key file with atomically-correct permissions.
(set -e; umask 077; wg genkey > "${privateKeyFile}")
fi
'';
generateUnit = name: values:
assert assertMsg (values.configFile != null || ((values.privateKey != null) != (values.privateKeyFile != null))) "Only one of privateKey, configFile or privateKeyFile may be set";
assert assertMsg (values.generatePrivateKeyFile == false || values.privateKeyFile != null) "generatePrivateKeyFile requires privateKeyFile to be set";
let
generateKeyScriptFile = if values.generatePrivateKeyFile then writeScriptFile "generatePrivateKey.sh" (generatePrivateKeyScript values.privateKeyFile) else null;
preUpFile = if values.preUp != "" then writeScriptFile "preUp.sh" values.preUp else null;
postUp =
optional (values.privateKeyFile != null) "wg set ${name} private-key <(cat ${values.privateKeyFile})" ++
@@ -247,6 +271,7 @@ let
optionalString (values.mtu != null) "MTU = ${toString values.mtu}\n" +
optionalString (values.privateKey != null) "PrivateKey = ${values.privateKey}\n" +
optionalString (values.listenPort != null) "ListenPort = ${toString values.listenPort}\n" +
optionalString (generateKeyScriptFile != null) "PreUp = ${generateKeyScriptFile}\n" +
optionalString (preUpFile != null) "PreUp = ${preUpFile}\n" +
optionalString (postUpFile != null) "PostUp = ${postUpFile}\n" +
optionalString (preDownFile != null) "PreDown = ${preDownFile}\n" +

View File

@@ -481,29 +481,27 @@ let
RemainAfterExit = true;
};
script = ''
${optionalString (!config.boot.isContainer) "modprobe wireguard || true"}
${values.preSetup}
${ipPreMove} link add dev "${name}" type wireguard
${optionalString (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"''}
${optionalString (values.mtu != null) ''${ipPostMove} link set "${name}" mtu ${toString values.mtu}''}
${concatMapStringsSep "\n" (ip:
script = concatStringsSep "\n" (
optional (!config.boot.isContainer) "modprobe wireguard || true"
++ [
values.preSetup
''${ipPreMove} link add dev "${name}" type wireguard''
]
++ optional (values.interfaceNamespace != null && values.interfaceNamespace != values.socketNamespace) ''${ipPreMove} link set "${name}" netns "${ns}"''
++ optional (values.mtu != null) ''${ipPostMove} link set "${name}" mtu ${toString values.mtu}''
++ (map (ip:
''${ipPostMove} address add "${ip}" dev "${name}"''
) values.ips}
${concatStringsSep " " (
) values.ips)
++ [
(concatStringsSep " " (
[ ''${wg} set "${name}" private-key "${privKey}"'' ]
++ optional (values.listenPort != null) ''listen-port "${toString values.listenPort}"''
++ optional (values.fwMark != null) ''fwmark "${values.fwMark}"''
)}
${ipPostMove} link set up dev "${name}"
${values.postSetup}
'';
))
''${ipPostMove} link set up dev "${name}"''
values.postSetup
]
);
postStop = ''
${values.preShutdown}

View File

@@ -0,0 +1,42 @@
# A test that imports k3s airgapped images and verifies that all expected images are present
import ../make-test-python.nix (
{ lib, k3s, ... }:
{
name = "${k3s.name}-airgap-images";
meta.maintainers = lib.teams.k3s.members;
nodes.machine = _: {
# k3s uses enough resources the default vm fails.
virtualisation.memorySize = 1536;
virtualisation.diskSize = 4096;
services.k3s = {
enable = true;
role = "server";
package = k3s;
# Slightly reduce resource usage
extraFlags = [
"--disable coredns"
"--disable local-storage"
"--disable metrics-server"
"--disable servicelb"
"--disable traefik"
];
images = [ k3s.airgapImages ];
};
};
testScript = ''
import json
start_all()
machine.wait_for_unit("k3s")
machine.wait_until_succeeds("journalctl -r --no-pager -u k3s | grep \"Imported images from /var/lib/rancher/k3s/agent/images/\"", timeout=60)
images = json.loads(machine.succeed("crictl img -o json"))
image_names = [i["repoTags"][0] for i in images["images"]]
with open("${k3s.imagesList}") as expected_images:
for line in expected_images:
assert line.rstrip() in image_names, f"The image {line.rstrip()} is not present in the airgap images archive"
'';
}
)

View File

@@ -7,6 +7,9 @@ let
allK3s = lib.filterAttrs (n: _: lib.strings.hasPrefix "k3s_" n) pkgs;
in
{
airgap-images = lib.mapAttrs (
_: k3s: import ./airgap-images.nix { inherit system pkgs k3s; }
) allK3s;
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
etcd = lib.mapAttrs (
_: k3s:

View File

@@ -27,6 +27,7 @@ import ./make-test-python.nix (
echo some_other_file > $out/some_other_file
mkdir $out/a_dir
echo a_file > $out/a_dir/a_file
echo a_file_2 > $out/a_dir/a_file_2
'';
};
@@ -62,7 +63,10 @@ import ./make-test-python.nix (
inherit passwordFile exclude pruneOpts;
initialize = true;
repositoryFile = pkgs.writeText "repositoryFile" remoteFromFileRepository;
paths = [ "/opt/a_dir" ];
paths = [
"/opt/a_dir/a_file"
"/opt/a_dir/a_file_2"
];
dynamicFilesFrom = ''
find /opt -mindepth 1 -maxdepth 1 ! -name a_dir # all files in /opt except for a_dir
'';
@@ -144,15 +148,18 @@ import ./make-test-python.nix (
# test that remote-from-file-backup produces a snapshot
"systemctl start restic-backups-remote-from-file-backup.service",
'restic-remote-from-file-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
"mkdir /tmp/restore-2",
"restic-remote-from-file-backup restore latest -t /tmp/restore-2",
"diff -ru ${testDir} /tmp/restore-2/opt",
# test that remote-noinit-backup produces a snapshot
"systemctl start restic-backups-remote-noinit-backup.service",
'restic-remote-noinit-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
# test that restoring that snapshot produces the same directory
"mkdir /tmp/restore-2",
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-2",
"diff -ru ${testDir} /tmp/restore-2/opt",
"mkdir /tmp/restore-3",
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-3",
"diff -ru ${testDir} /tmp/restore-3/opt",
# test that rclonebackup produces a snapshot
"systemctl start restic-backups-rclonebackup.service",

View File

@@ -14,14 +14,14 @@ let
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux
version = "1.2.40.599.g606b7f29";
version = "1.2.42.290.g242057a2";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "77";
rev = "78";
deps = [
alsa-lib
@@ -88,7 +88,7 @@ stdenv.mkDerivation {
src = fetchurl {
name = "spotify-${version}-${rev}.snap";
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
hash = "sha512-XQyZbU6dJh87jEdEvks2D0EpMkjPSKROl8kurSaiPs2z4FZ2SxM2DUvHwtKemKKScdTISm3jh6wyHXwPhB8eNQ==";
hash = "sha512-3kT7SA2Q1OxgDa5duivIiHaxcROBAFjDnTx6rw2ya6o5yOVygseS02zBgWg2Qd8jq0721KbYC83u9M+MWtWhhA==";
};
nativeBuildInputs = [ wrapGAppsHook3 makeShellWrapper squashfsTools ];

View File

@@ -5,17 +5,17 @@
rustPlatform.buildRustPackage rec {
pname = "restic-integrity";
version = "1.3.0";
version = "1.3.1";
src = fetchFromGitea {
domain = "git.nwex.de";
owner = "networkException";
repo = "restic-integrity";
rev = version;
hash = "sha256-mryHePqfEawW/vLgxfm+eh4oSbcALhxvRid4kF9klTs=";
hash = "sha256-5F2nFSyqrT4JEzUb1NVk0g2LqgwRix3rfflXJ3pttvo=";
};
cargoHash = "sha256-0BvB1ijsppblEC2PNLfVt+sgM4wTdSLZ/RoDH4JrQy4=";
cargoHash = "sha256-97M7dqgTzl2ysegavwzf6xtYKum/s9cq4vgaIQR7IA0=";
meta = with lib; {
description = "CLI tool to check the integrity of a restic repository without unlocking it";

View File

@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Vim inspired text editor";
license = licenses.publicDomain;
mainProgram = "kak";
maintainers = [ ];
maintainers = with maintainers; [ philiptaron ];
platforms = platforms.unix;
};
})

View File

@@ -58,7 +58,7 @@ declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter}
description = "Kakoune support for rendering ANSI code";
homepage = "https://github.com/eraserhd/kak-ansi";
license = licenses.unlicense;
maintainers = with maintainers; [ eraserhd ];
maintainers = with maintainers; [ eraserhd philiptaron ];
platforms = platforms.all;
};
};
@@ -88,7 +88,7 @@ declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter}
description = "Kakoune integration with the Plan 9 plumber";
homepage = "https://github.com/eraserhd/kak-plumb";
license = licenses.unlicense;
maintainers = with maintainers; [ eraserhd ];
maintainers = with maintainers; [ eraserhd philiptaron ];
platforms = platforms.all;
};
};
@@ -119,7 +119,7 @@ declare-option -hidden str ansi_filter %{'"$out"'/bin/kak-ansi-filter}
description = "Help Kakoune save and restore state between sessions";
homepage = "https://gitlab.com/Screwtapello/kakoune-state-save";
license = licenses.mit;
maintainers = with maintainers; [ Flakebi ];
maintainers = with maintainers; [ Flakebi philiptaron ];
platforms = platforms.all;
};
};

View File

@@ -30,21 +30,21 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0ighhwwmc8cxdabq2wkzzr21sv6zaj90pnqi2cy8krfwm88w6jc0";
x86_64-darwin = "1fbpw0xib9vm47ab028frg789vgmkpwcdxs8m2in7ywrckl6xycy";
aarch64-linux = "0n0f518xl1fh17llsd159ldi50z2vihkghfq7plfnbnngpf0swy9";
aarch64-darwin = "03v3869yblx03j0c3njlvg7qgdmqrg8jvj9s1iyhqw1xpb2lc41c";
armv7l-linux = "12dv0vqqzriqr8ysjjx62hy2b41dky2p0rcr11wznqi259bryckr";
x86_64-linux = "1q8krqhwlqj3a76hp830nhz27sqwz9i0klh2q2b3n5l29x9cvd34";
x86_64-darwin = "1d0sp42g582ykzdpzmr1wqkc0ivg09l9zxm201fxd6irr6i6lvqz";
aarch64-linux = "0z48qlz8b7mvznr4d4vi47mibkffbsmbr2bp712h1z9s4jhx40h4";
aarch64-darwin = "01hmcnhpfdckaslz7133692n1haiq4ifbv72vbsdnzsrdxs7wd3m";
armv7l-linux = "1ifd7z1mvimckb26l1nzv6qd3vjamfrzm0h655367d93fqz4iph4";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.91.1";
version = "1.92.0";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "f1e16e1e6214d7c44d078b1f0607b2388f29d729";
rev = "b1c0a14de1414fcdaa400695b4db1c0799bc3124";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@@ -68,7 +68,7 @@ in
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "0k38pkfz9kpbpx0n50iq531mrm7qxqggks092cs4zicv815jk8wg";
sha256 = "03skx6cla4k5clncxx8wlp0j40gkqggqcs9wl0dqkrv18cljy5zz";
};
};

View File

@@ -15,10 +15,10 @@
"src": {
"owner": "libretro",
"repo": "libretro-atari800",
"rev": "8bfa3b80f6a2db365dfd1e8a6c06b7b0844327cf",
"hash": "sha256-sUv1NT5aOwULOCC9vCrlRXcvVdlfZk9dmPMZg2NGAPg="
"rev": "50141a6bf1a069abd86dd8c53aa4031f3f7cfbd1",
"hash": "sha256-pS5nvU+2eZ7We0ySN+Te6+Y3uuro5bz2FTPuLgvNCl4="
},
"version": "unstable-2024-05-18"
"version": "unstable-2024-07-25"
},
"beetle-gba": {
"fetcher": "fetchFromGitHub",
@@ -55,20 +55,20 @@
"src": {
"owner": "libretro",
"repo": "beetle-pce-libretro",
"rev": "372184b402852f9b3a3f1663ea676ffa910f6e48",
"hash": "sha256-Q15EKf2dKpmnBRx25KDAeiOOXBNUbNKNBBh16diV6tQ="
"rev": "03935421be14680a4aed799388e74ecab8167311",
"hash": "sha256-frZ+IYULs5QYGBSw8sp+kEM9U/ykEzZPM/XLdqPr7rs="
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-26"
},
"beetle-pce-fast": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "c68ee949ab5a572c0c6541d25b66e997174a09f6",
"hash": "sha256-6hGO1GGFMBJxhuGXeUulilSN5zAqYjls/b4pHnoyc0Y="
"rev": "7b7ad0760860f792f3f3a2768230397504e3f66d",
"hash": "sha256-KQLvjpUiA/p9wrUIrxd6jJddk91MEF7B58agPALmu/A="
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-26"
},
"beetle-pcfx": {
"fetcher": "fetchFromGitHub",
@@ -85,10 +85,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "9c3f4dbe9650c31fa690db230243b4eae9a2f131",
"hash": "sha256-9TJzviamGLClhS6Y9OUm1HfEtLEREaOzgaIXX4GSMYs="
"rev": "38d74b0b769e3a72e8ea574389b9cc80994e9cc8",
"hash": "sha256-1Lm7TYCTEx6hNa2tjSNWHJMh3vFhyR1oqwiuyVIu+XM="
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-26"
},
"beetle-saturn": {
"fetcher": "fetchFromGitHub",
@@ -115,10 +115,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "0e6ce96d68c1565d1cfb2d64841970f19f3cfb66",
"hash": "sha256-4LEvzyIpWBH0jfTuJaRxYe1fKdrw7/Mes6UlkxNyS58="
"rev": "1943f676c70a9ceeee51f05a7422093c525e83ca",
"hash": "sha256-ANoD95tfBtJyOokB0fdBmFA+d+iJQ4EcFTZyBNXbfMY="
},
"version": "unstable-2024-06-28"
"version": "unstable-2024-07-26"
},
"beetle-vb": {
"fetcher": "fetchFromGitHub",
@@ -165,10 +165,10 @@
"src": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "5c0115612ea84fefeebf7219c32006cd32b575ec",
"hash": "sha256-veOlN2OV6Xxl+GmH7T/DdTVCmEiSgK72QHgT9TGu89w="
"rev": "d63ec98054477d4be3398d108b6ec0a7b162349a",
"hash": "sha256-XONLqioPLJJkZMQ5e2wz0N2vMwZxsPG5FYkDeZgk+JU="
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-26"
},
"bsnes-hd": {
"fetcher": "fetchFromGitHub",
@@ -246,10 +246,10 @@
"src": {
"owner": "schellingb",
"repo": "dosbox-pure",
"rev": "1476308debfad87ce377c6cfe62db1398774cd65",
"hash": "sha256-Op+3UQoPSHOSBqOdebp9wjgTt0apTLuwlcbooPqMvLU="
"rev": "2b7544492940e2208147f2b44cf6209b97ce8493",
"hash": "sha256-felA+nEqtbgW7BJ/kJPrfqGmLcMsv8jqN4nWA4uCvOE="
},
"version": "unstable-2024-07-20"
"version": "unstable-2024-08-01"
},
"easyrpg": {
"fetcher": "fetchFromGitHub",
@@ -287,10 +287,10 @@
"src": {
"owner": "libretro",
"repo": "fbneo",
"rev": "143452d376faf0090d40241c71cc9b532b0605e0",
"hash": "sha256-6IzxMuCX6w5QXR7B3Lz/7GfgIwHQ9MaSakb0bHwG5KU="
"rev": "6fbc30a830c54304c16ba7dccd3aca2cb30bb473",
"hash": "sha256-zVrkyVskf3VIwEz50gG+z0Zp5SUeMEAX2ls9lKcyLXY="
},
"version": "unstable-2024-07-12"
"version": "unstable-2024-07-27"
},
"fceumm": {
"fetcher": "fetchFromGitHub",
@@ -307,11 +307,11 @@
"src": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "0b6b8b3753fb219cb0e3a1d55d2ec7948f2e4842",
"hash": "sha256-3U7JTNROxi71NpHERlUzGb8i9oaGdsXDtqgClqcO0kM=",
"rev": "45bf218df428123f739714ef4e65e1b96c0959b7",
"hash": "sha256-TB8cSwvwyfG3tNsMf2qXDZGMTuwnNeRlhyH8fzDnvQM=",
"fetchSubmodules": true
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-29"
},
"fmsx": {
"fetcher": "fetchFromGitHub",
@@ -348,20 +348,20 @@
"src": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "0cf1a421a2123205559c666853cdf9112382fa46",
"hash": "sha256-CjcmRMk+fL1WwiiNcFCv8FGeoPl/Ib9jMvXJRzApPNU="
"rev": "607c19668426b8945011fd11e25cfce7849f7e13",
"hash": "sha256-8uLKOxLRWbczUkhsXqjXVH7SDlIqrp0LNdzVjmxbP2U="
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-26"
},
"genesis-plus-gx": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "7f3efe569177702f77d1cdfadba6568f82e30112",
"hash": "sha256-ABuWTzN0AvHXiODMSVU0lVYr44WGWpjtEuFfe0y6URw="
"rev": "5567ea92c6a1b76d72fedaee679a997056038001",
"hash": "sha256-4NWA963BSJ9OTq8Lv1v8P3kYwY+mBTQ8uN6zspmkUB4="
},
"version": "unstable-2024-07-20"
"version": "unstable-2024-07-26"
},
"gpsp": {
"fetcher": "fetchFromGitHub",
@@ -439,10 +439,10 @@
"src": {
"owner": "libretro",
"repo": "mame2003-plus-libretro",
"rev": "eb6295935f5be566fb3aa34dae2856596c37c214",
"hash": "sha256-eYHbPi6rWvwrTPhwGGs2OmvKgs1Ks3SF+6/wgPyvUJw="
"rev": "8ffa3c773640956c02dfbcd7d5dc8e3a12fc6773",
"hash": "sha256-OzLXcXvrgNQa81n4z8MFEApqsYL4y1e9Cuela5kE34c="
},
"version": "unstable-2024-07-20"
"version": "unstable-2024-07-28"
},
"mame2010": {
"fetcher": "fetchFromGitHub",
@@ -631,10 +631,10 @@
"src": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "e87127f85b42b8ca4273f7962cdef8c30c2e2090",
"hash": "sha256-X8fcy83wGKuaYI91VTSbbOeURKNPFYbUpMliw8hat3Q="
"rev": "19f1a7d2de3a136810a84341db77d4f5eb8f3361",
"hash": "sha256-RnR6KuZa5cxw/Z+ZIZ2RhNrPRWlZupR9TDUhc2puBqQ="
},
"version": "unstable-2024-07-16"
"version": "unstable-2024-07-24"
},
"picodrive": {
"fetcher": "fetchFromGitHub",
@@ -652,22 +652,22 @@
"src": {
"owner": "jpd002",
"repo": "Play-",
"rev": "fea21169c4d1fd6aa19f8a5c2ef960af2a3be554",
"hash": "sha256-GoLETeWLvtP+DMGkFL/nDhjt85P0pgr1/NTNif1PCCo=",
"rev": "06517ef014305c8579f38fa7574ef3685181d037",
"hash": "sha256-b9lsxVRjkV85OzPE5569ZbeShji2kudbcz3amd9aXnA=",
"fetchSubmodules": true
},
"version": "unstable-2024-07-19"
"version": "unstable-2024-07-29"
},
"ppsspp": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "5edd02ef0a81fec0b9f0e6423cbea96123af083f",
"hash": "sha256-h+hXuRT/0UizOeJgdG4kqWk3mzl6Y88IdHDK/2XqsPA=",
"rev": "52cf10274c342c1dd97d91c273b109d5c859d227",
"hash": "sha256-/XDrbaMyDJgyCZd/5vYkAXw7OvIXx+oagbwqL51uCFI=",
"fetchSubmodules": true
},
"version": "unstable-2024-07-20"
"version": "unstable-2024-07-29"
},
"prboom": {
"fetcher": "fetchFromGitHub",
@@ -744,20 +744,20 @@
"src": {
"owner": "libretro",
"repo": "smsplus-gx",
"rev": "081d956e07188ba9204595c9f15d34b2b0664796",
"hash": "sha256-oVzoVvbqxbyZytXLdnlpeYZDefRRG8mxBFdhgFCPPHM="
"rev": "29cd96822f5e9b71a8ccfa13a38c6c37ed83ccac",
"hash": "sha256-jdA5PDqwYCJ0V1MxTBJr2Lsm8r9jvZ+l2g2HgrhfP30="
},
"version": "unstable-2024-07-20"
"version": "unstable-2024-07-22"
},
"snes9x": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "881eeaed9a0d7b6ce9b16b094f25101785f0e39e",
"hash": "sha256-ZDp/k9TuaVUp9xH9rvzfpbB0VSJbCFRbkMcnR/oPWLM="
"rev": "e92b93ca9cd7936134abe0b90975bc9fc009fbf0",
"hash": "sha256-zsGf+3J0k7It/QEg/9SIZrb4yg8K8/6KXUE1/dK83yg="
},
"version": "unstable-2024-07-14"
"version": "unstable-2024-07-29"
},
"snes9x2002": {
"fetcher": "fetchFromGitHub",
@@ -794,10 +794,10 @@
"src": {
"owner": "stella-emu",
"repo": "stella",
"rev": "69b300b6f9d46c4f9caa2df1f848a74163cd1173",
"hash": "sha256-8TgbZzmuwDUn23zR1/XKIOdrLwgzq18oMS1KOhSs1oQ="
"rev": "56e6bd69bc070f1d31e13610f1a7ebb1ca8bacbf",
"hash": "sha256-M2pyCeBQ3N51E6Xy+NvnQwAcuAuXL8sRvZm3nuyeFv0="
},
"version": "unstable-2024-06-30"
"version": "unstable-2024-07-30"
},
"stella2014": {
"fetcher": "fetchFromGitHub",
@@ -814,10 +814,10 @@
"src": {
"owner": "libretro",
"repo": "swanstation",
"rev": "b17b0e4348b3e21f67f84568b12a26a95d0631dc",
"hash": "sha256-Q+sDPXclfKnPFmMjgxtlY6/iK6ZnegwQ3uNoqUhDkoo="
"rev": "37cd87e14ca09ac1b558e5b2c7db4ad256865bbb",
"hash": "sha256-dNIxlTPoY4S6VMtTN22ti3DE4aU/8XN/XhAo3DMNR/E="
},
"version": "unstable-2024-07-15"
"version": "unstable-2024-07-24"
},
"tgbdual": {
"fetcher": "fetchFromGitHub",

View File

@@ -1,4 +1,20 @@
{ lib, stdenv, fetchFromGitHub, fetchurl, ant, unzip, makeWrapper, jdk, jogl, rsync, ffmpeg, batik, stripJavaArchivesHook, wrapGAppsHook3, libGL }:
{
lib,
stdenv,
fetchFromGitHub,
fetchurl,
ant,
unzip,
makeWrapper,
jdk,
jogl,
rsync,
ffmpeg,
batik,
stripJavaArchivesHook,
wrapGAppsHook3,
libGL,
}:
let
buildNumber = "1293";
vaqua = fetchurl {
@@ -37,9 +53,11 @@ let
sha256 = "sha256-N4U04znm5tULFzb7Ort28cFdG+P0wTzsbVNkEuI9pgM=";
};
arch = {
x86_64 = "amd64";
}.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name;
arch =
{
x86_64 = "amd64";
}
.${stdenv.hostPlatform.parsed.cpu.name} or stdenv.hostPlatform.parsed.cpu.name;
in
stdenv.mkDerivation rec {
pname = "processing";
@@ -52,8 +70,21 @@ stdenv.mkDerivation rec {
sha256 = "sha256-SzQemZ6iZ9o89/doV8YMv7DmyPSDyckJl3oyxJyfrm0=";
};
nativeBuildInputs = [ ant unzip makeWrapper stripJavaArchivesHook wrapGAppsHook3 ];
buildInputs = [ jdk jogl ant rsync ffmpeg batik ];
nativeBuildInputs = [
ant
unzip
makeWrapper
stripJavaArchivesHook
wrapGAppsHook3
];
buildInputs = [
jdk
jogl
ant
rsync
ffmpeg
batik
];
dontWrapGApps = true;
@@ -74,7 +105,7 @@ stdenv.mkDerivation rec {
mv app/lib/{jna-5.10.0/dist/jna.jar,}
mv app/lib/{jna-5.10.0/dist/jna-platform.jar,}
ln -sf ${batik}/* java/libraries/svg/library/
cp java/libraries/svg/library/lib/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
cp java/libraries/svg/library/share/java/batik-all-${batik.version}.jar java/libraries/svg/library/batik.jar
echo "tarring ffmpeg"
tar --checkpoint=10000 -czf build/shared/tools/MovieMaker/ffmpeg-5.0.1.gz ${ffmpeg}
cd build
@@ -108,7 +139,10 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Language and IDE for electronic arts";
homepage = "https://processing.org";
license = with licenses; [ gpl2Only lgpl21Only ];
license = with licenses; [
gpl2Only
lgpl21Only
];
platforms = platforms.linux;
maintainers = with maintainers; [ evan-goode ];
};

View File

@@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "oxker";
version = "0.6.4";
version = "0.7.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-dBehxqr/UCXIQDMrGFN6ID+v0NYi50JTHuML3su2O0A=";
hash = "sha256-bn+5LBqZNwrhVX0KfXNBS00rE+BybN/NJmL4lu/oua0=";
};
cargoHash = "sha256-wI7yqRvaszBP4OtlWbWIZ9RLf5y7dx2KufYLaK+PWps=";
cargoHash = "sha256-ssjLfNPP8g+2IOv0AQb+Soe/0e1H2LoqFSpmljj/z3o=";
meta = with lib; {
description = "Simple tui to view & control docker containers";

View File

@@ -4,17 +4,17 @@
}:
let
rev = "a210037760ca3ca9016ca1831c97531318df70fe";
rev = "27771d884d3607cf6331da16b15e27aba819573d";
in stdenv.mkDerivation (finalAttrs: {
pname = "translatelocally";
version = "unstable-2023-09-20";
version = "0-unstable-2024-05-12";
src = fetchFromGitHub {
owner = "XapaJIaMnu";
repo = "translateLocally";
inherit rev;
hash = "sha256-T7cZdR09yDrPTwYxvDIaKTdV4mrB+gTHYVfch5BQ+PE=";
hash = "sha256-oPtiyONqkZ5xOIhDezk8mkmi9O8gNYwHo0gcqSa89qI=";
fetchSubmodules = true;
};
@@ -42,6 +42,7 @@ in stdenv.mkDerivation (finalAttrs: {
qt6.qttools
qt6.qtbase
qt6.qtsvg
qt6.qtwayland
libarchive
pcre2
protobuf

View File

@@ -1,20 +1,20 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "127.0.2651.49";
version = "127.0.2651.61";
revision = "1";
hash = "sha256-fMB7CuC5u8RNbbtFEZWFIIBwZTPkTP9LVs7DCXltGEA=";
hash = "sha256-M67QOKZF4+dGCdyKfe5EF5K4A6bip2/a4J1k7+v3QMQ=";
};
dev = import ./browser.nix {
channel = "dev";
version = "128.0.2677.1";
version = "128.0.2708.0";
revision = "1";
hash = "sha256-aKrNs44FZNhC/fGT1UvyE2Fx8Q53ahAu91Bu86E49o8=";
hash = "sha256-QFtVQTcbiF165/Xqmo8kAoo4kQegqqzMVcr8mQiraH8=";
};
stable = import ./browser.nix {
channel = "stable";
version = "126.0.2592.102";
version = "126.0.2592.113";
revision = "1";
hash = "sha256-xCjtsZoetxlOV77VSbt09cGbpfHUYhTA6WXuZAvD/a4=";
hash = "sha256-wSNXCUTG9eCnqe5Ir8pE8Z7zuY2KsDgTLKKTAQeXS2s=";
};
}

View File

@@ -0,0 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.11%2Bk3s2/k3s-airgap-images-amd64.tar.zst",
"sha256": "199nxfxwr52cddk2ljchhxaigyi0al3lzyc0jy2am4aljlm0jivy"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.11%2Bk3s2/k3s-airgap-images-arm.tar.zst",
"sha256": "02riiiwwr0h3zhlxxmjn5p8ws354rr2gk44x3kz9d7sxqn17sz4w"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.11%2Bk3s2/k3s-airgap-images-arm64.tar.zst",
"sha256": "0bs9wj33appb9xpsb2v1xz4xck4qq6g74flnc0mxf9warwr4988r"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.28.11%2Bk3s2/k3s-images.txt",
"sha256": "0245zra2h8756kq2v8nwl6gji749xlvy1y1bkab8vz5b0vpqhfxy"
}
}

View File

@@ -4,6 +4,7 @@
k3sRepoSha256 = "1k1k3qmxc7n2h2i0g52ad4gnpq0qrvxnl7p2y0g9dss1ancgqwsd";
k3sVendorHash = "sha256-tzcMcsTmY8lG+9EyYkzYJm1YU/8tGpxpH7oZ4Jl/yNU=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.12.2";
k3sRootSha256 = "1gjynvr350qni5mskgm7pcc7alss4gms4jmkiv453vs8mmma9c9k";
k3sCNIVersion = "1.4.0-k3s2";

View File

@@ -0,0 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s-airgap-images-amd64.tar.zst",
"sha256": "1d1adpjxxgkflm4xqzynsib67pga85r1qmhkhh540nl0rppbq7gr"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s-airgap-images-arm.tar.zst",
"sha256": "07c085y5qy8h5ja2ms3np61d7wkp6gic82snx70qlsm5fm3ak3z7"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s-airgap-images-arm64.tar.zst",
"sha256": "0ljajvz0n0mmwkdl1rwpwqmhgxqivakdpfyaqsascdzfk0qpv5gp"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.29.6%2Bk3s2/k3s-images.txt",
"sha256": "0245zra2h8756kq2v8nwl6gji749xlvy1y1bkab8vz5b0vpqhfxy"
}
}

View File

@@ -4,6 +4,7 @@
k3sRepoSha256 = "0wagfh4vbvyi62np6zx7b4p6myn0xavw691y78rnbl32jckiy14f";
k3sVendorHash = "sha256-o36gf3q7Vv+RoY681cL44rU2QFrdFW3EbRpw3dLcVTI=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.13.0";
k3sRootSha256 = "1jq5f0lm08abx5ikarf92z56fvx4kjpy2nmzaazblb34lajw87vj";
k3sCNIVersion = "1.4.0-k3s2";

View File

@@ -0,0 +1,18 @@
{
"airgap-images-amd64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.2%2Bk3s2/k3s-airgap-images-amd64.tar.zst",
"sha256": "1d1adpjxxgkflm4xqzynsib67pga85r1qmhkhh540nl0rppbq7gr"
},
"airgap-images-arm": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.2%2Bk3s2/k3s-airgap-images-arm.tar.zst",
"sha256": "1hjhlj4b5ddaqhpmqbbvhvgzryi5j84i8bmpl3yij87yjkz3kld7"
},
"airgap-images-arm64": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.2%2Bk3s2/k3s-airgap-images-arm64.tar.zst",
"sha256": "1r9rd70qp8x57j3hdpgwgkzchykphw0x4yd8c1jwjfaqm5df1w0d"
},
"images-list": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.30.2%2Bk3s2/k3s-images.txt",
"sha256": "0245zra2h8756kq2v8nwl6gji749xlvy1y1bkab8vz5b0vpqhfxy"
}
}

View File

@@ -4,6 +4,7 @@
k3sRepoSha256 = "0hy0f44hj5n5nscr0p52dbklvj2ki2vs7k0cgh1r8xlg4p6fn1b0";
k3sVendorHash = "sha256-Mj9Q3TgqZoJluG4/nyuw2WHnB3OJ+/mlV7duzWt1B1A=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.13.0";
k3sRootSha256 = "1jq5f0lm08abx5ikarf92z56fvx4kjpy2nmzaazblb34lajw87vj";
k3sCNIVersion = "1.4.0-k3s2";

View File

@@ -12,6 +12,8 @@ lib:
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
# see also https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/manifests/traefik.yaml#L8
chartVersions,
# Air gap container images that are released as assets with every k3s release
imagesVersions,
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
k3sCNIVersion,
k3sCNISha256 ? lib.fakeHash,
@@ -30,41 +32,42 @@ lib:
# It is likely we will have to split out additional builders for additional
# versions in the future, or customize this one further.
{
lib,
makeWrapper,
socat,
iptables,
iproute2,
ipset,
bash,
bridge-utils,
btrfs-progs,
conntrack-tools,
buildGoModule,
runc,
rsync,
kmod,
libseccomp,
pkg-config,
conntrack-tools,
coreutils,
ethtool,
util-linux,
fetchFromGitHub,
fetchgit,
fetchurl,
fetchzip,
fetchgit,
zstd,
yq-go,
sqlite,
nixosTests,
pkgsBuildBuild,
go,
runCommand,
bash,
procps,
coreutils,
gnugrep,
findutils,
gnugrep,
gnused,
go,
iproute2,
ipset,
iptables,
kmod,
lib,
libseccomp,
makeWrapper,
nixosTests,
pkg-config,
pkgsBuildBuild,
procps,
rsync,
runc,
runCommand,
socat,
sqlite,
stdenv,
systemd,
util-linux,
yq-go,
zstd,
}:
# k3s is a kinda weird derivation. One of the main points of k3s is the
@@ -122,6 +125,39 @@ let
traefikChart = fetchurl chartVersions.traefik;
traefik-crdChart = fetchurl chartVersions.traefik-crd;
mutFirstChar =
f: s:
let
firstChar = f (lib.substring 0 1 s);
rest = lib.substring 1 (-1) s;
in
firstChar + rest;
kebabToCamel =
s:
mutFirstChar lib.toLower (lib.concatMapStrings (mutFirstChar lib.toUpper) (lib.splitString "-" s));
# finds the images archive for the desired architecture, aborts in case no suitable archive is found
findImagesArchive =
arch:
let
imagesVersionsNames = builtins.attrNames imagesVersions;
in
lib.findFirst (
n: lib.hasInfix arch n
) (abort "k3s: no airgap images for ${arch} available") imagesVersionsNames;
# a shortcut that provides the images archive for the host platform. Currently only supports
# aarch64 (arm64) and x86_64 (amd64), aborts on other architectures.
airgapImages = fetchurl (
if stdenv.isAarch64 then
imagesVersions.${findImagesArchive "arm64"}
else if stdenv.isx86_64 then
imagesVersions.${findImagesArchive "amd64"}
else
abort "k3s: airgap images cannot be found automatically for architecture ${stdenv.hostPlatform.linuxArch}, consider using an image archive with an explicit architecture."
);
# so, k3s is a complicated thing to package
# This derivation attempts to avoid including any random binaries from the
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
@@ -417,21 +453,26 @@ buildGoModule rec {
runHook postInstallCheck
'';
passthru = {
k3sCNIPlugins = k3sCNIPlugins;
k3sContainerd = k3sContainerd;
k3sRepo = k3sRepo;
k3sRoot = k3sRoot;
k3sServer = k3sServer;
mkTests =
version:
let
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
in
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
tests = passthru.mkTests k3sVersion;
updateScript = updateScript;
};
passthru =
{
inherit airgapImages;
k3sCNIPlugins = k3sCNIPlugins;
k3sContainerd = k3sContainerd;
k3sRepo = k3sRepo;
k3sRoot = k3sRoot;
k3sServer = k3sServer;
mkTests =
version:
let
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
in
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
tests = passthru.mkTests k3sVersion;
updateScript = updateScript;
}
// (lib.mapAttrs' (
name: _: lib.nameValuePair (kebabToCamel name) (fetchurl imagesVersions.${name})
) imagesVersions);
meta = baseMeta;
}

View File

@@ -69,6 +69,24 @@ cat > chart-versions.nix.update <<EOF
EOF
mv chart-versions.nix.update chart-versions.nix
# Get all airgap images files associated with this release
IMAGES_ARCHIVES=$(curl "https://api.github.com/repos/k3s-io/k3s/releases/tags/v${K3S_VERSION}" | \
# Filter the assets so that only zstd archives and text files that have "images" in their name remain
# Modify the name and write the modified name and download URL to a string
jq -r '.assets[] | select(.name | contains("images")) |
select(.content_type == "application/zstd" or .content_type == "text/plain; charset=utf-8") |
.name = (.name | sub("k3s-"; "") | sub(".tar.zst"; "") | sub(".txt"; "-list")) |
"\(.name) \(.browser_download_url)"')
# Create a JSON object for each airgap images file and prefetch all download URLs in the process
# Combine all JSON objects and write the result to images-versions.json
while read -r name url; do
jq --null-input --arg name "$name" \
--arg url "$url" \
--arg sha256 "$(nix-prefetch-url --quiet "${url}")" \
'{$name: {"url": $url, "sha256": $sha256}}'
done <<<"${IMAGES_ARCHIVES}" | jq --slurp 'reduce .[] as $item ({}; . * $item)' > images-versions.json
FILE_GO_MOD=${WORKDIR}/go.mod
curl --silent https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT}/go.mod > $FILE_GO_MOD
@@ -105,6 +123,7 @@ cat >versions.nix <<EOF
k3sRepoSha256 = "${K3S_REPO_SHA256}";
k3sVendorHash = "${FAKE_HASH}";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "${K3S_ROOT_VERSION}";
k3sRootSha256 = "${K3S_ROOT_SHA256}";
k3sCNIVersion = "${CNIPLUGINS_VERSION}";

View File

@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubectl-view-secret";
version = "0.12.0";
version = "0.12.1";
src = fetchFromGitHub {
owner = "elsesiy";
repo = pname;
rev = "v${version}";
hash = "sha256-5X5rOoERx6HoG3cOBpYm12anMXXDjTtHZzQOOlJeJSs=";
hash = "sha256-0/gz3fquqZCRbHQrBBLXs2rwQPkyktEcBMQ46GfMauo=";
};
vendorHash = "sha256-oQvmS05nev+ypfkKAlTN+JbzPux5iAzHsojW8SxtB70=";
vendorHash = "sha256-OJboCLa+ntKOhmQ9zs5aF/mio5OFsr/f/IS0PAwAi6U=";
subPackages = [ "./cmd/" ];

View File

@@ -1,141 +1,83 @@
{ lib
, stdenv
, fetchurl
, autoPatchelfHook
, dpkg
, makeShellWrapper
, wrapGAppsHook3
, alsa-lib
, at-spi2-atk
, at-spi2-core
, atk
, cairo
, cups
, dbus
, expat
, ffmpeg
, fontconfig
, freetype
, gdk-pixbuf
, glib
, gtk3
, libappindicator-gtk3
, libdrm
, libnotify
, libpulseaudio
, libsecret
, libuuid
, libxkbcommon
, mesa
, nss
, pango
, systemd
, xdg-utils
, xorg
, wayland
, pipewire
, fetchFromGitHub
, pnpm
, nodejs
, electron_30
, makeWrapper
, copyDesktopItems
, makeDesktopItem
}:
stdenv.mkDerivation rec {
pname = "armcord";
version = "3.2.7";
src =
let
base = "https://github.com/ArmCord/ArmCord/releases/download";
in
{
x86_64-linux = fetchurl {
url = "${base}/v${version}/ArmCord_${version}_amd64.deb";
hash = "sha256-TFgO9ddz/Svi4QfugjTTejpV/m+xc1548cokzhVgwkw=";
};
aarch64-linux = fetchurl {
url = "${base}/v${version}/ArmCord_${version}_arm64.deb";
hash = "sha256-AJ4TSG3ry2P40vzK1fsaWgQ/O0z9r3z8+0uxSmddZKo=";
};
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchFromGitHub {
owner = "ArmCord";
repo = "ArmCord";
rev = "v${version}";
hash = "sha256-+o/w3bYW3IR3APo7HppSMOTl+cU+01J+p1L0YrYgsUU=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg makeShellWrapper wrapGAppsHook3 ];
nativeBuildInputs = [ pnpm.configHook nodejs makeWrapper copyDesktopItems ];
dontWrapGApps = true;
pnpmDeps = pnpm.fetchDeps {
inherit pname version src;
hash = "sha256-UJ3E/2+MspgVbRT7s6K4lGDvTQbWD3bwyICbJjctwDI=";
};
buildInputs = [
alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
dbus
expat
ffmpeg
fontconfig
freetype
gdk-pixbuf
glib
gtk3
pango
systemd
mesa # for libgbm
nss
libuuid
libdrm
libnotify
libsecret
libpulseaudio
libxkbcommon
libappindicator-gtk3
xorg.libX11
xorg.libxcb
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXi
xorg.libXrandr
xorg.libXrender
xorg.libXScrnSaver
xorg.libxshmfence
xorg.libXtst
wayland
pipewire
];
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
sourceRoot = ".";
unpackCmd = "dpkg-deb -x $src .";
buildPhase = ''
runHook preBuild
pnpm build
npm exec electron-builder -- \
--dir \
-c.electronDist="${electron_30}/libexec/electron" \
-c.electronVersion="${electron_30.version}"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
cp -R "opt" "$out"
cp -R "usr/share" "$out/share"
chmod -R g-w "$out"
mkdir -p "$out/share/lib/armcord"
cp -r ./dist/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/armcord"
# use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
# see https://github.com/NixOS/nixpkgs/issues/172583
makeShellWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
install -Dm644 "build/icon.png" "$out/share/icons/hicolor/256x256/apps/armcord.png"
makeShellWrapper "${lib.getExe electron_30}" "$out/bin/armcord" \
--add-flags "$out/share/lib/armcord/resources/app.asar" \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
# Fix desktop link
substituteInPlace $out/share/applications/armcord.desktop \
--replace /opt/ArmCord/ $out/bin/
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--set-default ELECTRON_IS_DEV 0 \
--inherit-argv0
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "armcord";
desktopName = "ArmCord";
exec = "${placeholder "out"}/bin/armcord %U";
icon = "armcord";
comment = meta.description;
categories = [ "Network" ];
startupWMClass = "ArmCord";
terminal = false;
})
];
meta = with lib; {
description = "Lightweight, alternative desktop client for Discord";
homepage = "https://armcord.app";
downloadPage = "https://github.com/ArmCord/ArmCord";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.osl3;
maintainers = with maintainers; [ wrmilling ];
maintainers = with maintainers; [ wrmilling water-sucks ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "armcord";
};

View File

@@ -1,94 +1,247 @@
{ alsa-lib
, autoPatchelfHook
, fetchurl
, gtk3
, gtk4
, libnotify
, copyDesktopItems
, makeDesktopItem
, makeWrapper
, mesa
, nss
, lib
, libdrm
, qt5
, stdenv
, udev
, xdg-utils
, xorg
{
lib,
stdenv,
patchelf,
makeWrapper,
fetchurl,
writeScript,
# Libraries
glib,
fontconfig,
freetype,
pango,
cairo,
libX11,
libXi,
atk,
nss,
nspr,
libXcursor,
libXext,
libXfixes,
libXrender,
libXScrnSaver,
libXcomposite,
libxcb,
alsa-lib,
libXdamage,
libXtst,
libXrandr,
libxshmfence,
expat,
cups,
dbus,
gtk3,
gtk4,
gdk-pixbuf,
gcc-unwrapped,
at-spi2-atk,
at-spi2-core,
libkrb5,
libdrm,
libglvnd,
mesa,
libxkbcommon,
pipewire,
wayland,
coreutils,
# command line arguments which are always set e.g "--disable-gpu"
commandLineArgs ? "",
systemd,
# Loaded at runtime.
libexif,
pciutils,
liberation_ttf,
curl,
util-linux,
xdg-utils,
wget,
flac,
harfbuzz,
icu,
libpng,
libopus,
snappy,
speechd,
bzip2,
libcap,
# Necessary for USB audio devices.
pulseSupport ? true,
libpulseaudio,
gsettings-desktop-schemas,
# Allow video acceleration via VA-API to be disabled on systems where is doesn't
# work reliably (--enable-features=VaapiVideoDecoder)
libvaSupport ? true,
libva,
# For Vulkan support (--enable-features=Vulkan)
addDriverRunpath,
}:
stdenv.mkDerivation rec {
let
opusWithCustomModes = libopus.override { withCustomModes = true; };
deps =
[
glib
fontconfig
freetype
pango
cairo
libX11
libXi
atk
nss
nspr
libXcursor
libXext
libXfixes
libXrender
libXScrnSaver
libXcomposite
libxcb
alsa-lib
libXdamage
libXtst
libXrandr
libxshmfence
expat
cups
dbus
gdk-pixbuf
gcc-unwrapped.lib
systemd
libexif
pciutils
liberation_ttf
curl
util-linux
wget
flac
harfbuzz
icu
libpng
opusWithCustomModes
snappy
speechd
bzip2
libcap
at-spi2-atk
at-spi2-core
libkrb5
libdrm
libglvnd
mesa
coreutils
libxkbcommon
pipewire
wayland
]
++ lib.optional pulseSupport libpulseaudio
++ lib.optional libvaSupport libva
++ [
gtk3
gtk4
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "wavebox";
version = "10.124.17-2";
version = "10.127.10-2";
src = fetchurl {
url = "https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz";
sha256 = "sha256-RS1/zs/rFWsj29BrT8Mb2IXgy9brBsQypxfvnd7pKl0=";
url = "https://download.wavebox.app/stable/linux/deb/amd64/wavebox_${finalAttrs.version}_amd64.deb";
hash = "sha256-x095V2UhRJfPmmG+4/i7I9AnCU4WVrw0b71nEu73uew=";
};
# don't remove runtime deps
dontPatchELF = true;
# ignore optional Qt 6 shim
autoPatchelfIgnoreMissingDeps = [ "libQt6Widgets.so.6" "libQt6Gui.so.6" "libQt6Core.so.6" ];
nativeBuildInputs = [ autoPatchelfHook makeWrapper qt5.wrapQtAppsHook copyDesktopItems ];
buildInputs = with xorg; [
libXdmcp
libXScrnSaver
libXtst
libxshmfence
libXdamage
] ++ [
alsa-lib
nativeBuildInputs = [
patchelf
makeWrapper
];
buildInputs = [
gsettings-desktop-schemas # needed for GSETTINGS_SCHEMAS_PATH
glib
gtk3
nss
libdrm
mesa
gtk4
qt5.qtbase
];
runtimeDependencies = [ (lib.getLib udev) libnotify gtk4 ];
unpackPhase = ''
ar x $src
tar xf data.tar.xz
'';
desktopItems = [
(makeDesktopItem rec {
name = "Wavebox";
exec = "wavebox";
icon = "wavebox";
desktopName = name;
genericName = name;
categories = [ "Network" "WebBrowser" ];
})
];
rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/opt/wavebox
cp -r * $out/opt/wavebox
exe=$out/bin/wavebox
# provide icon for desktop item
mkdir -p $out/share/icons/hicolor/128x128/apps
ln -s $out/opt/wavebox/product_logo_128.png $out/share/icons/hicolor/128x128/apps/wavebox.png
mkdir -p $out/bin $out/share
cp -a opt/* $out/share
cp -a usr/share/* $out/share
substituteInPlace $out/share/wavebox.io/wavebox/wavebox-launcher \
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
substituteInPlace $out/share/applications/wavebox.desktop \
--replace-fail /opt/wavebox.io/wavebox/wavebox-launcher $exe
substituteInPlace $out/share/menu/wavebox.menu \
--replace-fail /opt $out/share \
--replace-fail $out/share/wavebox.io/wavebox/wavebox $exe
for icon_file in $out/share/wavebox.io/wavebox/product_logo_[0-9]*.png; do
num_and_suffix="''${icon_file##*logo_}"
icon_size="''${num_and_suffix%.*}"
logo_output_prefix="$out/share/icons/hicolor"
logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
mkdir -p "$logo_output_path"
mv "$icon_file" "$logo_output_path/wavebox.png"
done
makeWrapper "$out/share/wavebox.io/wavebox/wavebox" "$exe" \
--prefix LD_LIBRARY_PATH : "$rpath" \
--prefix PATH : "${lib.makeBinPath deps}" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
--set CHROME_WRAPPER "wavebox" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${lib.escapeShellArg commandLineArgs}
for elf in $out/share/wavebox.io/wavebox/{wavebox,chrome-sandbox,chrome_crashpad_handler}; do
patchelf --set-rpath $rpath $elf
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
done
runHook postInstall
'';
postFixup = ''
makeWrapper $out/opt/wavebox/wavebox-launcher $out/bin/wavebox \
--prefix PATH : ${xdg-utils}/bin
'';
passthru = {
updateScript = writeScript "update-wavebox.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update curl jq
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Wavebox messaging application";
homepage = "https://wavebox.io";
license = licenses.mpl20;
maintainers = with maintainers; [ rawkode ];
platforms = [ "x86_64-linux" ];
hydraPlatforms = [ ];
version=$(curl "https://download.wavebox.app/stable/linux/latest.json" | jq --raw-output '.["urls"]["deb"] | match("https://download.wavebox.app/stable/linux/deb/amd64/wavebox_(.+)_amd64.deb").captures[0]["string"]')
nix-update wavebox --version "$version"
'';
};
}
meta = {
description = "Wavebox Productivity Browser";
homepage = "https://wavebox.io";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ flexiondotorg ];
platforms = [ "x86_64-linux" ];
mainProgram = "wavebox";
};
})

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update curl jq
version=$(curl "https://download.wavebox.app/stable/linux/latest.json" | jq --raw-output '.["urls"]["tar"] | match("https://download.wavebox.app/stable/linux/tar/Wavebox_(.+).tar.gz").captures[0]["string"]')
nix-update wavebox --version "$version"

View File

@@ -90,14 +90,14 @@
}:
let
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "HandBrake";
repo = "HandBrake";
# uses version commit for logic in version.txt
rev = "5edf59c1da54fe1c9a487d09e8f52561fe49cb2a";
hash = "sha256-gr2UhqPY5mZOP8KBvk9yydl4AkTlqE83hYAcLwSv1Is=";
rev = "e9ff2bdf1ac670eb9c6d6170e27c999c05535127";
hash = "sha256-grbT+oRIyLnyJowhdqw7qGRg11HzWGIU9yTwUQhCWtg=";
};
# Handbrake maintains a set of ffmpeg patches. In particular, these
@@ -105,10 +105,10 @@ let
# https://github.com/HandBrake/HandBrake/issues/4029
# base ffmpeg version is specified in:
# https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs
ffmpeg-version = "7.0";
ffmpeg-version = "7.0.1";
ffmpeg-hb = (ffmpeg_7-full.override {
version = ffmpeg-version;
hash = "sha256-RdDfv+0y90XpgjIRvTjsemKyGunzDbsh4j4WiE9rfyM=";
hash = "sha256-HiCT6bvLx4zmJ6ffutoimdz5ENQ55CRF64WBT3HeXMA=";
}).overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [
"${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch"
@@ -133,8 +133,7 @@ let
"${src}/contrib/ffmpeg/A16-amfenc-HDR-metadata.patch"
"${src}/contrib/ffmpeg/A17-av1dec-dovi-rpu.patch"
"${src}/contrib/ffmpeg/A18-avformat-mov-add-support-audio-fallback-track-ref.patch"
"${src}/contrib/ffmpeg/A19-mov-ignore-old-infe-box.patch"
"${src}/contrib/ffmpeg/A20-mov-free-infe-on-failure.patch"
"${src}/contrib/ffmpeg/A19-fix-qsv-on-gcc-14.patch"
];
});

View File

@@ -1,85 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, alsa-lib
, cmake
, ffmpeg
, fribidi
, game-music-emu
, libXdmcp
, libXv
, libass
, libcddb
, libcdio
, libpulseaudio
, libsidplayfp
, libva
, libxcb
, pkg-config
, qtbase
, qttools
, taglib
, vulkan-headers
, vulkan-tools
, wrapQtAppsHook
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qmplay2";
version = "24.04.07";
src = fetchFromGitHub {
owner = "zaps166";
repo = "QMPlay2";
rev = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-WIDGApvl+aaB3Vdv0sHY+FHWqzreWWd3/xOLV11YfxM=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
buildInputs = [
alsa-lib
ffmpeg
fribidi
game-music-emu
libXdmcp
libXv
libass
libcddb
libcdio
libpulseaudio
libsidplayfp
libva
libxcb
qtbase
qttools
taglib
vulkan-headers
vulkan-tools
];
postInstall = ''
# Because we think it is better to use only lowercase letters!
ln -s $out/bin/QMPlay2 $out/bin/qmplay2
'';
meta = {
homepage = "https://github.com/zaps166/QMPlay2/";
description = "Qt-based Multimedia player";
longDescription = ''
QMPlay2 is a video and audio player. It can play all formats supported by
FFmpeg, libmodplug (including J2B and SFX). It also supports Audio CD, raw
files, Rayman 2 music and chiptunes. It contains YouTube and MyFreeMP3
browser.
'';
changelog = "https://github.com/zaps166/QMPlay2/releases/tag/${finalAttrs.version}";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ AndersonTorres kashw2 ];
platforms = lib.platforms.linux;
};
})

View File

@@ -15,13 +15,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.30.3";
version = "1.30.4";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
hash = "sha256-Cv76S2Ylsjzjc6rjCcRJyFjrIrm76I5pqDa1FI+Oq9s=";
hash = "sha256-PfG5RlUmMGMduTApdlHoI+4kdRprvWXeXZDkd6brVkM=";
};
vendorHash = null;

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchzip, applyPatches, lib, ... }:
{ fetchurl, fetchzip, applyPatches, lib, ... }:
{ url
, hash ? ""
, sha256 ? ""
@@ -8,19 +8,12 @@
, patches ? [ ]
, description ? null
, homepage ? null
, unpack ? true # whether to use fetchzip rather than fetchurl
}:
applyPatches ({
inherit patches;
src = fetchzip {
src = (if unpack then fetchzip else fetchurl) {
inherit url hash sha256;
postFetch = ''
pushd $out &>/dev/null
if [ ! -f ./appinfo/info.xml ]; then
echo "appinfo/info.xml doesn't exist in $out, aborting!"
exit 1
fi
popd &>/dev/null
'';
meta = {
license = lib.licenses.${license};
longDescription = description;
@@ -31,6 +24,12 @@ applyPatches ({
inherit homepage;
};
};
prePatch = ''
if [ ! -f ./appinfo/info.xml ]; then
echo "appinfo/info.xml doesn't exist in $out, aborting!"
exit 1
fi
'';
} // lib.optionalAttrs (appName != null && appVersion != null) {
name = "nextcloud-app-${appName}-${appVersion}";
})

View File

@@ -326,7 +326,12 @@ fn main() -> eyre::Result<()> {
let contents =
fs::read(&args[1]).wrap_err_with(|| format!("failed to open file {:?}", &args[1]))?;
let input = serde_json::from_slice::<Vec<StoreInput>>(&contents)
.wrap_err_with(|| format!("failed to parse JSON in {:?}", &args[1]))?;
.wrap_err_with(|| {
let text = String::from_utf8_lossy(&contents);
format!("failed to parse JSON '{}' in {:?}",
text,
&args[1])
})?;
let output = &args[2];
let out_path = Path::new(output);

View File

@@ -1,33 +1,41 @@
{
stdenv,
cmake,
lsb-release,
ninja,
lib,
fetchFromGitHub,
fetchurl,
copyDesktopItems,
makeDesktopItem,
python3,
stdenv,
SDL2,
pkg-config,
libpulseaudio,
libpng,
imagemagick,
zenity,
makeWrapper,
imgui,
stormlib,
libzip,
nlohmann_json,
tinyxml-2,
spdlog,
cmake,
copyDesktopItems,
fetchFromGitHub,
fetchpatch,
fetchurl,
imagemagick,
imgui,
libpng,
libpulseaudio,
libzip,
lsb-release,
makeDesktopItem,
makeWrapper,
ninja,
nlohmann_json,
pkg-config,
python3,
spdlog,
stormlib,
tinyxml-2,
writeTextFile,
zenity,
}:
let
# This would get fetched at build time otherwise, see:
# https://github.com/HarbourMasters/2ship2harkinian/blob/1.0.2/mm/CMakeLists.txt#L708
gamecontrollerdb = fetchurl {
name = "gamecontrollerdb.txt";
url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/b1759cf84028aab89caa1c395e198c340b8dfd89/gamecontrollerdb.txt";
hash = "sha256-7C5EkqBIhLGNJuhi3832y0ffW5Ep7iuTYXb1bL5h2Js=";
};
# 2ship needs a specific imgui version
imgui' = imgui.overrideAttrs rec {
version = "1.90.6";
@@ -39,40 +47,6 @@ let
};
};
# Apply 2ship's patch for stormlib
stormlib' = stormlib.overrideAttrs (prev: rec {
version = "9.25";
src = fetchFromGitHub {
owner = "ladislav-zezula";
repo = "StormLib";
rev = "v${version}";
hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
};
buildInputs = prev.buildInputs ++ [ pkg-config ];
patches = (prev.patches or [ ]) ++ [
(fetchpatch {
name = "stormlib-optimizations.patch";
url = "https://github.com/briaguya-ai/StormLib/commit/ff338b230544f8b2bb68d2fbe075175ed2fd758c.patch";
hash = "sha256-Jbnsu5E6PkBifcx/yULMVC//ab7tszYgktS09Azs5+4=";
})
];
});
# This would get fetched at build time otherwise, see:
# https://github.com/HarbourMasters/Shipwright/blob/e46c60a7a1396374e23f7a1f7122ddf9efcadff7/soh/CMakeLists.txt#L736
gamecontrollerdb = fetchurl {
name = "gamecontrollerdb.txt";
url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/30cb02c07001234f021eadf64035ef07753c1263/gamecontrollerdb.txt";
hash = "sha256-Q/OUrvoLY4fF/EJBmQC57y5b3D0Rmlyd9zAmB7U8SUU=";
};
thread_pool = fetchFromGitHub {
owner = "bshoshany";
repo = "thread-pool";
rev = "v4.1.0";
hash = "sha256-zhRFEmPYNFLqQCfvdAaG5VBNle9Qm8FepIIIrT9sh88=";
};
libgfxd = fetchFromGitHub {
owner = "glankk";
repo = "libgfxd";
@@ -93,51 +67,83 @@ let
url = "https://raw.githubusercontent.com/nothings/stb/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h";
hash = "sha256-xUsVponmofMsdeLsI6+kQuPg436JS3PBl00IZ5sg3Vw=";
};
# Apply 2ship's patch for stormlib
stormlib' = stormlib.overrideAttrs (prev: rec {
version = "9.25";
src = fetchFromGitHub {
owner = "ladislav-zezula";
repo = "StormLib";
rev = "v${version}";
hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
};
buildInputs = prev.buildInputs ++ [ pkg-config ];
patches = (prev.patches or [ ]) ++ [
(fetchpatch {
name = "stormlib-optimizations.patch";
url = "https://github.com/briaguya-ai/StormLib/commit/ff338b230544f8b2bb68d2fbe075175ed2fd758c.patch";
hash = "sha256-Jbnsu5E6PkBifcx/yULMVC//ab7tszYgktS09Azs5+4=";
})
];
});
thread_pool = fetchFromGitHub {
owner = "bshoshany";
repo = "thread-pool";
rev = "v4.1.0";
hash = "sha256-zhRFEmPYNFLqQCfvdAaG5VBNle9Qm8FepIIIrT9sh88=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "2ship2harkinian";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "HarbourMasters";
repo = "2ship2harkinian";
rev = finalAttrs.version;
hash = "sha256-czPAmqlXfhOjOYYssDuKt2YDlMlkruNx8EDXo1ksb14=";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-1iSFzroKxwFpsIGNMetSlQKTKRWCy7QtgCTepFdSeY8=";
fetchSubmodules = true;
};
patches = [
# remove fetching stb as we will patch our own
./0001-deps.patch
];
nativeBuildInputs = [
cmake
copyDesktopItems
imagemagick
lsb-release
makeWrapper
ninja
pkg-config
lsb-release
python3
imagemagick
copyDesktopItems
makeWrapper
];
buildInputs = [
SDL2
libpulseaudio
libpng
zenity
imgui'
stormlib'
libpng
libpulseaudio
libzip
nlohmann_json
tinyxml-2
spdlog
stormlib'
tinyxml-2
zenity
];
cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/2s2h"
"-DFETCHCONTENT_SOURCE_DIR_IMGUI=${imgui'.src}"
"-DFETCHCONTENT_SOURCE_DIR_STORMLIB=${stormlib'}"
"-DFETCHCONTENT_SOURCE_DIR_LIBGFXD=${libgfxd}"
"-DFETCHCONTENT_SOURCE_DIR_THREADPOOL=${thread_pool}"
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
(lib.cmakeBool "NON_PORTABLE" true)
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "Release")
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/2s2h")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_IMGUI" "${imgui'.src}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_LIBGFXD" "${libgfxd}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_STORMLIB" "${stormlib'}")
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_THREADPOOL" "${thread_pool}")
];
dontAddPrefix = true;
@@ -158,11 +164,6 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail "\''${STB_DIR}" "/build/source/stb"
'';
patches = [
# remove fetching stb as we will patch our own
./0001-deps.patch
];
postBuild = ''
cp ${gamecontrollerdb} ${gamecontrollerdb.name}
pushd ../OTRExporter
@@ -181,7 +182,7 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm644 ../mm/linux/2s2hIcon.png $out/share/pixmaps/2s2h.png
'';
fixupPhase = ''
postFixup = ''
wrapProgram $out/2s2h/2s2h.elf --prefix PATH ":" ${lib.makeBinPath [ zenity ]}
'';

View File

@@ -0,0 +1,44 @@
{
lib,
openssl,
pkg-config,
rustPlatform,
fetchFromGitHub,
darwin,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "aiken";
version = "1.0.29-alpha"; # all releases are 'alpha'
src = fetchFromGitHub {
owner = "aiken-lang";
repo = "aiken";
rev = "v${version}";
hash = "sha256-fikXypc9HKil4Ut4jdgQtTTy/CHEogEpDprwdTgd9b4=";
};
cargoHash = "sha256-UWDPXnq2k/PoogrfuW93ieRW8AfuNIEfri9Jo6gHkdg=";
buildInputs =
[ openssl ]
++ lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;
[
Security
CoreServices
SystemConfiguration
]
);
nativeBuildInputs = [ pkg-config ];
meta = {
description = "Modern smart contract platform for Cardano";
homepage = "https://aiken-lang.org";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ t4ccer ];
mainProgram = "aiken";
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
rustPlatform,
perl,
testers,
avml,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "avml";
version = "0.14.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "avml";
rev = "refs/tags/v${version}";
hash = "sha256-MIqQ5NRWAfXm7AblsKCrUiaYN5IGUo2jWJMJZL+w3V4=";
};
cargoHash = "sha256-gcpjrxnQDyO92OW6LZVc4x73TmTtQoaEYhmGmqhz8ng=";
nativeBuildInputs = [ perl ];
passthru.tests.version = testers.testVersion { package = avml; };
passthru.updateScript = nix-update-script { };
meta = {
description = "A portable volatile memory acquisition tool for Linux";
homepage = "https://github.com/microsoft/avml";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.lesuisse ];
platforms = lib.platforms.linux;
mainProgram = "avml";
};
}

View File

@@ -11,18 +11,18 @@
buildNpmPackage rec {
pname = "bitwarden-cli";
version = "2024.7.1";
version = "2024.7.2";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "cli-v${version}";
hash = "sha256-ZnqvqPR1Xuf6huhD5kWlnu4XOAWn7yte3qxgU/HPhiQ=";
hash = "sha256-MqIznJe5GeRTJ+sgOJoTHAQaac0obuBDb63XxQeG1iY=";
};
nodejs = nodejs_20;
npmDepsHash = "sha256-lWlAc0ITSp7WwxM09umBo6qeRzjq4pJdC0RDUrZwcHY=";
npmDepsHash = "sha256-XDN92VPKTA9KeSg5CQXxhXyEARZBwpERZ3400xqwg7U=";
nativeBuildInputs = [
(python3.withPackages (ps: with ps; [ setuptools ]))

View File

@@ -28,13 +28,13 @@ let
in
buildNpmPackage' rec {
pname = "bruno";
version = "1.22.0";
version = "1.23.0";
src = fetchFromGitHub {
owner = "usebruno";
repo = "bruno";
rev = "v${version}";
hash = "sha256-RcMmW1+XbQSVeaYnK7y8/WdQLYOIozyt9OCDAsSZ3HU=";
hash = "sha256-zbQlmxrvA2rZLEGmhj7MkVP5SmJdhhL9F3wRrB97DJs=";
postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json

View File

@@ -13,16 +13,16 @@
}:
buildGoModule rec {
pname = "buildkite-agent";
version = "3.59.0";
version = "3.76.1";
src = fetchFromGitHub {
owner = "buildkite";
repo = "agent";
rev = "v${version}";
sha256 = "sha256-pYaxjXoNn6MOE2oHUSKrBzP5oKhtfJwSHFCkcpkyzas=";
sha256 = "sha256-0i2b7sVBkV5zcJo+K5kg2Ojbix0rlQRXHKAmL9PJs+g=";
};
vendorHash = "sha256-JSuam9Tn+ZekfLrj78tBncH7Q2aP4CaUgaaDkJ/azEw=";
vendorHash = "sha256-0P6EXqQa6WxhjNJ4X6THvjJRK/UQvqXTv+7IJViFAQs=";
postPatch = ''
substituteInPlace clicommand/agent_start.go --replace /bin/bash ${bash}/bin/bash

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cdecl";
version = "18.1";
version = "18.2";
src = fetchFromGitHub {
owner = "paul-j-lucas";
repo = "cdecl";
rev = "refs/tags/cdecl-${finalAttrs.version}";
hash = "sha256-qbb+xBGKNxteGMDcTy+o24EagupiSi/Zf/NLk7jpS0U=";
hash = "sha256-6mj5M4SI0TG+N4exu3xdAqh8a98VOFtS1DbuRIYmW+Y=";
};
strictDeps = true;

View File

@@ -1,13 +1,18 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "civo";
version = "1.0.88";
src = fetchFromGitHub {
owner = "civo";
repo = "cli";
rev = "v${version}";
owner = "civo";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-fPCafa0V5lbzXocUa1gabLxAcPbg8rqOExMT0QnGUk8=";
};
@@ -42,6 +47,6 @@ buildGoModule rec {
mainProgram = "civo";
homepage = "https://github.com/civo/cli";
license = licenses.asl20;
maintainers = [ ];
maintainers = with maintainers; [ techknowlogick ];
};
}

View File

@@ -8,14 +8,14 @@
}:
rustPlatform.buildRustPackage rec {
pname = "clippy-sarif";
version = "0.5.0";
version = "0.6.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-ylfL4N1BtbB1R7+Glwtgn5E6/v3wQ6oXWdmeyKNHdOw=";
hash = "sha256-VFwLys5lVVQw3dmfY1nrI+Bi0tm7kjD2/1c1DLczLwk=";
};
cargoHash = "sha256-O0bLgj7rWwbEswVMfexsBGgJyObxseOohYht21Y6HpU=";
cargoHash = "sha256-zktbOyBa200YSZBuLs3xU95bh9kvj5XZQKb7tpiTs1I=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;

View File

@@ -1,42 +1,4 @@
{
lib,
python3,
fetchFromGitHub,
}:
{ python3 }:
python3.pkgs.buildPythonApplication rec {
pname = "fastapi-cli";
version = "0.0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "tiangolo";
repo = "fastapi-cli";
rev = "refs/tags/${version}";
hash = "sha256-eWvZn7ZeLnQZAvGOzY77o6oO5y+QV2cx+peBov9YpJE=";
};
build-system = [ python3.pkgs.pdm-backend ];
dependencies = with python3.pkgs; [
rich
typer
];
optional-dependencies = with python3.pkgs; {
standard = [
fastapi
uvicorn
];
};
pythonImportsCheck = [ "fastapi_cli" ];
meta = {
description = "Run and manage FastAPI apps from the command line with FastAPI CLI";
homepage = "https://github.com/tiangolo/fastapi-cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ drupol ];
mainProgram = "fastapi-cli";
};
}
with python3.pkgs;
toPythonApplication fastapi-cli

View File

@@ -7,13 +7,13 @@
}:
buildDotnetModule rec {
pname = "garnet";
version = "1.0.15";
version = "1.0.16";
src = fetchFromGitHub {
owner = "microsoft";
repo = "garnet";
rev = "v${version}";
hash = "sha256-SpkhOztUh28N853+6BBQnVRBgphxJARLJXQzmXJwPyY=";
hash = "sha256-0c6iJMSB9ThJVookibZL5CoAhrVMtY6oHYn92nN0114=";
};
projectFile = "main/GarnetServer/GarnetServer.csproj";

View File

@@ -1,12 +1,12 @@
{
"name": "@withgraphite/graphite-cli",
"version": "1.3.10",
"version": "1.4.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@withgraphite/graphite-cli",
"version": "1.3.10",
"version": "1.4.1",
"hasInstallScript": true,
"license": "None",
"dependencies": {
@@ -135,9 +135,9 @@
}
},
"node_modules/semver": {
"version": "7.6.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"bin": {
"semver": "bin/semver.js"
},

View File

@@ -7,14 +7,14 @@
buildNpmPackage rec {
pname = "graphite-cli";
version = "1.3.10";
version = "1.4.1";
src = fetchurl {
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
hash = "sha256-pGUIF6X7xmhoccjDRGYMPB004Uh1X3lSSyRG2xHk4oc=";
hash = "sha256-aYxNV50TVIu9/Xe3s5/SwI3Tf0ywo1KFhX8/uBOQ5ac=";
};
npmDepsHash = "sha256-E0L/akAEy24edwuiQ3TT5yxG6h5kJcQdkzPPp1HAgOI=";
npmDepsHash = "sha256-pxDj67W8bvi954C4UPuR7xQixoZ1CQGJO8NIHU5JOvM=";
postPatch = ''
ln -s ${./package-lock.json} package-lock.json

View File

@@ -7,14 +7,14 @@
}:
rustPlatform.buildRustPackage rec {
pname = "hadolint-sarif";
version = "0.5.0";
version = "0.6.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-Zh3y31Q+ue1TqncZpdX+fAp2yfEnv8W8jkzUW7UvrKg=";
hash = "sha256-7i3fhXZJ82+a4kbMPMxW8dV42qxQfQggwkm8FA1TUkw=";
};
cargoHash = "sha256-bwEQ9lZXvZL6JN24N8gRdbV5gcFiH1fQ59PQILfW1z8=";
cargoHash = "sha256-DXCdxpvWaOn/g7kuqgmtGkd94NVnjPI9VkDCuPg7wCw=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
which,
unixtools,
cctools,
ffmpeg,
libjpeg,
libpng,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "harvid";
version = "0.9.1";
src = fetchFromGitHub {
owner = "x42";
repo = "harvid";
rev = "v${finalAttrs.version}";
sha256 = "sha256-p0W+rKHH/iuGOcRjl6b4s6jQYkm7bqWCz849SDI/7fQ=";
};
nativeBuildInputs =
[ pkg-config ]
++ lib.optionals stdenv.isDarwin [
which
unixtools.xxd
];
buildInputs = [
ffmpeg
libjpeg
libpng
];
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace libharvid/Makefile \
--replace-fail /usr/bin/libtool ${cctools}/bin/libtool
'';
makeFlags = [
"PREFIX=$(out)"
"VERSION=v${finalAttrs.version}"
];
enableParallelBuilding = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Decodes still images from movie files and serves them via HTTP";
longDescription = ''
harvid's intended use-case is to efficiently provide frame-accurate data
and act as second level cache for rendering the video-timeline in Ardour,
but it is not limited to that: it has applications for any task that
requires a high-performance frame-accurate online image extraction
processor.
'';
homepage = "http://x42.github.io/harvid";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.mitchmindtree ];
mainProgram = "harvid";
};
})

View File

@@ -26,7 +26,7 @@ let
description = "VR coworking platform";
homepage = "https://immersed.com";
license = licenses.unfree;
maintainers = with maintainers; [ haruki7049 ];
maintainers = with maintainers; [ haruki7049 pandapip1 ];
platforms = builtins.attrNames sources;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};

View File

@@ -12,7 +12,7 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "irpf";
version = "2024-1.2";
version = "2024-1.3";
# https://www.gov.br/receitafederal/pt-br/centrais-de-conteudo/download/pgd/dirpf
# Para outros sistemas operacionais -> Multi
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
year = lib.head (lib.splitVersion finalAttrs.version);
in fetchzip {
url = "https://downloadirpf.receita.fazenda.gov.br/irpf/${year}/irpf/arquivos/IRPF${finalAttrs.version}.zip";
hash = "sha256-gwYWNnvpGej9B1EyFswYGYXh4i4wiyOG67VN1PWX3A0=";
hash = "sha256-UMzoQSSlmOi7TIqPF0vfeelum5JSa6ne4c7ZFREuDr8=";
};
passthru.updateScript = writeScript "update-irpf" ''

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "jcli";
version = "0.0.42";
src = fetchFromGitHub {
owner = "jenkins-zh";
repo = "jenkins-cli";
rev = "v${version}";
hash = "sha256-t9NE911TjAvoCsmf9F989DNQ+s9GhgUF7cwuyHefWts=";
};
vendorHash = "sha256-bmPnxFvdKU5zuMsCDboSOxP5f7NnMRwS/gN0sW7eTRA=";
ldflags = [
"-s"
"-w"
"-X github.com/linuxsuren/cobra-extension/version.version=${version}"
];
doCheck = false;
nativeBuildInputs = [ installShellFiles ];
postInstall =
''
mv $out/bin/{jenkins-cli,jcli}
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd jcli \
--bash <($out/bin/jcli completion --type bash) \
--zsh <($out/bin/jcli completion --type zsh)
'';
meta = {
description = "Jenkins CLI allows you to manage your Jenkins in an easy way";
mainProgram = "jcli";
homepage = "https://github.com/jenkins-zh/jenkins-cli";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sikmir ];
};
}

View File

@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
description = "Kakoune Language Server Protocol Client";
homepage = "https://github.com/kakoune-lsp/kakoune-lsp";
license = with licenses; [ unlicense /* or */ mit ];
maintainers = with maintainers; [ spacekookie poweredbypie ];
maintainers = with maintainers; [ philiptaron spacekookie poweredbypie ];
mainProgram = "kak-lsp";
};
}

View File

@@ -0,0 +1,91 @@
{
autoPatchelfHook,
fetchzip,
lib,
libfprint-tod,
openssl,
patchelfUnstable, # have to use patchelfUnstable to support --rename-dynamic-symbols
stdenv,
}:
# Based on ideas from (using a wrapper library to redirect fopen() calls to firmware files):
# * https://tapesoftware.net/replace-symbol/
# * https://github.com/NixOS/nixpkgs/pull/260715
let
pname = "libfprint-2-tod1-broadcom";
version = "5.12.018";
src = fetchzip {
url = "http://dell.archive.canonical.com/updates/pool/public/libf/${pname}/${pname}_${version}.orig.tar.gz";
hash = "sha256-0C2PpYpEJNrU+8NT95w4QV0J5nHQisMY94Czw3jQOzw=";
pname = "${pname}-unpacked";
inherit version;
};
wrapperLibName = "wrapper-lib.so";
wrapperLibSource = "wrapper-lib.c";
# wraps `fopen()` for finding firmware files
wrapperLib = stdenv.mkDerivation {
pname = "${pname}-wrapper-lib";
inherit version;
src = builtins.path {
name = "${pname}-wrapper-lib-source";
path = ./.;
filter = path: type: baseNameOf path == wrapperLibSource;
};
postPatch = ''
substitute ${wrapperLibSource} lib.c \
--subst-var-by to "${src}/var/lib/fprint/fw"
cc -fPIC -shared lib.c -o ${wrapperLibName}
'';
installPhase = ''
runHook preInstall
install -D -t $out/lib ${wrapperLibName}
runHook postInstall
'';
};
in
stdenv.mkDerivation {
inherit src pname version;
buildInputs = [
libfprint-tod
openssl
wrapperLib
];
nativeBuildInputs = [
autoPatchelfHook
patchelfUnstable
];
installPhase = ''
runHook preInstall
install -D -t "$out/lib/libfprint-2/tod-1/" -m 644 -v usr/lib/x86_64-linux-gnu/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so
install -D -t "$out/lib/udev/rules.d/" -m 644 -v lib/udev/rules.d/60-libfprint-2-device-broadcom.rules
runHook postInstall
'';
postFixup = ''
echo fopen64 fopen_wrapper > fopen_name_map
patchelf \
--rename-dynamic-symbols fopen_name_map \
--add-needed ${wrapperLibName} \
"$out/lib/libfprint-2/tod-1/libfprint-2-tod-1-broadcom.so"
'';
passthru.driverPath = "/lib/libfprint-2/tod-1";
meta = with lib; {
description = "Broadcom driver module for libfprint-2-tod Touch OEM Driver (from Dell)";
homepage = "http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-broadcom/";
license = licenses.unfree;
maintainers = with maintainers; [ pitkling ];
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
}

View File

@@ -0,0 +1,23 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static const char from[] = "/var/lib/fprint/fw";
static const char to[] = "@to@";
FILE* fopen_wrapper(const char* fn, const char* mode) {
size_t fn_len = strlen(fn);
size_t from_len = strlen(from);
if (fn_len > from_len && memcmp(fn, from, from_len) == 0) {
size_t to_len = strlen(to);
char* rewritten = calloc(fn_len + (to_len - from_len) + 1, 1);
memcpy(rewritten, to, to_len);
memcpy(rewritten + to_len, fn + from_len, fn_len - from_len);
printf("fopen_wrapper.c: Replacing path '%s' with '%s'\n", fn, rewritten);
FILE* result = fopen(rewritten, mode);
free(rewritten);
return result;
}
return fopen(fn, mode);
}

View File

@@ -1,37 +1,37 @@
{ lib
, stdenv
, fetchFromGitHub
, which
, pkg-config
, glib
, gtk3
, iw
, makeWrapper
, qrencode
, hostapd
, getopt
, dnsmasq
, iproute2
, flock
, iptables
, gawk
, coreutils
, gnugrep
, gnused
, kmod
, networkmanager
, procps
{
lib,
stdenv,
fetchFromGitHub,
which,
pkg-config,
glib,
gtk3,
iw,
makeWrapper,
qrencode,
hostapd,
getopt,
dnsmasq,
iproute2,
flock,
iptables,
gawk,
coreutils,
gnugrep,
gnused,
kmod,
networkmanager,
procps,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "linux-wifi-hotspot";
version = "4.7.2";
src = fetchFromGitHub {
owner = "lakinduakash";
repo = pname;
rev = "v${version}";
repo = "linux-wifi-hotspot";
rev = "v${finalAttrs.version}";
sha256 = "sha256-+WHYWQ4EyAt+Kq0LHEgC7Kk5HpIqThz6W3PIdW8Wojk=";
};
@@ -61,13 +61,12 @@ stdenv.mkDerivation rec {
--replace "/usr" "$out"
'';
makeFlags = [
"PREFIX=${placeholder "out"}"
];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
postInstall = ''
wrapProgram $out/bin/create_ap \
--prefix PATH : ${lib.makeBinPath [
--prefix PATH : ${
lib.makeBinPath [
coreutils
dnsmasq
flock
@@ -83,7 +82,8 @@ stdenv.mkDerivation rec {
networkmanager
procps
which
]}
]
}
wrapProgram $out/bin/wihotspot-gui \
--prefix PATH : ${lib.makeBinPath [ iw ]} \
@@ -98,8 +98,11 @@ stdenv.mkDerivation rec {
description = "Feature-rich wifi hotspot creator for Linux which provides both GUI and command-line interface";
homepage = "https://github.com/lakinduakash/linux-wifi-hotspot";
license = licenses.bsd2;
maintainers = with maintainers; [ onny ];
maintainers = with maintainers; [
johnrtitor
onny
];
platforms = platforms.unix;
};
}
})

View File

@@ -77,7 +77,7 @@ lib.fix (
__structuredAttrs = true;
meta = {
description = "Libraries to write tests in C, C++, and shell";
description = "Lightweight C++ API for Lua";
homepage = "https://github.com/freebsd/lutok/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ reckenrode ];

View File

@@ -0,0 +1,28 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "micromdm";
version = "1.12.1";
src = fetchFromGitHub {
owner = "micromdm";
repo = "micromdm";
rev = "v${version}";
hash = "sha256-hFoInkeJAd5h6UiF19YE9f6kkIZRmhVFVvUAkSkSqlM=";
};
vendorHash = "sha256-XYrv/cjma2ZYHs2x6hSXxifuS10Xa/zUx4s5O/OMLf4=";
meta = {
description = "Mobile Device Management server for Apple Devices, focused on giving you all the power through an API";
homepage = "https://github.com/micromdm/micromdm";
license = lib.licenses.mit;
mainProgram = "micromdm";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ neverbehave ];
};
}

View File

@@ -7,9 +7,15 @@
pname,
version,
meta,
passthru,
}:
stdenvNoCC.mkDerivation rec {
inherit pname version meta;
inherit
pname
version
meta
passthru
;
src = fetchurl {
url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/mac-Miru-${version}-mac.zip";

View File

@@ -5,15 +5,21 @@
pname,
version,
meta,
passthru,
}:
appimageTools.wrapType2 rec {
inherit pname version meta;
inherit
pname
version
meta
passthru
;
src = fetchurl {
url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-wnqCKnZKt0Fj8TasdRVzI558W7aIB5FLkcDEiZfz3ZQ=";
hash = "sha256-wnqCKnZKt0Fj8TasdRVzI558W7aIB5FLkcDEiZfz3ZQ=";
};
extraInstallCommands =

View File

@@ -32,8 +32,25 @@ let
instead of flat out closing MPV.
'';
};
passthru = {
updateScript = ./update.sh;
};
in
if stdenv.isDarwin then
callPackage ./darwin.nix { inherit pname version meta; }
callPackage ./darwin.nix {
inherit
pname
version
meta
passthru
;
}
else
callPackage ./linux.nix { inherit pname version meta; }
callPackage ./linux.nix {
inherit
pname
version
meta
passthru
;
}

52
pkgs/by-name/mi/miru/update.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq gnused
set -euo pipefail
ROOT="$(dirname "$(readlink -f "$0")")"
if [[ ! "$(basename $ROOT)" == "miru" || ! -f "$ROOT/package.nix" ]]; then
echo "error: Not in the miru folder" >&2
exit 1
fi
PACKAGE_NIX="$ROOT/package.nix"
LINUX_NIX="$ROOT/linux.nix"
DARWIN_NIX="$ROOT/darwin.nix"
MIRU_LATEST_VER="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/ThaUnknown/miru/releases/latest" | jq -r .tag_name | sed 's/^v//')"
MIRU_CURRENT_VER="$(grep -oP 'version = "\K[^"]+' "$PACKAGE_NIX")"
if [[ "$MIRU_LATEST_VER" == "null" ]]; then
echo "error: could not fetch miru latest version from GitHub API" >&2
exit 1
fi
if [[ "$MIRU_LATEST_VER" == "$MIRU_CURRENT_VER" ]]; then
echo "miru is up-to-date"
exit 0
fi
get_hash() {
# $1: URL
nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "$1")"
}
replace_hash_in_file() {
# $1: file
# $2: new hash
sed -i "s#hash = \".*\"#hash = \"$2\"#g" "$1"
}
replace_version_in_file() {
# $1: file
# $2: new version
sed -i "s#version = \".*\";#version = \"$2\";#g" "$1"
}
MIRU_LINUX_HASH="$(get_hash "https://github.com/ThaUnknown/miru/releases/download/v${MIRU_LATEST_VER}/linux-Miru-${MIRU_LATEST_VER}.AppImage")"
MIRU_DARWIN_HASH="$(get_hash "https://github.com/ThaUnknown/miru/releases/download/v${MIRU_LATEST_VER}/mac-Miru-${MIRU_LATEST_VER}-mac.zip")"
replace_hash_in_file "$LINUX_NIX" "$MIRU_LINUX_HASH"
replace_hash_in_file "$DARWIN_NIX" "$MIRU_DARWIN_HASH"
replace_version_in_file "$PACKAGE_NIX" "$MIRU_LATEST_VER"

View File

@@ -1,28 +1,31 @@
{ lib
, buildGoModule
, fetchFromGitHub
{
lib,
buildGoModule,
fetchFromGitHub,
unstableGitUpdater,
}:
buildGoModule {
pname = "nc4nix";
version = "0-unstable-2024-03-01";
version = "0-unstable-2024-08-01";
src = fetchFromGitHub {
owner = "helsinki-systems";
repo = "nc4nix";
rev = "ba37674c0dddf93e0a011dace92ec7f0ec834765";
hash = "sha256-k12eeP2gojLCsJH1GGuiTmxz3ViPc0+oFBuptyh42Bw=";
rev = "827bb7244a3529e71c9474fe1f74aed51a4b08d5";
hash = "sha256-ToT+VvdXiUMmy0dNJAeyMlzMx87QhZPIwzxPXm2fR7s=";
};
vendorHash = "sha256-ZXl4kMDY9ADkHUcLsl3uNpyErMzbgS+J65+uUeIXpSE=";
vendorHash = "sha256-qntRsv3KvAbV3lENjAHKkQOqh3uTo3gacfwase489tQ=";
meta = with lib; {
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Packaging helper for Nextcloud apps";
mainProgram = "nc4nix";
homepage = "https://github.com/helsinki-systems/nc4nix";
license = licenses.mit;
maintainers = with maintainers; [ onny ];
platforms = platforms.linux;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ onny ];
platforms = lib.platforms.linux;
};
}

3234
pkgs/by-name/no/nostui/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,43 @@
{
lib,
fetchFromGitHub,
rustPlatform,
darwin,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "nostui";
version = "0.1.0";
src = fetchFromGitHub {
owner = "akiomik";
repo = "nostui";
rev = "v${version}";
hash = "sha256-RCD11KdzM66Mkydc51r6fG+q8bmKl5eZma58YoARwPo=";
};
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk; [ frameworks.SystemConfiguration ]
);
GIT_HASH = "000000000000000000000000000000000000000000000000000";
checkFlags = [
# skip failing test due to nix build timestamps
"--skip=widgets::text_note::tests::test_created_at"
];
cargoHash = "sha256-8ciA1FoGdnU+GWRcYJc8zU2FpUgGwTZSZynvAi1luYo=";
cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; };
meta = with lib; {
homepage = "https://github.com/akiomik/nostui";
description = "TUI client for Nostr";
license = licenses.mit;
maintainers = with maintainers; [ heywoodlh ];
platforms = platforms.unix;
mainProgram = "nostui";
};
}

View File

@@ -46,7 +46,7 @@ let
owner = "ollama";
repo = "ollama";
rev = "v${version}";
hash = "sha256-iD7LX4OstnNL2FZKObh4z9krkN0sfUUbFEZxu6OvdBs=";
hash = "sha256-ctz9xh1wisG0YUxglygKHIvU9bMgMLkGqDoknb8qSAU=";
fetchSubmodules = true;
};

View File

@@ -5,22 +5,25 @@
nix-update-script,
phraze,
rustPlatform,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "phraze";
version = "0.3.12";
version = "0.3.13";
src = fetchFromGitHub {
owner = "sts10";
repo = "phraze";
rev = "v${version}";
hash = "sha256-lW7oYivIDGYg78MgcLFFNyxciVk+wKU/OBzWYx3KwPI=";
hash = "sha256-xjkS1Ehqh2LfuIwAtj6V7Q9DcuERk7PyJKJEuDE7A34=";
};
doCheck = true;
cargoHash = "sha256-kFk04YKDYiABWtild6aaP9H8gt/TuckOWRJE69dAXGU=";
cargoHash = "sha256-jsQlcGRZqa4HHUS3Xc9OZUbI6pHalt9A3fVaz+Th1l0=";
nativeBuildInputs = [ installShellFiles ];
passthru = {
updateScript = nix-update-script { };
@@ -29,12 +32,24 @@ rustPlatform.buildRustPackage rec {
};
};
postInstall = ''
installManPage target/man/phraze.1
installShellCompletion --cmd phraze \
--bash target/completions/phraze.bash \
--fish target/completions/phraze.fish \
--zsh target/completions/_phraze
'';
meta = {
description = "Generate random passphrases";
homepage = "https://github.com/sts10/phraze";
changelog = "https://github.com/sts10/phraze/releases/tag/v${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ x123 ];
maintainers = with lib.maintainers; [
x123
donovanglover
];
mainProgram = "phraze";
};
}

View File

@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "poptracker";
version = "0.26.1";
version = "0.27.0";
src = fetchFromGitHub {
owner = "black-sliver";
repo = "PopTracker";
rev = "v${finalAttrs.version}";
hash = "sha256-NeUIU+vXML9lP+JL7MJyGNxZB0ggAngOpf8mMgOE+r8=";
hash = "sha256-Tz3rVbaHw5RfFKuLih4BEEnn3uNeLrtDQpBD2yYUzkM=";
fetchSubmodules = true;
};

View File

@@ -11,16 +11,16 @@
buildGoModule rec {
pname = "powerpipe";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "turbot";
repo = "powerpipe";
rev = "refs/tags/v${version}";
hash = "sha256-KJ024dIU0GmeHCFa/pbyFIA+LitaudHC+NBGg8yNWxM=";
hash = "sha256-8gQ3+sXeWTiuFgj2XKh2ngo5qBBczoqnX3NiHflJGSU=";
};
vendorHash = "sha256-XALFXUeWrS4nt+ONToCfYXvLWuk7ZhLWvJidnATcWtM=";
vendorHash = "sha256-9SgGBkxPuelJrUpG8vnVPt0w5UdL4slxHJDSXDitaAQ=";
proxyVendor = true;
nativeBuildInputs = [

View File

@@ -0,0 +1,116 @@
{
lib,
alsa-lib,
callPackage,
cmake,
ffmpeg,
fribidi,
game-music-emu,
libXdmcp,
libXv,
libass,
libcddb,
libcdio,
libpulseaudio,
libsidplayfp,
libva,
libxcb,
ninja,
pkg-config,
qt5,
qt6,
stdenv,
taglib,
vulkan-headers,
vulkan-tools,
# Configurable options
qtVersion ? "6", # Can be 5 or 6
}:
let
sources = callPackage ./sources.nix { };
in
assert lib.elem qtVersion [
"5"
"6"
];
stdenv.mkDerivation (finalAttrs: {
pname = sources.qmplay2.pname + "-qt" + qtVersion;
inherit (sources.qmplay2) version src;
postPatch = ''
pushd src
cp -va ${sources.qmvk.src}/* qmvk/
chmod --recursive 744 qmvk
popd
'';
nativeBuildInputs =
[
cmake
ninja
pkg-config
]
++ lib.optionals (qtVersion == "6") [ qt6.wrapQtAppsHook ]
++ lib.optionals (qtVersion == "5") [ qt5.wrapQtAppsHook ];
buildInputs =
[
alsa-lib
ffmpeg
fribidi
game-music-emu
libXdmcp
libXv
libass
libcddb
libcdio
libpulseaudio
libsidplayfp
libva
libxcb
taglib
vulkan-headers
vulkan-tools
]
++ lib.optionals (qtVersion == "6") [
qt6.qt5compat
qt6.qtbase
qt6.qtsvg
qt6.qttools
]
++ lib.optionals (qtVersion == "5") [
qt5.qtbase
qt5.qttools
];
strictDeps = true;
# Because we think it is better to use only lowercase letters!
# But sometimes we come across case-insensitive filesystems...
postInstall = ''
[ -e $out/bin/qmplay2 ] || ln -s $out/bin/QMPlay2 $out/bin/qmplay2
'';
passthru = {
inherit sources;
};
meta = {
homepage = "https://github.com/zaps166/QMPlay2/";
description = "Qt-based Multimedia player";
longDescription = ''
QMPlay2 is a video and audio player. It can play all formats supported by
FFmpeg and libmodplug (including J2B and SFX). It also supports Audio CD,
raw files, Rayman 2 music, and chiptunes. It also contains YouTube and
MyFreeMP3 browser.
'';
license = lib.licenses.lgpl3Plus;
mainProgram = "qmplay2";
maintainers = with lib.maintainers; [
AndersonTorres
kashw2
];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,31 @@
{ fetchFromGitHub }:
{
qmplay2 =
let
self = {
pname = "qmplay2";
version = "24.06.16";
src = fetchFromGitHub {
owner = "zaps166";
repo = "QMPlay2";
rev = self.version;
hash = "sha256-HoFyC/OFmthUYfyo6//+KmBIq06MPb5GmDekJbnsz5o=";
};
};
in
self;
qmvk = {
pname = "qmvk";
version = "0-unstable-2024-04-19";
src = fetchFromGitHub {
owner = "zaps166";
repo = "QmVk";
rev = "5c5c2942255820b6343afdfeea0405cd3b36870e";
hash = "sha256-viFM9N5PiSCgkGlxtrLFCVDIML/QyPiaPRX77RW2NNw=";
};
};
}

View File

@@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "redocly";
version = "1.18.0";
version = "1.18.1";
src = fetchFromGitHub {
owner = "Redocly";
repo = "redocly-cli";
rev = "@redocly/cli@${version}";
hash = "sha256-Wcnq6hOgZb/HjTL1vb70d69LwFqRsBrgWHKyjYnauEg=";
hash = "sha256-Y09tGm3Sje8gd+6tUyBTCt7HjL2CQ/vo/ExLDnywvcQ=";
};
npmDepsHash = "sha256-mHwabPif4B1kzqA5Y9WBEr17c3tg0IsBGcRcWnQqGD0=";
npmDepsHash = "sha256-WzMFKMW/YyAH3ZoOeIcXIum15cJmPGp96xSYb9QCaWI=";
npmBuildScript = "prepare";

View File

@@ -1,4 +1,9 @@
{ lib, stdenv, fetchFromGitHub }:
{
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
}:
stdenv.mkDerivation {
pname = "ryzen-monitor-ng";
@@ -11,29 +16,24 @@ stdenv.mkDerivation {
owner = "plasmin";
repo = "ryzen_monitor_ng";
rev = "8b7854791d78de731a45ce7d30dd17983228b7b1";
hash = "sha256-fcW2fEsCFliRnMFnboR0jchzVIlCYbr2AE6AS06cb6o=";
hash = "sha256-xdYNtXCbNy3/y5OAHZEi9KgPtwr1LTtLWAZC5DDCfmE=";
# Upstream repo contains pre-compiled binaries and object files
# that are out of date.
# These need to be removed before build stage.
postFetch = ''
rm "$out/src/ryzen_monitor"
make -C "$out" clean
'';
};
## Remove binaries committed into upstream repo
preBuild = ''
rm src/ryzen_monitor
'';
makeFlags = [ "PREFIX=${placeholder "out"}" ];
makeTargets = [ "clean" "install" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv ./src/ryzen_monitor $out/bin
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Access Ryzen SMU information exposed by the ryzen_smu driver";
homepage = "https://github.com/mann1x/ryzen_monitor_ng";
changelog = "https://github.com/mann1x/ryzen_monitor_ng/blob/master/CHANGELOG.md";
homepage = "https://github.com/plasmin/ryzen_monitor_ng";
changelog = "https://github.com/plasmin/ryzen_monitor_ng/blob/master/CHANGELOG.md";
license = licenses.agpl3Only;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ phdyellow ];

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
darwin,
}:
rustPlatform.buildRustPackage rec {
pname = "serie";
version = "0.1.1";
src = fetchFromGitHub {
owner = "lusingander";
repo = "serie";
rev = "v${version}";
hash = "sha256-PlWnkkrn+j6GyyBo6ehszXxDexyW4rjIfpCj1ZARBPc=";
};
cargoHash = "sha256-kKOjLLpWmgtfIYWrlX/6SRUy7NOX6A/W/Oy3kMGR3eg=";
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks;
[
CoreGraphics
AppKit
]
);
# requires a git repository
doCheck = false;
meta = with lib; {
description = "A rich git commit graph in your terminal, like magic";
homepage = "https://github.com/lusingander/serie";
license = with licenses; [ mit ];
maintainers = with maintainers; [ matthiasbeyer ];
mainProgram = "serie";
};
}

View File

@@ -636,9 +636,9 @@
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
},
"commons-io#commons-io/2.15.1": {
"jar": "sha256-pYrxLuG2jP0uuwwnyu8WTwhDgaAOyBpIzCdf1+pU4VQ=",
"pom": "sha256-Fxoa+CtnWetXQLO4gJrKgBE96vEVMDby9ERZAd/T+R0="
"commons-io#commons-io/2.16.1": {
"jar": "sha256-9B97qs1xaJZEes6XWGIfYsHGsKkdiazuSI2ib8R3yE8=",
"pom": "sha256-V3fSkiUceJXASkxXAVaD7Ds1OhJIbJs+cXjpsLPDj/8="
},
"commons-logging#commons-logging/1.0.4": {
"jar": "sha256-6Ur0l0k4TBH1qlDo0PX+Z5vncSlbUgMDONMoQ8mANR4=",
@@ -921,8 +921,8 @@
"org/apache/commons#commons-parent/64": {
"pom": "sha256-bxljiZToNXtO1zRpb5kgV++q+hI1ZzmYEzKZeY4szds="
},
"org/apache/commons#commons-parent/65": {
"pom": "sha256-bPNJX8LmrJE6K38uA/tZCPs/Ip+wbTNY3EVnjVrz424="
"org/apache/commons#commons-parent/69": {
"pom": "sha256-1Q2pw5vcqCPWGNG0oDtz8ZZJf8uGFv0NpyfIYjWSqbs="
},
"org/apache/commons#commons-text/1.11.0": {
"jar": "sha256-Ks8woHCxkWPVpIDq5BGigTQehwAg41NMbV1MhHJznjA=",
@@ -1296,10 +1296,6 @@
"module": "sha256-6z7mEnYIAQaUqJgFbnQH0RcpYAOrpfXbgB30MLmIf88=",
"pom": "sha256-4AbdiJT5/Ht1/DK7Ev5e2L5lZn1bRU+Z4uC4xbuNMLM="
},
"org/junit#junit-bom/5.10.1": {
"module": "sha256-IbCvz//i7LN3D16wCuehn+rulOdx+jkYFzhQ2ueAZ7c=",
"pom": "sha256-IcSwKG9LIAaVd/9LIJeKhcEArIpGtvHIZy+6qzN7w/I="
},
"org/junit#junit-bom/5.10.2": {
"module": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo=",
"pom": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg="

View File

@@ -12,13 +12,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "stirling-pdf";
version = "0.25.1";
version = "0.26.1";
src = fetchFromGitHub {
owner = "Stirling-Tools";
repo = "Stirling-PDF";
rev = "v${finalAttrs.version}";
hash = "sha256-DgQLn4+uBAF8/c3G6ckkq/0gtJEE9GPHd1d/xB6omlA=";
hash = "sha256-msxP2n8Varc7/h9RVwYRBuD253JZu6/p7zQC1lmNmqc=";
};
patches = [
@@ -35,12 +35,16 @@ stdenv.mkDerivation (finalAttrs: {
# disable spotless because it tries to fetch files not in deps.json
# and also because it slows down the build process
gradleFlags = [ "-x" "spotlessApply" ];
gradleFlags = [
"-x"
"spotlessApply"
];
doCheck = true;
nativeBuildInputs = [
gradle
gradle.jdk # one of the tests also require that the `java` command is available on the command line
makeWrapper
];
@@ -55,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
meta = {
changelog = "https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/${finalAttrs.src.rev}";
changelog = "https://github.com/Stirling-Tools/Stirling-PDF/releases/tag/v${finalAttrs.version}";
description = "Locally hosted web application that allows you to perform various operations on PDF files";
homepage = "https://github.com/Stirling-Tools/Stirling-PDF";
license = lib.licenses.gpl3Only;

View File

@@ -60,6 +60,7 @@ python3.pkgs.buildPythonApplication rec {
"python-datauri"
"xlsxwriter"
"lxml"
"textx"
];
pythonImportsCheck = [ "strictdoc" ];

View File

@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "sttr";
version = "0.2.22";
version = "0.2.23";
src = fetchFromGitHub {
owner = "abhimanyu003";
repo = "sttr";
rev = "v${version}";
hash = "sha256-VEfMkUMrn9yKMg1M56uFhM8ego3EyY1MqEgzkZE6Zbk=";
hash = "sha256-BO6R41FtpPS3GBuKifm+gEnkkQodQDtbjZWtsGtuvms=";
};
vendorHash = "sha256-L3XKjJSk/1Evzq4ieUsJ4ewyfS8NDDSd10aDdsc5IcI=";
vendorHash = "sha256-n+B/e3M+S46vATq9eVXiYcO2s5WNGSvSE2Ci2rpigog=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -2,13 +2,13 @@
buildGoModule {
pname = "txtpbfmt";
version = "0-unstable-2024-04-16";
version = "0-unstable-2024-06-11";
src = fetchFromGitHub {
owner = "protocolbuffers";
repo = "txtpbfmt";
rev = "1e18ef0a7fdc4d28b9223d2d50b4b2be7024519e";
hash = "sha256-L96aEAlPvdBXxAbH8IszQK0r7ouICmFrkHtTJe/dD+E=";
rev = "dedd929c1c222fd4d895cda0e1c87b940262b1f5";
hash = "sha256-L9btIjcQ3XMPzUrizoSEJ/Zj2xWphFAka3qtzm2mxP4=";
};
vendorHash = "sha256-IdD+R8plU4/e9fQaGSM5hJxyMECb6hED0Qg8afwHKbY=";

View File

@@ -14,13 +14,13 @@
buildGoModule rec {
pname = "VictoriaMetrics";
version = "1.102.0";
version = "1.102.1";
src = fetchFromGitHub {
owner = "VictoriaMetrics";
repo = "VictoriaMetrics";
rev = "v${version}";
hash = "sha256-5p50DEL5XhXncJKH2ebFkh9/l0EABj+Pebf5oHV1yk8=";
hash = "sha256-FFQiHPcvB3ht6NlaUWPAuEUswXYUzeRilAw4NQ9+8/o=";
};
vendorHash = null;

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromSourcehut,
pixman,
pkg-config,
wayland,
wayland-scanner,
}:
stdenv.mkDerivation {
pname = "wayneko";
version = "0-unstable-2024-03-29";
src = fetchFromSourcehut {
owner = "~leon_plickat";
repo = "wayneko";
rev = "c1919dc3a7e610d30e4c06efaa5af85941f27d86";
hash = "sha256-2cbEcDK6WZPe4HvY1pxmZVyDAj617VP1l0Gn7uSlNaE=";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail -Werror ""
'';
nativeBuildInputs = [
pkg-config
wayland-scanner
];
buildInputs = [
pixman
wayland
];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = {
description = "Neko on Wayland";
homepage = "https://sr.ht/~leon_plickat/wayneko";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fgaz ];
mainProgram = "wayneko";
platforms = lib.platforms.linux;
};
}

View File

@@ -11,13 +11,13 @@
buildGoModule rec {
pname = "werf";
version = "2.8.0";
version = "2.9.3";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
hash = "sha256-+IwDj2K+PyOczIEm4EB+2P/8ilhScdftmE0v9iBFidk=";
hash = "sha256-UswVkf4wo8GfrhXu+ayUYHYzBFnGGz/7C0BBMpyuyXc=";
};
vendorHash = "sha256-Ta2owh1Z7mB4e85ZHK1maL5GoBMzM0mf3wsU6ho+4Z0=";

View File

@@ -16,13 +16,13 @@ python3Packages.buildPythonApplication rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2024.7.25";
version = "2024.8.1";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "yt_dlp";
hash = "sha256-dYeqJeI2z3sUvbk3i7//9RIC2QGwQgK+DPYsu1bTtSw=";
hash = "sha256-QxiqUjaUYRVi8BQZyNUmtmKnLfNO+LpFQBazTINmwVg=";
};
build-system = with python3Packages; [

View File

@@ -13597,7 +13597,7 @@ dependencies = [
[[package]]
name = "zed"
version = "0.146.3"
version = "0.146.4"
dependencies = [
"activity_indicator",
"anyhow",

View File

@@ -35,13 +35,13 @@ assert withGLES -> stdenv.isLinux;
rustPlatform.buildRustPackage rec {
pname = "zed";
version = "0.146.3";
version = "0.146.4";
src = fetchFromGitHub {
owner = "zed-industries";
repo = "zed";
rev = "refs/tags/v${version}";
hash = "sha256-7KDoJ9yEZkPl6PBYXLQ+c+pnJk50LOn3qxBjBEq8nFY=";
hash = "sha256-U/PTPmZjhmsY9MVH7/SbooyTCR7ATHTWswv0IOokIu4=";
fetchSubmodules = true;
};

View File

@@ -18,12 +18,12 @@ let
in
stdenv.mkDerivation rec {
pname = "circt";
version = "1.79";
version = "1.80";
src = fetchFromGitHub {
owner = "llvm";
repo = "circt";
rev = "firtool-${version}";
hash = "sha256-/PEny7+E/s1Y08NigO22uDnhFfMBtccqaI8hsBOO2fI=";
hash = "sha256-87LsCJrx6LEJCkiBq/c2RWqenmX9KViGBqKMdmMYRMw=";
fetchSubmodules = true;
};

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "silice";
version = "0-unstable-2024-07-15";
version = "0-unstable-2024-07-22";
src = fetchFromGitHub {
owner = "sylefeb";
repo = "silice";
rev = "80980cff659839fca63859be4565597053a82a3c";
hash = "sha256-G+ExPdkhMdC3m9TBwr+3Oj2K6np5MaUULgiXq0G0rLs=";
rev = "8f56349f8b143d5a4b9686b1782f1ae66e011be4";
hash = "sha256-1y2q41XyQLxjUkWKh8Ky/t3uaQXkm0IgMk9r06vKcRg=";
fetchSubmodules = true;
};

View File

@@ -129,9 +129,8 @@
, withXcbShape ? withFullDeps # X11 grabbing shape rendering
, withXcbShm ? withFullDeps # X11 grabbing shm communication
, withXcbxfixes ? withFullDeps # X11 grabbing mouse rendering
# Currently only supports gcc and msvc as compiler, the limitation for clang get removed in the next release, but that does not fix building on darwin.
, withXevd ? withFullDeps && lib.versionAtLeast version "7" && stdenv.hostPlatform.isx86 && stdenv.cc.isGNU # MPEG-5 EVC decoding
, withXeve ? withFullDeps && lib.versionAtLeast version "7" && stdenv.hostPlatform.isx86 && stdenv.cc.isGNU # MPEG-5 EVC encoding
, withXevd ? withFullDeps && lib.versionAtLeast version "7" && !xevd.meta.broken # MPEG-5 EVC decoding
, withXeve ? withFullDeps && lib.versionAtLeast version "7" && !xeve.meta.broken # MPEG-5 EVC encoding
, withXlib ? withFullDeps # Xlib support
, withXml2 ? withFullDeps # libxml2 support, for IMF and DASH demuxers
, withXvid ? withHeadlessDeps && withGPL # Xvid encoder, native encoder exists

View File

@@ -1,5 +1,5 @@
{ lib
, stdenv
, pkgs
, fetchFromGitHub
, mongoc
, openssl
@@ -7,23 +7,26 @@
, cmake
, validatePkgConfig
, testers
, darwin
}:
let stdenv = if pkgs.stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else pkgs.stdenv; in
stdenv.mkDerivation (finalAttrs: {
pname = "mongocxx";
version = "3.8.1";
version = "3.10.2";
src = fetchFromGitHub {
owner = "mongodb";
repo = "mongo-cxx-driver";
rev = "refs/tags/r${finalAttrs.version}";
hash = "sha256-fBZg69jsvXzhllpcPBGXkjYyvUQImnGNkb2Ek5Oi0p4=";
hash = "sha256-nGLE0vyCe3PaNJf3duXdBfAhTdRvdeQ+OCwcaSDxi5Y=";
};
postPatch = ''
substituteInPlace src/bsoncxx/config/CMakeLists.txt \
src/mongocxx/config/CMakeLists.txt \
--replace "\\\''${prefix}/" ""
substituteInPlace src/bsoncxx/cmake/libbsoncxx.pc.in \
src/mongocxx/cmake/libmongocxx.pc.in \
--replace "\''${prefix}/" ""
'';
nativeBuildInputs = [
@@ -35,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
mongoc
openssl
cyrus_sasl
];
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
cmakeFlags = [
"-DCMAKE_CXX_STANDARD=20"
@@ -49,7 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Official C++ client library for MongoDB";
homepage = "http://mongocxx.org";
license = licenses.asl20;
maintainers = with maintainers; [ adriandole ];
maintainers = with maintainers; [ adriandole vcele ];
pkgConfigModules = [ "libmongocxx" "libbsoncxx" ];
platforms = platforms.all;
badPlatforms = [ "x86_64-darwin" ]; # needs sdk >= 10.14

View File

@@ -5,6 +5,6 @@
# Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
import ./generic.nix {
version = "3.102.1";
hash = "sha256-rHPDPLSatEk1ZVvtEM/Ct1V5MFpCiW9kwSBQzSz0lak=";
version = "3.103";
hash = "sha256-e57HN50lHT4+nkdZPyixpWFyTD0c+xZBk23BhmIumV8=";
}

View File

@@ -1,23 +1,22 @@
{ lib, ocaml, fetchurl, buildDunePackage
, eqaf
, alcotest, astring, bos, findlib, fpath
, alcotest, astring, bos, crowbar, findlib, fpath
}:
buildDunePackage rec {
pname = "digestif";
version = "1.1.4";
version = "1.2.0";
minimalOCamlVersion = "4.08";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-${version}.tbz";
hash = "sha256-w3k+cg8NqAVPYobFRcghp/6+iC5/TlSX7ImxWjU1EeE=";
hash = "sha256-wwFoyv4nmmZTZ4BrPl5jmP10dPHlJg52gm1eydOypQg=";
};
propagatedBuildInputs = [ eqaf ];
checkInputs = [ alcotest astring bos fpath ];
checkInputs = [ alcotest astring bos crowbar fpath ];
doCheck = true;
postCheck = ''

View File

@@ -6,6 +6,7 @@
roman,
uqbar,
pythonOlder,
pythonAtLeast,
pytestCheckHook,
lilypond,
typing-extensions,
@@ -16,7 +17,9 @@ buildPythonPackage rec {
version = "3.19";
format = "setuptools";
disabled = pythonOlder "3.10";
# see issue upstream indicating Python 3.12 support will come
# with version 3.20: https://github.com/Abjad/abjad/issues/1574
disabled = pythonOlder "3.10" || pythonAtLeast "3.12";
src = fetchPypi {
inherit pname version;

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