Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-07-14 00:15:55 +00:00
committed by GitHub
346 changed files with 3163 additions and 2379 deletions
+2 -2
View File
@@ -69,8 +69,8 @@ let
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq "$out" mimetype
cd scratch && zip -Xr9D "$out" *
zip -0Xq -b "$TMPDIR" "$out" mimetype
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
'';
# NB: This file describes the Nixpkgs manual, which happens to use module
+2 -1
View File
@@ -11,7 +11,8 @@ On NixOS, you need to explicitly enable `ibus` with given engines before customi
```nix
{ pkgs, ... }: {
i18n.inputMethod = {
enabled = "ibus";
enable = true;
type = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
};
}
+6
View File
@@ -20276,6 +20276,12 @@
githubId = 2845239;
name = "Tim Put";
};
timschumi = {
email = "timschumi@gmx.de";
github = "timschumi";
githubId = 16820960;
name = "Tim Schumacher";
};
timstott = {
email = "stott.timothy@gmail.com";
github = "timstott";
+5 -3
View File
@@ -91,9 +91,11 @@ def make_worktree() -> Generator[Tuple[str, str], None, None]:
target_directory = f'{wt}/nixpkgs'
subprocess.run(['git', 'worktree', 'add', '-b', branch_name, target_directory])
yield (target_directory, branch_name)
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
subprocess.run(['git', 'branch', '-D', branch_name])
try:
yield (target_directory, branch_name)
finally:
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
subprocess.run(['git', 'branch', '-D', branch_name])
async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, branch: str, changes: List[Dict]) -> None:
for change in changes:
@@ -2,8 +2,7 @@
Common configuration for headless machines (e.g., Amazon EC2 instances).
Disables [sound](#opt-sound.enable),
[vesa](#opt-boot.vesa), serial consoles,
Disables [vesa](#opt-boot.vesa), serial consoles,
[emergency mode](#opt-systemd.enableEmergencyMode),
[grub splash images](#opt-boot.loader.grub.splashImage)
and configures the kernel to reboot automatically on panic.
@@ -5,5 +5,4 @@ graphical stuff. It's a very short file that enables
[noXlibs](#opt-environment.noXlibs), sets
[](#opt-i18n.supportedLocales) to
only support the user-selected locale,
[disables packages' documentation](#opt-documentation.enable),
and [disables sound](#opt-sound.enable).
and [disables packages' documentation](#opt-documentation.enable).
@@ -197,6 +197,8 @@
- `services.roundcube.maxAttachmentSize` will multiply the value set with `1.37` to offset overhead introduced by the base64 encoding applied to attachments.
- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
- The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer.
Consequently the package `pkgs.ma1sd` has also been removed.
@@ -218,6 +220,9 @@
The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources.
- The `i18n.inputMethod` module introduces two new properties:
`enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release.
- `security.pam.u2f` now follows RFC42.
All module options are now settable through the freeform `.settings`.
@@ -233,3 +238,46 @@
should be changed to using *runner authentication tokens* by configuring
{option}`services.gitlab-runner.services.<name>.authenticationTokenConfigFile` instead of the former
{option}`services.gitlab-runner.services.<name>.registrationConfigFile` option.
## Detailed migration information {#sec-release-24.11-migration}
### `sound` options removal {#sec-release-24.11-migration-sound}
The `sound` options have been largely removed, as they are unnecessary for most modern setups, and cause issues when enabled.
If you set `sound.enable` in your configuration:
- If you are using Pulseaudio or PipeWire, simply remove that option
- If you are not using an external sound server, and want volumes to be persisted across shutdowns, set `hardware.alsa.enablePersistence = true` instead
If you set `sound.enableOSSEmulation` in your configuration:
- Make sure it is still necessary, as very few applications actually use OSS
- If necessary, set `boot.kernelModules = [ "snd_pcm_oss" ]`
If you set `sound.extraConfig` in your configuration:
- If you are using another sound server, like Pulseaudio, JACK or PipeWire, migrate your configuration to that
- If you are not using an external sound server, set `environment.etc."asound.conf".text = yourExtraConfig` instead
If you set `sound.mediaKeys` in your configuration:
- Preferably switch to handling media keys in your desktop environment/compositor
- If you want to maintain the exact behavior of the option, use the following snippet
```nix
services.actkbd = let
volumeStep = "1%";
in {
enable = true;
bindings = [
# "Mute" media key
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
# "Lower Volume" media key
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}- unmute"; }
# "Raise Volume" media key
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}+ unmute"; }
# "Mic Mute" media key
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
];
};
```
+3 -7
View File
@@ -6,7 +6,6 @@ with lib;
let
cfg = config.hardware.pulseaudio;
alsaCfg = config.sound;
hasZeroconf = let z = cfg.zeroconf; in z.publish.enable || z.discovery.enable;
@@ -58,7 +57,7 @@ let
# Write an /etc/asound.conf that causes all ALSA applications to
# be re-routed to the PulseAudio server through ALSA's Pulse
# plugin.
alsaConf = writeText "asound.conf" (''
alsaConf = ''
pcm_type.pulse {
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
${lib.optionalString enable32BitAlsaPlugins
@@ -76,8 +75,7 @@ let
ctl.!default {
type pulse
}
${alsaCfg.extraConfig}
'');
'';
in {
@@ -221,10 +219,8 @@ in {
environment.systemPackages = [ overriddenPackage ];
sound.enable = true;
environment.etc = {
"asound.conf".source = alsaConf;
"alsa/conf.d/99-pulseaudio.conf".text = alsaConf;
"pulse/daemon.conf".source = writeText "daemon.conf"
(lib.generators.toKeyValue {} cfg.daemon.config);
+12 -6
View File
@@ -25,7 +25,8 @@ The following snippet can be used to configure IBus:
```nix
{
i18n.inputMethod = {
enabled = "ibus";
enable = true;
type = "ibus";
ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
};
}
@@ -81,7 +82,8 @@ The following snippet can be used to configure Fcitx:
```nix
{
i18n.inputMethod = {
enabled = "fcitx5";
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-hangul fcitx5-m17n ];
};
}
@@ -119,7 +121,8 @@ The following snippet can be used to configure Nabi:
```nix
{
i18n.inputMethod = {
enabled = "nabi";
enable = true;
type = "nabi";
};
}
```
@@ -134,7 +137,8 @@ The following snippet can be used to configure uim:
```nix
{
i18n.inputMethod = {
enabled = "uim";
enable = true;
type = "uim";
};
}
```
@@ -154,7 +158,8 @@ The following snippet can be used to configure Hime:
```nix
{
i18n.inputMethod = {
enabled = "hime";
enable = true;
type = "hime";
};
}
```
@@ -168,7 +173,8 @@ The following snippet can be used to configure Kime:
```nix
{
i18n.inputMethod = {
enabled = "kime";
enable = true;
type = "kime";
};
}
```
+18 -2
View File
@@ -4,6 +4,8 @@ with lib;
let
cfg = config.i18n.inputMethod;
allowedTypes = types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ];
gtk2_cache = pkgs.runCommand "gtk2-immodule.cache"
{ preferLocalBuild = true;
allowSubstitutes = false;
@@ -28,10 +30,23 @@ in
{
options.i18n = {
inputMethod = {
enable = mkEnableOption "an additional input method type" // {
default = cfg.enabled != null;
defaultText = literalMD "`true` if the deprecated option `enabled` is set, false otherwise";
};
enabled = mkOption {
type = types.nullOr (types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ]);
type = types.nullOr allowedTypes;
default = null;
example = "fcitx5";
description = "Deprecated - use `type` and `enable = true` instead";
};
type = mkOption {
type = types.nullOr allowedTypes;
default = cfg.enabled;
defaultText = literalMD "The value of the deprecated option `enabled`, defaulting to null";
example = "fcitx5";
description = ''
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
@@ -59,7 +74,8 @@ in
};
};
config = mkIf (cfg.enabled != null) {
config = mkIf cfg.enable {
warnings = optional (cfg.enabled != null) "i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead";
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
};
+3 -3
View File
@@ -3,8 +3,8 @@
with lib;
let
im = config.i18n.inputMethod;
cfg = im.fcitx5;
imcfg = config.i18n.inputMethod;
cfg = imcfg.fcitx5;
fcitx5Package =
if cfg.plasma6Support
then pkgs.qt6Packages.fcitx5-with-addons.override { inherit (cfg) addons; }
@@ -108,7 +108,7 @@ in
'')
];
config = mkIf (im.enabled == "fcitx5") {
config = mkIf (imcfg.enable && imcfg.type == "fcitx5") {
i18n.inputMethod.package = fcitx5Package;
i18n.inputMethod.fcitx5.addons = lib.optionals (cfg.quickPhrase != { }) [
+5 -1
View File
@@ -1,8 +1,12 @@
{ config, pkgs, lib, ... }:
with lib;
let
imcfg = config.i18n.inputMethod;
in
{
config = mkIf (config.i18n.inputMethod.enabled == "hime") {
config = mkIf (imcfg.enable && imcfg.type == "hime") {
i18n.inputMethod.package = pkgs.hime;
environment.variables = {
GTK_IM_MODULE = "hime";
+3 -2
View File
@@ -3,7 +3,8 @@
with lib;
let
cfg = config.i18n.inputMethod.ibus;
imcfg = config.i18n.inputMethod;
cfg = imcfg.ibus;
ibusPackage = pkgs.ibus-with-plugins.override { plugins = cfg.engines; };
ibusEngine = lib.types.mkOptionType {
name = "ibus-engine";
@@ -53,7 +54,7 @@ in
};
};
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
config = mkIf (imcfg.enable && imcfg.type == "ibus") {
i18n.inputMethod.package = ibusPackage;
environment.systemPackages = [
+3 -2
View File
@@ -1,5 +1,6 @@
{ config, pkgs, lib, generators, ... }:
let imcfg = config.i18n.inputMethod;
let
imcfg = config.i18n.inputMethod;
in {
imports = [
(lib.mkRemovedOptionModule [ "i18n" "inputMethod" "kime" "config" ] "Use i18n.inputMethod.kime.* instead")
@@ -31,7 +32,7 @@ in {
};
};
config = lib.mkIf (imcfg.enabled == "kime") {
config = lib.mkIf (imcfg.enable && imcfg.type == "kime") {
i18n.inputMethod.package = pkgs.kime;
environment.variables = {
+4 -1
View File
@@ -1,8 +1,11 @@
{ config, pkgs, lib, ... }:
with lib;
let
imcfg = config.i18n.inputMethod;
in
{
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
config = mkIf (imcfg.enable && imcfg.type == "nabi") {
i18n.inputMethod.package = pkgs.nabi;
environment.variables = {
+3 -2
View File
@@ -3,7 +3,8 @@
with lib;
let
cfg = config.i18n.inputMethod.uim;
imcfg = config.i18n.inputMethod;
cfg = imcfg.uim;
in
{
options = {
@@ -21,7 +22,7 @@ in
};
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
config = mkIf (imcfg.enable && imcfg.type == "uim") {
i18n.inputMethod.package = pkgs.uim;
environment.variables = {
+1
View File
@@ -205,6 +205,7 @@
./programs/goldwarden.nix
./programs/gpaste.nix
./programs/gphoto2.nix
./programs/gpu-screen-recorder.nix
./programs/haguichi.nix
./programs/hamster.nix
./programs/htop.nix
@@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.gpu-screen-recorder;
package = cfg.package.override {
inherit (config.security) wrapperDir;
};
in {
options = {
programs.gpu-screen-recorder = {
package = lib.mkPackageOption pkgs "gpu-screen-recorder" {};
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to install gpu-screen-recorder and generate setcap
wrappers for promptless recording.
'';
};
};
};
config = lib.mkIf cfg.enable {
security.wrappers."gsr-kms-server" = {
owner = "root";
group = "root";
capabilities = "cap_sys_admin+ep";
source = "${package}/bin/gsr-kms-server";
};
security.wrappers."gpu-screen-recorder" = {
owner = "root";
group = "root";
capabilities = "cap_sys_nice+ep";
source = "${package}/bin/gpu-screen-recorder";
};
};
meta.maintainers = with lib.maintainers; [ timschumi ];
}
+22 -116
View File
@@ -3,132 +3,38 @@
with lib;
let
inherit (pkgs) alsa-utils;
pulseaudioEnabled = config.hardware.pulseaudio.enable;
in
{
imports = [
(mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
(mkRemovedOptionModule [ "sound" ] "The option was heavily overloaded and can be removed from most configurations.")
];
###### interface
options = {
sound = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA sound.
'';
};
enableOSSEmulation = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA OSS emulation (with certain cards sound mixing may not work!).
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
defaults.pcm.!card 3
'';
description = ''
Set addition configuration for system-wide alsa.
'';
};
mediaKeys = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable volume and capture control with keyboard media keys.
You want to leave this disabled if you run a desktop environment
like KDE, Gnome, Xfce, etc, as those handle such things themselves.
You might want to enable this if you run a minimalistic desktop
environment or work from bare linux ttys/framebuffers.
Enabling this will turn on {option}`services.actkbd`.
'';
};
volumeStep = mkOption {
type = types.str;
default = "1";
example = "1%";
description = ''
The value by which to increment/decrement volume on media keys.
See amixer(1) for allowed values.
'';
};
};
};
options.hardware.alsa.enablePersistence = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA sound card state saving on shutdown.
This is generally not necessary if you're using an external sound server.
'';
};
###### implementation
config = mkIf config.sound.enable {
environment.systemPackages = [ alsa-utils ];
environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "")
{ "asound.conf".text = config.sound.extraConfig; };
config = mkIf config.hardware.alsa.enablePersistence {
# ALSA provides a udev rule for restoring volume settings.
services.udev.packages = [ alsa-utils ];
boot.kernelModules = optional config.sound.enableOSSEmulation "snd_pcm_oss";
systemd.services.alsa-store =
{ description = "Store Sound Card State";
wantedBy = [ "multi-user.target" ];
unitConfig.RequiresMountsFor = "/var/lib/alsa";
unitConfig.ConditionVirtualization = "!systemd-nspawn";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
};
systemd.services.alsa-store = {
description = "Store Sound Card State";
wantedBy = [ "multi-user.target" ];
unitConfig = {
RequiresMountsFor = "/var/lib/alsa";
ConditionVirtualization = "!systemd-nspawn";
};
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
};
services.actkbd = mkIf config.sound.mediaKeys.enable {
enable = true;
bindings = [
# "Mute" media key
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
# "Lower Volume" media key
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; }
# "Raise Volume" media key
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; }
# "Mic Mute" media key
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
];
};
};
}
+2 -2
View File
@@ -122,7 +122,7 @@ in {
config = mkMerge [
(mkIf pcmPlugin {
sound.extraConfig = ''
environment.etc."alsa/conf.d/98-jack.conf".text = ''
pcm_type.jack {
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;
${lib.optionalString enable32BitAlsaPlugins
@@ -139,7 +139,7 @@ in {
(mkIf loopback {
boot.kernelModules = [ "snd-aloop" ];
boot.kernelParams = [ "snd-aloop.index=${toString cfg.loopback.index}" ];
sound.extraConfig = cfg.loopback.config;
environment.etc."alsa/conf.d/99-jack-loopback.conf".text = cfg.loopback.config;
})
(mkIf cfg.jackd.enable {
@@ -11,6 +11,7 @@ let
DEBUG = "0";
DEBUG_TOOLBAR = "0";
MEDIA_ROOT = "/var/lib/tandoor-recipes";
GUNICORN_MEDIA = true;
} // optionalAttrs (config.time.timeZone != null) {
TZ = config.time.timeZone;
} // (
@@ -314,7 +314,16 @@ def install_bootloader(args: argparse.Namespace) -> None:
).stdout
# See status_binaries() in systemd bootctl.c for code which generates this
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
# Matches
# Available Boot Loaders on ESP:
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
# File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
# But also:
# Available Boot Loaders on ESP:
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
# File: ├─/EFI/systemd/HashTool.efi
# └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
installed_match = re.search(r"^\W+.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
installed_out, re.IGNORECASE | re.MULTILINE)
available_match = re.search(r"^\((.*)\)$", available_out)
@@ -15,7 +15,6 @@
usb = "off";
usbehci = "off";
};
sound.enable = false;
documentation.man.enable = false;
documentation.nixos.enable = false;
-1
View File
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.domination ];
};
+1 -2
View File
@@ -21,8 +21,7 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
# Create a virtual sound device, with mixing
# and all, for recording audio.
boot.kernelModules = [ "snd-aloop" ];
sound.enable = true;
sound.extraConfig = ''
environment.etc."asound.conf".text = ''
pcm.!default {
type plug
slave.pcm pcm.dmixer
-2
View File
@@ -8,8 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
imports = [
./common/x11.nix
];
sound.enable = true;
environment.systemPackages = [ pkgs.ft2-clone ];
};
+4 -1
View File
@@ -5,7 +5,10 @@ makeInstalledTest {
testConfig = {
i18n.supportedLocales = [ "all" ];
i18n.inputMethod.enabled = "ibus";
i18n.inputMethod = {
enable = true;
type = "ibus";
};
systemd.user.services.ibus-daemon = {
serviceConfig.ExecStart = "${pkgs.ibus}/bin/ibus-daemon --xim --verbose";
wantedBy = [ "graphical-session.target" ];
+3 -2
View File
@@ -1,3 +1,4 @@
# Tests whether container images are imported and auto deploying manifests work
import ../make-test-python.nix (
{
pkgs,
@@ -108,8 +109,8 @@ import ../make-test-python.nix (
machine.succeed("ls /var/lib/rancher/k3s/server/manifests/hello.yaml")
# check if container images got imported
machine.succeed("crictl img | grep 'test\.local/pause'")
machine.succeed("crictl img | grep 'test\.local/hello'")
machine.wait_until_succeeds("crictl img | grep 'test\.local/pause'")
machine.wait_until_succeeds("crictl img | grep 'test\.local/hello'")
# check if resources of manifests got created
machine.wait_until_succeeds("kubectl get ns foo")
-4
View File
@@ -7,9 +7,7 @@ let
allK3s = lib.filterAttrs (n: _: lib.strings.hasPrefix "k3s_" n) pkgs;
in
{
# Test whether container images are imported and auto deploying manifests work
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
# Testing K3s with Etcd backend
etcd = lib.mapAttrs (
_: k3s:
import ./etcd.nix {
@@ -17,8 +15,6 @@ in
inherit (pkgs) etcd;
}
) allK3s;
# Run a single node k3s cluster and verify a pod can run
single-node = lib.mapAttrs (_: k3s: import ./single-node.nix { inherit system pkgs k3s; }) allK3s;
# Run a multi-node k3s cluster and verify pod networking works across nodes
multi-node = lib.mapAttrs (_: k3s: import ./multi-node.nix { inherit system pkgs k3s; }) allK3s;
}
+1
View File
@@ -1,3 +1,4 @@
# Tests K3s with Etcd backend
import ../make-test-python.nix (
{
pkgs,
+1
View File
@@ -1,3 +1,4 @@
# A test that runs a multi-node k3s cluster and verify pod networking works across nodes
import ../make-test-python.nix (
{
pkgs,
+1
View File
@@ -1,3 +1,4 @@
# A test that runs a single node k3s cluster and verify a pod can run
import ../make-test-python.nix (
{
pkgs,
-1
View File
@@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
nodes.machine =
{ pkgs, lib, ... }:
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
};
testScript = ''
-1
View File
@@ -37,7 +37,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
mkServer = { mpd, musicService, }:
{ boot.kernelModules = [ "snd-dummy" ];
sound.enable = true;
services.mpd = mpd;
systemd.services.musicService = musicService;
};
-1
View File
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.pt2-clone ];
};
-1
View File
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.sfxr-qt ];
};
-1
View File
@@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.shattered-pixel-dungeon ];
};
+1 -2
View File
@@ -8,8 +8,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
enable = true;
extraArguments = "-s 127.0.0.1 -d slimproto=info";
};
sound.enable = true;
boot.initrd.kernelModules = ["snd-dummy"];
boot.kernelModules = ["snd-dummy"];
};
testScript =
-1
View File
@@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
nodes.machine =
{ pkgs, lib, ... }:
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
};
testScript = ''
+1 -1
View File
@@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.1";
src = fetchurl {
url = "http://www.sndio.org/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
url = "http://www.sndio.org/aucatctl-${finalAttrs.version}.tar.gz";
sha256 = "524f2fae47db785234f166551520d9605b9a27551ca438bd807e3509ce246cf0";
};
+1 -1
View File
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "falkTX";
repo = finalAttrs.pname;
repo = "carla";
rev = "v${finalAttrs.version}";
hash = "sha256-H15T/z/IRfgWdqToTzq2eJ7q3n9Kj44IZXsd4uaipuU=";
};
@@ -8,14 +8,14 @@
, fmt_9
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation {
pname = "jack-passthrough";
version = "2021-9-25";
# https://github.com/guysherman/jack-passthrough
src = fetchFromGitHub {
owner = "guysherman";
repo = finalAttrs.pname;
repo = "jack-passthrough";
rev = "aad03b7c5ccc4a4dcb8fa38c49aa64cb9d628660";
hash = "sha256-9IsNaLW5dYAqiwe+vX0+D3oIKFP2TIfy1q1YaqmS6wE=";
};
@@ -37,4 +37,4 @@ stdenv.mkDerivation (finalAttrs: {
platforms = [ "x86_64-linux" ];
mainProgram = "jack-passthru";
};
})
}
+2 -2
View File
@@ -13,14 +13,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qpwgraph";
version = "0.7.4";
version = "0.7.5";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "rncbc";
repo = "qpwgraph";
rev = "v${finalAttrs.version}";
sha256 = "sha256-1YExpvhCHIdRqFCvOmiG3G7k/qs7q1ITwtZXGMc/SRk=";
sha256 = "sha256-EMBoP0gmJ1JwjkCc1UjTM4BgeYhFSFhUOD14rJRow1o=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
@@ -133,8 +133,6 @@ stdenv.mkDerivation {
mkdir -p $libdir
mv ./usr/* $out/
cp meta/snap.yaml $out
# Work around Spotify referring to a specific minor version of
# OpenSSL.
+4 -2
View File
@@ -7,6 +7,7 @@
, flac
, libjxl
, librsvg
, game-music-emu
, gobject-introspection
, gtk3
, kissfft
@@ -26,13 +27,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tauon";
version = "7.7.2";
version = "7.8.0";
src = fetchFromGitHub {
owner = "Taiko2k";
repo = "TauonMusicBox";
rev = "v${finalAttrs.version}";
hash = "sha256-IVl7XL6nn42zaY4bDraF9os0dXfquUql4E96djfVdVg=";
hash = "sha256-8UnUcEvG206tPwyD+WqxcJgDvQlYvTJ6v+sm0u30Z3k=";
};
postUnpack = ''
@@ -75,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
flac
game-music-emu
gtk3
libappindicator
libnotify
+1 -1
View File
@@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.0.0-rc.1";
src = fetchzip {
url = "https://www.zrythm.org/releases/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "https://www.zrythm.org/releases/zrythm-${finalAttrs.version}.tar.xz";
sha256 = "sha256-Ljbw7bjGI6js4OP9KEXCkhC9AMbInSz0nn+pROm4vXw=";
};
+1 -1
View File
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "dev" "doc" "man" ];
src = fetchurl {
url = "https://download.geany.org/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
url = "https://download.geany.org/geany-${finalAttrs.version}.tar.bz2";
hash = "sha256-VltM0vAxHB46Fn7HHEoy26ZC4P5VSuW7a4F3t6dMzJI=";
};
@@ -87,6 +87,7 @@
glib
, gobject-introspection
, wrapGAppsHook3
, writeText
, # sniprun dependencies
bashInteractive
, coreutils
@@ -1482,12 +1483,19 @@
install -Dt $out/bin ftplugin/evinceSync.py
'';
};
# the vim plugin expects evinceSync.py to be a python file, but it is a C wrapper
pythonWrapper = writeText "evinceSync-wrapper.py" /* python */ ''
#!${python3}/bin/python3
import os
import sys
os.execv("${svedbackend}/bin/evinceSync.py", sys.argv)
'';
in
super.sved.overrideAttrs {
preferLocalBuild = true;
postPatch = ''
rm ftplugin/evinceSync.py
ln -s ${svedbackend}/bin/evinceSync.py ftplugin/evinceSync.py
install -m 544 ${pythonWrapper} ftplugin/evinceSync.py
'';
meta = {
description = "synctex support between vim/neovim and evince";
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.8.5";
src = fetchurl {
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "mirror://gnome/sources/ocrfeeder/${lib.versions.majorMinor finalAttrs.version}/ocrfeeder-${finalAttrs.version}.tar.xz";
sha256 = "sha256-sD0qWUndguJzTw0uy0FIqupFf4OX6dTFvcd+Mz+8Su0=";
};
+3 -3
View File
@@ -6,12 +6,12 @@
}:
let
pname = "bazecor";
version = "1.3.11";
version = "1.4.0";
src = appimageTools.extract {
inherit pname version;
src = fetchurl {
url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage";
hash = "sha256-iMurQDF0CBMnJnjmEgNIKYd8C5B4FguMi4Jqa3dHr3o=";
hash = "sha256-BKTOWpQT+5DCbPl+lQvbGBtpfRe098BJmQr+bMMMjKg=";
};
# Workaround for https://github.com/Dygmalab/Bazecor/issues/370
@@ -19,7 +19,7 @@ let
substituteInPlace \
$out/usr/lib/bazecor/resources/app/.webpack/main/index.js \
--replace-fail \
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===l.trim()}catch(e){console.error(e)}return!1}' \
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===d.trim()}catch(e){u.default.error(e)}return!1}' \
'checkUdev=()=>{return 1}'
'';
};
+1 -1
View File
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "Cloudef";
repo = finalAttrs.pname;
repo = "bemenu";
rev = finalAttrs.version;
hash = "sha256-wdOrVX4AgGXySlwmqFRp9OWoSkEYBIZumBGTrFfyNpg=";
};
+1 -1
View File
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "bibletime";
repo = finalAttrs.pname;
repo = "bibletime";
rev = "v${finalAttrs.version}";
hash = "sha256-4O8F5/EyoJFJBEWOAs9lzN3TKuu/CEdKfPaOF8gNqps=";
};
+1 -1
View File
@@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "4.1.1";
src = fetchurl {
url = "https://download.blender.org/source/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz";
hash = "sha256-T7s69k0/hN9ccQN0hFQibBiFwawu1Tc9DOoegOgsCEg=";
};
+1 -1
View File
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = finalAttrs.pname;
repo = "citations";
rev = finalAttrs.version;
hash = "sha256-RV9oQcXzRsNcvZc/8Xt7qZ/88DvHofC2Av0ftxzeF6Q=";
};
+1 -1
View File
@@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.0.7";
src = fetchurl {
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/genesys-${finalAttrs.version}.tar.gz";
hash = "sha256-I1lEVvwRiGf1f4zUtqKhSb+it/nC8WAmw5S6edquOj8=";
};
@@ -5,13 +5,13 @@
, bluez
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation {
pname = "rofi-bluetooth";
version = "unstable-2023-02-03";
src = fetchFromGitHub {
owner = "nickclyde";
repo = finalAttrs.pname;
repo = "rofi-bluetooth";
# https://github.com/nickclyde/rofi-bluetooth/issues/19
rev = "9d91c048ff129819f4c6e9e48a17bd54343bbffb";
sha256 = "sha256-1Xe3QFThIvJDCUznDP5ZBzwZEMuqmxpDIV+BcVvQDG8=";
@@ -38,4 +38,4 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "rofi-bluetooth";
platforms = platforms.linux;
};
})
}
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3 }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3, makeWrapper }:
stdenv.mkDerivation rec {
pname = "spotify-tray";
@@ -19,10 +19,14 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [ autoreconfHook pkg-config ];
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
buildInputs = [ gtk3 ];
postFixup = ''
wrapProgram $out/bin/spotify-tray --set GDK_BACKEND x11
'';
meta = with lib; {
homepage = "https://github.com/tsmetana/spotify-tray";
description = "Adds a tray icon to the Spotify Linux client application";
@@ -1,15 +1,15 @@
{
"packageVersion": "127.0.2-2",
"packageVersion": "128.0-2",
"source": {
"rev": "127.0.2-2",
"sha256": "1f4xz496x1nf7lmvk50hakj9p6q0kzxl5f9s2k0b6kczvyc8gw5n"
"rev": "128.0-2",
"sha256": "0239m5r5nfn291slpxh1qhj3g3q2pskyp967ahvn7nbsqlvjyhag"
},
"settings": {
"rev": "1debc2d30949baff2d1e7df23e87900f1987a8ae",
"sha256": "12xgjv40mihbyfsah26vvdyb4yirydc1a884v2chnca4f5q00lc2"
},
"firefox": {
"version": "127.0.2",
"sha512": "d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b"
"version": "128.0",
"sha512": "309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1"
}
}
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cilium-cli";
version = "0.16.11";
version = "0.16.13";
src = fetchFromGitHub {
owner = "cilium";
repo = pname;
rev = "v${version}";
hash = "sha256-muIVjT6ssNejp5O8ju06h9e7ZVcfwXyHgQIa0IEP4Xg=";
hash = "sha256-69LDIKaAJYbxTp0qBgfnE/YG6vnyN9/HgyxEBPqFY+4=";
};
vendorHash = null;
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.165.0";
version = "0.166.0";
src = fetchFromGitHub {
owner = "helmfile";
repo = "helmfile";
rev = "v${version}";
hash = "sha256-fXrfthjWaCo0p7NwP9EWa0uFeCCHInzi7h2tgawHlh0=";
hash = "sha256-TZskvZyNihklCJB0yMFXk1bLEuhetQvJ+6uLnYiLBs0=";
};
vendorHash = "sha256-nWfj/E3Lg58wZ27LEI91+Ns9lj+unK6xYTEcxdAFOXI=";
vendorHash = "sha256-aQ/g7MWMWvxRcTHPUYRGjaaPX9ZH6m+TJ6BdsFeGOsY=";
doCheck = false;
@@ -88,12 +88,12 @@ lib:
# make sure they're in the path if desired.
let
baseMeta = with lib; {
baseMeta = {
description = "Lightweight Kubernetes distribution";
license = licenses.asl20;
license = lib.licenses.asl20;
homepage = "https://k3s.io";
maintainers = lib.teams.k3s.members;
platforms = platforms.linux;
platforms = lib.platforms.linux;
# resolves collisions with other installations of kubectl, crictl, ctr
# prefer non-k3s versions
@@ -367,6 +367,7 @@ buildGoModule rec {
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
buildPhase = ''
runHook preBuild
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
# copy needed 'go generate' inputs into place
@@ -387,12 +388,14 @@ buildGoModule rec {
./scripts/package-cli
mkdir -p $out/bin
runHook postBuild
'';
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
doCheck = false;
installPhase = ''
runHook preInstall
# wildcard to match the arm64 build too
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
wrapProgram $out/bin/k3s \
@@ -404,27 +407,31 @@ buildGoModule rec {
install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh
wrapProgram $out/bin/k3s-killall.sh \
--prefix PATH : ${lib.makeBinPath (k3sRuntimeDeps ++ k3sKillallDeps)}
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
runHook postInstallCheck
'';
passthru.updateScript = updateScript;
passthru.mkTests =
version:
let
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
in
{
auto-deploy = nixosTests.k3s.auto-deploy.${k3s_version};
etcd = nixosTests.k3s.etcd.${k3s_version};
single-node = nixosTests.k3s.single-node.${k3s_version};
multi-node = nixosTests.k3s.multi-node.${k3s_version};
};
passthru.tests = passthru.mkTests k3sVersion;
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;
};
meta = baseMeta;
}
@@ -9,14 +9,14 @@
}:
buildGoModule rec {
pname = "openshift";
version = "4.14.0";
gitCommit = "0c63f9d";
version = "4.16.0";
gitCommit = "fa84651";
src = fetchFromGitHub {
owner = "openshift";
repo = "oc";
rev = "0c63f9da2694c080257111616c60005f32a5bf47";
hash = "sha256-viNSRwGNB0TGgw501cQuj4ajmAgvqk4vj2RmW8/DCB8=";
rev = "fa846511dbeb7e08cf77265056397283c6c896f9";
hash = "sha256-mGItCpZQqQOKoNm2amwpHrEIcZdVNirQFa7DGvmnR9s=";
};
vendorHash = null;
@@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.92.2";
src = fetchurl {
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "mirror://gnome/sources/gnome-network-displays/${lib.versions.majorMinor finalAttrs.version}/gnome-network-displays-${finalAttrs.version}.tar.xz";
sha256 = "sha256-df35UJnRolVSiYcArpnrglxNKbTKA3LAGsNwlDF7cj4=";
};
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
src = fetchFromGitHub {
owner = "vector-im";
repo = finalAttrs.pname;
repo = "element-web";
rev = "v${finalAttrs.version}";
hash = webSrcHash;
};
@@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "vector-im";
repo = finalAttrs.pname;
repo = "hydrogen-web";
rev = "v${finalAttrs.version}";
hash = "sha256-u8Yex3r7EZH+JztQHJbfncYeyyl6hgb1ZNFIg//wcb0=";
};
@@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "2.0.30";
src = fetchurl {
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/${finalAttrs.pname}-${finalAttrs.version}-amd64.deb";
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/ticktick-${finalAttrs.version}-amd64.deb";
hash = "sha256-oo1ssIU6nYMBoEc888xAiTS7PHuEkoaC7KsPRTwL0ZA=";
};
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.37.0";
version = "0.37.1";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-OXE+8e8Wr2EETEfdDaI/fb+SSsRhippqPzTXTlwLP4c=";
hash = "sha256-ZIgKyPRTzlk6N23SmDEPNM8vXXh0FizXb9/WqtbmSCU=";
fetchSubmodules = true;
};
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "migrate";
src = fetchurl {
url = "https://peterbeerli.com/migrate-html5/download_version4/${finalAttrs.pname}-${finalAttrs.version}.src.tar.gz";
url = "https://peterbeerli.com/migrate-html5/download_version4/migrate-${finalAttrs.version}.src.tar.gz";
hash = "sha256-twkoR9L6VPUye12OC0B5w0PxcxyKain6RkhCswLEdwg=";
};
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "chipsalliance";
repo = finalAttrs.pname;
repo = "surelog";
rev = "v${finalAttrs.version}";
hash = "sha256-V4LmW4ca6KfugOu0XnGwutRqWR/9K6ESokHOB2yAVag=";
fetchSubmodules = false; # we use all dependencies from nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "chipsalliance";
repo = finalAttrs.pname;
repo = "UHDM";
rev = "v${finalAttrs.version}";
hash = "sha256-va8qAzsg589C6rLmG1uIMDr4X30qpBgRO1ZVKdEs5ok=";
fetchSubmodules = false; # we use all dependencies from nix
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "uarmsolver";
version = "0.2.6";
version = "0.3.0";
src = fetchFromGitHub {
owner = "firefly-cpp";
repo = "uARMSolver";
rev = version;
sha256 = "sha256-E8hc7qoIDaNERMUhVlh+iBvQX1odzd/szeMSh8TCNFo=";
sha256 = "sha256-IMlh6Y5iVouMZatR1uxw0gUNZBdh2qm56s+GEjcr1+M=";
};
nativeBuildInputs = [ cmake ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "5.46.0";
src = fetchurl {
url = "mirror://sourceforge/${finalAttrs.pname}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
url = "mirror://sourceforge/maxima/maxima-${finalAttrs.version}.tar.gz";
sha256 = "sha256-c5Dwa0jaZckDPosvYpuXi5AFZFSlQCLbfecOIiWqiwc=";
};
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "ghq";
version = "1.6.1";
version = "1.6.2";
src = fetchFromGitHub {
owner = "x-motemen";
repo = "ghq";
rev = "v${version}";
sha256 = "sha256-fp/pqLpuEqvLoB3ioDd1Kx+i1NUI+bUDJzdaT7dQGSg=";
sha256 = "sha256-vO/skiVq9wFWjTWyUb9IbKRAmtGSZEtBBEbW6R+oOQM=";
};
vendorHash = "sha256-M9B19rSEMnmT4wfOVnSAK06UPR/xrs0252lX3B9ebF8=";
vendorHash = "sha256-qUMpHFCCzfwM4wC0FIaOrnTiqq3BlG5Jr9XlkSx2HRo=";
doCheck = false;
@@ -10,6 +10,7 @@
, CoreServices
, Foundation
, Security
, testers
}:
let
@@ -31,14 +32,14 @@ let
{ name = "contrib"; path = "${src}/contrib"; }
];
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: rec {
pname = "p4";
version = "2022.2.2407422";
version = "2024.1/2596294";
src = fetchurl {
# Upstream replaces minor versions, so use archived URL.
url = "https://web.archive.org/web/20230512173806id_/https://ftp.perforce.com/perforce/r22.2/bin.tools/p4source.tgz";
sha256 = "4355375def3f3d2256d4a92ac1b9960173e7aa97404346c0c74caf23a0905e1b";
url = "https://web.archive.org/web/20240526153453id_/https://ftp.perforce.com/perforce/r24.1/bin.tools/p4source.tgz";
sha256 = "sha256-6+DOJPeVzP4x0UsN9MlZRAyusapBTICX0BuyvVBQBC8=";
};
nativeBuildInputs = [ jam ];
@@ -92,11 +93,16 @@ stdenv.mkDerivation rec {
runHook preInstall
mkdir -p $bin/bin $dev $out
cp bin.unix/p4 $bin/bin
cp -r bin.unix/p4api-${version}/include $dev
cp -r bin.unix/p4api-${version}/lib $out
cp -r bin.unix/p4api-*/include $dev
cp -r bin.unix/p4api-*/lib $out
runHook postInstall
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "p4 -V";
};
meta = with lib; {
description = "Perforce Helix Core command-line client and APIs";
homepage = "https://www.perforce.com";
@@ -105,4 +111,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = with maintainers; [ corngood impl ];
};
}
})
@@ -2,28 +2,30 @@
, fetchurl
, lib
, callPackage
, libsForQt5
, qt6Packages
}:
let
# Upstream replaces minor versions, so use archived URLs.
srcs = {
"x86_64-linux" = fetchurl {
url = "https://web.archive.org/web/20220902181457id_/https://ftp.perforce.com/perforce/r22.2/bin.linux26x86_64/p4v.tgz";
sha256 = "8fdade4aafe25f568a61cfd80823aa90599c2a404b7c6b4a0862c84b07a9f8d2";
srcs = rec {
x86_64-linux = fetchurl {
url = "https://web.archive.org/web/20240612193642id_/https://ftp.perforce.com/perforce/r24.2/bin.linux26x86_64/p4v.tgz";
sha256 = "sha256-HA99fHcmgli/vVnr0M8ZJEsaZ2ZLzpG3M8S77oDYJyE=";
};
"x86_64-darwin" = fetchurl {
url = "https://web.archive.org/web/20220902194716id_/https://ftp.perforce.com/perforce/r22.2/bin.macosx1015x86_64/P4V.dmg";
sha256 = "c4a9460c0f849be193c68496c500f8a785c740f5bea5b5e7f617969c20be3cd7";
aarch64-darwin = fetchurl {
url = "https://web.archive.org/web/20240612194532id_/https://ftp.perforce.com/perforce/r24.2/bin.macosx12u/P4V.dmg";
sha256 = "sha256-PS7gfDdWspyL//YWLkrsGi5wh6SIeAry2yef1/V0d6o=";
};
# this is universal
x86_64-darwin = aarch64-darwin;
};
mkDerivation =
if stdenv.isDarwin then callPackage ./darwin.nix { }
else libsForQt5.callPackage ./linux.nix { };
else qt6Packages.callPackage ./linux.nix { };
in mkDerivation {
pname = "p4v";
version = "2022.2.2336701";
version = "2024.2/2606884";
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -17,8 +17,12 @@
, libxcb
, libxkbcommon
, nss
, qtbase
, qtmultimedia
, qtsvg
, qttools
, qtwebengine
, qtwebview
, xcbutilimage
, xcbutilkeysyms
, xcbutilrenderutil
@@ -50,8 +54,12 @@ let
libxcb
libxkbcommon
nss
qtbase
qtmultimedia
qtsvg
qttools
qtwebengine
qtwebview
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
@@ -63,10 +71,19 @@ let
# Don't wrap the Qt apps; upstream has its own wrapper scripts.
dontWrapQtApps = true;
postPatch = ''
rm -r lib/plugins lib/libQt6* lib/libssl* lib/libicu* lib/libcrypto*
'';
installPhase = ''
mkdir -p $out
cp -r bin lib $out
addAutoPatchelfSearchPath $out/lib
ln -s "${qtbase}/${qtbase.qtPluginPrefix}" $out/lib/plugins
'';
preFixup = ''
patchelf --clear-symbol-version close $out/bin/p4{v,admin}.bin
'';
};
in
@@ -0,0 +1,25 @@
From cd8c6561079ee4c53b4bed390edd75a730ac685d Mon Sep 17 00:00:00 2001
From: Tim Schumacher <timschumi@gmx.de>
Date: Thu, 4 Jul 2024 16:26:36 +0200
Subject: [PATCH] Don't install systemd unit files using absolute paths
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index a188f16..7807abe 100644
--- a/meson.build
+++ b/meson.build
@@ -54,7 +54,7 @@ executable('gsr-kms-server', 'kms/server/kms_server.c', dependencies : dependenc
executable('gpu-screen-recorder', src, dependencies : dep, install : true)
if get_option('systemd') == true
- install_data(files('extra/gpu-screen-recorder.service'), install_dir : '/usr/lib/systemd/user')
+ install_data(files('extra/gpu-screen-recorder.service'), install_dir : 'lib/systemd/user')
endif
if get_option('capabilities') == true
--
2.45.1
@@ -2,6 +2,8 @@
, lib
, fetchurl
, makeWrapper
, meson
, ninja
, pkg-config
, libXcomposite
, libpulseaudio
@@ -10,24 +12,30 @@
, libdrm
, libva
, libglvnd
, libXdamage
, libXi
, libXrandr
, libXfixes
, wrapperDir ? "/run/wrappers/bin"
}:
stdenv.mkDerivation {
pname = "gpu-screen-recorder";
version = "unstable-2024-05-21";
version = "unstable-2024-07-05";
# Snapshot tarballs use the following versioning format:
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
src = fetchurl {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r594.e572073.tar.gz";
hash = "sha256-MTBxhvkoyotmRUx1sRN/7ruXBYwIbOFQNdJHhZ3DdDk=";
url = "https://dec05eba.com/snapshot/gpu-screen-recorder.git.r641.48cd80f.tar.gz";
hash = "sha256-hIEK8EYIxQTTiFePPZf4V0nsxqxkfcDeOG9GK9whn+0=";
};
sourceRoot = ".";
nativeBuildInputs = [
pkg-config
makeWrapper
meson
ninja
];
buildInputs = [
@@ -37,20 +45,29 @@ stdenv.mkDerivation {
wayland
libdrm
libva
libXdamage
libXi
libXrandr
libXfixes
];
buildPhase = ''
./build.sh
'';
patches = [
./0001-Don-t-install-systemd-unit-files-using-absolute-path.patch
];
mesonFlags = [
"-Dsystemd=true"
# Capabilities are handled by security.wrappers if possible.
"-Dcapabilities=false"
];
postInstall = ''
install -Dt $out/bin gpu-screen-recorder gsr-kms-server
mkdir $out/bin/.wrapped
mv $out/bin/gpu-screen-recorder $out/bin/.wrapped/
makeWrapper "$out/bin/.wrapped/gpu-screen-recorder" "$out/bin/gpu-screen-recorder" \
--prefix LD_LIBRARY_PATH : ${libglvnd}/lib \
--prefix PATH : ${wrapperDir} \
--suffix PATH : $out/bin
'';
@@ -1,47 +1,62 @@
{ stdenv
, lib
, fetchgit
, fetchurl
, pkg-config
, desktop-file-utils
, makeWrapper
, meson
, ninja
, gtk3
, libayatana-appindicator
, libpulseaudio
, libdrm
, gpu-screen-recorder
, libglvnd
, libX11
, libXrandr
, wayland
, wrapGAppsHook3
, wrapperDir ? "/run/wrappers/bin"
}:
stdenv.mkDerivation {
pname = "gpu-screen-recorder-gtk";
version = "3.7.6";
version = "unstable-2024-07-05";
src = fetchgit {
url = "https://repo.dec05eba.com/gpu-screen-recorder-gtk";
rev = "cd777c1506e20514df4b97345e480051cbaf9693";
hash = "sha256-ZBYYsW75tq8TaZp0F4v7YIHKHk/DFBIGy3X781ho2oE=";
# Snapshot tarballs use the following versioning format:
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
src = fetchurl {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.r311.c611c51.tar.gz";
hash = "sha256-86EdmeZ2dlffSfJOrTVGPtYyL3j6DmCQIALX2rpeS1Y=";
};
sourceRoot = ".";
nativeBuildInputs = [
desktop-file-utils
pkg-config
makeWrapper
meson
ninja
wrapGAppsHook3
];
buildInputs = [
gtk3
libayatana-appindicator
libpulseaudio
libdrm
libX11
libXrandr
wayland
];
buildPhase = ''
./build.sh
'';
installPhase = ''
install -Dt $out/bin/ gpu-screen-recorder-gtk
install -Dt $out/share/applications/ gpu-screen-recorder-gtk.desktop
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gpu-screen-recorder ]})
preFixup = let
gpu-screen-recorder-wrapped = gpu-screen-recorder.override {
inherit wrapperDir;
};
in ''
gappsWrapperArgs+=(--prefix PATH : ${wrapperDir})
gappsWrapperArgs+=(--suffix PATH : ${lib.makeBinPath [ gpu-screen-recorder-wrapped ]})
# we also append /run/opengl-driver/lib as it otherwise fails to find libcuda.
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]}:/run/opengl-driver/lib)
'';
@@ -64,7 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "obsproject";
repo = finalAttrs.pname;
repo = "obs-studio";
rev = finalAttrs.version;
sha256 = "sha256-M4IINBoYrgkM37ykb4boHyWP8AxwMX0b7IAeeNIw9Qo=";
fetchSubmodules = true;
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "nowrep";
repo = finalAttrs.pname;
repo = "obs-vkcapture";
rev = "v${finalAttrs.version}";
hash = "sha256-hYPQ1N4k4eb+bvGWZqaQJ/C8C5Lh8ooZ03raGF5ORgE=";
};
@@ -9,7 +9,6 @@
, mpv
, wget
, xdg-utils
, youtube-dl
, yt-dlp
, TestPod
, Gtk3
@@ -75,11 +74,11 @@ buildPerlModule rec {
postFixup = ''
wrapProgram "$out/bin/pipe-viewer" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget youtube-dl yt-dlp ]}"
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}"
'' + lib.optionalString withGtk3 ''
# make xdg-open overrideable at runtime
wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget youtube-dl yt-dlp ]}" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg mpv wget yt-dlp ]}" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}"
'';
@@ -54,7 +54,7 @@ let
mv $out/bin/arion $out/libexec
makeWrapper $out/libexec/arion $out/bin/arion \
--unset PYTHONPATH \
--prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose_1 ]} \
--prefix PATH : ${lib.makeBinPath [ pkgs.docker-compose ]} \
;
'';
};
@@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tart";
version = "2.12.0";
version = "2.13.0";
src = fetchurl {
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
hash = "sha256-+33Z7M9Y8fWFfCBNJrXHljwoAn7p70+yvTmBwx1X68M=";
hash = "sha256-aR28Q5eQwcEfk65on4kgA+bko6uEThHsgZZU+fExzus=";
};
sourceRoot = ".";
@@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "hyprwm";
repo = finalAttrs.pname;
repo = "hyprland-protocols";
rev = "v${finalAttrs.version}";
hash = "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=";
};
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "hyprwm";
repo = finalAttrs.pname;
repo = "hyprpaper";
rev = "v${finalAttrs.version}";
hash = "sha256-l13c8ALA7ZKDgluYA1C1OfkDGYD6e1/GR6LJnxCLRhA=";
};
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "hyprwm";
repo = finalAttrs.pname;
repo = "hyprpicker";
rev = "v${finalAttrs.version}";
hash = "sha256-BYQF1zM6bJ44ag9FJ0aTSkhOTY9U7uRdp3SmRCs5fJM=";
};
@@ -1,6 +1,8 @@
{ lib
, runtimeShell
, stdenvNoCC
, callPackage
, substituteAll
, writeShellScript
, srcOnly
, linkFarmFromDrvs
@@ -202,131 +204,48 @@ stdenvNoCC.mkDerivation (args // {
passthru = {
inherit nuget-source;
} // lib.optionalAttrs (!lib.isDerivation nugetDeps) {
fetch-deps =
let
flags = dotnetFlags ++ dotnetRestoreFlags;
runtimeIds =
if runtimeId != null
then [ runtimeId ]
else map (system: dotnetCorePackages.systemToDotnetRid system) platforms;
defaultDepsFile =
# Wire in the nugetDeps file such that running the script with no args
# runs it agains the correct deps file by default.
# Note that toString is necessary here as it results in the path at
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
# than the Nix store path of the path after it's been imported.
if lib.isPath nugetDepsFile && !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile)
then toString nugetDepsFile
else ''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
in
writeShellScript "fetch-${pname}-deps" ''
set -euo pipefail
export PATH="${lib.makeBinPath [ coreutils runtimeShellPackage dotnet-sdk (nuget-to-nix.override { inherit dotnet-sdk; }) ]}"
for arg in "$@"; do
case "$arg" in
--keep-sources|-k)
keepSources=1
shift
;;
--help|-h)
echo "usage: $0 [--keep-sources] [--help] <output path>"
echo " <output path> The path to write the lockfile to. A temporary file is used if this is not set"
echo " --keep-sources Dont remove temporary directories upon exit, useful for debugging"
echo " --help Show this help message"
exit
;;
esac
done
if [[ ''${TMPDIR:-} == /run/user/* ]]; then
# /run/user is usually a tmpfs in RAM, which may be too small
# to store all downloaded dotnet packages
unset TMPDIR
fi
export tmp=$(mktemp -td "deps-${pname}-XXXXXX")
HOME=$tmp/home
exitTrap() {
test -n "''${ranTrap-}" && return
ranTrap=1
if test -n "''${keepSources-}"; then
echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home"
else
rm -rf "$tmp"
fi
# Since mktemp is used this will be empty if the script didnt succesfully complete
if ! test -s "$depsFile"; then
rm -rf "$depsFile"
fi
}
trap exitTrap EXIT INT TERM
dotnetRestore() {
local -r project="''${1-}"
local -r rid="$2"
dotnet restore ''${project-} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--packages "$tmp/nuget_pkgs" \
--runtime "$rid" \
--no-cache \
--force \
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
${lib.escapeShellArgs flags}
}
declare -a projectFiles=( ${lib.escapeShellArgs projectFiles} )
declare -a testProjectFiles=( ${lib.escapeShellArgs testProjectFiles} )
export DOTNET_NOLOGO=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
depsFile=$(realpath "''${1:-${defaultDepsFile}}")
echo Will write lockfile to "$depsFile"
mkdir -p "$tmp/nuget_pkgs"
storeSrc="${srcOnly args}"
src=$tmp/src
cp -rT "$storeSrc" "$src"
chmod -R +w "$src"
cd "$src"
echo "Restoring project..."
${dotnet-sdk}/bin/dotnet tool restore
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
for rid in "${lib.concatStringsSep "\" \"" runtimeIds}"; do
(( ''${#projectFiles[@]} == 0 )) && dotnetRestore "" "$rid"
for project in ''${projectFiles[@]-} ''${testProjectFiles[@]-}; do
dotnetRestore "$project" "$rid"
done
done
# Second copy, makes sure packages restored by ie. paket are included
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
echo "Succesfully restored project"
echo "Writing lockfile..."
excluded_sources="${lib.concatStringsSep " " sdkDeps}"
for excluded_source in ''${excluded_sources[@]}; do
ls "$excluded_source" >> "$tmp/excluded_list"
done
tmpFile="$tmp"/deps.nix
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$tmpFile"
mv "$tmpFile" "$depsFile"
echo "Succesfully wrote lockfile to $depsFile"
'';
fetch-deps = let
flagsList = dotnetFlags ++ dotnetRestoreFlags;
flags = lib.concatStringsSep " " (map lib.escapeShellArg flagsList);
disableParallel =
lib.optionalString (!enableParallelBuilding) "--disable-parallel";
runtimeIdsList = if runtimeId != null then
[ runtimeId ]
else
map (system: dotnetCorePackages.systemToDotnetRid system) platforms;
runtimeIds =
lib.concatStringsSep " " (map lib.escapeShellArg runtimeIdsList);
defaultDepsFile =
# Wire in the nugetDeps file such that running the script with no args
# runs it agains the correct deps file by default.
# Note that toString is necessary here as it results in the path at
# eval time (i.e. to the file in your local Nixpkgs checkout) rather
# than the Nix store path of the path after it's been imported.
if lib.isPath nugetDepsFile
&& !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile) then
toString nugetDepsFile
else
''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
storeSrc = srcOnly args;
projectFileStr = lib.escapeShellArg projectFiles;
testProjectFileStr = lib.escapeShellArg testProjectFiles;
path = lib.makeBinPath [
coreutils
runtimeShellPackage
dotnet-sdk
(nuget-to-nix.override { inherit dotnet-sdk; })
];
dotnetSdkPath = toString dotnet-sdk;
excludedSources =
lib.concatStringsSep " " (map lib.escapeShellArg sdkDeps);
in substituteAll {
name = "fetch-deps";
src = ./fetch-deps.sh;
isExecutable = true;
inherit pname defaultDepsFile runtimeIds storeSrc flags disableParallel
projectFileStr testProjectFileStr path dotnetSdkPath excludedSources
runtimeShell;
};
} // args.passthru or { };
meta = (args.meta or { }) // { inherit platforms; };
@@ -0,0 +1,111 @@
#! @runtimeShell@
# shellcheck shell=bash
set -euo pipefail
export PATH="@path@"
for arg in "$@"; do
case "$arg" in
--keep-sources|-k)
keepSources=1
shift
;;
--help|-h)
echo "usage: $0 [--keep-sources] [--help] <output path>"
echo " <output path> The path to write the lockfile to. A temporary file is used if this is not set"
echo " --keep-sources Dont remove temporary directories upon exit, useful for debugging"
echo " --help Show this help message"
exit
;;
esac
done
if [[ ${TMPDIR:-} == /run/user/* ]]; then
# /run/user is usually a tmpfs in RAM, which may be too small
# to store all downloaded dotnet packages
unset TMPDIR
fi
export tmp=$(mktemp -td "deps-@pname@-XXXXXX")
HOME=$tmp/home
exitTrap() {
test -n "${ranTrap-}" && return
ranTrap=1
if test -n "${keepSources-}"; then
echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home"
else
rm -rf "$tmp"
fi
# Since mktemp is used this will be empty if the script didnt succesfully complete
if ! test -s "$depsFile"; then
rm -rf "$depsFile"
fi
}
trap exitTrap EXIT INT TERM
dotnetRestore() {
local -r project="${1-}"
local -r rid="$2"
dotnet restore ${project-} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--packages "$tmp/nuget_pkgs" \
--runtime "$rid" \
--no-cache \
--force \
@disableParallel@ \
@flags@
}
declare -a projectFiles=( @projectFileStr@ )
declare -a testProjectFiles=( @testProjectFileStr@ )
export DOTNET_NOLOGO=1
export DOTNET_CLI_TELEMETRY_OPTOUT=1
depsFile=$(realpath "${1:-@defaultDepsFile@}")
echo Will write lockfile to "$depsFile"
mkdir -p "$tmp/nuget_pkgs"
storeSrc="@storeSrc@"
src=$tmp/src
cp -rT "$storeSrc" "$src"
chmod -R +w "$src"
cd "$src"
echo "Restoring project..."
"@dotnetSdkPath@/bin/dotnet" tool restore
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
runtimeIds=(@runtimeIds@)
for rid in "${runtimeIds[@]}"; do
(( ${#projectFiles[@]} == 0 )) && dotnetRestore "" "$rid"
for project in ${projectFiles[@]-} ${testProjectFiles[@]-}; do
dotnetRestore "$project" "$rid"
done
done
# Second copy, makes sure packages restored by ie. paket are included
cp -r $HOME/.nuget/packages/* $tmp/nuget_pkgs || true
echo "Succesfully restored project"
echo "Writing lockfile..."
excluded_sources=( @excludedSources@ )
for excluded_source in ${excluded_sources[@]}; do
ls "$excluded_source" >> "$tmp/excluded_list"
done
tmpFile="$tmp"/deps.nix
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$tmpFile"
mv "$tmpFile" "$depsFile"
echo "Succesfully wrote lockfile to $depsFile"
+3 -3
View File
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ab-av1";
version = "0.7.15";
version = "0.7.16";
src = fetchFromGitHub {
owner = "alexheretic";
repo = "ab-av1";
rev = "v${version}";
hash = "sha256-s1hE+/fj73xxHqBQ7Q295vYBGzdCeHj0odn+EPFrS6E=";
hash = "sha256-gZdlitOu0Tyur2xdPBYLZg/N2eL6oT6BasVzmx0lHE4=";
};
cargoHash = "sha256-0Fi9b5TQeVHw8MfLdIhLybb4ppRVcPqRQz1oR+AIGY0=";
cargoHash = "sha256-aws8miz+HWdfL33c+BmBo01ooXJMKB9Ekdji+Uh58AQ=";
nativeBuildInputs = [ installShellFiles ];
+1 -1
View File
@@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.2.11";
src = fetchurl {
url = "mirror://alsa/lib/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2";
hash = "sha256-nz8vabmV+a03NZBy+8aaOoi/uggfyD6b4w4UZieVu00=";
};
@@ -0,0 +1,16 @@
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 71a110a7b..e69880d46 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -38,11 +38,6 @@ if(NOT WIN32)
# find the correct file.
set(DESKTOP_ANSEL_BINARY "ansel")
set(DESKTOP_ANSEL_ICON "ansel")
- if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
- set(DESKTOP_ANSEL_BINARY "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/ansel")
- # `hicolor` is always available.
- set(DESKTOP_ANSEL_ICON "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps/ansel.svg")
- endif()
# Append supported MIME types dynamically.
if("avif" IN_LIST DT_SUPPORTED_EXTENSIONS)
+5
View File
@@ -87,6 +87,11 @@ stdenv.mkDerivation {
fetchSubmodules = true;
};
patches = [
# don't use absolute paths to binary or icon - see https://github.com/NixOS/nixpkgs/issues/308324
./fix-desktop-file.patch
];
strictDeps = true;
nativeBuildInputs = [
@@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "application-title-bar";
version = "0.6.5";
version = "0.6.7";
src = fetchFromGitHub {
owner = "antroids";
repo = "application-title-bar";
rev = "v${finalAttrs.version}";
hash = "sha256-hA8aK2rd53VyYQnR0SG4KfwycCqT1EYB7iAJvkDGvYs=";
hash = "sha256-6k8bVVrCzrUno7m9NJWlFpwHsWLNRWudhw5mhpsMxRU=";
};
propagatedUserEnvPkgs = with kdePackages; [ kconfig ];
+1 -1
View File
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.5.11";
src = fetchurl {
url = "https://www.efficios.com/files/babeltrace/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
url = "https://www.efficios.com/files/babeltrace/babeltrace-${finalAttrs.version}.tar.bz2";
sha256 = "Z7Q6qu9clR+nrxpVfPcgGhH+iYdrfCK6CgPLwxbbWpw=";
};
+1 -1
View File
@@ -5,7 +5,7 @@ buildNimPackage (finalAttrs: {
version = "20230124";
src = fetchFromSourcehut {
owner = "~ehmry";
repo = finalAttrs.pname;
repo = "base45";
rev = finalAttrs.version;
hash = "sha256-9he+14yYVGt2s1IuRLPRsv23xnJzERkWRvIHr3PxFYk=";
};
+12
View File
@@ -96,4 +96,16 @@
(fetchNuGet { pname = "Tmds.DBus.Protocol"; version = "0.13.0"; sha256 = "1r5lc8x3iq795l7vnyzs3shvpqz92fldkayvkqmrfjxnqmy0w3kg"; })
(fetchNuGet { pname = "Tmds.DBus.SourceGenerator"; version = "0.0.2"; sha256 = "03q0fja30216npb3hd39iapr9psriz2k35lymaf4921195y40fiq"; })
(fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.6.1"; sha256 = "0348gj9g5rl0pj2frx4vscj6602gfyn9ba3i1rmfcrxh9jwwa09m"; })
# HACK: I've manually added these because they are needed to build with sdk 7,
# but this package fails to build if all dependencies are updated.
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.31"; hash = "sha256-rVxnpwa8B1weEzkJIxm+todHXrSdIT3KY38D09MncUI="; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.31"; hash = "sha256-z6HNgiyLyXN5+QlktIZmOQh9D4KRHWd6yonmKChEji4="; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.31"; hash = "sha256-Rq97wUeAD2bZhe0XRLB9Ffq1MBU/u4Yq45KwRLz7DRQ="; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; hash = "sha256-Enknv2RsFF68lEPdrf5M+BpV1kHoLTVRApKUwuk/pj0="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.31"; hash = "sha256-mjS1IKBwxDFT2UmcyC5ZMIQ3mWSADw887CIV0pZhQRc="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.31"; hash = "sha256-VifKEirDStL5vpjnEe0hGsODssK20XBX/Mm6j8G4QIM="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.31"; hash = "sha256-p/KpNGwJfvoWNRn057o4t8u8La2LvsmOjF0i2W1URKU="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.31"; hash = "sha256-N3xRbF5nQo9Okixqg1mN86L7VB72bpDR0C6wlfzntPI="; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.31"; hash = "sha256-TE1DmzoBKO9qKoATBWZPRKXBRoRzs6AafKuubeSwgl8="; })
]
+1 -1
View File
@@ -5,7 +5,7 @@ buildNimPackage (finalAttrs: {
version = "0.9.19";
src = fetchFromGitHub {
owner = "nim-lang";
repo = finalAttrs.pname;
repo = "c2nim";
rev = finalAttrs.version;
hash = "sha256-E8sAhTFIWAnlfWyuvqK8h8g7Puf5ejLEqgLNb5N17os=";
};
+46
View File
@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "catnest";
version = "0.2.1";
src = fetchFromGitHub {
owner = "eweOS";
repo = "catnest";
rev = "v${finalAttrs.version}";
hash = "sha256-/t1clnxBNU5lfTjtUbt5eOl5KPeAfG8Hq6jBVMqkkWY=";
};
nativeBuildInputs = [ installShellFiles ];
buildPhase = ''
runHook preBuild
$CC catnest.c -o catnest -std=gnu99
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 catnest -t $out/bin
installManPage catnest.1
runHook postInstall
'';
meta = {
description = "Small, single-file and POSIX-compatible substituion for systemd-sysusers";
homepage = "https://github.com/eweOS/catnest";
license = lib.licenses.mit;
mainProgram = "catnest";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.unix;
};
})
+4 -3
View File
@@ -3,6 +3,7 @@
, fetchFromGitHub
, nodejs_18
, installShellFiles
, stdenv
}:
buildNpmPackage rec {
@@ -25,10 +26,10 @@ buildNpmPackage rec {
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd clever \
--bash <($out/bin/clever --bash-autocomplete-script) \
--zsh <($out/bin/clever --zsh-autocomplete-script)
--bash <($out/bin/clever --bash-autocomplete-script $out/bin/clever) \
--zsh <($out/bin/clever --zsh-autocomplete-script $out/bin/clever)
rm $out/bin/install-clever-completion
rm $out/bin/uninstall-clever-completion
'';

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