Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-09-05 18:04:16 +00:00 committed by GitHub
commit f7e8a46952
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
82 changed files with 4152 additions and 3501 deletions

View File

@ -2279,6 +2279,11 @@
github = "barinov274";
githubId = 54442153;
};
BarrOff = {
name = "BarrOff";
github = "BarrOff";
githubId = 58253563;
};
barrucadu = {
email = "mike@barrucadu.co.uk";
github = "barrucadu";
@ -20990,6 +20995,14 @@
github = "tirimia";
githubId = 11174371;
};
titaniumtown = {
email = "titaniumtown@proton.me";
name = "Simon Gardling";
github = "titaniumtown";
githubId = 11786225;
matrix = "@titaniumtown:envs.net";
keys = [ { fingerprint = "D15E 4754 FE1A EDA1 5A6D 4702 9AB2 8AC1 0ECE 533D"; } ];
};
tjni = {
email = "43ngvg@masqt.com";
matrix = "@tni:matrix.org";

View File

@ -4,11 +4,10 @@
## Highlights {#sec-release-24.11-highlights}
- **This will be the latest version of Nixpkgs to support macOS 10.12 (Sierra).**
Starting with release 25.05, the minimum supported version will be macOS 11 (Big Sur).
From that point on, packages may or may not work on older releases of macOS.
Users on old macOS versions should consider upgrading to a supported OS release (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to OS X 10.6 (Snow Leopard).
- **This will be the last release of Nixpkgs to support macOS Sierra 10.12 to macOS Catalina 10.15.**
Starting with release 25.05, the minimum supported version will be macOS Big Sur 11, and we cannot guarantee that packages will continue to work on older versions of macOS.
Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports back to Mac OS X Snow Leopard 10.6.
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`.
@ -406,6 +405,8 @@
- The `antennas` package and the `services.antennas` module have been
removed as they only work with `tvheadend` (see above).
- The `system.build.brightboxImage` image has been removed as It did not build anymore and has not seen any maintenance in over 7 years (excluding tree-wide changes).
- The `services.syncplay` module now exposes all currently available command-line arguments for `syncplay-server` as options, as well as a `useACMEHost` option for easy TLS setup.
The systemd service now uses `DynamicUser`/`StateDirectory` and the `user` and `group` options have been deprecated.

View File

@ -1,16 +1,13 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.ceph;
# function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode
expandCamelCase = replaceStrings upperChars (map (s: " ${s}") lowerChars);
expandCamelCaseAttrs = mapAttrs' (name: value: nameValuePair (expandCamelCase name) value);
expandCamelCase = lib.replaceStrings lib.upperChars (map (s: " ${s}") lib.lowerChars);
expandCamelCaseAttrs = lib.mapAttrs' (name: value: lib.nameValuePair (expandCamelCase name) value);
makeServices = daemonType: daemonIds:
mkMerge (map (daemonId:
lib.mkMerge (map (daemonId:
{ "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName cfg.${daemonType}.package; })
daemonIds);
@ -18,8 +15,8 @@ let
let
stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
enable = true;
description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}";
after = [ "network-online.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target";
description = "Ceph ${builtins.replaceStrings lib.lowerChars lib.upperChars daemonType} daemon ${daemonId}";
after = [ "network-online.target" "time-sync.target" ] ++ lib.optional (daemonType == "osd") "ceph-mon.target";
wants = [ "network-online.target" "time-sync.target" ];
partOf = [ "ceph-${daemonType}.target" ];
wantedBy = [ "ceph-${daemonType}.target" ];
@ -47,11 +44,11 @@ let
Group = if daemonType == "osd" then "disk" else "ceph";
ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
-f --cluster ${clusterName} --id ${daemonId}'';
} // optionalAttrs (daemonType == "osd") {
} // lib.optionalAttrs (daemonType == "osd") {
ExecStartPre = "${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}";
RestartSec = "20s";
PrivateDevices = "no"; # osd needs disk access
} // optionalAttrs ( daemonType == "mon") {
} // lib.optionalAttrs ( daemonType == "mon") {
RestartSec = "10";
};
};
@ -71,11 +68,11 @@ in
options.services.ceph = {
# Ceph has a monolithic configuration file but different sections for
# each daemon, a separate client section and a global section
enable = mkEnableOption "Ceph global configuration";
enable = lib.mkEnableOption "Ceph global configuration";
global = {
fsid = mkOption {
type = types.str;
fsid = lib.mkOption {
type = lib.types.str;
example = ''
433a2193-4f8a-47a0-95d2-209d7ca2cca5
'';
@ -85,25 +82,25 @@ in
'';
};
clusterName = mkOption {
type = types.str;
clusterName = lib.mkOption {
type = lib.types.str;
default = "ceph";
description = ''
Name of cluster
'';
};
mgrModulePath = mkOption {
type = types.path;
mgrModulePath = lib.mkOption {
type = lib.types.path;
default = "${pkgs.ceph.lib}/lib/ceph/mgr";
defaultText = literalExpression ''"''${pkgs.ceph.lib}/lib/ceph/mgr"'';
defaultText = lib.literalExpression ''"''${pkgs.ceph.lib}/lib/ceph/mgr"'';
description = ''
Path at which to find ceph-mgr modules.
'';
};
monInitialMembers = mkOption {
type = with types; nullOr commas;
monInitialMembers = lib.mkOption {
type = with lib.types; nullOr commas;
default = null;
example = ''
node0, node1, node2
@ -113,8 +110,8 @@ in
'';
};
monHost = mkOption {
type = with types; nullOr commas;
monHost = lib.mkOption {
type = with lib.types; nullOr commas;
default = null;
example = ''
10.10.0.1, 10.10.0.2, 10.10.0.3
@ -124,40 +121,40 @@ in
'';
};
maxOpenFiles = mkOption {
type = types.int;
maxOpenFiles = lib.mkOption {
type = lib.types.int;
default = 131072;
description = ''
Max open files for each OSD daemon.
'';
};
authClusterRequired = mkOption {
type = types.enum [ "cephx" "none" ];
authClusterRequired = lib.mkOption {
type = lib.types.enum [ "cephx" "none" ];
default = "cephx";
description = ''
Enables requiring daemons to authenticate with eachother in the cluster.
'';
};
authServiceRequired = mkOption {
type = types.enum [ "cephx" "none" ];
authServiceRequired = lib.mkOption {
type = lib.types.enum [ "cephx" "none" ];
default = "cephx";
description = ''
Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd).
'';
};
authClientRequired = mkOption {
type = types.enum [ "cephx" "none" ];
authClientRequired = lib.mkOption {
type = lib.types.enum [ "cephx" "none" ];
default = "cephx";
description = ''
Enables requiring the cluster to authenticate itself to the client.
'';
};
publicNetwork = mkOption {
type = with types; nullOr commas;
publicNetwork = lib.mkOption {
type = with lib.types; nullOr commas;
default = null;
example = ''
10.20.0.0/24, 192.168.1.0/24
@ -167,8 +164,8 @@ in
'';
};
clusterNetwork = mkOption {
type = with types; nullOr commas;
clusterNetwork = lib.mkOption {
type = with lib.types; nullOr commas;
default = null;
example = ''
10.10.0.0/24, 192.168.0.0/24
@ -178,18 +175,18 @@ in
'';
};
rgwMimeTypesFile = mkOption {
type = with types; nullOr path;
rgwMimeTypesFile = lib.mkOption {
type = with lib.types; nullOr path;
default = "${pkgs.mailcap}/etc/mime.types";
defaultText = literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
defaultText = lib.literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
description = ''
Path to mime types used by radosgw.
'';
};
};
extraConfig = mkOption {
type = with types; attrsOf str;
extraConfig = lib.mkOption {
type = with lib.types; attrsOf str;
default = {};
example = {
"ms bind ipv6" = "true";
@ -200,9 +197,9 @@ in
};
mgr = {
enable = mkEnableOption "Ceph MGR daemon";
daemons = mkOption {
type = with types; listOf str;
enable = lib.mkEnableOption "Ceph MGR daemon";
daemons = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "name1" "name2" ];
description = ''
@ -210,9 +207,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mgr.name1
'';
};
package = mkPackageOption pkgs "ceph" { };
extraConfig = mkOption {
type = with types; attrsOf str;
package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = lib.mkOption {
type = with lib.types; attrsOf str;
default = {};
description = ''
Extra configuration to add to the global section for manager daemons.
@ -221,9 +218,9 @@ in
};
mon = {
enable = mkEnableOption "Ceph MON daemon";
daemons = mkOption {
type = with types; listOf str;
enable = lib.mkEnableOption "Ceph MON daemon";
daemons = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "name1" "name2" ];
description = ''
@ -231,9 +228,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mon.name1
'';
};
package = mkPackageOption pkgs "ceph" { };
extraConfig = mkOption {
type = with types; attrsOf str;
package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = lib.mkOption {
type = with lib.types; attrsOf str;
default = {};
description = ''
Extra configuration to add to the monitor section.
@ -242,9 +239,9 @@ in
};
osd = {
enable = mkEnableOption "Ceph OSD daemon";
daemons = mkOption {
type = with types; listOf str;
enable = lib.mkEnableOption "Ceph OSD daemon";
daemons = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "name1" "name2" ];
description = ''
@ -252,9 +249,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in osd.name1
'';
};
package = mkPackageOption pkgs "ceph" { };
extraConfig = mkOption {
type = with types; attrsOf str;
package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = lib.mkOption {
type = with lib.types; attrsOf str;
default = {
"osd journal size" = "10000";
"osd pool default size" = "3";
@ -270,9 +267,9 @@ in
};
mds = {
enable = mkEnableOption "Ceph MDS daemon";
daemons = mkOption {
type = with types; listOf str;
enable = lib.mkEnableOption "Ceph MDS daemon";
daemons = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "name1" "name2" ];
description = ''
@ -280,9 +277,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mds.name1
'';
};
package = mkPackageOption pkgs "ceph" { };
extraConfig = mkOption {
type = with types; attrsOf str;
package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = lib.mkOption {
type = with lib.types; attrsOf str;
default = {};
description = ''
Extra configuration to add to the MDS section.
@ -291,10 +288,10 @@ in
};
rgw = {
enable = mkEnableOption "Ceph RadosGW daemon";
package = mkPackageOption pkgs "ceph" { };
daemons = mkOption {
type = with types; listOf str;
enable = lib.mkEnableOption "Ceph RadosGW daemon";
package = lib.mkPackageOption pkgs "ceph" { };
daemons = lib.mkOption {
type = with lib.types; listOf str;
default = [];
example = [ "name1" "name2" ];
description = ''
@ -307,11 +304,11 @@ in
};
client = {
enable = mkEnableOption "Ceph client configuration";
extraConfig = mkOption {
type = with types; attrsOf (attrsOf str);
enable = lib.mkEnableOption "Ceph client configuration";
extraConfig = lib.mkOption {
type = with lib.types; attrsOf (attrsOf str);
default = {};
example = literalExpression ''
example = lib.literalExpression ''
{
# This would create a section for a radosgw daemon named node0 and related
# configuration for it
@ -326,7 +323,7 @@ in
};
};
config = mkIf config.services.ceph.enable {
config = lib.mkIf config.services.ceph.enable {
assertions = [
{ assertion = cfg.global.fsid != "";
message = "fsid has to be set to a valid uuid for the cluster to function";
@ -345,22 +342,22 @@ in
}
];
warnings = optional (cfg.global.monInitialMembers == null)
warnings = lib.optional (cfg.global.monInitialMembers == null)
"Not setting up a list of members in monInitialMembers requires that you set the host variable for each mon daemon or else the cluster won't function";
environment.etc."ceph/ceph.conf".text = let
# Merge the extraConfig set for mgr daemons, as mgr don't have their own section
globalSection = expandCamelCaseAttrs (cfg.global // cfg.extraConfig // optionalAttrs cfg.mgr.enable cfg.mgr.extraConfig);
globalSection = expandCamelCaseAttrs (cfg.global // cfg.extraConfig // lib.optionalAttrs cfg.mgr.enable cfg.mgr.extraConfig);
# Remove all name-value pairs with null values from the attribute set to avoid making empty sections in the ceph.conf
globalSection' = filterAttrs (name: value: value != null) globalSection;
globalSection' = lib.filterAttrs (name: value: value != null) globalSection;
totalConfig = {
global = globalSection';
} // optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; }
// optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; }
// optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; }
// optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig;
} // lib.optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; }
// lib.optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; }
// lib.optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; }
// lib.optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig;
in
generators.toINI {} totalConfig;
lib.generators.toINI {} totalConfig;
users.users.ceph = {
uid = config.ids.uids.ceph;
@ -375,13 +372,13 @@ in
systemd.services = let
services = []
++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
++ lib.optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
++ lib.optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
++ lib.optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
++ lib.optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
++ lib.optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
in
mkMerge services;
lib.mkMerge services;
systemd.targets = let
targets = [
@ -390,13 +387,13 @@ in
wantedBy = [ "multi-user.target" ];
unitConfig.StopWhenUnneeded = true;
}; } ]
++ optional cfg.mon.enable (makeTarget "mon")
++ optional cfg.mds.enable (makeTarget "mds")
++ optional cfg.osd.enable (makeTarget "osd")
++ optional cfg.rgw.enable (makeTarget "rgw")
++ optional cfg.mgr.enable (makeTarget "mgr");
++ lib.optional cfg.mon.enable (makeTarget "mon")
++ lib.optional cfg.mds.enable (makeTarget "mds")
++ lib.optional cfg.osd.enable (makeTarget "osd")
++ lib.optional cfg.rgw.enable (makeTarget "rgw")
++ lib.optional cfg.mgr.enable (makeTarget "mgr");
in
mkMerge targets;
lib.mkMerge targets;
systemd.tmpfiles.settings."10-ceph" = let
defaultConfig = {
@ -407,9 +404,9 @@ in
"/etc/ceph".d = defaultConfig;
"/run/ceph".d = defaultConfig // { mode = "0770"; };
"/var/lib/ceph".d = defaultConfig;
"/var/lib/ceph/mgr".d = mkIf (cfg.mgr.enable) defaultConfig;
"/var/lib/ceph/mon".d = mkIf (cfg.mon.enable) defaultConfig;
"/var/lib/ceph/osd".d = mkIf (cfg.osd.enable) defaultConfig;
"/var/lib/ceph/mgr".d = lib.mkIf (cfg.mgr.enable) defaultConfig;
"/var/lib/ceph/mon".d = lib.mkIf (cfg.mon.enable) defaultConfig;
"/var/lib/ceph/osd".d = lib.mkIf (cfg.osd.enable) defaultConfig;
};
};
}

View File

@ -1,5 +0,0 @@
{ modulesPath, ... }:
{
imports = [ "${modulesPath}/virtualisation/brightbox-image.nix" ];
}

View File

@ -1,166 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
diskSize = "20G";
in
{
imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ];
system.build.brightboxImage =
pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "brightbox-image"
{ preVM =
''
mkdir $out
diskImage=$out/$diskImageBase
truncate $diskImage --size ${diskSize}
mv closure xchg/
'';
postVM =
''
PATH=$PATH:${lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]}
pushd $out
${pkgs.qemu_kvm}/bin/qemu-img convert -c -O qcow2 $diskImageBase nixos.qcow2
rm $diskImageBase
popd
'';
diskImageBase = "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw";
buildInputs = [ pkgs.util-linux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];
}
''
# Create partition table
${pkgs.parted}/sbin/parted --script /dev/vda mklabel msdos
${pkgs.parted}/sbin/parted --script /dev/vda mkpart primary ext4 1 ${diskSize}
${pkgs.parted}/sbin/parted --script /dev/vda print
. /sys/class/block/vda1/uevent
mknod /dev/vda1 b $MAJOR $MINOR
# Create an empty filesystem and mount it.
${pkgs.e2fsprogs}/sbin/mkfs.ext4 -L nixos /dev/vda1
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
mkdir /mnt
mount /dev/vda1 /mnt
# The initrd expects these directories to exist.
mkdir /mnt/dev /mnt/proc /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
# Copy all paths in the closure to the filesystem.
storePaths=$(perl ${pkgs.pathsFromGraph} /tmp/xchg/closure)
mkdir -p /mnt/nix/store
echo "copying everything (will take a while)..."
cp -prd $storePaths /mnt/nix/store/
# Register the paths in the Nix database.
printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
chroot /mnt ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group ""
# Create the system profile to allow nixos-rebuild to work.
chroot /mnt ${config.nix.package.out}/bin/nix-env \
-p /nix/var/nix/profiles/system --set ${config.system.build.toplevel} \
--option build-users-group ""
# `nixos-rebuild' requires an /etc/NIXOS.
mkdir -p /mnt/etc
touch /mnt/etc/NIXOS
# `switch-to-configuration' requires a /bin/sh
mkdir -p /mnt/bin
ln -s ${config.system.build.binsh}/bin/sh /mnt/bin/sh
# Install a configuration.nix.
mkdir -p /mnt/etc/nixos /mnt/boot/grub
cp ${./brightbox-config.nix} /mnt/etc/nixos/configuration.nix
# Generate the GRUB menu.
ln -s vda /dev/sda
chroot /mnt ${config.system.build.toplevel}/bin/switch-to-configuration boot
umount /mnt/proc /mnt/dev /mnt/sys
umount /mnt
''
);
fileSystems."/".label = "nixos";
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
boot.loader.grub.device = "/dev/vda";
boot.loader.timeout = 0;
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;
# Allow root logins only using the SSH key that the user specified
# at instance creation time.
services.openssh.enable = true;
services.openssh.settings.PermitRootLogin = "prohibit-password";
# Force getting the hostname from Google Compute.
networking.hostName = mkDefault "";
# Always include cryptsetup so that NixOps can use it.
environment.systemPackages = [ pkgs.cryptsetup ];
systemd.services.fetch-ec2-data =
{ description = "Fetch EC2 Data";
wantedBy = [ "multi-user.target" "sshd.service" ];
before = [ "sshd.service" ];
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
path = [ pkgs.wget pkgs.iproute2 ];
script =
''
wget="wget -q --retry-connrefused -O -"
${optionalString (config.networking.hostName == "") ''
echo "setting host name..."
${pkgs.nettools}/bin/hostname $($wget http://169.254.169.254/latest/meta-data/hostname)
''}
# Don't download the SSH key if it has already been injected
# into the image (a Nova feature).
if ! [ -e /root/.ssh/authorized_keys ]; then
echo "obtaining SSH key..."
mkdir -m 0700 -p /root/.ssh
$wget http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /root/key.pub
if [ $? -eq 0 -a -e /root/key.pub ]; then
if ! grep -q -f /root/key.pub /root/.ssh/authorized_keys; then
cat /root/key.pub >> /root/.ssh/authorized_keys
echo "new key added to authorized_keys"
fi
chmod 600 /root/.ssh/authorized_keys
rm -f /root/key.pub
fi
fi
# Extract the intended SSH host key for this machine from
# the supplied user data, if available. Otherwise sshd will
# generate one normally.
$wget http://169.254.169.254/2011-01-01/user-data > /root/user-data || true
key="$(sed 's/|/\n/g; s/SSH_HOST_DSA_KEY://; t; d' /root/user-data)"
key_pub="$(sed 's/SSH_HOST_DSA_KEY_PUB://; t; d' /root/user-data)"
if [ -n "$key" -a -n "$key_pub" -a ! -e /etc/ssh/ssh_host_dsa_key ]; then
mkdir -m 0755 -p /etc/ssh
(umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key)
echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub
fi
'';
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
};
}

View File

@ -42,7 +42,7 @@ let
(f (tree-sitter.builtGrammars // builtGrammars));
copyGrammar = grammar:
let name = lib.last (lib.splitString "-" grammar.name); in
"ln -s ${grammar}/parser/${name}.so $out/parser/${name}.so";
"ln -sf ${grammar}/parser/${name}.so $out/parser/${name}.so";
in
[
(runCommand "vimplugin-treesitter-grammars"

View File

@ -10,43 +10,43 @@
let
pname = "1password";
version = if channel == "stable" then "8.10.36" else "8.10.38-13.BETA";
version = if channel == "stable" then "8.10.40" else "8.10.44-21.BETA";
sources = {
stable = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
hash = "sha256-yUSU0np6li5zLfFOnebpv0+s1UQ6BdgI+28OvcxS3H8=";
hash = "sha256-viY0SOUhrOvmue6Nolau356rIqwDo2nLzMilFFmNb9g=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz";
hash = "sha256-KG0PJ/gwBd9+qYyraRqS/D58Y58VwLd8yCnYzPVWQAY=";
hash = "sha256-7lUZiS3TSsIVqPoN5A6YqyVaaaRI9BliT51FHkwOPyw=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
hash = "sha256-vYhmA9N1izPRo3HPDouOpjJzMwK7LkCHuyYxBGkIPKM=";
hash = "sha256-xK/B8J3VP8y1xw3KorzZzPf/LjYmYdOIjDECMJnVv6I=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
hash = "sha256-v1eCh/cOpA5XcmamAqreKHRQ+waoBQtvvmNO4wvFq6A=";
hash = "sha256-iqdK6K7dcypZFGseYal2KjOaqJtUjXeCzbDdx7pDv8A=";
};
};
beta = {
x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
hash = "sha256-SeB1Em2WuYvslBv//TROYTAB1asYFhC22IwhcwGi+Qs=";
hash = "sha256-enorJfbn+xJVy1fG3wjhO3LkSsMncHA9/yA13kG+h4Y=";
};
aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
hash = "sha256-Ik5gL5FCxNANOKx/MSH7dCz3XEdLr7jxykaWhMQKUVw=";
hash = "sha256-EUnIIi6DB5kBVid9ExBpNApKItHnRKQziBy/GFt0xag=";
};
x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
hash = "sha256-8cNxhRAOrn/A++APOMUxwrD3+a++ksRMzlmmnQ8J8/c=";
hash = "sha256-U14CjoUJUpd4wWidZz6xGErhHI/VPChqG8cwBTBYoYc=";
};
aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
hash = "sha256-YkZbuCFvWHksLQYKJ3LQD2YDXj9qwHF4Gg8JbxBZsuc=";
hash = "sha256-DD1M2EFSHqG9OHX5Q/CmZLZIKYrBMS4cnX/6tLVi7H0=";
};
};
};

View File

@ -18,13 +18,13 @@
buildGoModule rec {
pname = "clipqr";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitLab {
owner = "imatt-foss";
repo = "clipqr";
rev = "v${version}";
hash = "sha256-gfKCuTZY9VsiXMlw6XX6YylMO4xGoLQU/5QvnDV7GbE=";
hash = "sha256-iuA6RqclMm1CWaiM1kpOpgfYvKaYGOIwFQkLr/nCL5M=";
};
vendorHash = null;

View File

@ -9,15 +9,17 @@
girara,
gettext,
libarchive,
desktop-file-utils,
appstream-glib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zathura-cb";
version = "0.1.10";
version = "0.1.11";
src = fetchurl {
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
hash = "sha256-ibDKF6gMuh6p/Rs7cvOnFz8KrToGqMNk2GXEmZwYu8g=";
url = "https://pwmt.org/projects/zathura-cb/download/zathura-cb-${finalAttrs.version}.tar.xz";
hash = "sha256-TiAepUzcIKkyWMQ1VvY4lEGvmXQN59ymyh/1JBcvvUc=";
};
nativeBuildInputs = [
@ -25,23 +27,26 @@ stdenv.mkDerivation rec {
ninja
pkg-config
gettext
desktop-file-utils
appstream-glib
];
buildInputs = [
libarchive
zathura_core
girara
];
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura-cb/";
description = "Zathura CB plugin";
longDescription = ''
The zathura-cb plugin adds comic book support to zathura.
'';
license = licenses.zlib;
platforms = platforms.unix;
maintainers = with maintainers; [ jlesquembre ];
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ jlesquembre ];
};
}
})

View File

@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
meson,
ninja,
wrapGAppsHook3,
@ -28,15 +29,24 @@
stdenv.mkDerivation (finalAttrs: {
pname = "zathura";
version = "0.5.6";
version = "0.5.8";
src = fetchFromGitHub {
owner = "pwmt";
repo = "zathura";
rev = finalAttrs.version;
hash = "sha256-lTEBIZ3lkzjJ+L1qecrcL8iseo8AvSIo3Wh65/ikwac=";
hash = "sha256-k6DEJpUA3s0mGxE38aYnX7uea98LrzevJhWW1abHo/c=";
};
patches = [
# https://github.com/pwmt/zathura/issues/664
(fetchpatch {
name = "fix-build-on-macos.patch";
url = "https://github.com/pwmt/zathura/commit/53f151f775091abec55ccc4b63893a8f9a668588.patch";
hash = "sha256-d8lRdlBN1Kfw/aTjz8x0gvTKy+SqSYWHLQCjV7hF5MI=";
})
];
outputs = [
"bin"
"man"
@ -54,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
# Make sure tests are enabled for doCheck
# (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
(lib.mesonEnable "seccomp" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "landlock" stdenv.hostPlatform.isLinux)
];
nativeBuildInputs = [
@ -85,11 +96,11 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura";
description = "Core component for zathura PDF viewer";
license = licenses.zlib;
platforms = platforms.unix;
maintainers = with maintainers; [ globin ];
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ globin ];
};
})

View File

@ -10,22 +10,27 @@
girara,
djvulibre,
gettext,
desktop-file-utils,
appstream-glib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zathura-djvu";
version = "0.2.9";
version = "0.2.10";
src = fetchurl {
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
hash = "sha256-lub4pu5TIxBzsvcAMmSHL4RQHmPD2nvwWY0EYoawwgA=";
url = "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-${finalAttrs.version}.tar.xz";
hash = "sha256-MunYmSmnbNfT/Lr3n0QYaL2r7fFzF9HRhD+qHxkzjZU=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
desktop-file-utils
appstream-glib
];
buildInputs = [
djvulibre
gettext
@ -34,17 +39,17 @@ stdenv.mkDerivation rec {
girara
];
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura-djvu/";
description = "Zathura DJVU plugin";
longDescription = ''
The zathura-djvu plugin adds DjVu support to zathura by using the
djvulibre library.
'';
license = licenses.zlib;
platforms = platforms.unix;
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = [ ];
};
}
})

View File

@ -17,22 +17,26 @@
tesseract,
leptonica,
mujs,
desktop-file-utils,
appstream-glib,
gitUpdater,
}:
stdenv.mkDerivation rec {
version = "0.4.2";
stdenv.mkDerivation (finalAttrs: {
version = "0.4.4";
pname = "zathura-pdf-mupdf";
src = fetchurl {
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
hash = "sha256-fFC+z9mJX9ccExsV336Ut+zJJa8UdfUz/qVp9YgcnhM=";
url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/zathura-pdf-mupdf-${finalAttrs.version}.tar.xz";
hash = "sha256-ASViSQHKvjov5jMVpG59lmoyPAKP9TiQ3694Vq2x9Pw=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
desktop-file-utils
appstream-glib
];
buildInputs = [
@ -49,7 +53,7 @@ stdenv.mkDerivation rec {
mujs
] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
postPatch = ''
sed -i -e '/^mupdfthird =/d' -e 's/, mupdfthird//g' meson.build
@ -57,15 +61,15 @@ stdenv.mkDerivation rec {
passthru.updateScript = gitUpdater { url = "https://git.pwmt.org/pwmt/zathura-pdf-mupdf.git"; };
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura-pdf-mupdf/";
description = "Zathura PDF plugin (mupdf)";
longDescription = ''
The zathura-pdf-mupdf plugin adds PDF support to zathura by
using the mupdf rendering library.
'';
license = licenses.zlib;
platforms = platforms.unix;
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = [ ];
};
}
})

View File

@ -8,39 +8,44 @@
zathura_core,
girara,
poppler,
desktop-file-utils,
appstream-glib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zathura-pdf-poppler";
version = "0.3.2";
version = "0.3.3";
src = fetchurl {
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
hash = "sha256-cavu1RzR0YjO89vUwWR1jjw3FgR1aWeyOtF2rlNFMBE=";
url = "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-${finalAttrs.version}.tar.xz";
hash = "sha256-yBLy9ERv1d4Wc04TwC6pqiW6Tjup9ytzLA/5D5ujSTU=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
desktop-file-utils
appstream-glib
zathura_core
];
buildInputs = [
poppler
girara
];
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura-pdf-poppler/";
description = "Zathura PDF plugin (poppler)";
longDescription = ''
The zathura-pdf-poppler plugin adds PDF support to zathura by
using the poppler rendering library.
'';
license = licenses.zlib;
platforms = platforms.unix;
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = [ ];
};
}
})

View File

@ -9,15 +9,17 @@
girara,
libspectre,
gettext,
desktop-file-utils,
appstream-glib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zathura-ps";
version = "0.2.7";
version = "0.2.8";
src = fetchurl {
url = "https://pwmt.org/projects/${pname}/download/${pname}-${version}.tar.xz";
hash = "sha256-WJf5IEz1+Xi5QTvnzn/r3oQxV69I41GTjt8H2/kwjkY=";
url = "https://pwmt.org/projects/zathura-ps/download/zathura-ps-${finalAttrs.version}.tar.xz";
hash = "sha256-B8pZT3J3+YdtADgEhBg0PqKWQCjpPJD5Vp7/NqiTLko=";
};
nativeBuildInputs = [
@ -25,24 +27,27 @@ stdenv.mkDerivation rec {
ninja
pkg-config
gettext
desktop-file-utils
appstream-glib
];
buildInputs = [
libspectre
zathura_core
girara
];
PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
env.PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura";
meta = with lib; {
meta = {
homepage = "https://pwmt.org/projects/zathura-ps/";
description = "Zathura PS plugin";
longDescription = ''
The zathura-ps plugin adds PS support to zathura by using the
libspectre library.
'';
license = licenses.zlib;
platforms = platforms.unix;
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = [ ];
};
}
})

View File

@ -17,16 +17,16 @@ let
tctl-next = buildGoModule rec {
pname = "tctl-next";
version = "0.13.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "temporalio";
repo = "cli";
rev = "v${version}";
hash = "sha256-bh0UsXA5yHtvP9femOwEzVzmu1VLz2uZwoIHL/kI7kM=";
hash = "sha256-y0C2z2iMMQSG5+xGngZ98+ixIgbvaQxPdAWuPbEbBAY=";
};
vendorHash = "sha256-ziCJG722c32QAh9QmoC2E7TcLiC2InKwfdC9mkanTsU=";
vendorHash = "sha256-zhGqDHdVGg7eGnw5L3eSyXKBTjp85ir5zrtf7HbXmC0=";
inherit overrideModAttrs;
@ -37,7 +37,7 @@ let
ldflags = [
"-s"
"-w"
"-X github.com/temporalio/cli/headers.Version=${version}"
"-X github.com/temporalio/cli/temporalcli.Version=${version}"
];
# Tests fail with x86 on macOS Rosetta 2

View File

@ -48,23 +48,23 @@ let
# and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can
# find where to edit them.
versions.aarch64-darwin = "6.1.10.38818";
versions.x86_64-darwin = "6.1.10.38818";
versions.x86_64-linux = "6.1.10.1400";
versions.aarch64-darwin = "6.1.11.39163";
versions.x86_64-darwin = "6.1.11.39163";
versions.x86_64-linux = "6.1.11.1545";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
hash = "sha256-E8r0bctM5whwEMppzO9hR3W+k+BmrV0gVx+J02KYmuk=";
hash = "sha256-xWeCiDhYPfTAJttXG5bCwhLu+bmHlcFF/s3+EACeph4=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
hash = "sha256-HMSBV/B/nTkcU8src6Wdz8uZnz455guSAMGm5ha7mIA=";
hash = "sha256-AB+QXx6r3raymVU7rEJ9dO4CqJI9tnRF3l61vuGnqpI=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
hash = "sha256-c3WywWmblz9Wg3RMtovCBcR/mYyaWkmuoCqqGvHBxwo=";
hash = "sha256-wkG/fYbn3EdbVJwZQI8EcRPmHFX+4zggmfM4sHUjD8I=";
};
};

View File

@ -7,13 +7,13 @@ let
apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
in stdenv.mkDerivation rec {
pname = "backintime-common";
version = "1.4.3";
version = "1.5.2";
src = fetchFromGitHub {
owner = "bit-team";
repo = "backintime";
rev = "v${version}";
sha256 = "sha256-2q2Q4rnxXwVnfH1YEBwY35B2ctG9+qpOIAHqPOjjArg=";
sha256 = "sha256-yfCSTzCmhXDBC1vYqwgVjsYUtc5VO1VW74BmIB0hHfE=";
};
nativeBuildInputs = [ makeWrapper gettext ];
@ -24,12 +24,13 @@ in stdenv.mkDerivation rec {
configureFlags = [ "--python=${lib.getExe python'}" ];
preConfigure = ''
patchShebangs --build updateversion.sh
cd common
substituteInPlace configure \
--replace "/.." "" \
--replace "share/backintime" "${python'.sitePackages}/backintime"
substituteInPlace "backintime" \
--replace "share" "${python'.sitePackages}"
--replace-fail "/.." "" \
--replace-fail "share/backintime" "${python'.sitePackages}/backintime"
substituteInPlace "backintime" "backintime-askpass" \
--replace-fail "share" "${python'.sitePackages}"
'';
dontAddPrefix = true;
@ -44,10 +45,11 @@ in stdenv.mkDerivation rec {
description = "Simple backup tool for Linux";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ stephen-huan ];
platforms = lib.platforms.all;
platforms = lib.platforms.linux;
mainProgram = "backintime";
longDescription = ''
Back In Time is a simple backup tool (on top of rsync) for Linux
inspired from flyback project and TimeVault. The backup is
inspired from "flyback project" and "TimeVault". The backup is
done by taking snapshots of a specified set of directories.
'';
};

View File

@ -1,19 +1,25 @@
{ lib, mkDerivation, backintime-common, python3, polkit, which, su, coreutils, util-linux }:
{ lib, stdenv, backintime-common, python3, polkit, which, su, coreutils, util-linux,
wrapQtAppsHook, qtbase, qtwayland }:
let
python' = python3.withPackages (ps: with ps; [ pyqt5 backintime-common packaging ]);
python' = python3.withPackages (ps: with ps; [ pyqt6 backintime-common packaging ]);
in
mkDerivation {
stdenv.mkDerivation {
inherit (backintime-common)
version src installFlags meta dontAddPrefix nativeBuildInputs;
version src installFlags meta dontAddPrefix;
pname = "backintime-qt";
buildInputs = [ python' backintime-common ];
buildInputs = [ python' backintime-common qtbase qtwayland ];
nativeBuildInputs = backintime-common.nativeBuildInputs or [ ] ++ [
wrapQtAppsHook
];
configureFlags = [ "--python=${lib.getExe python'}" ];
preConfigure = ''
patchShebangs --build updateversion.sh
cd qt
substituteInPlace qttools_path.py \
--replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
@ -24,23 +30,23 @@ mkDerivation {
--prefix PATH : "${lib.getBin backintime-common}/bin:$PATH"
substituteInPlace "$out/share/polkit-1/actions/net.launchpad.backintime.policy" \
--replace "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
--replace-fail "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
substituteInPlace "$out/share/applications/backintime-qt-root.desktop" \
--replace "/usr/bin/backintime-qt" "backintime-qt"
--replace-fail "/usr/bin/backintime-qt" "backintime-qt"
substituteInPlace "$out/share/backintime/qt/serviceHelper.py" \
--replace "'which'" "'${lib.getBin which}/bin/which'" \
--replace "/bin/su" "${lib.getBin su}/bin/su" \
--replace "/usr/bin/backintime" "${lib.getBin backintime-common}/bin/backintime" \
--replace "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \
--replace "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice"
--replace-fail "'which'" "'${lib.getExe which}'" \
--replace-fail "/bin/su" "${lib.getBin su}/bin/su" \
--replace-fail "/usr/bin/backintime" "${lib.getExe backintime-common}" \
--replace-fail "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \
--replace-fail "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice"
substituteInPlace "$out/share/dbus-1/system-services/net.launchpad.backintime.serviceHelper.service" \
--replace "/usr/share/backintime" "$out/share/backintime"
--replace-fail "/usr/share/backintime" "$out/share/backintime"
substituteInPlace "$out/bin/backintime-qt_polkit" \
--replace "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
--replace-fail "/usr/bin/backintime-qt" "$out/bin/backintime-qt"
wrapProgram "$out/bin/backintime-qt_polkit" \
--prefix PATH : "${lib.getBin polkit}/bin:$PATH"

View File

@ -1,4 +1,5 @@
{ lib
, cmake
, cppzmq
, curl
, fetchFromGitHub
@ -9,6 +10,8 @@
, libgit2
, librsvg
, libuuid
, meson
, ninja
, opencascade-occt_7_6
, pkg-config
, podofo
@ -20,16 +23,19 @@ in
# This base is used in horizon-eda and python3Packages.horizon-eda
rec {
pname = "horizon-eda";
version = "2.5.0";
version = "2.6.0";
src = fetchFromGitHub {
owner = "horizon-eda";
repo = "horizon";
rev = "v${version}";
hash = "sha256-UcjbDJR6shyETpanNkRoH8LF8r6gFjsyNHVSCMHKqS8=";
hash = "sha256-0ikCR10r/WPb+H+Ut2GO6y4A/9bctJLanL/RR4r9GWs=";
};
nativeBuildInputs = [
meson
ninja
cmake
pkg-config
];

View File

@ -1,90 +0,0 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch2
, rustPlatform
, Security
, SystemConfiguration
, pkg-config
, libiconv
, openssl
, gzip
, libssh2
, libgit2
, zstd
, installShellFiles
, nix-update-script
, testers
, jujutsu
}:
rustPlatform.buildRustPackage rec {
pname = "jujutsu";
version = "0.21.0";
src = fetchFromGitHub {
owner = "martinvonz";
repo = "jj";
rev = "v${version}";
hash = "sha256-uZsfHhcYpobatWaDQczuc9Z3BWHN5VO0qr/8mu5kEio=";
};
cargoHash = "sha256-BOO1jP1Y5CNbE97zj+tpariiBdcuxKb1wyvI7i/VpYI=";
cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib
LIBGIT2_NO_VENDOR = "1"; # disable vendored libgit2
LIBSSH2_SYS_USE_PKG_CONFIG = "1"; # disable vendored libssh2
nativeBuildInputs = [
gzip
installShellFiles
pkg-config
];
buildInputs = [
openssl
zstd
libgit2
libssh2
] ++ lib.optionals stdenv.isDarwin [
Security
SystemConfiguration
libiconv
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
$out/bin/jj util mangen > ./jj.1
installManPage ./jj.1
installShellCompletion --cmd jj \
--bash <($out/bin/jj util completion bash) \
--fish <($out/bin/jj util completion fish) \
--zsh <($out/bin/jj util completion zsh)
'';
checkFlags = [
# signing tests spin up an ssh-agent and do git checkouts
"--skip=test_ssh_signing"
];
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = jujutsu;
command = "jj --version";
};
};
};
meta = with lib; {
description = "Git-compatible DVCS that is both simple and powerful";
homepage = "https://github.com/martinvonz/jj";
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ _0x4A6F thoughtpolice ];
mainProgram = "jj";
};
}

View File

@ -7,12 +7,12 @@
python3Packages.buildPythonApplication rec {
pname = "streamlink";
version = "6.8.3";
version = "6.9.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-4/UaVnwIcDCS+R0El6P8Ku/jJ+/Ncl0D5m89zRHtm2g=";
hash = "sha256-LKmwsXuAvJ0JqEIsOQyzjYGa9VZkk5YL8hDY/uIhwX8=";
};
patches = [

View File

@ -1,10 +1,10 @@
{ lib, stdenv, fetchurl, fetchpatch, python3Packages, zlib, pkg-config, glib, buildPackages
{ lib, stdenv, fetchurl, fetchpatch, python3Packages, zlib, pkg-config, glib, overrideSDK, buildPackages
, pixman, vde2, alsa-lib, flex, pcre2
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson
, sigtool
, makeWrapper, removeReferencesTo
, attr, libcap, libcap_ng, socat, libslirp
, CoreServices, Cocoa, Hypervisor, rez, setfile, vmnet
, CoreServices, Cocoa, Hypervisor, Kernel, rez, setfile, vmnet
, guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl
, seccompSupport ? stdenv.isLinux && !minimal, libseccomp
@ -52,6 +52,16 @@
let
hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets;
buildPlatformStdenv =
if stdenv.buildPlatform.isDarwin then
overrideSDK buildPackages.stdenv {
# Keep these values in sync with `all-packages.nix`.
darwinSdkVersion = "12.3";
darwinMinVersion = "12.0";
}
else
buildPackages.stdenv;
in
stdenv.mkDerivation (finalAttrs: {
@ -61,14 +71,14 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString nixosTestRunner "-for-vm-tests"
+ lib.optionalString toolsOnly "-utils"
+ lib.optionalString userOnly "-user";
version = "9.0.2";
version = "9.1.0";
src = fetchurl {
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz";
hash = "sha256-qMP1lq7Olto7AMr7dLqvoNFFFer7jtHuP39cLQ6/ArY=";
hash = "sha256-gWtwIqi6fCrDDi4M+XPoJva8yFBTOWAyEsXt6OlNeDQ=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ]
depsBuildBuild = [ buildPlatformStdenv.cc ]
++ lib.optionals hexagonSupport [ pkg-config ];
nativeBuildInputs = [
@ -82,16 +92,14 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
++ lib.optionals hexagonSupport [ glib ]
++ lib.optionals stdenv.isDarwin [ sigtool ]
++ lib.optionals (!userOnly) [ dtc ]
# workaround, remove once this patch lands: https://lore.kernel.org/qemu-devel/20240805104921.4035256-1-hi@alyssa.is/
++ lib.optionals (hexagonSupport && stdenv.hostPlatform.isStatic) [ pcre2 ];
++ lib.optionals (!userOnly) [ dtc ];
buildInputs = [ zlib glib pixman
vde2 lzo snappy libtasn1
gnutls nettle curl libslirp
]
++ lib.optionals ncursesSupport [ ncurses ]
++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile vmnet ]
++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor Kernel rez setfile vmnet ]
++ lib.optionals seccompSupport [ libseccomp ]
++ lib.optionals numaSupport [ numactl ]
++ lib.optionals alsaSupport [ alsa-lib ]
@ -129,17 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
./fix-qemu-ga.patch
# QEMU upstream does not demand compatibility to pre-10.13, so 9p-darwin
# support on nix requires utimensat fallback. The patch adding this fallback
# set was removed during the process of upstreaming this functionality, and
# will still be needed in nix until the macOS SDK reaches 10.13+.
./provide-fallback-for-utimensat.patch
# Cocoa clipboard support only works on macOS 10.14+
./revert-ui-cocoa-add-clipboard-support.patch
# Standard about panel requires AppKit and macOS 10.13+
./revert-ui-cocoa-use-the-standard-about-panel.patch
# Safe area insets require macOS 11+
./remove-ui-cocoa-use-safe-area-insets.patch
# Workaround for upstream issue with nested virtualisation: https://gitlab.com/qemu-project/qemu/-/issues/1008
(fetchpatch {
url = "https://gitlab.com/qemu-project/qemu/-/commit/3e4546d5bd38a1e98d4bd2de48631abf0398a3a2.diff";

View File

@ -1,36 +1,45 @@
diff --git i/qga/commands-posix.c w/qga/commands-posix.c
index 954efed01b..39c4b916ce 100644
--- i/qga/commands-posix.c
+++ w/qga/commands-posix.c
@@ -123,6 +123,8 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
execl("/sbin/shutdown", "shutdown", shutdown_flag, "-g0", "-y",
"hypervisor initiated shutdown", (char *)NULL);
#else
+ execl("/run/current-system/sw/bin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
+ "hypervisor initiated shutdown", (char *)NULL);
execl("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
"hypervisor initiated shutdown", (char *)NULL);
#endif
@@ -158,11 +160,13 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
pid_t pid;
Error *local_err = NULL;
struct timeval tv;
+ static const char hwclock_path_nix[] = "/run/current-system/sw/bin/hwclock";
static const char hwclock_path[] = "/sbin/hwclock";
static int hwclock_available = -1;
if (hwclock_available < 0) {
- hwclock_available = (access(hwclock_path, X_OK) == 0);
+ hwclock_available = (access(hwclock_path_nix, X_OK) == 0) ||
+ (access(hwclock_path, X_OK) == 0);
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index c2bd0b4316..47cee1c351 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -246,7 +246,7 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
return;
}
if (!hwclock_available) {
@@ -208,6 +212,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
- const char *argv[] = {"/sbin/shutdown",
+ const char *argv[] = {"/run/current-system/sw/bin/shutdown",
#ifdef CONFIG_SOLARIS
shutdown_flag, "-g0", "-y",
#elif defined(CONFIG_BSD)
@@ -257,6 +257,10 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
"hypervisor initiated shutdown", (char *) NULL};
/* Use '/sbin/hwclock -w' to set RTC from the system time,
* or '/sbin/hwclock -s' to set the system time from RTC. */
+ execl(hwclock_path_nix, "hwclock", has_time ? "-w" : "-s", NULL);
execl(hwclock_path, "hwclock", has_time ? "-w" : "-s", NULL);
_exit(EXIT_FAILURE);
} else if (pid < 0) {
ga_run_command(argv, NULL, "shutdown", &local_err);
+ if (local_err) {
+ argv[0] = "/sbin/shutdown";
+ ga_run_command(argv, NULL, "shutdown", &local_err);
+ }
if (local_err) {
error_propagate(errp, local_err);
return;
@@ -270,7 +274,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
int ret;
Error *local_err = NULL;
struct timeval tv;
- const char *argv[] = {"/sbin/hwclock", has_time ? "-w" : "-s", NULL};
+ const char *argv[] = {"/run/current-system/sw/bin/hwclock", has_time ? "-w" : "-s", NULL};
/* If user has passed a time, validate and set it. */
if (has_time) {
@@ -303,6 +307,11 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
* hardware clock (RTC). */
ga_run_command(argv, NULL, "set hardware clock to system time",
&local_err);
+ if (local_err) {
+ argv[0] = "/sbin/hwclock";
+ ga_run_command(argv, NULL, "set hardware clock to system time",
+ &local_err);
+ }
if (local_err) {
error_propagate(errp, local_err);
return;

View File

@ -1,189 +0,0 @@
From 2ec149ea3f0046fa83e3be74aca192649a60be47 Mon Sep 17 00:00:00 2001
From: Keno Fischer <keno@juliacomputing.com>
Date: Sat, 16 Jun 2018 20:56:54 -0400
Subject: [PATCH] 9p: darwin: Provide fallback impl for utimensat
This function is new in Mac OS 10.13. Provide a fallback implementation
when building against older SDKs. The complication in the definition comes
having to separately handle the used SDK version and the target OS version.
- If the SDK version is too low (__MAC_10_13 not defined), utimensat is not
defined in the header, so we must not try to use it (doing so would error).
- Otherwise, if the targetted OS version is at least 10.13, we know this
function is available, so we can unconditionally call it.
- Lastly, we check for the availability of the __builtin_available macro to
potentially insert a dynamic check for this OS version. However, __builtin_available
is only available with sufficiently recent versions of clang and while all
Apple clang versions that ship with Xcode versions that support the 10.13
SDK support with builtin, we want to allow building with compilers other
than Apple clang that may not support this builtin.
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
Signed-off-by: Will Cohen <wwcohen@gmail.com>
---
hw/9pfs/9p-local.c | 2 +-
hw/9pfs/9p-util-darwin.c | 96 ++++++++++++++++++++++++++++++++++++++++
hw/9pfs/9p-util-linux.c | 6 +++
hw/9pfs/9p-util.h | 8 ++++
4 files changed, 111 insertions(+), 1 deletion(-)
diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index 9d07620235..9c77a431d5 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -1081,7 +1081,7 @@ static int local_utimensat(FsContext *s, V9fsPath *fs_path,
goto out;
}
- ret = qemu_utimensat(dirfd, name, buf, AT_SYMLINK_NOFOLLOW);
+ ret = utimensat_nofollow(dirfd, name, buf);
close_preserve_errno(dirfd);
out:
g_free(dirpath);
diff --git a/hw/9pfs/9p-util-darwin.c b/hw/9pfs/9p-util-darwin.c
index 95146e7354..74ab2a7f99 100644
--- a/hw/9pfs/9p-util-darwin.c
+++ b/hw/9pfs/9p-util-darwin.c
@@ -145,3 +145,99 @@ int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t dev)
}
#endif
+
+#ifndef __has_builtin
+#define __has_builtin(x) 0
+#endif
+
+static int update_times_from_stat(int fd, struct timespec times[2],
+ int update0, int update1)
+{
+ struct stat buf;
+ int ret = fstat(fd, &buf);
+ if (ret == -1) {
+ return ret;
+ }
+ if (update0) {
+ times[0] = buf.st_atimespec;
+ }
+ if (update1) {
+ times[1] = buf.st_mtimespec;
+ }
+ return 0;
+}
+
+int utimensat_nofollow(int dirfd, const char *filename,
+ const struct timespec times_in[2])
+{
+ int ret, fd;
+ int special0, special1;
+ struct timeval futimes_buf[2];
+ struct timespec times[2];
+ memcpy(times, times_in, 2 * sizeof(struct timespec));
+
+/* Check whether we have an SDK version that defines utimensat */
+#if defined(__MAC_10_13)
+# if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_13
+# define UTIMENSAT_AVAILABLE 1
+# elif __has_builtin(__builtin_available)
+# define UTIMENSAT_AVAILABLE __builtin_available(macos 10.13, *)
+# else
+# define UTIMENSAT_AVAILABLE 0
+# endif
+ if (UTIMENSAT_AVAILABLE) {
+ return utimensat(dirfd, filename, times, AT_SYMLINK_NOFOLLOW);
+ }
+#endif
+
+ /* utimensat not available. Use futimes. */
+ fd = openat_file(dirfd, filename, O_PATH_9P_UTIL | O_NOFOLLOW, 0);
+ if (fd == -1) {
+ return -1;
+ }
+
+ special0 = times[0].tv_nsec == UTIME_OMIT;
+ special1 = times[1].tv_nsec == UTIME_OMIT;
+ if (special0 || special1) {
+ /* If both are set, nothing to do */
+ if (special0 && special1) {
+ ret = 0;
+ goto done;
+ }
+
+ ret = update_times_from_stat(fd, times, special0, special1);
+ if (ret < 0) {
+ goto done;
+ }
+ }
+
+ special0 = times[0].tv_nsec == UTIME_NOW;
+ special1 = times[1].tv_nsec == UTIME_NOW;
+ if (special0 || special1) {
+ ret = futimes(fd, NULL);
+ if (ret < 0) {
+ goto done;
+ }
+
+ /* If both are set, we are done */
+ if (special0 && special1) {
+ ret = 0;
+ goto done;
+ }
+
+ ret = update_times_from_stat(fd, times, special0, special1);
+ if (ret < 0) {
+ goto done;
+ }
+ }
+
+ futimes_buf[0].tv_sec = times[0].tv_sec;
+ futimes_buf[0].tv_usec = times[0].tv_nsec / 1000;
+ futimes_buf[1].tv_sec = times[1].tv_sec;
+ futimes_buf[1].tv_usec = times[1].tv_nsec / 1000;
+ ret = futimes(fd, futimes_buf);
+
+done:
+ close_preserve_errno(fd);
+ return ret;
+}
diff --git a/hw/9pfs/9p-util-linux.c b/hw/9pfs/9p-util-linux.c
index db451b0784..320697f347 100644
--- a/hw/9pfs/9p-util-linux.c
+++ b/hw/9pfs/9p-util-linux.c
@@ -68,3 +68,9 @@ int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t dev)
{
return mknodat(dirfd, filename, mode, dev);
}
+
+int utimensat_nofollow(int dirfd, const char *filename,
+ const struct timespec times[2])
+{
+ return utimensat(dirfd, filename, times, AT_SYMLINK_NOFOLLOW);
+}
diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
index c314cf381d..12d57f3398 100644
--- a/hw/9pfs/9p-util.h
+++ b/hw/9pfs/9p-util.h
@@ -101,6 +101,12 @@ static inline int errno_to_dotl(int err) {
#define qemu_utimensat utimensat
#define qemu_unlinkat unlinkat
+/* Compatibility with old SDK Versions for Darwin */
+#if defined(CONFIG_DARWIN) && !defined(UTIME_NOW)
+#define UTIME_NOW -1
+#define UTIME_OMIT -2
+#endif
+
static inline void close_preserve_errno(int fd)
{
int serrno = errno;
@@ -163,6 +169,8 @@ ssize_t flistxattrat_nofollow(int dirfd, const char *filename,
char *list, size_t size);
ssize_t fremovexattrat_nofollow(int dirfd, const char *filename,
const char *name);
+int utimensat_nofollow(int dirfd, const char *filename,
+ const struct timespec times[2]);
/*
* Darwin has d_seekoff, which appears to function similarly to d_off.
--
2.39.2

View File

@ -1,14 +0,0 @@
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 25e0db9dd0..7ce889d798 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -539,9 +539,6 @@ - (NSSize)fixAspectRatio:(NSSize)max
- (NSSize) screenSafeAreaSize
{
NSSize size = [[[self window] screen] frame].size;
- NSEdgeInsets insets = [[[self window] screen] safeAreaInsets];
- size.width -= insets.left + insets.right;
- size.height -= insets.top + insets.bottom;
return size;
}

View File

@ -1,200 +0,0 @@
Based on a reversion of upstream 7e3e20d89129614f4a7b2451fe321cc6ccca3b76,
adapted for 7.2.0
diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h
index ce76aa451f..c4e1dc4ff4 100644
--- a/include/ui/clipboard.h
+++ b/include/ui/clipboard.h
@@ -269,7 +269,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
QemuClipboardInfo *info,
QemuClipboardType type,
uint32_t size,
- const void *data,
+ void *data,
bool update);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(QemuClipboardInfo, qemu_clipboard_info_unref)
diff --git a/ui/clipboard.c b/ui/clipboard.c
index 3d14bffaf8..2c3f4c3ba0 100644
--- a/ui/clipboard.c
+++ b/ui/clipboard.c
@@ -154,7 +154,7 @@ void qemu_clipboard_set_data(QemuClipboardPeer *peer,
QemuClipboardInfo *info,
QemuClipboardType type,
uint32_t size,
- const void *data,
+ void *data,
bool update)
{
if (!info ||
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 660d3e0935..0e6760c360 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -29,7 +29,6 @@
#include "qemu/help-texts.h"
#include "qemu-main.h"
-#include "ui/clipboard.h"
#include "ui/console.h"
#include "ui/input.h"
#include "ui/kbd-state.h"
@@ -105,10 +104,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
static bool allow_events;
-static NSInteger cbchangecount = -1;
-static QemuClipboardInfo *cbinfo;
-static QemuEvent cbevent;
-
// Utility functions to run specified code block with the BQL held
typedef void (^CodeBlock)(void);
typedef bool (^BoolCodeBlock)(void);
@@ -1799,107 +1794,6 @@ static void addRemovableDevicesMenuItems(void)
qapi_free_BlockInfoList(pointerToFree);
}
-@interface QemuCocoaPasteboardTypeOwner : NSObject<NSPasteboardTypeOwner>
-@end
-
-@implementation QemuCocoaPasteboardTypeOwner
-
-- (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSPasteboardType)type
-{
- if (type != NSPasteboardTypeString) {
- return;
- }
-
- with_bql(^{
- QemuClipboardInfo *info = qemu_clipboard_info_ref(cbinfo);
- qemu_event_reset(&cbevent);
- qemu_clipboard_request(info, QEMU_CLIPBOARD_TYPE_TEXT);
-
- while (info == cbinfo &&
- info->types[QEMU_CLIPBOARD_TYPE_TEXT].available &&
- info->types[QEMU_CLIPBOARD_TYPE_TEXT].data == NULL) {
- bql_unlock();
- qemu_event_wait(&cbevent);
- bql_lock();
- }
-
- if (info == cbinfo) {
- NSData *data = [[NSData alloc] initWithBytes:info->types[QEMU_CLIPBOARD_TYPE_TEXT].data
- length:info->types[QEMU_CLIPBOARD_TYPE_TEXT].size];
- [sender setData:data forType:NSPasteboardTypeString];
- [data release];
- }
-
- qemu_clipboard_info_unref(info);
- });
-}
-
-@end
-
-static QemuCocoaPasteboardTypeOwner *cbowner;
-
-static void cocoa_clipboard_notify(Notifier *notifier, void *data);
-static void cocoa_clipboard_request(QemuClipboardInfo *info,
- QemuClipboardType type);
-
-static QemuClipboardPeer cbpeer = {
- .name = "cocoa",
- .notifier = { .notify = cocoa_clipboard_notify },
- .request = cocoa_clipboard_request
-};
-
-static void cocoa_clipboard_update_info(QemuClipboardInfo *info)
-{
- if (info->owner == &cbpeer || info->selection != QEMU_CLIPBOARD_SELECTION_CLIPBOARD) {
- return;
- }
-
- if (info != cbinfo) {
- NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
- qemu_clipboard_info_unref(cbinfo);
- cbinfo = qemu_clipboard_info_ref(info);
- cbchangecount = [[NSPasteboard generalPasteboard] declareTypes:@[NSPasteboardTypeString] owner:cbowner];
- [pool release];
- }
-
- qemu_event_set(&cbevent);
-}
-
-static void cocoa_clipboard_notify(Notifier *notifier, void *data)
-{
- QemuClipboardNotify *notify = data;
-
- switch (notify->type) {
- case QEMU_CLIPBOARD_UPDATE_INFO:
- cocoa_clipboard_update_info(notify->info);
- return;
- case QEMU_CLIPBOARD_RESET_SERIAL:
- /* ignore */
- return;
- }
-}
-
-static void cocoa_clipboard_request(QemuClipboardInfo *info,
- QemuClipboardType type)
-{
- NSAutoreleasePool *pool;
- NSData *text;
-
- switch (type) {
- case QEMU_CLIPBOARD_TYPE_TEXT:
- pool = [[NSAutoreleasePool alloc] init];
- text = [[NSPasteboard generalPasteboard] dataForType:NSPasteboardTypeString];
- if (text) {
- qemu_clipboard_set_data(&cbpeer, info, type,
- [text length], [text bytes], true);
- }
- [pool release];
- break;
- default:
- break;
- }
-}
-
/*
* The startup process for the OSX/Cocoa UI is complicated, because
* OSX insists that the UI runs on the initial main thread, and so we
@@ -1922,7 +1816,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
status = qemu_default_main();
qemu_mutex_unlock_iothread();
COCOA_DEBUG("Second thread: qemu_default_main() returned, exiting\n");
- [cbowner release];
exit(status);
}
@@ -2003,18 +1896,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl)
[cocoaView setAbsoluteEnabled:YES];
});
}
-
- if (cbchangecount != [[NSPasteboard generalPasteboard] changeCount]) {
- qemu_clipboard_info_unref(cbinfo);
- cbinfo = qemu_clipboard_info_new(&cbpeer, QEMU_CLIPBOARD_SELECTION_CLIPBOARD);
- if ([[NSPasteboard generalPasteboard] availableTypeFromArray:@[NSPasteboardTypeString]]) {
- cbinfo->types[QEMU_CLIPBOARD_TYPE_TEXT].available = true;
- }
- qemu_clipboard_update(cbinfo);
- cbchangecount = [[NSPasteboard generalPasteboard] changeCount];
- qemu_event_set(&cbevent);
- }
-
[pool release];
}
@@ -2071,12 +1952,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
// register vga output callbacks
register_displaychangelistener(&dcl);
[cocoaView updateUIInfo];
-
- qemu_event_init(&cbevent, false);
- cbowner = [[QemuCocoaPasteboardTypeOwner alloc] init];
- qemu_clipboard_peer_register(&cbpeer);
-
- [pool release];
}
static QemuDisplay qemu_display_cocoa = {

View File

@ -1,145 +0,0 @@
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 25e0db9dd0..4af0712036 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -93,6 +93,7 @@ static void cocoa_switch(DisplayChangeListener *dcl,
static void cocoa_refresh(DisplayChangeListener *dcl);
+static NSWindow *about_window;
static const DisplayChangeListenerOps dcl_ops = {
.dpy_name = "cocoa",
.dpy_gfx_update = cocoa_update,
@@ -1180,6 +1181,7 @@ - (void)changeDeviceMedia:(id)sender;
- (BOOL)verifyQuit;
- (void)openDocumentation:(NSString *)filename;
- (IBAction) do_about_menu_item: (id) sender;
+- (void)make_about_window;
- (void)adjustSpeed:(id)sender;
@end
@@ -1227,6 +1229,8 @@ - (id) init
[pauseLabel setFont: [NSFont fontWithName: @"Helvetica" size: 90]];
[pauseLabel setTextColor: [NSColor blackColor]];
[pauseLabel sizeToFit];
+
+ [self make_about_window];
}
return self;
}
@@ -1549,29 +1553,92 @@ - (BOOL)verifyQuit
/* The action method for the About menu item */
- (IBAction) do_about_menu_item: (id) sender
{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- char *icon_path_c = get_relocated_path(CONFIG_QEMU_ICONDIR "/hicolor/512x512/apps/qemu.png");
- NSString *icon_path = [NSString stringWithUTF8String:icon_path_c];
- g_free(icon_path_c);
- NSImage *icon = [[NSImage alloc] initWithContentsOfFile:icon_path];
- NSString *version = @"QEMU emulator version " QEMU_FULL_VERSION;
- NSString *copyright = @QEMU_COPYRIGHT;
- NSDictionary *options;
- if (icon) {
- options = @{
- NSAboutPanelOptionApplicationIcon : icon,
- NSAboutPanelOptionApplicationVersion : version,
- @"Copyright" : copyright,
- };
- [icon release];
- } else {
- options = @{
- NSAboutPanelOptionApplicationVersion : version,
- @"Copyright" : copyright,
- };
- }
- [NSApp orderFrontStandardAboutPanelWithOptions:options];
- [pool release];
+ [about_window makeKeyAndOrderFront: nil];
+}
+
+/* Create and display the about dialog */
+- (void)make_about_window
+{
+ /* Make the window */
+ int x = 0, y = 0, about_width = 400, about_height = 200;
+ NSRect window_rect = NSMakeRect(x, y, about_width, about_height);
+ about_window = [[NSWindow alloc] initWithContentRect:window_rect
+ styleMask:NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
+ NSWindowStyleMaskMiniaturizable
+ backing:NSBackingStoreBuffered
+ defer:NO];
+ [about_window setTitle: @"About"];
+ [about_window setReleasedWhenClosed: NO];
+ [about_window center];
+ NSView *superView = [about_window contentView];
+
+ /* Create the dimensions of the picture */
+ int picture_width = 80, picture_height = 80;
+ x = (about_width - picture_width)/2;
+ y = about_height - picture_height - 10;
+ NSRect picture_rect = NSMakeRect(x, y, picture_width, picture_height);
+
+ /* Make the picture of QEMU */
+ NSImageView *picture_view = [[NSImageView alloc] initWithFrame:
+ picture_rect];
+ char *qemu_image_path_c = get_relocated_path(CONFIG_QEMU_ICONDIR "/hicolor/512x512/apps/qemu.png");
+ NSString *qemu_image_path = [NSString stringWithUTF8String:qemu_image_path_c];
+ g_free(qemu_image_path_c);
+ NSImage *qemu_image = [[NSImage alloc] initWithContentsOfFile:qemu_image_path];
+ [picture_view setImage: qemu_image];
+ [picture_view setImageScaling: NSImageScaleProportionallyUpOrDown];
+ [superView addSubview: picture_view];
+
+ /* Make the name label */
+ NSBundle *bundle = [NSBundle mainBundle];
+ if (bundle) {
+ x = 0;
+ y = y - 25;
+ int name_width = about_width, name_height = 20;
+ NSRect name_rect = NSMakeRect(x, y, name_width, name_height);
+ NSTextField *name_label = [[NSTextField alloc] initWithFrame: name_rect];
+ [name_label setEditable: NO];
+ [name_label setBezeled: NO];
+ [name_label setDrawsBackground: NO];
+ [name_label setAlignment: NSTextAlignmentCenter];
+ NSString *qemu_name = [[bundle executablePath] lastPathComponent];
+ [name_label setStringValue: qemu_name];
+ [superView addSubview: name_label];
+ }
+
+ /* Set the version label's attributes */
+ x = 0;
+ y = 50;
+ int version_width = about_width, version_height = 20;
+ NSRect version_rect = NSMakeRect(x, y, version_width, version_height);
+ NSTextField *version_label = [[NSTextField alloc] initWithFrame:
+ version_rect];
+ [version_label setEditable: NO];
+ [version_label setBezeled: NO];
+ [version_label setAlignment: NSTextAlignmentCenter];
+ [version_label setDrawsBackground: NO];
+
+ /* Create the version string*/
+ NSString *version_string;
+ version_string = [[NSString alloc] initWithFormat:
+ @"QEMU emulator version %s", QEMU_FULL_VERSION];
+ [version_label setStringValue: version_string];
+ [superView addSubview: version_label];
+
+ /* Make copyright label */
+ x = 0;
+ y = 35;
+ int copyright_width = about_width, copyright_height = 20;
+ NSRect copyright_rect = NSMakeRect(x, y, copyright_width, copyright_height);
+ NSTextField *copyright_label = [[NSTextField alloc] initWithFrame:
+ copyright_rect];
+ [copyright_label setEditable: NO];
+ [copyright_label setBezeled: NO];
+ [copyright_label setDrawsBackground: NO];
+ [copyright_label setAlignment: NSTextAlignmentCenter];
+ [copyright_label setStringValue: [NSString stringWithFormat: @"%s",
+ QEMU_COPYRIGHT]];
+ [superView addSubview: copyright_label];
}
/* Used by the Speed menu items */

View File

@ -23,10 +23,10 @@ python3Packages.buildPythonApplication {
postPatch = ''
substituteInPlace org.debian.apt.aptoffline.policy \
--replace /usr/bin/ "$out/bin"
--replace-fail /usr/bin/ "$out/bin"
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
--replace /usr/bin/gpgv "${lib.getBin gnupg}/bin/gpgv"
--replace-fail /usr/bin/gpgv "${lib.getBin gnupg}/bin/gpgv"
'';
postInstall = ''

View File

@ -29,7 +29,7 @@ let
postPatch = ''
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \
--replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
--replace-fail 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
'';
nativeBuildInputs = [ p.setuptools p.wheel ];

View File

@ -7,14 +7,14 @@
}:
rustPlatform.buildRustPackage rec {
pname = "clang-tidy-sarif";
version = "0.6.5";
version = "0.6.6";
src = fetchCrate {
inherit pname version;
hash = "sha256-pQbhLbDRcZJhXXY6bWGO/8mmQRwgM3tDEWKoqmsNr68=";
hash = "sha256-rZnGueaqK7h8tWwwWacvFBvJwE1li2wN9iB4DJRHJ8U=";
};
cargoHash = "sha256-K+Cle2eCH4jCLbYfOrlEXeBvFUr7dGmpKFQM1IJi7p4=";
cargoHash = "sha256-mELx6UGHV+qtL1G3+xvYUaUzZbfMy0dKgai6IqdbT+A=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;

View File

@ -11,6 +11,8 @@
gtk3,
swt,
glib,
webkitgtk,
glib-networking,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
@ -64,11 +66,14 @@ stdenvNoCC.mkDerivation (finalAttrs: {
--prefix PATH : "${openjdk17}/bin" \
--set JAVA_HOME "${openjdk17.home}" \
--prefix CLASSPATH : "$out/dbeaver/plugins/*:${swt}/jars/swt.jar" \
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \
--prefix LD_LIBRARY_PATH : "$out/lib:${
lib.makeLibraryPath [
swt
gtk3
glib
webkitgtk
glib-networking
]
}"

View File

@ -11,14 +11,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "deltatouch";
version = "1.5.1";
version = "1.6.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lk108";
repo = "deltatouch";
rev = "v${finalAttrs.version}";
hash = "sha256-OQrTxxmiBiAc9il1O5aEl9iN3fCfoxSAwJDfrASCPxs=";
hash = "sha256-mOs5WlWOkH9A+BZK6hvKq/JKS4k8tzvvov4CYFHyMfA=";
fetchSubmodules = true;
};
@ -48,12 +48,13 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail 'assets/logo.svg DESTINATION assets' 'assets/logo.svg DESTINATION ''${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME deltatouch.svg' \
--replace-fail "\''${DESKTOP_FILE_NAME} DESTINATION \''${DATA_DIR}" "\''${DESKTOP_FILE_NAME} DESTINATION \''${CMAKE_INSTALL_DATAROOTDIR}/applications"
substituteInPlace plugins/DeltaHandler/CMakeLists.txt plugins/DTWebEngineProfile/CMakeLists.txt \
substituteInPlace plugins/{DeltaHandler,HtmlMsgEngineProfile,WebxdcEngineProfile}/CMakeLists.txt \
--replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
# Fix import of library dependencies
substituteInPlace plugins/{DeltaHandler,WebxdcEngineProfile}/CMakeLists.txt \
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"'
substituteInPlace plugins/DeltaHandler/CMakeLists.txt \
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libdeltachat.so"' 'IMPORTED_LOCATION "${lib.getLib libdeltachat}/lib/libdeltachat.so"' \
--replace-fail 'IMPORTED_LOCATION "''${CMAKE_CURRENT_BINARY_DIR}/libquirc.so.1.2"' 'IMPORTED_LOCATION "${lib.getLib quirc}/lib/libquirc.so"'
# Fix icon reference in desktop file

View File

@ -1,11 +1,11 @@
GEM
remote: https://rubygems.org/
specs:
facter (4.6.1)
facter (4.8.0)
hocon (~> 1.3)
thor (>= 1.0.1, < 2.0)
thor (>= 1.0.1, < 1.3)
hocon (1.4.0)
thor (1.3.1)
thor (1.2.2)
PLATFORMS
ruby
@ -14,4 +14,4 @@ DEPENDENCIES
facter
BUNDLED WITH
2.5.6
2.5.16

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pxpldfcf40dr9khra3sa131ij7gzd97bba2vpw89c785pl736a7";
sha256 = "1130mzk90pi0y9fnraqqak7gcfg61dhx92axwnhchbpw09akfl09";
type = "gem";
};
version = "4.6.1";
version = "4.8.0";
};
hocon = {
groups = ["default"];
@ -25,9 +25,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps";
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.3.1";
version = "1.2.2";
};
}

View File

@ -1,9 +1,10 @@
{ lib
, python3
, fetchFromGitHub
, fetchPypi
, postgresql
, postgresqlTestHook
{
fetchFromGitHub,
fetchPypi,
lib,
postgresql,
postgresqlTestHook,
python3,
}:
let
python = python3.override {
@ -25,22 +26,17 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "fit-trackee";
version = "0.8.6";
pname = "fittrackee";
version = "0.8.8";
pyproject = true;
src = fetchFromGitHub {
owner = "SamR1";
repo = "FitTrackee";
rev = "refs/tags/v${version}";
hash = "sha256-lTDS+HfYG6ayXDotu7M2LUrw+1ZhQ0ftw0rTn4Mr3rQ=";
hash = "sha256-IO6M+HXAR3Gn0/71KwkaQr6sB0eCQzmnqHYgO+mzIZM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail psycopg2-binary psycopg2
'';
build-system = [
python.pkgs.poetry-core
];
@ -53,29 +49,32 @@ python.pkgs.buildPythonApplication rec {
"pyopenssl"
];
dependencies = with python.pkgs; [
authlib
babel
click
dramatiq
flask
flask-bcrypt
flask-dramatiq
flask-limiter
flask-migrate
flask-sqlalchemy
gpxpy
gunicorn
humanize
psycopg2
pyjwt
pyopenssl
pytz
shortuuid
sqlalchemy
staticmap
ua-parser
] ++ dramatiq.optional-dependencies.redis
dependencies =
with python.pkgs;
[
authlib
babel
click
dramatiq
flask
flask-bcrypt
flask-dramatiq
flask-limiter
flask-migrate
flask-sqlalchemy
gpxpy
gunicorn
humanize
psycopg2-binary
pyjwt
pyopenssl
pytz
shortuuid
sqlalchemy
staticmap
ua-parser
]
++ dramatiq.optional-dependencies.redis
++ flask-limiter.optional-dependencies.redis;
pythonImportsCheck = [ "fittrackee" ];

View File

@ -0,0 +1,50 @@
commit 1e8fdf3f90fd142c5ddd63e44ca1e5c172dbfb7f
Author: Simon Gardling <titaniumtown@proton.me>
Date: Tue Aug 27 12:45:14 2024 -0400
use locally downloaded embeddings
index 27f3f5d9..9e25528a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -90,6 +90,7 @@ elseif (APPLE)
endif()
# Embedding model
+#[[
set(LOCAL_EMBEDDING_MODEL "nomic-embed-text-v1.5.f16.gguf")
set(LOCAL_EMBEDDING_MODEL_MD5 "a5401e7f7e46ed9fcaed5b60a281d547")
set(LOCAL_EMBEDDING_MODEL_PATH "${CMAKE_BINARY_DIR}/resources/${LOCAL_EMBEDDING_MODEL}")
@@ -104,6 +105,7 @@
if (APPLE)
list(APPEND CHAT_EXE_RESOURCES "${LOCAL_EMBEDDING_MODEL_PATH}")
endif()
+]]
qt_add_executable(chat
main.cpp
@@ -383,11 +385,13 @@
endif()
endif()
+#[[
if (NOT APPLE)
install(FILES "${CMAKE_BINARY_DIR}/resources/${LOCAL_EMBEDDING_MODEL}"
DESTINATION resources
COMPONENT ${COMPONENT_NAME_MAIN})
endif()
+]]
set(CPACK_GENERATOR "IFW")
set(CPACK_VERBATIM_VARIABLES YES)
--- a/embllm.cpp
+++ b/embllm.cpp
@@ -84,7 +84,7 @@ bool EmbeddingLLMWorker::loadModel()
QString filePath = embPathFmt.arg(QCoreApplication::applicationDirPath(), LOCAL_EMBEDDING_MODEL);
if (!QFileInfo::exists(filePath)) {
- qWarning() << "embllm WARNING: Local embedding model not found";
+ qWarning() << "embllm WARNING: Local embedding model not found: " << filePath;
return false;
}

View File

@ -2,6 +2,7 @@
, config
, stdenv
, fetchFromGitHub
, fetchurl
, cmake
, qt6
, fmt
@ -14,16 +15,25 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gpt4all";
version = "2.8.0";
version = "3.2.1";
src = fetchFromGitHub {
fetchSubmodules = true;
hash = "sha256-aSz37+1K26Xizf4cpV45a2DnSsl959VQok/ppFRk/hs=";
hash = "sha256-h6hcqafTjQsqVlpnqVeohh38A67VSGrW3WrCErjaKIQ=";
owner = "nomic-ai";
repo = "gpt4all";
rev = "v${finalAttrs.version}";
};
embed_model = fetchurl {
url = "https://gpt4all.io/models/gguf/nomic-embed-text-v1.5.f16.gguf";
sha256 = "f7af6f66802f4df86eda10fe9bbcfc75c39562bed48ef6ace719a251cf1c2fdb";
};
patches = [
./embedding-local.patch
];
sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
nativeBuildInputs = [
@ -41,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
qt6.qthttpserver
qt6.qtwebengine
qt6.qt5compat
qt6.qttools
shaderc
vulkan-headers
wayland
@ -64,8 +75,9 @@ stdenv.mkDerivation (finalAttrs: {
rm -rf $out/include
rm -rf $out/lib/*.a
mv $out/bin/chat $out/bin/${finalAttrs.meta.mainProgram}
install -D ${finalAttrs.embed_model} $out/resources/nomic-embed-text-v1.5.f16.gguf
install -m 444 -D $src/gpt4all-chat/flatpak-manifest/io.gpt4all.gpt4all.desktop $out/share/applications/io.gpt4all.gpt4all.desktop
install -m 444 -D $src/gpt4all-chat/icons/logo.svg $out/share/icons/hicolor/scalable/apps/io.gpt4all.gpt4all.svg
install -m 444 -D $src/gpt4all-chat/icons/nomic_logo.svg $out/share/icons/hicolor/scalable/apps/io.gpt4all.gpt4all.svg
substituteInPlace $out/share/applications/io.gpt4all.gpt4all.desktop \
--replace-fail 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}'
'';
@ -76,6 +88,6 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/nomic-ai/gpt4all";
license = lib.licenses.mit;
mainProgram = "gpt4all";
maintainers = with lib.maintainers; [ polygon ];
maintainers = with lib.maintainers; [ polygon titaniumtown ];
};
})

View File

@ -0,0 +1,124 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
installShellFiles,
pkg-config,
zstd,
libgit2,
libssh2,
openssl,
darwin,
libiconv,
git,
gnupg,
openssh,
buildPackages,
nix-update-script,
testers,
jujutsu,
}:
let
version = "0.21.0";
in
rustPlatform.buildRustPackage {
pname = "jujutsu";
inherit version;
src = fetchFromGitHub {
owner = "martinvonz";
repo = "jj";
rev = "v${version}";
hash = "sha256-uZsfHhcYpobatWaDQczuc9Z3BWHN5VO0qr/8mu5kEio=";
};
cargoHash = "sha256-BOO1jP1Y5CNbE97zj+tpariiBdcuxKb1wyvI7i/VpYI=";
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs =
[
zstd
libgit2
libssh2
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ openssl ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
libiconv
];
nativeCheckInputs = [
git
gnupg
openssh
];
cargoBuildFlags = [
# Dont install the `gen-protos` build tool.
"--bin"
"jj"
];
useNextest = true;
cargoTestFlags = [
# Dont build the `gen-protos` build tool when running tests.
"-p"
"jj-lib"
"-p"
"jj-cli"
];
env = {
# Disable vendored libraries.
ZSTD_SYS_USE_PKG_CONFIG = "1";
LIBGIT2_NO_VENDOR = "1";
LIBSSH2_SYS_USE_PKG_CONFIG = "1";
};
postInstall =
let
jj = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/jj";
in
lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ''
${jj} util mangen > ./jj.1
installManPage ./jj.1
installShellCompletion --cmd jj \
--bash <(${jj} util completion bash) \
--fish <(${jj} util completion fish) \
--zsh <(${jj} util completion zsh)
'';
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = jujutsu;
command = "jj --version";
};
};
};
meta = {
description = "Git-compatible DVCS that is both simple and powerful";
homepage = "https://github.com/martinvonz/jj";
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
_0x4A6F
thoughtpolice
emily
bbigras
];
mainProgram = "jj";
};
}

View File

@ -1,5 +1,5 @@
diff --git a/tools/install.pl b/tools/install.pl
index b7c7adb..a63de58 100644
index f09218f..a63de58 100644
--- a/tools/install.pl
+++ b/tools/install.pl
@@ -9,6 +9,7 @@ use Config;
@ -10,7 +10,7 @@ index b7c7adb..a63de58 100644
#Vendor dependencies
my @vendor_css = (
@@ -90,34 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
@@ -90,32 +91,6 @@ if ( $ENV{HOMEBREW_FORMULA_PREFIX} ) {
$cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec";
}
@ -30,11 +30,9 @@ index b7c7adb..a63de58 100644
-
-#Check for GhostScript
-say("Checking for GhostScript...");
-if ( can_run('gs') ) {
- say("OK!");
-} else {
- warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
-}
-can_run('gs')
- or warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
-say("OK!");
-
-#Check for libarchive
-say("Checking for libarchive...");
@ -45,7 +43,7 @@ index b7c7adb..a63de58 100644
#Check for PerlMagick
say("Checking for ImageMagick/PerlMagick...");
my $imgk;
@@ -137,37 +110,11 @@ if ($@) {
@@ -135,37 +110,11 @@ if ($@) {
say("OK!");
}
@ -83,7 +81,7 @@ index b7c7adb..a63de58 100644
make_path getcwd . "/public/css/vendor";
make_path getcwd . "/public/css/webfonts";
make_path getcwd . "/public/js/vendor";
@@ -214,19 +161,3 @@ sub cp_node_module {
@@ -212,19 +161,3 @@ sub cp_node_module {
}

View File

@ -10,13 +10,13 @@
buildNpmPackage rec {
pname = "lanraragi";
version = "0.9.10";
version = "0.9.21";
src = fetchFromGitHub {
owner = "Difegue";
repo = "LANraragi";
rev = "v.${version}";
hash = "sha256-mW2cVd+SPbjc/+b0KY3je1eqw5ZT/GKFruE4Y/eFdD4=";
hash = "sha256-2YdQeBW1MQiUs5nliloISaxG0yhFJ6ulkU/Urx8PN3Y=";
};
patches = [

View File

@ -16,16 +16,17 @@
zlib,
libSM,
libICE,
stb,
}:
stdenv.mkDerivation rec {
pname = "lms";
version = "3.51.1";
version = "3.56.0";
src = fetchFromGitHub {
owner = "epoupon";
repo = "lms";
rev = "v${version}";
hash = "sha256-5lEbrB218EVVHIzo1efvQYybut2OpfDKpLlRs0brhXg=";
hash = "sha256-o/wgh/PtFcTOmfl5H1cc1cTsWFvEnVQYhh4hPTnLNMU=";
};
strictDeps = true;
@ -46,6 +47,7 @@ stdenv.mkDerivation rec {
zlib
libSM
libICE
stb
];
postPatch = ''

View File

@ -90,7 +90,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.5.2";
version = "13.5.3";
sources = {
x86_64-linux = fetchurl {
@ -102,7 +102,7 @@ let
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-CXcaJLgG448tjTlOcxGwT/w1qWaokpVXbBZ6cLxWcNc=";
hash = "sha256-rJKOkVfWs5q3eF+ffeBLIQaAMtoR7KzoNQlv64iNWJ8=";
};
};

View File

@ -3,29 +3,31 @@
buildNimPackage,
fetchFromGitHub,
}:
buildNimPackage (final: prev: {
pname = "nimlangserver";
version = "1.2.0";
buildNimPackage (
final: prev: rec {
pname = "nimlangserver";
version = "1.4.0";
# lock.json generated with github.com/daylinmorgan/nnl
lockFile = ./lock.json;
# lock.json generated with github.com/daylinmorgan/nnl
lockFile = ./lock.json;
src = fetchFromGitHub {
owner = "nim-lang";
repo = "langserver";
rev = "71b59bfa77dabf6b8b381f6e18a1d963a1a658fc";
hash = "sha256-dznegEhRHvztrNhBcUhW83RYgJpduwdGLWj/tJ//K8c=";
};
doCheck = false;
meta = with lib;
final.src.meta
// {
description = "Nim language server implementation (based on nimsuggest)";
homepage = "https://github.com/nim-lang/langserver";
license = licenses.mit;
mainProgram = "nimlangserver";
maintainers = with maintainers; [daylinmorgan];
src = fetchFromGitHub {
owner = "nim-lang";
repo = "langserver";
rev = "v${version}";
hash = "sha256-mh+p8t8/mbZvgsJ930lXkcBdUjjioZoNyNZzwywAiUI=";
};
})
doCheck = false;
meta =
final.src.meta
// (with lib; {
description = "Nim language server implementation (based on nimsuggest)";
homepage = "https://github.com/nim-lang/langserver";
license = licenses.mit;
mainProgram = "nimlangserver";
maintainers = with maintainers; [ daylinmorgan ];
});
}
)

View File

@ -7,19 +7,19 @@
}:
let
pname = "open-webui";
version = "0.3.16";
version = "0.3.18-unstable-2024-09-05";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-AxD7WHL5fGM0CBKi7zc/gmoSJQBohDh0HgIDU1/BQ7w=";
rev = "c3271e84efc281dfed8c1e2d265cd24e1e5865e6";
hash = "sha256-yOLxpRgwTVPlQASzFqul+ap/s7Wx3uxf4xr+Xb2Nb7A=";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-Ik+wXymso3jdKXQgLydnhhWvpHl0d82pwYSmUR0yfPE=";
npmDepsHash = "sha256-BkjvMD1XxELzxiPZagYd0aEUsaAl338h5W9nvxxrJJg=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.

View File

@ -19,25 +19,26 @@
}:
let
presets = {
"i686-linux" = "Linux 32-bit";
"x86_64-linux" = "Linux 64-bit";
"aarch64-linux" = "Linux ARM64";
};
preset =
if stdenv.isLinux then
if stdenv.is64bit then "Linux/X11 64-bit" else "Linux/X11 32-bit"
else if stdenv.isDarwin then
"Mac OSX"
else
throw "unsupported platform";
presets.${stdenv.hostPlatform.system}
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
godot_version_folder = lib.replaceStrings [ "-" ] [ "." ] godot_4.version;
in
stdenv.mkDerivation (finalAttrs: {
pname = "pixelorama";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "Orama-Interactive";
repo = "Pixelorama";
rev = "v${finalAttrs.version}";
hash = "sha256-lfim5ZiykOhI1kgsu0ni2frUVHPRIPJdrGx6TuUQcSY=";
hash = "sha256-rFXUy6fvGKmB+aaNgiI+NNRG0xlj1migdetnU4iVDDQ=";
};
strictDeps = true;
@ -95,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: {
platforms = [
"i686-linux"
"x86_64-linux"
"aarch64-linux"
];
maintainers = with maintainers; [ felschr ];
mainProgram = "pixelorama";

View File

@ -5,24 +5,24 @@ GEM
base64
nkf
rexml
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
aws-eventstream (1.3.0)
aws-partitions (1.899.0)
aws-sdk-core (3.191.4)
aws-partitions (1.968.0)
aws-sdk-core (3.201.5)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
aws-sigv4 (~> 1.9)
jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.444.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.8.0)
aws-sdk-ec2 (1.470.0)
aws-sdk-core (~> 3, >= 3.201.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.9.1)
aws-eventstream (~> 1, >= 1.0.2)
base64 (0.2.0)
bigdecimal (3.1.7)
bigdecimal (3.1.8)
bindata (2.5.0)
bolt (3.28.0)
bolt (3.30.0)
CFPropertyList (>= 2.2)
addressable (~> 2.5)
aws-sdk-ec2 (~> 1)
@ -45,13 +45,13 @@ GEM
terminal-table (~> 3.0)
winrm (~> 2.0)
winrm-fs (~> 1.3)
builder (3.2.4)
builder (3.3.0)
colored2 (3.1.2)
concurrent-ruby (1.2.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
cri (2.15.11)
cri (2.15.12)
deep_merge (1.2.2)
erubi (1.12.0)
erubi (1.13.0)
facter (4.6.1)
hocon (~> 1.3)
thor (>= 1.0.1, < 2.0)
@ -73,16 +73,18 @@ GEM
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fast_gettext (2.3.0)
ffi (1.16.3)
fast_gettext (2.4.0)
prime
ffi (1.17.0)
forwardable (1.3.3)
getoptlong (0.2.1)
gettext (3.4.9)
erubi
locale (>= 2.0.5)
@ -101,31 +103,33 @@ GEM
hiera-eyaml (3.4.0)
highline
optimist
highline (3.0.1)
highline (3.1.0)
reline
hocon (1.4.0)
httpclient (2.8.3)
io-console (0.7.2)
jmespath (1.6.2)
jwt (2.7.1)
little-plugger (1.1.4)
locale (2.1.4)
log4r (1.1.10)
logging (2.3.1)
logging (2.4.0)
little-plugger (~> 1.1)
multi_json (~> 1.14)
minitar (0.9)
minitar (0.12.1)
molinillo (0.8.0)
multi_json (1.15.0)
multipart-post (2.4.0)
multipart-post (2.4.1)
net-http-persistent (4.0.2)
connection_pool (~> 2.2)
net-scp (4.0.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.2.1)
net-ssh (7.2.3)
net-ssh-krb (0.5.1)
gssapi (~> 1.3.0)
net-ssh (>= 2.0)
nkf (0.2.0)
nori (2.7.0)
nori (2.7.1)
bigdecimal
optimist (3.1.0)
orchestrator_client (0.7.0)
@ -134,12 +138,13 @@ GEM
prime (0.1.2)
forwardable
singleton
public_suffix (5.0.4)
puppet (8.5.1)
public_suffix (6.0.1)
puppet (8.8.1)
concurrent-ruby (~> 1.0)
deep_merge (~> 1.0)
facter (>= 4.3.0, < 5)
fast_gettext (>= 2.1, < 3)
fast_gettext (>= 2.1, < 4)
getoptlong (~> 0.2.0)
locale (~> 2.1)
multi_json (~> 1.13)
puppet-resource_api (~> 1.5)
@ -158,7 +163,7 @@ GEM
puppetfile-resolver (0.6.3)
molinillo (~> 0.6)
semantic_puppet (~> 1.0)
r10k (3.16.0)
r10k (3.16.2)
colored2 (= 3.1.2)
cri (>= 2.15.10)
fast_gettext (>= 1.1.0, < 3.0.0)
@ -169,33 +174,39 @@ GEM
minitar (~> 0.9)
multi_json (~> 1.10)
puppet_forge (>= 2.3.0, < 4.0.0)
racc (1.7.3)
rexml (3.2.6)
racc (1.8.1)
reline (0.5.9)
io-console (~> 0.5)
rexml (3.3.6)
strscan
rgen (0.9.1)
ruby2_keywords (0.0.5)
ruby_smb (1.1.0)
bindata
rubyntlm
windows_error
rubyntlm (0.6.3)
rubyntlm (0.6.5)
base64
rubyzip (2.3.2)
scanf (1.0.0)
semantic_puppet (1.1.0)
singleton (0.2.0)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
text (1.3.1)
thor (1.3.1)
unicode-display_width (2.5.0)
windows_error (0.1.5)
winrm (2.3.6)
winrm (2.3.9)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
nori (~> 2.0, >= 2.7.1)
rexml (~> 3.0)
rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-fs (1.3.5)
erubi (~> 1.8)
@ -211,4 +222,4 @@ DEPENDENCIES
bolt
BUNDLED WITH
2.5.6
2.5.16

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr";
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
type = "gem";
};
version = "2.8.6";
version = "2.8.7";
};
aws-eventstream = {
groups = ["default"];
@ -25,10 +25,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mydgvc5wn4adsic86907hzyfhgvzaq6nr394pnvk83ryv4zx77p";
sha256 = "0m74rrlwv741wlp2imw5y93ybrzczx0r2jvcgp1v4zq299z3zy29";
type = "gem";
};
version = "1.899.0";
version = "1.968.0";
};
aws-sdk-core = {
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dlalj0pw6nfmmfqddjj8b5rv6lq1hqdq19im3s8fjq5ln5ij8lr";
sha256 = "0l5c37gvarb3p3zsip1p9mpmir0zdccp0aibgx9cy61im4pwaj0q";
type = "gem";
};
version = "3.191.4";
version = "3.201.5";
};
aws-sdk-ec2 = {
dependencies = ["aws-sdk-core" "aws-sigv4"];
@ -47,10 +47,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19gfcb07kvywx9ymdf80k4i3yc61h41cdxnygp7197h92ff4qxhv";
sha256 = "0z7zk5z9zyqqljh8fxhq8ngp8pixbm85pa9ygpr0nmgdl2b1i7ff";
type = "gem";
};
version = "1.444.0";
version = "1.470.0";
};
aws-sigv4 = {
dependencies = ["aws-eventstream"];
@ -58,10 +58,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g3w27wzjy4si6kp49w10as6ml6g6zl3xrfqs5ikpfciidv9kpc4";
sha256 = "0yf396fxashbqn0drbnvd9srxfg7w06v70q8kqpzi04zqchf6lvp";
type = "gem";
};
version = "1.8.0";
version = "1.9.1";
};
base64 = {
groups = ["default"];
@ -78,10 +78,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558";
type = "gem";
};
version = "3.1.7";
version = "3.1.8";
};
bindata = {
groups = ["default"];
@ -99,20 +99,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1abj694v2asrlzpr68shy3whf73ajk6626zqy6mhmyy8qmg8i19h";
sha256 = "0krs4mmy1db531gyibhzaxmghb606yjmqqyfghvriy7b9sgi6bq8";
type = "gem";
};
version = "3.28.0";
version = "3.30.0";
};
builder = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9";
type = "gem";
};
version = "3.2.4";
version = "3.3.0";
};
CFPropertyList = {
dependencies = ["base64" "nkf" "rexml"];
@ -140,10 +140,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2";
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
type = "gem";
};
version = "1.2.3";
version = "1.3.4";
};
connection_pool = {
groups = ["default"];
@ -160,10 +160,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bhsgnjav94mz5vf3305gxz1g34gm9kxvnrn1dkz530r8bpj0hr5";
sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa";
type = "gem";
};
version = "2.15.11";
version = "2.15.12";
};
deep_merge = {
groups = ["default"];
@ -180,10 +180,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
type = "gem";
};
version = "1.12.0";
version = "1.13.0";
};
facter = {
dependencies = ["hocon" "thor"];
@ -263,10 +263,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3";
type = "gem";
};
version = "1.0.1";
version = "1.0.2";
};
faraday-net_http_persistent = {
groups = ["default"];
@ -320,24 +320,25 @@
version = "1.2.0";
};
fast_gettext = {
dependencies = ["prime"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2";
sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px";
type = "gem";
};
version = "2.3.0";
version = "2.4.0";
};
ffi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
type = "gem";
};
version = "1.16.3";
version = "1.17.0";
};
forwardable = {
groups = ["default"];
@ -349,6 +350,16 @@
};
version = "1.3.3";
};
getoptlong = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "198vy9dxyzibqdbw9jg8p2ljj9iknkyiqlyl229vz55rjxrz08zx";
type = "gem";
};
version = "0.2.1";
};
gettext = {
dependencies = ["erubi" "locale" "prime" "racc" "text"];
groups = ["default"];
@ -405,14 +416,15 @@
version = "3.4.0";
};
highline = {
dependencies = ["reline"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a";
sha256 = "1sxqnaz6wvkwbwzsipwsqcg1zw2kn67x7l362whv87zl5133w60l";
type = "gem";
};
version = "3.0.1";
version = "3.1.0";
};
hocon = {
groups = ["default"];
@ -434,6 +446,16 @@
};
version = "2.8.3";
};
io-console = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h";
type = "gem";
};
version = "0.7.2";
};
jmespath = {
groups = ["default"];
platforms = [];
@ -490,20 +512,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zflchpx4g8c110gjdcs540bk5a336nq6nmx379rdg56xw0pjd02";
sha256 = "1jqcq2yxh973f3aw63nd3wxhqyhkncz3pf8v2gs3df0iqair725s";
type = "gem";
};
version = "2.3.1";
version = "2.4.0";
};
minitar = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s";
type = "gem";
};
version = "0.9";
version = "0.12.1";
};
molinillo = {
groups = ["default"];
@ -530,10 +552,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1033p35166d9p97y4vajbbvr13pmkk9zwn7sylxpmk9jrpk8ri67";
sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq";
type = "gem";
};
version = "2.4.0";
version = "2.4.1";
};
net-http-persistent = {
dependencies = ["connection_pool"];
@ -562,10 +584,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w";
sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n";
type = "gem";
};
version = "7.2.1";
version = "7.2.3";
};
net-ssh-krb = {
dependencies = ["gssapi" "net-ssh"];
@ -594,10 +616,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12wfv36jzc0978ij5c56nnfh5k8ax574njawigs98ysmp1x5s2ql";
sha256 = "0qb84bbi74q0zgs09sdkq750jf2ri3lblbry0xi4g1ard4rwsrk1";
type = "gem";
};
version = "2.7.0";
version = "2.7.1";
};
optimist = {
groups = ["default"];
@ -636,21 +658,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31";
type = "gem";
};
version = "5.0.4";
version = "6.0.1";
};
puppet = {
dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"];
dependencies = ["concurrent-ruby" "deep_merge" "facter" "fast_gettext" "getoptlong" "locale" "multi_json" "puppet-resource_api" "scanf" "semantic_puppet"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dhax5d40c03n0lffy10mvs0c3mgfqq1dsc3gb5ihgb2l1sbs0a7";
sha256 = "0v2jqkan3nidifxdlpm7lk0ih5s8khl9ps0nz62wj3zlywck0wsi";
type = "gem";
};
version = "8.5.1";
version = "8.8.1";
};
puppet-resource_api = {
dependencies = ["hocon"];
@ -702,30 +724,42 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "198bar06xqap19j9y831j98ahd3w4ky2k0klwaa39sa1p6fpcjdi";
sha256 = "1f9fwfmr44lbnx31fdiabm7sb41nsbf10awm96zl79clp8kafxcp";
type = "gem";
};
version = "3.16.0";
version = "3.16.2";
};
racc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem";
};
version = "1.7.3";
version = "1.8.1";
};
rexml = {
reline = {
dependencies = ["io-console"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
sha256 = "0y6kyz7kcilwdpfy3saqfgnar38vr5ys9sp40ndffy6h1znxfbax";
type = "gem";
};
version = "3.2.6";
version = "0.5.9";
};
rexml = {
dependencies = ["strscan"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ik3in0957l9s6iwdm3nsk4za072cj27riiqgpx6zzcd22flbw3s";
type = "gem";
};
version = "3.3.6";
};
rgen = {
groups = ["default"];
@ -759,14 +793,15 @@
version = "1.1.0";
};
rubyntlm = {
dependencies = ["base64"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv";
sha256 = "1x8l0d1v88m40mby4jvgal46137cv8gga2lk7zlrxqlsp41380a7";
type = "gem";
};
version = "0.6.3";
version = "0.6.5";
};
rubyzip = {
groups = ["default"];
@ -808,6 +843,16 @@
};
version = "0.2.0";
};
strscan = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";
};
terminal-table = {
dependencies = ["unicode-display_width"];
groups = ["default"];
@ -860,15 +905,15 @@
version = "0.1.5";
};
winrm = {
dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nxf6a47d1xf1nvi7rbfbzjyyjhz0iakrnrsr2hj6y24a381sd8i";
sha256 = "01jxpshw5kx5ha21ymaaj14vibv5bvm0dd80ccc6xl3jaxy7cszg";
type = "gem";
};
version = "2.3.6";
version = "2.3.9";
};
winrm-fs = {
dependencies = ["erubi" "logging" "rubyzip" "winrm"];

View File

@ -1,16 +1,19 @@
GEM
remote: https://rubygems.org/
specs:
base64 (0.2.0)
colored2 (3.1.2)
cri (2.15.11)
erubi (1.12.0)
faraday (2.9.0)
cri (2.15.12)
erubi (1.13.0)
faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2)
logger
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.1.0)
faraday-net_http (3.1.1)
net-http
fast_gettext (2.3.0)
fast_gettext (2.4.0)
prime
forwardable (1.3.3)
gettext (3.4.9)
erubi
@ -22,31 +25,33 @@ GEM
fast_gettext (~> 2.1)
gettext (~> 3.4)
locale
jwt (2.7.1)
jwt (2.8.2)
base64
locale (2.1.4)
log4r (1.1.10)
minitar (0.9)
logger (1.6.0)
minitar (0.12.1)
multi_json (1.15.0)
net-http (0.4.1)
uri
prime (0.1.2)
forwardable
singleton
puppet_forge (5.0.3)
puppet_forge (5.0.4)
faraday (~> 2.0)
faraday-follow_redirects (~> 0.3.0)
minitar
minitar (< 1.0.0)
semantic_puppet (~> 1.0)
r10k (4.0.1)
r10k (4.1.0)
colored2 (= 3.1.2)
cri (>= 2.15.10)
gettext-setup (>= 0.24, < 2.0)
jwt (>= 2.2.3, < 2.8.0)
jwt (>= 2.2.3, < 3)
log4r (= 1.1.10)
minitar (~> 0.9)
multi_json (~> 1.10)
puppet_forge (>= 4.1, < 6)
racc (1.7.3)
racc (1.8.1)
semantic_puppet (1.1.0)
singleton (0.2.0)
text (1.3.1)
@ -59,4 +64,4 @@ DEPENDENCIES
r10k
BUNDLED WITH
2.5.6
2.5.16

View File

@ -1,4 +1,14 @@
{
base64 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
type = "gem";
};
version = "0.2.0";
};
colored2 = {
groups = ["default"];
platforms = [];
@ -14,31 +24,31 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bhsgnjav94mz5vf3305gxz1g34gm9kxvnrn1dkz530r8bpj0hr5";
sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa";
type = "gem";
};
version = "2.15.11";
version = "2.15.12";
};
erubi = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7";
sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
type = "gem";
};
version = "1.12.0";
version = "1.13.0";
};
faraday = {
dependencies = ["faraday-net_http"];
dependencies = ["faraday-net_http" "logger"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s";
sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb";
type = "gem";
};
version = "2.9.0";
version = "2.10.1";
};
faraday-follow_redirects = {
dependencies = ["faraday"];
@ -57,20 +67,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn";
sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys";
type = "gem";
};
version = "3.1.0";
version = "3.1.1";
};
fast_gettext = {
dependencies = ["prime"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2";
sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px";
type = "gem";
};
version = "2.3.0";
version = "2.4.0";
};
forwardable = {
groups = ["default"];
@ -105,14 +116,15 @@
version = "1.1.0";
};
jwt = {
dependencies = ["base64"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87";
sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s";
type = "gem";
};
version = "2.7.1";
version = "2.8.2";
};
locale = {
groups = ["default"];
@ -134,15 +146,25 @@
};
version = "1.1.10";
};
logger = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa";
type = "gem";
};
version = "1.6.0";
};
minitar = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13";
sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s";
type = "gem";
};
version = "0.9";
version = "0.12.1";
};
multi_json = {
groups = ["default"];
@ -182,10 +204,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "168w15y5rnsm6wspqxn0wg543r89cbajc8wky0sg9vzpgpr27176";
sha256 = "0d65zri1nmpph8iki5iigdzfqd6rfyc1mlgdfhg69q3566rcff06";
type = "gem";
};
version = "5.0.3";
version = "5.0.4";
};
r10k = {
dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"];
@ -193,20 +215,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g7bx9k112mnxpnasj59zaz2c7x51ia856b5q41kfr3i9y2q3k78";
sha256 = "0k3fr2f0pwyrabs12wqig31f37sqrqs8qza7jrn01d6blvhvkrb4";
type = "gem";
};
version = "4.0.1";
version = "4.1.0";
};
racc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem";
};
version = "1.7.3";
version = "1.8.1";
};
semantic_puppet = {
groups = ["default"];

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation {
pname = "rakshasa-rtorrent";
version = "0.9.8-unstable-2024-08-20";
version = "0.9.8-unstable-2024-08-31";
src = fetchFromGitHub {
owner = "rakshasa";
repo = "rtorrent";
rev = "eacf9798e2787df7dd4d5c800a46bac7931ac41c";
hash = "sha256-VJ2QJfBRUgk0KcCZTHtlyBIMVhs0UfYWAPlTeA98VZU=";
rev = "4e246a401f2572d6c8a3295cbe0335baa316cd24";
hash = "sha256-tq/0Vq+rIyCn1UQlyo7lcTSVf6WW1I8MTfxiAwQYD/o=";
};
outputs = [ "out" "man" ];

File diff suppressed because it is too large Load Diff

View File

@ -37,45 +37,53 @@
rustPlatform.buildRustPackage rec {
pname = "rustdesk";
version = "1.2.3";
version = "1.3.0";
src = fetchFromGitHub {
owner = "rustdesk";
repo = "rustdesk";
rev = version;
hash = "sha256-6TdirqEnWvuPgKOLzNIAm66EgKNdGVjD7vf2maqlxI8=";
hash = "sha256-pDGURsF0eft2BkuXOzaMtNCHp9VFgZZh4bbNRa5NDII=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"confy-0.4.0-2" = "sha256-r5VeggXrIq5Cwxc2WSrxQDI5Gvbw979qIUQfMKHgBUI=";
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
"arboard-3.4.0" = "sha256-lZIG5z115ExR6DcUut1rk9MrYFzSyCYH9kNGIikOPJM=";
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
"clipboard-master-4.0.0-beta.6" = "sha256-GZyzGMQOZ0iwGNZa/ZzFp8gU2tQVWZBpAbim8yb6yZA=";
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
"hwcodec-0.1.1" = "sha256-EQGJr5kH8O48y1oSrzFF3QGGpGFKP3v4gn2JquAkdlY=";
"impersonate_system-0.1.0" = "sha256-qbaTw9gxMKDjX5pKdUrKlmIxCxWwb99YuWPDvD2A3kY=";
"keepawake-0.4.3" = "sha256-sLQf9q88dB2bkTN01UlxRWSpoF1kFsqqpYC4Sw6cbEY=";
"hwcodec-0.7.0" = "sha256-pfzcaD7h/U5ou+P7qRLR56iXOkm043rF74y+Q0FsVLo=";
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
"keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
"mouce-0.2.1" = "sha256-3PtNEmVMXgqKV4r3KiKTkk4oyCt4BKynniJREE+RyFk=";
"pam-0.7.0" = "sha256-qe2GH6sfGEUnqLiQucYLB5rD/GyAaVtm9pAxWRb1H3Q=";
"parity-tokio-ipc-0.7.3-2" = "sha256-WXDKcDBaJuq4K9gjzOKMozePOFiVX0EqYAFamAz/Yvw=";
"rdev-0.5.0-2" = "sha256-MJ4Uqp0yz1CcFvoZYyUYwNojUcfW1AyVowKShihhhbY=";
"reqwest-0.11.18" = "sha256-3k2wcVD+DzJEdP/+8BqP9qz3tgEWcbWZj5/CjrZz5LY=";
"pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
"pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
"parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
"rdev-0.5.0-2" = "sha256-KrzNa4sKyuVw3EV/Ec9VBNRyJy7QFR2Gu4c2WkltwUw=";
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
"sciter-rs-0.5.57" = "sha256-NQPDlMQ0sGY8c9lBMlplT82sNjbgJy2m/+REnF3fz8M=";
"tao-0.22.2" = "sha256-vZx7WM6vK9UarbFQ/FMnTNEEDS+tglhWcPXt/h7YMFA=";
"tfc-0.6.1" = "sha256-ukxJl7Z+pUXCjvTsG5Q0RiXocPERWGsnAyh3SIWm0HU=";
"tokio-socks-0.5.1-2" = "sha256-x3aFJKo0XLaCGkZLtG9GYA+A/cGGedVZ8gOztWiYVUY=";
"tray-icon-0.5.1" = "sha256-1VyUg8V4omgdRIYyXhfn8kUvhV5ef6D2cr2Djz2uQyc=";
"sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
"tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
"tfc-0.7.0" = "sha256-VAoOadgGajWjW7q1RCwmQ5gMmaA1oeZBSiL1tYSuIEI=";
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
"tray-icon-0.15.1" = "sha256-DvTVAsE3dB+o89SFk3RPRt5JzaWjPl4nlvC77zsVN/s=";
"wallpaper-3.2.0" = "sha256-p9NRmusdA0wvF6onp1UTL0/4t7XnEAc19sqyGDnfg/Q=";
"webm-1.1.0" = "sha256-p4BMej7yvb8c/dJynRWZmwo2hxAAY96Qx6Qx2DbT8hE=";
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
};
};
prePatch = ''
# Patch 404 repos
substituteInPlace Cargo.lock --replace-fail "fufesou" "rustdesk-org";
substituteInPlace Cargo.toml --replace-fail "fufesou" "rustdesk-org";
substituteInPlace libs/enigo/Cargo.toml --replace-fail "fufesou" "rustdesk-org";
postPatch = ''
# Overwrite cargo.lock because the one in the upstream repo has duplicates entries.
# It should probably be removed in the next rustdesk update (if they fix their cargoLock)
ln -fs ${./Cargo.lock} Cargo.lock
'';
desktopItems = [

View File

@ -0,0 +1,53 @@
{
lib,
fetchFromGitHub,
graphviz,
jre,
makeWrapper,
maven,
nix-update-script,
}:
maven.buildMavenPackage rec {
pname = "schemaspy";
version = "6.2.4";
src = fetchFromGitHub {
owner = "schemaspy";
repo = "schemaspy";
rev = "refs/tags/v${version}";
hash = "sha256-yEqhLpGrJ4hki8o+u+bigVXv+3YvEb8TvHDTYsEl8z4=";
};
mvnParameters = "-Dmaven.test.skip=true -Dmaven.buildNumber.skip=true";
mvnHash = "sha256-LCPRiY/DDSUnLGnaFUS9PPKnh3TmSyAOqKfEKRLRjpg=";
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
runHook preInstall
install -D target/${pname}-${version}-app.jar $out/share/java/${pname}-${version}.jar
makeWrapper ${jre}/bin/java $out/bin/schemaspy \
--add-flags "-jar $out/share/java/${pname}-${version}.jar" \
--prefix PATH : ${lib.makeBinPath [ graphviz ]}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://schemaspy.org";
description = "Document your database simply and easily";
mainProgram = "schemaspy";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [
jraygauthier
anthonyroussel
];
};
}

View File

@ -5,7 +5,6 @@
, mpich
, tmux
, reptyr
, autoconf
, makeWrapper
}:
@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ mpi mpich reptyr tmux ];
buildInputs = [ autoconf makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall

View File

@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "13.5.2";
version = "13.5.3";
sources = {
x86_64-linux = fetchurl {
@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-f6bKRWirHuOe2BnCYegZi1j58Ou3p6Syw++NVLGUGdU=";
hash = "sha256-g4wSjFS3VFZcflN2lexAoSledOBCK9taixGEUbM3X1E=";
};
i686-linux = fetchurl {
@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
hash = "sha256-ye+l3aq3nV97SUyARZMcPhdtGLoAWoscbr81F5LdbS4=";
hash = "sha256-sw8PFbCTUvmD1+fE3VXX/3A07CnzXjBydQ+b4rshpak=";
};
};

View File

@ -10,6 +10,8 @@
, libXxf86vm
}:
let
version = "4.13.2-redo";
desktopItem = makeDesktopItem {
name = "unciv";
exec = "unciv";
@ -20,7 +22,7 @@ let
};
desktopIcon = fetchurl {
url = "https://github.com/yairm210/Unciv/blob/4.13.0-patch1/extraImages/Icons/Unciv%20icon%20v6.png?raw=true";
url = "https://github.com/yairm210/Unciv/blob/${version}/extraImages/Icons/Unciv%20icon%20v6.png?raw=true";
hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk=";
};
@ -33,7 +35,7 @@ let
in
stdenv.mkDerivation rec {
pname = "unciv";
version = "4.13.0-patch1";
inherit version;
src = fetchurl {
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";

View File

@ -0,0 +1,45 @@
{
stdenv,
lib,
fetchurl,
autoreconfHook,
libnsl,
libtirpc,
libxcrypt,
pkg-config,
rpcbind,
systemdLibs,
}:
stdenv.mkDerivation rec {
pname = "ypbind-mt";
version = "2.7.2";
src = fetchurl {
url = "https://github.com/thkukuk/ypbind-mt/releases/download/v${version}/ypbind-mt-${version}.tar.xz";
hash = "sha256-Bk8vGFZzxUk9+D9kALeZ86NZ3lYRi2ujfEMnER8vzYs=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libnsl
libtirpc
libxcrypt
rpcbind
systemdLibs
];
meta = {
description = "Multithreaded daemon maintaining the NIS binding informations.";
homepage = "https://github.com/thkukuk/ypbind-mt";
changelog = "https://github.com/thkukuk/ypbind-mt/blob/master/NEWS";
license = lib.licenses.gpl2Plus;
mainProgram = "ypbind";
maintainers = with lib.maintainers; [ BarrOff ];
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,17 @@
diff --git a/script/generate-licenses b/script/generate-licenses
index 43b2f5c458..c740a3afa2 100755
--- a/script/generate-licenses
+++ b/script/generate-licenses
@@ -15,12 +15,6 @@ cat assets/icons/LICENSES >> $OUTPUT_FILE
echo -e "# ###### CODE LICENSES ######\n" >> $OUTPUT_FILE
-if ! cargo install --list | grep "cargo-about v$CARGO_ABOUT_VERSION" > /dev/null; then
- echo "Installing cargo-about@$CARGO_ABOUT_VERSION..."
- cargo install "cargo-about@$CARGO_ABOUT_VERSION"
-else
- echo "cargo-about@$CARGO_ABOUT_VERSION is already installed."
-fi
echo "Generating cargo licenses"
cargo about generate --fail -c script/licenses/zed-licenses.toml script/licenses/template.hbs.md >> $OUTPUT_FILE

View File

@ -27,6 +27,9 @@
vulkan-loader,
envsubst,
nix-update-script,
cargo-about,
testers,
zed-editor,
withGLES ? false,
}:
@ -45,6 +48,12 @@ rustPlatform.buildRustPackage rec {
fetchSubmodules = true;
};
patches = [
# Zed uses cargo-install to install cargo-about during the script execution.
# We provide cargo-about ourselves and can skip this step.
./0001-generate-licenses.patch
];
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
@ -73,6 +82,7 @@ rustPlatform.buildRustPackage rec {
pkg-config
protobuf
rustPlatform.bindgenHook
cargo-about
] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ];
buildInputs =
@ -128,11 +138,17 @@ rustPlatform.buildRustPackage rec {
# Setting this environment variable allows to disable auto-updates
# https://zed.dev/docs/development/linux#notes-for-packaging-zed
ZED_UPDATE_EXPLANATION = "zed has been installed using nix. Auto-updates have thus been disabled.";
# Used by `zed --version`
RELEASE_VERSION = version;
};
RUSTFLAGS = if withGLES then "--cfg gles" else "";
gpu-lib = if withGLES then libglvnd else vulkan-loader;
preBuild = ''
bash script/generate-licenses
'';
postFixup = lib.optionalString stdenv.isLinux ''
patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
patchelf --add-rpath ${wayland}/lib $out/libexec/*
@ -175,11 +191,17 @@ rustPlatform.buildRustPackage rec {
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(.*)"
];
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(.*)"
];
};
tests.version = testers.testVersion {
inherit version;
package = zed-editor;
};
};
meta = {

View File

@ -14,7 +14,6 @@
config,
cudaSupport ? config.cudaSupport,
cupy,
nix-update-script,
}:
buildPythonPackage rec {
@ -45,13 +44,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "array_api_compat" ];
# CUDA (used via cupy) is not available in the testing sandbox
checkPhase = ''
runHook preCheck
python -m pytest -k 'not cupy'
runHook postCheck
'';
passthru.updateScript = nix-update-script { };
pytestFlagsArray = [
"-k"
"'not cupy'"
];
meta = {
homepage = "https://data-apis.org/array-api-compat";

View File

@ -55,6 +55,10 @@ let self = buildPythonPackage rec {
mainProgram = "fastapi";
license = licenses.mit;
maintainers = [ ];
# This package provides a `fastapi`-executable that is in conflict with the one from
# python3Packages.fastapi. Because this package is primarily used for the purpose of
# implementing the CLI for python3Packages.fastapi, we reduce the executable's priority
priority = 10;
};
};
in self

View File

@ -2,21 +2,28 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
py-cpuinfo,
h5py,
}:
buildPythonPackage rec {
pname = "hdf5plugin";
version = "4.4.0";
format = "setuptools";
version = "5.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "silx-kit";
repo = "hdf5plugin";
rev = "refs/tags/v${version}";
hash = "sha256-MnqY1PyGzo31H696J9CekiA2rJrUYzUMDC3UJMZaFLA=";
hash = "sha256-6lEU8ZGJKazDqloel5QcaXAbNGzV1fAbAjYC/hFUOdI=";
};
build-system = [
setuptools
py-cpuinfo
];
dependencies = [ h5py ];
checkPhase = ''

View File

@ -33,13 +33,13 @@ buildPythonPackage {
nativeBuildInputs = base.nativeBuildInputs;
buildFlags = [ "pymodule" ];
ninjaFlags = [ "horizon.so" ];
installPhase = ''
runHook preInstall
mkdir -p $out/${python.sitePackages}
cp build/horizon.so $out/${python.sitePackages}
cp horizon.so $out/${python.sitePackages}
runHook postInstall
'';

View File

@ -0,0 +1,117 @@
{
lib,
stdenv,
python,
buildPythonPackage,
callPackage,
fetchurl,
autoPatchelfHook,
bash,
dejavu_fonts,
expat,
fontconfig,
lato,
libGL,
makeWrapper,
nspr,
nss,
sbclPackages,
sqlite,
}:
buildPythonPackage rec {
pname = "kaleido";
version = "0.2.1";
format = "wheel";
src =
{
# This library is so cursed that I have to use fetchurl instead of fetchPypi. I am not happy.
x86_64-linux = fetchurl {
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-manylinux1_x86_64.whl";
hash = "sha256-qiHPG/HHj4+lCp99ReEAPDh709b+CnZ8+780S5W9w6g=";
};
aarch64-linux = fetchurl {
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-manylinux2014_aarch64.whl";
hash = "sha256-hFgZhEyAgslGnZwX5CYh+/hcKyN++KhuyKhSf5i2USo=";
};
x86_64-darwin = fetchurl {
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-macosx_10_11_x86_64.whl";
hash = "sha256-ym9z5/8AquvyhD9z8dO6zeGTDvUEEJP+drg6FXhQSac=";
};
aarch64-darwin = fetchurl {
url = "https://files.pythonhosted.org/packages/py2.py3/k/kaleido/kaleido-${version}-py2.py3-none-macosx_11_0_arm64.whl";
hash = "sha256-u5pdH3EDV9XUMu4kDvZlim0STD5hCTWBe0tC2px4fAU=";
};
}
."${stdenv.hostPlatform.system}"
or (throw "Unsupported system for ${pname}: ${stdenv.hostPlatform.system}");
nativeBuildInputs = (lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]) ++ [
makeWrapper
];
buildInputs = [
bash
dejavu_fonts
expat
fontconfig
lato
libGL
nspr
nss
sbclPackages.cl-dejavu
sqlite
];
pythonImportsCheck = [ "kaleido" ];
postInstall = ''
# Expose kaleido binary
mkdir -p $out/bin
ln -s $out/${python.sitePackages}/kaleido/executable/bin/kaleido $out/bin/kaleido
# Replace bundled swiftshader with libGL
rm -rf $out/${python.sitePackages}/kaleido/executable/bin/swiftshader
ln -s ${libGL}/lib $out/${python.sitePackages}/kaleido/executable/bin/swiftshader
# Relace bundled libraries with nixpkgs-packaged libraries
rm -rf $out/${python.sitePackages}/kaleido/executable/lib
mkdir -p $out/${python.sitePackages}/kaleido/executable/lib
ln -s ${expat}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
ln -s ${nspr}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
ln -s ${nss}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
ln -s ${sqlite}/lib/* $out/${python.sitePackages}/kaleido/executable/lib/
# Replace bundled font configuration with nixpkgs-packaged font configuration
rm -rf $out/${python.sitePackages}/kaleido/executable/etc/fonts
mkdir -p $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d
ln -s ${fontconfig}/etc/fonts/fonts.conf $out/${python.sitePackages}/kaleido/executable/etc/fonts/
ls -s ${fontconfig}/etc/fonts/conf.d/* $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d/
ln -s ${sbclPackages.cl-dejavu}/dejavu-fonts-ttf-2.37/fontconfig/* $out/${python.sitePackages}/kaleido/executable/etc/fonts/conf.d/
# Replace bundled fonts with nixpkgs-packaged fonts
# Currently this causes an issue where the fonts aren't found. I'm not sure why, so I'm leaving this commented out for now.
#rm -rf $out/${python.sitePackages}/kaleido/executable/xdg/fonts
#mkdir -p $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/dejavu $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/lato
#ln -s ${dejavu_fonts}/share/fonts/truetype/* $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/dejavu/
#ln -s ${lato}/share/fonts/lato/* $out/${python.sitePackages}/kaleido/executable/xdg/fonts/truetype/lato/
'';
passthru.tests.kaleido = callPackage ./tests.nix { };
meta = {
description = "Fast static image export for web-based visualization libraries with zero dependencies";
homepage = "https://github.com/plotly/Kaleido";
changelog = "https://github.com/plotly/Kaleido/releases";
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; # Trust me, I'm not happy. But after literal hours of trying to reverse-engineer their build system and getting nowhere, I'll use the stupid binaries >:(
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pandapip1 ];
broken = stdenv.isDarwin; # Tests fail on darwin for some reason
};
}

View File

@ -0,0 +1,15 @@
{
runCommand,
python,
plotly,
pandas,
kaleido,
}:
runCommand "${kaleido.pname}-tests" {
nativeBuildInputs = [
python
plotly
pandas
];
} "python3 ${./tests.py}"

View File

@ -0,0 +1,11 @@
import plotly.express as px
import os
import os.path
out = os.environ["out"]
if not os.path.exists(out):
os.makedirs(out)
outfile = os.path.join(out, "figure.png")
fig = px.scatter(px.data.iris(), x="sepal_length", y="sepal_width", color="species")
fig.write_image(outfile, engine="kaleido")

View File

@ -5,6 +5,7 @@
setuptools,
packaging,
tenacity,
kaleido,
}:
buildPythonPackage rec {
@ -29,6 +30,7 @@ buildPythonPackage rec {
dependencies = [
packaging
tenacity
kaleido
];
pythonImportsCheck = [ "plotly" ];
@ -41,6 +43,6 @@ buildPythonPackage rec {
downloadPage = "https://github.com/plotly/plotly.py";
homepage = "https://plot.ly/python/";
license = with licenses; [ mit ];
maintainers = [ ];
maintainers = with maintainers; [ pandapip1 ];
};
}

View File

@ -4,24 +4,28 @@
fetchPypi,
pythonOlder,
setuptools-scm,
hypothesis,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "sqids";
version = "0.4.1";
version = "0.5.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-/8P7/vY0kb7ouUCpgGU4g0Xb77BtSeQVt6nkdcogD50=";
hash = "sha256-ZHeY59W/6yNuesRwnP1M2AhjCmxQ+AIF3xe0yT5WAUA=";
};
nativeBuildInputs = [ setuptools-scm ];
build-system = [ setuptools-scm ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
hypothesis
pytestCheckHook
];
pythonImportsCheck = [ "sqids" ];

View File

@ -2,7 +2,6 @@
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
wheel,
pytestCheckHook,
@ -10,16 +9,14 @@
buildPythonPackage rec {
pname = "xdoctest";
version = "1.1.6";
version = "1.2.0";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "Erotemic";
repo = "xdoctest";
rev = "refs/tags/v${version}";
hash = "sha256-L/RtD/e0ubW3j4623HQGfowXQYZjl7dDfwwbfxm3ll8=";
hash = "sha256-1c3wnQ30J2OfnBffzGfPPt9St8VpLGmFGbifzbw+cOc=";
};
nativeBuildInputs = [

View File

@ -1,67 +0,0 @@
{ lib
, maven
, jre
, makeWrapper
, git
, fetchFromGitHub
, graphviz
, ensureNewerSourcesHook
}:
maven.buildMavenPackage rec {
pname = "schemaspy";
version = "6.1.1-SNAPSHOT";
src = fetchFromGitHub {
owner = "schemaspy";
repo = "schemaspy";
rev = "110b1614f9ae4aec0e4dc4e8f0e7c647274d3af6";
hash = "sha256-X5B34zGhD/NxcK8TQvwdk1NljGJ1HwfBp47ocbE4HiU=";
};
mvnParameters = "-Dmaven.test.skip=true";
mvnFetchExtraArgs = {
nativeBuildInputs = [
# the build system gets angry if it doesn't see git (even though it's not
# actually in a git repository)
git
maven
];
};
mvnHash = "sha256-1x6cNt6t3FnjRNg8iNYflkyDnuPFXGKoxhVJWoz2jIU=";
nativeBuildInputs = [
makeWrapper
git
# springframework boot gets angry about 1970 sources
# fix from https://github.com/nix-community/mavenix/issues/25
(ensureNewerSourcesHook { year = "1980"; })
];
wrappedPath = lib.makeBinPath [
graphviz
];
preBuild = ''
VERSION=${version}
SEMVER_STR=${version}
'';
installPhase = ''
install -D target/${pname}-${version}.jar $out/share/java/${pname}-${version}.jar
makeWrapper ${jre}/bin/java $out/bin/schemaspy \
--add-flags "-jar $out/share/java/${pname}-${version}.jar" \
--prefix PATH : "$wrappedPath"
'';
meta = with lib; {
homepage = "https://schemaspy.org";
description = "Document your database simply and easily";
mainProgram = "schemaspy";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ jraygauthier ];
};
}

View File

@ -18,19 +18,20 @@
, libXi
, libxkbcommon
, ncurses
, wayland
, zlib
}:
let
buildNum = "2024-04-18-1396";
buildNum = "2024-06-26-1341";
in
stdenv.mkDerivation {
pname = "rgp";
version = "2.1";
version = "2.2";
src = fetchurl {
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
hash = "sha256-mP5tmq252IsWYVRGNKVib8ZbM5M4srUKXJ3x2ff4YhM=";
hash = "sha256-mpm4hxWyunq6Z6kdSuk4jqnYOTuLFVe+XzXZvHJPf/Q=";
};
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
@ -51,6 +52,7 @@ stdenv.mkDerivation {
libXi
libxkbcommon
ncurses
wayland
zlib
];
@ -65,13 +67,11 @@ stdenv.mkDerivation {
# makeWrapper is needed so that executables are started from the opt
# directory, where qt.conf and other tools are.
# Unset Qt theme, it does not work if the nixos Qt version is different from the packaged one.
# The packaged Qt version only supports X11, so enforce that.
makeWrapper \
$out/opt/rgp/$prog \
$out/bin/$prog \
--unset QT_QPA_PLATFORMTHEME \
--unset QT_STYLE_OVERRIDE \
--set QT_QPA_PLATFORM xcb \
--prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
done
'';

View File

@ -1,4 +1,4 @@
import ./common.nix {
version = "11.0.22";
hash = "sha256-afFuUZ1csDuE60m+WKMriU/wObBZleTORLOCFU8qcJk=";
version = "11.0.23";
hash = "sha256-ISsDetefL9ow5aZ7vcSG1BgGwBO0FtDrd741mi8ORiY=";
}

View File

@ -1,4 +1,4 @@
import ./common.nix {
version = "12.0.11";
hash = "sha256-5fZMHb2ZpkoAFY/v124F+99Kq9vZypSYrG8QmQ/RK6k=";
version = "12.0.12";
hash = "sha256-CFdVT+AYK2KvXRzqMtTLz89BsXSuPolv+2u8EbTsil4=";
}

View File

@ -31,13 +31,7 @@ stdenv.mkDerivation rec {
expat
];
CXXFLAGS = lib.concatStringsSep " " (lib.optionals stdenv.isDarwin [
# see upstream bug: http://sphinxsearch.com/bugs/view.php?id=2578
# workaround for "error: invalid suffix on literal
"-Wno-reserved-user-defined-literal"
# workaround for "error: non-constant-expression cannot be narrowed from type 'long' to 'int'"
"-Wno-c++11-narrowing"
]);
CXXFLAGS = "-std=c++98";
meta = {
description = "Open source full text search server";

View File

@ -6,13 +6,13 @@
pythonPackages.buildPythonApplication rec {
pname = "patroni";
version = "4.0.0";
version = "4.0.1";
src = fetchFromGitHub {
owner = "zalando";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-C0YjLak/m8ZMCzR5x22zjCATvzs72l56GRccN0Gur+4=";
sha256 = "sha256-0Eqk9X/qO9MkETaVIOCS6vyvywAK175/CDCNHH+YatQ=";
};
propagatedBuildInputs = with pythonPackages; [

View File

@ -1,22 +1,26 @@
{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, darwin
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
darwin,
nix-update-script,
testers,
pgcat,
}:
rustPlatform.buildRustPackage rec {
pname = "pgcat";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "postgresml";
repo = "pgcat";
rev = "v${version}";
hash = "sha256-BERxdGgPk8POnhLsyy4lKV4LCoHsJTmv2OhAOz6CKKc=";
hash = "sha256-DHXUhAAOmPSt4aVp93I1y69of+MEboXJBZH50mzQTm8=";
};
cargoHash = "sha256-GwcqR8pEvz42NEmcuXpcoPdChzRBYsDEnllX62T8ulQ=";
cargoHash = "sha256-QqwUEbWKSUuxzYjWpVpQuKZDiNib1gM2eZJ4y7XIzXY=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
@ -24,28 +28,21 @@ rustPlatform.buildRustPackage rec {
checkFlags = [
# requires network access
"--skip=dns_cache::CachedResolver::lookup_ip"
"--skip=dns_cache::CachedResolver::new"
"--skip=dns_cache::CachedResolver"
"--skip=dns_cache::tests::has_changed"
"--skip=dns_cache::tests::incorrect_address"
"--skip=dns_cache::tests::lookup_ip"
"--skip=dns_cache::tests::new"
"--skip=dns_cache::tests::thread"
"--skip=dns_cache::tests::unknown_host"
"--skip=dns_cache"
];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/pgcat --version | grep "pgcat ${version}"
'';
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = pgcat; };
};
meta = with lib; {
homepage = "https://github.com/postgresml/pgcat";
description = "PostgreSQL pooler with sharding, load balancing and failover support";
license = with licenses; [mit];
changelog = "https://github.com/postgresml/pgcat/releases";
license = with licenses; [ mit ];
platforms = platforms.unix;
maintainers = with maintainers; [cathalmullan];
maintainers = with maintainers; [ cathalmullan ];
mainProgram = "pgcat";
};
}

View File

@ -4,17 +4,20 @@
, pkg-config
, cctools
, makeWrapper
, mesa
, python3
, runCommand
, vulkan-headers
, vulkan-loader
, vulkan-validation-layers
}:
let
# From https://github.com/google/amber/blob/main/DEPS
glslang = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glslang";
rev = "81cc10a498b25a90147cccd6e8939493c1e9e20e";
hash = "sha256-jTOxZ1nU7kvtdWjPzyIp/5ZeKw3JtYyqhlFeIE7CyX8=";
rev = "e8dd0b6903b34f1879520b444634c75ea2deedf5";
hash = "sha256-B6jVCeoFjd2H6+7tIses+Kj8DgHS6E2dkVzQAIzDHEc=";
};
lodepng = fetchFromGitHub {
@ -27,34 +30,34 @@ let
shaderc = fetchFromGitHub {
owner = "google";
repo = "shaderc";
rev = "e72186b66bb90ed06aaf15cbdc9a053581a0616b";
hash = "sha256-hd1IGsWksgAfB8Mq5yZOzSyNGxXsCJxb350pD/Gcskk=";
rev = "f59f0d11b80fd622383199c867137ededf89d43b";
hash = "sha256-kHz8Io5GZDWv1FjPyBWRpnKhGygKhSU4L9zl/AKXZlU=";
};
spirv-headers = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Headers";
rev = "d13b52222c39a7e9a401b44646f0ca3a640fbd47";
hash = "sha256-bjiWGSmpEbydXtCLP8fRZfPBvdCzBoJxKXTx3BroQbg=";
rev = "5e3ad389ee56fca27c9705d093ae5387ce404df4";
hash = "sha256-gjF5mVTXqU/GZzr2S6oKGChgvqqHcQSrEq/ePP2yJys=";
};
spirv-tools = fetchFromGitHub {
owner = "KhronosGroup";
repo = "SPIRV-Tools";
rev = "d87f61605b3647fbceae9aaa922fce0031afdc63";
hash = "sha256-lB2i6wjehIFDOQdIPUvCy3zzcnJSsR5vNawPhGmb0es=";
rev = "9241a58a8028c49510bc174b6c970e3c2b4b8e51";
hash = "sha256-0qHUpwNDJI2jV4h68QaTNPIwTPxwTt0iAUnMXqFCiJE=";
};
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "amber";
version = "unstable-2023-09-02";
version = "unstable-2024-08-21";
src = fetchFromGitHub {
owner = "google";
repo = pname;
rev = "8e90b2d2f532bcd4a80069e3f37a9698209a21bc";
hash = "sha256-LuNCND/NXoNbbTWv7RYQUkq2QXL1qXR27uHwFIz0DXg=";
repo = "amber";
rev = "66399a35927606a435bf7a59756e87e6cb5a0013";
hash = "sha256-PCO64zI/vzp4HyGz5WpeYpCBeaWjTvz1punWsTz1yiM=";
};
buildInputs = [
@ -92,10 +95,53 @@ stdenv.mkDerivation rec {
--suffix VK_LAYER_PATH : ${vulkan-validation-layers}/share/vulkan/explicit_layer.d
'';
passthru.tests.lavapipe = runCommand "vulkan-cts-tests-lavapipe" {
nativeBuildInputs = [ finalAttrs.finalPackage mesa.llvmpipeHook ];
} ''
cat > test.amber <<EOF
#!amber
# Simple amber compute shader.
SHADER compute kComputeShader GLSL
#version 450
layout(binding = 3) buffer block {
uvec2 values[];
};
void main() {
values[gl_WorkGroupID.x + gl_WorkGroupID.y * gl_NumWorkGroups.x] =
gl_WorkGroupID.xy;
}
END # shader
BUFFER kComputeBuffer DATA_TYPE vec2<int32> SIZE 524288 FILL 0
PIPELINE compute kComputePipeline
ATTACH kComputeShader
BIND BUFFER kComputeBuffer AS storage DESCRIPTOR_SET 0 BINDING 3
END # pipeline
RUN kComputePipeline 256 256 1
# Four corners
EXPECT kComputeBuffer IDX 0 EQ 0 0
EXPECT kComputeBuffer IDX 2040 EQ 255 0
EXPECT kComputeBuffer IDX 522240 EQ 0 255
EXPECT kComputeBuffer IDX 524280 EQ 255 255
# Center
EXPECT kComputeBuffer IDX 263168 EQ 128 128
EOF
amber test.amber
touch $out
'';
meta = with lib; {
description = "Multi-API shader test framework";
homepage = "https://github.com/google/amber";
license = licenses.asl20;
maintainers = with maintainers; [ Flakebi ];
};
}
})

View File

@ -28,11 +28,11 @@ let
sslPkg = sslPkgs.${sslLibrary};
in stdenv.mkDerivation (finalAttrs: {
pname = "haproxy";
version = "3.0.3";
version = "3.0.4";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
hash = "sha256-Oac8GHoLANJgLLP/ylLRtZ2Q8JAyc0/owD6y4pp9Gd8=";
hash = "sha256-qr/ZitpyG7+2j3gFWGztA3P7TI1z4Y+qlAVaFsIJaTY";
};
buildInputs = [ sslPkg zlib libxcrypt ]

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloadmirror.intel.com/736634/mlc_v${version}.tgz";
sha256 = "3vNI/CQwyY4KMFest1wkVYecsxigjXyGIUIKai979W4=";
sha256 = "EDa5V56qCPQxgCu4eddYiWDrk7vkYS0jisnG004L+jQ=";
};
sourceRoot = "Linux";

View File

@ -464,6 +464,7 @@ mapAliases ({
firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
fishfight = jumpy; # Added 2022-08-03
fitnesstrax = throw "fitnesstrax was removed from nixpkgs because it disappeared upstream and no longer compiles"; # added 2023-07-04
fit-trackee = fittrackee; # added 2024-09-03
flashrom-stable = flashprog; # Added 2024-03-01
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
flintqs = throw "FlintQS has been removed due to lack of maintenance and security issues; use SageMath or FLINT instead"; # Added 2024-03-21

View File

@ -18850,8 +18850,6 @@ with pkgs;
shellharden = callPackage ../development/tools/shellharden { };
schemaspy = callPackage ../development/tools/database/schemaspy { };
scenebuilder = callPackage ../development/tools/scenebuilder { };
scenic-view = callPackage ../development/tools/scenic-view { };
@ -25949,8 +25947,6 @@ with pkgs;
### SERVERS / GEOSPATIAL
fit-trackee = callPackage ../servers/geospatial/fit-trackee { };
martin = callPackage ../servers/geospatial/martin {
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
};
@ -28903,7 +28899,7 @@ with pkgs;
backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { };
backintime-qt = libsForQt5.callPackage ../applications/networking/sync/backintime/qt.nix { };
backintime-qt = qt6.callPackage ../applications/networking/sync/backintime/qt.nix { };
backintime = backintime-qt;
@ -31877,10 +31873,6 @@ with pkgs;
clerk = callPackage ../applications/audio/clerk { };
jujutsu = callPackage ../applications/version-management/jujutsu {
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
};
nbstripout = callPackage ../applications/version-management/nbstripout { };
ncmpc = callPackage ../applications/audio/ncmpc { };
@ -32819,9 +32811,17 @@ with pkgs;
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
qemu = callPackage ../applications/virtualization/qemu {
inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Hypervisor vmnet;
inherit (darwin.apple_sdk_12_3.frameworks) CoreServices Cocoa Hypervisor Kernel vmnet;
inherit (darwin.stubs) rez setfile;
inherit (darwin) sigtool;
stdenv =
if stdenv.hostPlatform.isDarwin then
overrideSDK stdenv {
darwinSdkVersion = "12.3";
darwinMinVersion = "12.0";
}
else
stdenv;
};
qemu-python-utils = python3Packages.toPythonApplication (

View File

@ -6616,6 +6616,8 @@ self: super: with self; {
kaldi-active-grammar = callPackage ../development/python-modules/kaldi-active-grammar { };
kaleido = callPackage ../development/python-modules/kaleido { };
kanidm = callPackage ../development/python-modules/kanidm { };
kaptan = callPackage ../development/python-modules/kaptan { };