Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-05 18:03:49 +00:00 committed by GitHub
commit 769b11176d
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"; github = "barinov274";
githubId = 54442153; githubId = 54442153;
}; };
BarrOff = {
name = "BarrOff";
github = "BarrOff";
githubId = 58253563;
};
barrucadu = { barrucadu = {
email = "mike@barrucadu.co.uk"; email = "mike@barrucadu.co.uk";
github = "barrucadu"; github = "barrucadu";
@ -20990,6 +20995,14 @@
github = "tirimia"; github = "tirimia";
githubId = 11174371; 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 = { tjni = {
email = "43ngvg@masqt.com"; email = "43ngvg@masqt.com";
matrix = "@tni:matrix.org"; matrix = "@tni:matrix.org";

View File

@ -4,11 +4,10 @@
## Highlights {#sec-release-24.11-highlights} ## Highlights {#sec-release-24.11-highlights}
- **This will be the latest version of Nixpkgs to support macOS 10.12 (Sierra).** - **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 11 (Big Sur). 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.
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 version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
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 Mac OS X Snow Leopard 10.6.
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).
- Convenience options for `amdgpu`, open source driver for Radeon cards, is now available under `hardware.amdgpu`. - 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 - The `antennas` package and the `services.antennas` module have been
removed as they only work with `tvheadend` (see above). 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 `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. 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, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.services.ceph; cfg = config.services.ceph;
# function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode # function that translates "camelCaseOptions" to "camel case options", credits to tilpner in #nixos@freenode
expandCamelCase = replaceStrings upperChars (map (s: " ${s}") lowerChars); expandCamelCase = lib.replaceStrings lib.upperChars (map (s: " ${s}") lib.lowerChars);
expandCamelCaseAttrs = mapAttrs' (name: value: nameValuePair (expandCamelCase name) value); expandCamelCaseAttrs = lib.mapAttrs' (name: value: lib.nameValuePair (expandCamelCase name) value);
makeServices = daemonType: daemonIds: makeServices = daemonType: daemonIds:
mkMerge (map (daemonId: lib.mkMerge (map (daemonId:
{ "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName cfg.${daemonType}.package; }) { "ceph-${daemonType}-${daemonId}" = makeService daemonType daemonId cfg.global.clusterName cfg.${daemonType}.package; })
daemonIds); daemonIds);
@ -18,8 +15,8 @@ let
let let
stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in { stateDirectory = "ceph/${if daemonType == "rgw" then "radosgw" else daemonType}/${clusterName}-${daemonId}"; in {
enable = true; enable = true;
description = "Ceph ${builtins.replaceStrings lowerChars upperChars daemonType} daemon ${daemonId}"; description = "Ceph ${builtins.replaceStrings lib.lowerChars lib.upperChars daemonType} daemon ${daemonId}";
after = [ "network-online.target" "time-sync.target" ] ++ optional (daemonType == "osd") "ceph-mon.target"; after = [ "network-online.target" "time-sync.target" ] ++ lib.optional (daemonType == "osd") "ceph-mon.target";
wants = [ "network-online.target" "time-sync.target" ]; wants = [ "network-online.target" "time-sync.target" ];
partOf = [ "ceph-${daemonType}.target" ]; partOf = [ "ceph-${daemonType}.target" ];
wantedBy = [ "ceph-${daemonType}.target" ]; wantedBy = [ "ceph-${daemonType}.target" ];
@ -47,11 +44,11 @@ let
Group = if daemonType == "osd" then "disk" else "ceph"; Group = if daemonType == "osd" then "disk" else "ceph";
ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \ ExecStart = ''${ceph.out}/bin/${if daemonType == "rgw" then "radosgw" else "ceph-${daemonType}"} \
-f --cluster ${clusterName} --id ${daemonId}''; -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}"; ExecStartPre = "${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}";
RestartSec = "20s"; RestartSec = "20s";
PrivateDevices = "no"; # osd needs disk access PrivateDevices = "no"; # osd needs disk access
} // optionalAttrs ( daemonType == "mon") { } // lib.optionalAttrs ( daemonType == "mon") {
RestartSec = "10"; RestartSec = "10";
}; };
}; };
@ -71,11 +68,11 @@ in
options.services.ceph = { options.services.ceph = {
# Ceph has a monolithic configuration file but different sections for # Ceph has a monolithic configuration file but different sections for
# each daemon, a separate client section and a global section # each daemon, a separate client section and a global section
enable = mkEnableOption "Ceph global configuration"; enable = lib.mkEnableOption "Ceph global configuration";
global = { global = {
fsid = mkOption { fsid = lib.mkOption {
type = types.str; type = lib.types.str;
example = '' example = ''
433a2193-4f8a-47a0-95d2-209d7ca2cca5 433a2193-4f8a-47a0-95d2-209d7ca2cca5
''; '';
@ -85,25 +82,25 @@ in
''; '';
}; };
clusterName = mkOption { clusterName = lib.mkOption {
type = types.str; type = lib.types.str;
default = "ceph"; default = "ceph";
description = '' description = ''
Name of cluster Name of cluster
''; '';
}; };
mgrModulePath = mkOption { mgrModulePath = lib.mkOption {
type = types.path; type = lib.types.path;
default = "${pkgs.ceph.lib}/lib/ceph/mgr"; 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 = '' description = ''
Path at which to find ceph-mgr modules. Path at which to find ceph-mgr modules.
''; '';
}; };
monInitialMembers = mkOption { monInitialMembers = lib.mkOption {
type = with types; nullOr commas; type = with lib.types; nullOr commas;
default = null; default = null;
example = '' example = ''
node0, node1, node2 node0, node1, node2
@ -113,8 +110,8 @@ in
''; '';
}; };
monHost = mkOption { monHost = lib.mkOption {
type = with types; nullOr commas; type = with lib.types; nullOr commas;
default = null; default = null;
example = '' example = ''
10.10.0.1, 10.10.0.2, 10.10.0.3 10.10.0.1, 10.10.0.2, 10.10.0.3
@ -124,40 +121,40 @@ in
''; '';
}; };
maxOpenFiles = mkOption { maxOpenFiles = lib.mkOption {
type = types.int; type = lib.types.int;
default = 131072; default = 131072;
description = '' description = ''
Max open files for each OSD daemon. Max open files for each OSD daemon.
''; '';
}; };
authClusterRequired = mkOption { authClusterRequired = lib.mkOption {
type = types.enum [ "cephx" "none" ]; type = lib.types.enum [ "cephx" "none" ];
default = "cephx"; default = "cephx";
description = '' description = ''
Enables requiring daemons to authenticate with eachother in the cluster. Enables requiring daemons to authenticate with eachother in the cluster.
''; '';
}; };
authServiceRequired = mkOption { authServiceRequired = lib.mkOption {
type = types.enum [ "cephx" "none" ]; type = lib.types.enum [ "cephx" "none" ];
default = "cephx"; default = "cephx";
description = '' description = ''
Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd). Enables requiring clients to authenticate with the cluster to access services in the cluster (e.g. radosgw, mds or osd).
''; '';
}; };
authClientRequired = mkOption { authClientRequired = lib.mkOption {
type = types.enum [ "cephx" "none" ]; type = lib.types.enum [ "cephx" "none" ];
default = "cephx"; default = "cephx";
description = '' description = ''
Enables requiring the cluster to authenticate itself to the client. Enables requiring the cluster to authenticate itself to the client.
''; '';
}; };
publicNetwork = mkOption { publicNetwork = lib.mkOption {
type = with types; nullOr commas; type = with lib.types; nullOr commas;
default = null; default = null;
example = '' example = ''
10.20.0.0/24, 192.168.1.0/24 10.20.0.0/24, 192.168.1.0/24
@ -167,8 +164,8 @@ in
''; '';
}; };
clusterNetwork = mkOption { clusterNetwork = lib.mkOption {
type = with types; nullOr commas; type = with lib.types; nullOr commas;
default = null; default = null;
example = '' example = ''
10.10.0.0/24, 192.168.0.0/24 10.10.0.0/24, 192.168.0.0/24
@ -178,18 +175,18 @@ in
''; '';
}; };
rgwMimeTypesFile = mkOption { rgwMimeTypesFile = lib.mkOption {
type = with types; nullOr path; type = with lib.types; nullOr path;
default = "${pkgs.mailcap}/etc/mime.types"; default = "${pkgs.mailcap}/etc/mime.types";
defaultText = literalExpression ''"''${pkgs.mailcap}/etc/mime.types"''; defaultText = lib.literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
description = '' description = ''
Path to mime types used by radosgw. Path to mime types used by radosgw.
''; '';
}; };
}; };
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf str; type = with lib.types; attrsOf str;
default = {}; default = {};
example = { example = {
"ms bind ipv6" = "true"; "ms bind ipv6" = "true";
@ -200,9 +197,9 @@ in
}; };
mgr = { mgr = {
enable = mkEnableOption "Ceph MGR daemon"; enable = lib.mkEnableOption "Ceph MGR daemon";
daemons = mkOption { daemons = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
example = [ "name1" "name2" ]; example = [ "name1" "name2" ];
description = '' description = ''
@ -210,9 +207,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mgr.name1 to the id part in ceph i.e. [ "name1" ] would result in mgr.name1
''; '';
}; };
package = mkPackageOption pkgs "ceph" { }; package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf str; type = with lib.types; attrsOf str;
default = {}; default = {};
description = '' description = ''
Extra configuration to add to the global section for manager daemons. Extra configuration to add to the global section for manager daemons.
@ -221,9 +218,9 @@ in
}; };
mon = { mon = {
enable = mkEnableOption "Ceph MON daemon"; enable = lib.mkEnableOption "Ceph MON daemon";
daemons = mkOption { daemons = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
example = [ "name1" "name2" ]; example = [ "name1" "name2" ];
description = '' description = ''
@ -231,9 +228,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mon.name1 to the id part in ceph i.e. [ "name1" ] would result in mon.name1
''; '';
}; };
package = mkPackageOption pkgs "ceph" { }; package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf str; type = with lib.types; attrsOf str;
default = {}; default = {};
description = '' description = ''
Extra configuration to add to the monitor section. Extra configuration to add to the monitor section.
@ -242,9 +239,9 @@ in
}; };
osd = { osd = {
enable = mkEnableOption "Ceph OSD daemon"; enable = lib.mkEnableOption "Ceph OSD daemon";
daemons = mkOption { daemons = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
example = [ "name1" "name2" ]; example = [ "name1" "name2" ];
description = '' description = ''
@ -252,9 +249,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in osd.name1 to the id part in ceph i.e. [ "name1" ] would result in osd.name1
''; '';
}; };
package = mkPackageOption pkgs "ceph" { }; package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf str; type = with lib.types; attrsOf str;
default = { default = {
"osd journal size" = "10000"; "osd journal size" = "10000";
"osd pool default size" = "3"; "osd pool default size" = "3";
@ -270,9 +267,9 @@ in
}; };
mds = { mds = {
enable = mkEnableOption "Ceph MDS daemon"; enable = lib.mkEnableOption "Ceph MDS daemon";
daemons = mkOption { daemons = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
example = [ "name1" "name2" ]; example = [ "name1" "name2" ];
description = '' description = ''
@ -280,9 +277,9 @@ in
to the id part in ceph i.e. [ "name1" ] would result in mds.name1 to the id part in ceph i.e. [ "name1" ] would result in mds.name1
''; '';
}; };
package = mkPackageOption pkgs "ceph" { }; package = lib.mkPackageOption pkgs "ceph" { };
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf str; type = with lib.types; attrsOf str;
default = {}; default = {};
description = '' description = ''
Extra configuration to add to the MDS section. Extra configuration to add to the MDS section.
@ -291,10 +288,10 @@ in
}; };
rgw = { rgw = {
enable = mkEnableOption "Ceph RadosGW daemon"; enable = lib.mkEnableOption "Ceph RadosGW daemon";
package = mkPackageOption pkgs "ceph" { }; package = lib.mkPackageOption pkgs "ceph" { };
daemons = mkOption { daemons = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
example = [ "name1" "name2" ]; example = [ "name1" "name2" ];
description = '' description = ''
@ -307,11 +304,11 @@ in
}; };
client = { client = {
enable = mkEnableOption "Ceph client configuration"; enable = lib.mkEnableOption "Ceph client configuration";
extraConfig = mkOption { extraConfig = lib.mkOption {
type = with types; attrsOf (attrsOf str); type = with lib.types; attrsOf (attrsOf str);
default = {}; default = {};
example = literalExpression '' example = lib.literalExpression ''
{ {
# This would create a section for a radosgw daemon named node0 and related # This would create a section for a radosgw daemon named node0 and related
# configuration for it # configuration for it
@ -326,7 +323,7 @@ in
}; };
}; };
config = mkIf config.services.ceph.enable { config = lib.mkIf config.services.ceph.enable {
assertions = [ assertions = [
{ assertion = cfg.global.fsid != ""; { assertion = cfg.global.fsid != "";
message = "fsid has to be set to a valid uuid for the cluster to function"; 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"; "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 environment.etc."ceph/ceph.conf".text = let
# Merge the extraConfig set for mgr daemons, as mgr don't have their own section # 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 # 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 = { totalConfig = {
global = globalSection'; global = globalSection';
} // optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; } } // lib.optionalAttrs (cfg.mon.enable && cfg.mon.extraConfig != {}) { mon = cfg.mon.extraConfig; }
// optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; } // lib.optionalAttrs (cfg.mds.enable && cfg.mds.extraConfig != {}) { mds = cfg.mds.extraConfig; }
// optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; } // lib.optionalAttrs (cfg.osd.enable && cfg.osd.extraConfig != {}) { osd = cfg.osd.extraConfig; }
// optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig; // lib.optionalAttrs (cfg.client.enable && cfg.client.extraConfig != {}) cfg.client.extraConfig;
in in
generators.toINI {} totalConfig; lib.generators.toINI {} totalConfig;
users.users.ceph = { users.users.ceph = {
uid = config.ids.uids.ceph; uid = config.ids.uids.ceph;
@ -375,13 +372,13 @@ in
systemd.services = let systemd.services = let
services = [] services = []
++ optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons) ++ lib.optional cfg.mon.enable (makeServices "mon" cfg.mon.daemons)
++ optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons) ++ lib.optional cfg.mds.enable (makeServices "mds" cfg.mds.daemons)
++ optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons) ++ lib.optional cfg.osd.enable (makeServices "osd" cfg.osd.daemons)
++ optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons) ++ lib.optional cfg.rgw.enable (makeServices "rgw" cfg.rgw.daemons)
++ optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons); ++ lib.optional cfg.mgr.enable (makeServices "mgr" cfg.mgr.daemons);
in in
mkMerge services; lib.mkMerge services;
systemd.targets = let systemd.targets = let
targets = [ targets = [
@ -390,13 +387,13 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
unitConfig.StopWhenUnneeded = true; unitConfig.StopWhenUnneeded = true;
}; } ] }; } ]
++ optional cfg.mon.enable (makeTarget "mon") ++ lib.optional cfg.mon.enable (makeTarget "mon")
++ optional cfg.mds.enable (makeTarget "mds") ++ lib.optional cfg.mds.enable (makeTarget "mds")
++ optional cfg.osd.enable (makeTarget "osd") ++ lib.optional cfg.osd.enable (makeTarget "osd")
++ optional cfg.rgw.enable (makeTarget "rgw") ++ lib.optional cfg.rgw.enable (makeTarget "rgw")
++ optional cfg.mgr.enable (makeTarget "mgr"); ++ lib.optional cfg.mgr.enable (makeTarget "mgr");
in in
mkMerge targets; lib.mkMerge targets;
systemd.tmpfiles.settings."10-ceph" = let systemd.tmpfiles.settings."10-ceph" = let
defaultConfig = { defaultConfig = {
@ -407,9 +404,9 @@ in
"/etc/ceph".d = defaultConfig; "/etc/ceph".d = defaultConfig;
"/run/ceph".d = defaultConfig // { mode = "0770"; }; "/run/ceph".d = defaultConfig // { mode = "0770"; };
"/var/lib/ceph".d = defaultConfig; "/var/lib/ceph".d = defaultConfig;
"/var/lib/ceph/mgr".d = mkIf (cfg.mgr.enable) defaultConfig; "/var/lib/ceph/mgr".d = lib.mkIf (cfg.mgr.enable) defaultConfig;
"/var/lib/ceph/mon".d = mkIf (cfg.mon.enable) defaultConfig; "/var/lib/ceph/mon".d = lib.mkIf (cfg.mon.enable) defaultConfig;
"/var/lib/ceph/osd".d = mkIf (cfg.osd.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)); (f (tree-sitter.builtGrammars // builtGrammars));
copyGrammar = grammar: copyGrammar = grammar:
let name = lib.last (lib.splitString "-" grammar.name); in 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 in
[ [
(runCommand "vimplugin-treesitter-grammars" (runCommand "vimplugin-treesitter-grammars"

View File

@ -10,43 +10,43 @@
let let
pname = "1password"; 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 = { sources = {
stable = { stable = {
x86_64-linux = { x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz"; 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 = { aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/stable/aarch64/1password-${version}.arm64.tar.gz"; 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 = { x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip"; url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
hash = "sha256-vYhmA9N1izPRo3HPDouOpjJzMwK7LkCHuyYxBGkIPKM="; hash = "sha256-xK/B8J3VP8y1xw3KorzZzPf/LjYmYdOIjDECMJnVv6I=";
}; };
aarch64-darwin = { aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip"; url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
hash = "sha256-v1eCh/cOpA5XcmamAqreKHRQ+waoBQtvvmNO4wvFq6A="; hash = "sha256-iqdK6K7dcypZFGseYal2KjOaqJtUjXeCzbDdx7pDv8A=";
}; };
}; };
beta = { beta = {
x86_64-linux = { x86_64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz"; 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 = { aarch64-linux = {
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz"; 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 = { x86_64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip"; 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 = { aarch64-darwin = {
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip"; 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 { buildGoModule rec {
pname = "clipqr"; pname = "clipqr";
version = "1.2.0"; version = "1.3.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "imatt-foss"; owner = "imatt-foss";
repo = "clipqr"; repo = "clipqr";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-gfKCuTZY9VsiXMlw6XX6YylMO4xGoLQU/5QvnDV7GbE="; hash = "sha256-iuA6RqclMm1CWaiM1kpOpgfYvKaYGOIwFQkLr/nCL5M=";
}; };
vendorHash = null; vendorHash = null;

View File

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

View File

@ -2,6 +2,7 @@
lib, lib,
stdenv, stdenv,
fetchFromGitHub, fetchFromGitHub,
fetchpatch,
meson, meson,
ninja, ninja,
wrapGAppsHook3, wrapGAppsHook3,
@ -28,15 +29,24 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "zathura"; pname = "zathura";
version = "0.5.6"; version = "0.5.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pwmt"; owner = "pwmt";
repo = "zathura"; repo = "zathura";
rev = finalAttrs.version; 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 = [ outputs = [
"bin" "bin"
"man" "man"
@ -54,6 +64,7 @@ stdenv.mkDerivation (finalAttrs: {
# Make sure tests are enabled for doCheck # Make sure tests are enabled for doCheck
# (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) # (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck)
(lib.mesonEnable "seccomp" stdenv.hostPlatform.isLinux) (lib.mesonEnable "seccomp" stdenv.hostPlatform.isLinux)
(lib.mesonEnable "landlock" stdenv.hostPlatform.isLinux)
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -85,11 +96,11 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = gitUpdater { }; passthru.updateScript = gitUpdater { };
meta = with lib; { meta = {
homepage = "https://pwmt.org/projects/zathura"; homepage = "https://pwmt.org/projects/zathura";
description = "Core component for zathura PDF viewer"; description = "Core component for zathura PDF viewer";
license = licenses.zlib; license = lib.licenses.zlib;
platforms = platforms.unix; platforms = lib.platforms.unix;
maintainers = with maintainers; [ globin ]; maintainers = with lib.maintainers; [ globin ];
}; };
}) })

View File

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

View File

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

View File

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

View File

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

View File

@ -17,16 +17,16 @@ let
tctl-next = buildGoModule rec { tctl-next = buildGoModule rec {
pname = "tctl-next"; pname = "tctl-next";
version = "0.13.1"; version = "1.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "temporalio"; owner = "temporalio";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-bh0UsXA5yHtvP9femOwEzVzmu1VLz2uZwoIHL/kI7kM="; hash = "sha256-y0C2z2iMMQSG5+xGngZ98+ixIgbvaQxPdAWuPbEbBAY=";
}; };
vendorHash = "sha256-ziCJG722c32QAh9QmoC2E7TcLiC2InKwfdC9mkanTsU="; vendorHash = "sha256-zhGqDHdVGg7eGnw5L3eSyXKBTjp85ir5zrtf7HbXmC0=";
inherit overrideModAttrs; inherit overrideModAttrs;
@ -37,7 +37,7 @@ let
ldflags = [ ldflags = [
"-s" "-s"
"-w" "-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 # 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 # and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can # like this (rather than using {}) so that the updater script can
# find where to edit them. # find where to edit them.
versions.aarch64-darwin = "6.1.10.38818"; versions.aarch64-darwin = "6.1.11.39163";
versions.x86_64-darwin = "6.1.10.38818"; versions.x86_64-darwin = "6.1.11.39163";
versions.x86_64-linux = "6.1.10.1400"; versions.x86_64-linux = "6.1.11.1545";
srcs = { srcs = {
aarch64-darwin = fetchurl { aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64"; url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg"; name = "zoomusInstallerFull.pkg";
hash = "sha256-E8r0bctM5whwEMppzO9hR3W+k+BmrV0gVx+J02KYmuk="; hash = "sha256-xWeCiDhYPfTAJttXG5bCwhLu+bmHlcFF/s3+EACeph4=";
}; };
x86_64-darwin = fetchurl { x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg"; url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
hash = "sha256-HMSBV/B/nTkcU8src6Wdz8uZnz455guSAMGm5ha7mIA="; hash = "sha256-AB+QXx6r3raymVU7rEJ9dO4CqJI9tnRF3l61vuGnqpI=";
}; };
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz"; 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 ]; apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "backintime-common"; pname = "backintime-common";
version = "1.4.3"; version = "1.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bit-team"; owner = "bit-team";
repo = "backintime"; repo = "backintime";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2q2Q4rnxXwVnfH1YEBwY35B2ctG9+qpOIAHqPOjjArg="; sha256 = "sha256-yfCSTzCmhXDBC1vYqwgVjsYUtc5VO1VW74BmIB0hHfE=";
}; };
nativeBuildInputs = [ makeWrapper gettext ]; nativeBuildInputs = [ makeWrapper gettext ];
@ -24,12 +24,13 @@ in stdenv.mkDerivation rec {
configureFlags = [ "--python=${lib.getExe python'}" ]; configureFlags = [ "--python=${lib.getExe python'}" ];
preConfigure = '' preConfigure = ''
patchShebangs --build updateversion.sh
cd common cd common
substituteInPlace configure \ substituteInPlace configure \
--replace "/.." "" \ --replace-fail "/.." "" \
--replace "share/backintime" "${python'.sitePackages}/backintime" --replace-fail "share/backintime" "${python'.sitePackages}/backintime"
substituteInPlace "backintime" \ substituteInPlace "backintime" "backintime-askpass" \
--replace "share" "${python'.sitePackages}" --replace-fail "share" "${python'.sitePackages}"
''; '';
dontAddPrefix = true; dontAddPrefix = true;
@ -44,10 +45,11 @@ in stdenv.mkDerivation rec {
description = "Simple backup tool for Linux"; description = "Simple backup tool for Linux";
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ stephen-huan ]; maintainers = with lib.maintainers; [ stephen-huan ];
platforms = lib.platforms.all; platforms = lib.platforms.linux;
mainProgram = "backintime";
longDescription = '' longDescription = ''
Back In Time is a simple backup tool (on top of rsync) for Linux 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. 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 let
python' = python3.withPackages (ps: with ps; [ pyqt5 backintime-common packaging ]); python' = python3.withPackages (ps: with ps; [ pyqt6 backintime-common packaging ]);
in in
mkDerivation { stdenv.mkDerivation {
inherit (backintime-common) inherit (backintime-common)
version src installFlags meta dontAddPrefix nativeBuildInputs; version src installFlags meta dontAddPrefix;
pname = "backintime-qt"; pname = "backintime-qt";
buildInputs = [ python' backintime-common ]; buildInputs = [ python' backintime-common qtbase qtwayland ];
nativeBuildInputs = backintime-common.nativeBuildInputs or [ ] ++ [
wrapQtAppsHook
];
configureFlags = [ "--python=${lib.getExe python'}" ]; configureFlags = [ "--python=${lib.getExe python'}" ];
preConfigure = '' preConfigure = ''
patchShebangs --build updateversion.sh
cd qt cd qt
substituteInPlace qttools_path.py \ substituteInPlace qttools_path.py \
--replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"' --replace "__file__, os.pardir, os.pardir" '"${backintime-common}/${python'.sitePackages}/backintime"'
@ -24,23 +30,23 @@ mkDerivation {
--prefix PATH : "${lib.getBin backintime-common}/bin:$PATH" --prefix PATH : "${lib.getBin backintime-common}/bin:$PATH"
substituteInPlace "$out/share/polkit-1/actions/net.launchpad.backintime.policy" \ 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" \ 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" \ substituteInPlace "$out/share/backintime/qt/serviceHelper.py" \
--replace "'which'" "'${lib.getBin which}/bin/which'" \ --replace-fail "'which'" "'${lib.getExe which}'" \
--replace "/bin/su" "${lib.getBin su}/bin/su" \ --replace-fail "/bin/su" "${lib.getBin su}/bin/su" \
--replace "/usr/bin/backintime" "${lib.getBin backintime-common}/bin/backintime" \ --replace-fail "/usr/bin/backintime" "${lib.getExe backintime-common}" \
--replace "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \ --replace-fail "/usr/bin/nice" "${lib.getBin coreutils}/bin/nice" \
--replace "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice" --replace-fail "/usr/bin/ionice" "${lib.getBin util-linux}/bin/ionice"
substituteInPlace "$out/share/dbus-1/system-services/net.launchpad.backintime.serviceHelper.service" \ 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" \ 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" \ wrapProgram "$out/bin/backintime-qt_polkit" \
--prefix PATH : "${lib.getBin polkit}/bin:$PATH" --prefix PATH : "${lib.getBin polkit}/bin:$PATH"

View File

@ -1,4 +1,5 @@
{ lib { lib
, cmake
, cppzmq , cppzmq
, curl , curl
, fetchFromGitHub , fetchFromGitHub
@ -9,6 +10,8 @@
, libgit2 , libgit2
, librsvg , librsvg
, libuuid , libuuid
, meson
, ninja
, opencascade-occt_7_6 , opencascade-occt_7_6
, pkg-config , pkg-config
, podofo , podofo
@ -20,16 +23,19 @@ in
# This base is used in horizon-eda and python3Packages.horizon-eda # This base is used in horizon-eda and python3Packages.horizon-eda
rec { rec {
pname = "horizon-eda"; pname = "horizon-eda";
version = "2.5.0"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "horizon-eda"; owner = "horizon-eda";
repo = "horizon"; repo = "horizon";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-UcjbDJR6shyETpanNkRoH8LF8r6gFjsyNHVSCMHKqS8="; hash = "sha256-0ikCR10r/WPb+H+Ut2GO6y4A/9bctJLanL/RR4r9GWs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
meson
ninja
cmake
pkg-config 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 { python3Packages.buildPythonApplication rec {
pname = "streamlink"; pname = "streamlink";
version = "6.8.3"; version = "6.9.0";
pyproject = true; pyproject = true;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-4/UaVnwIcDCS+R0El6P8Ku/jJ+/Ncl0D5m89zRHtm2g="; hash = "sha256-LKmwsXuAvJ0JqEIsOQyzjYGa9VZkk5YL8hDY/uIhwX8=";
}; };
patches = [ 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 , pixman, vde2, alsa-lib, flex, pcre2
, bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson , bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, dtc, ninja, meson
, sigtool , sigtool
, makeWrapper, removeReferencesTo , makeWrapper, removeReferencesTo
, attr, libcap, libcap_ng, socat, libslirp , 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 , guestAgentSupport ? (with stdenv.hostPlatform; isLinux || isNetBSD || isOpenBSD || isSunOS || isWindows) && !minimal
, numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl , numaSupport ? stdenv.isLinux && !stdenv.isAarch32 && !minimal, numactl
, seccompSupport ? stdenv.isLinux && !minimal, libseccomp , seccompSupport ? stdenv.isLinux && !minimal, libseccomp
@ -52,6 +52,16 @@
let let
hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets; 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 in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -61,14 +71,14 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString nixosTestRunner "-for-vm-tests" + lib.optionalString nixosTestRunner "-for-vm-tests"
+ lib.optionalString toolsOnly "-utils" + lib.optionalString toolsOnly "-utils"
+ lib.optionalString userOnly "-user"; + lib.optionalString userOnly "-user";
version = "9.0.2"; version = "9.1.0";
src = fetchurl { src = fetchurl {
url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz"; 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 ]; ++ lib.optionals hexagonSupport [ pkg-config ];
nativeBuildInputs = [ nativeBuildInputs = [
@ -82,16 +92,14 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ] ++ lib.optionals enableDocs [ python3Packages.sphinx python3Packages.sphinx-rtd-theme ]
++ lib.optionals hexagonSupport [ glib ] ++ lib.optionals hexagonSupport [ glib ]
++ lib.optionals stdenv.isDarwin [ sigtool ] ++ lib.optionals stdenv.isDarwin [ sigtool ]
++ lib.optionals (!userOnly) [ dtc ] ++ 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 ];
buildInputs = [ zlib glib pixman buildInputs = [ zlib glib pixman
vde2 lzo snappy libtasn1 vde2 lzo snappy libtasn1
gnutls nettle curl libslirp gnutls nettle curl libslirp
] ]
++ lib.optionals ncursesSupport [ ncurses ] ++ 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 seccompSupport [ libseccomp ]
++ lib.optionals numaSupport [ numactl ] ++ lib.optionals numaSupport [ numactl ]
++ lib.optionals alsaSupport [ alsa-lib ] ++ lib.optionals alsaSupport [ alsa-lib ]
@ -129,17 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
patches = [ patches = [
./fix-qemu-ga.patch ./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 # Workaround for upstream issue with nested virtualisation: https://gitlab.com/qemu-project/qemu/-/issues/1008
(fetchpatch { (fetchpatch {
url = "https://gitlab.com/qemu-project/qemu/-/commit/3e4546d5bd38a1e98d4bd2de48631abf0398a3a2.diff"; 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 diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 954efed01b..39c4b916ce 100644 index c2bd0b4316..47cee1c351 100644
--- i/qga/commands-posix.c --- a/qga/commands-posix.c
+++ w/qga/commands-posix.c +++ b/qga/commands-posix.c
@@ -123,6 +123,8 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp) @@ -246,7 +246,7 @@ void qmp_guest_shutdown(const char *mode, Error **errp)
execl("/sbin/shutdown", "shutdown", shutdown_flag, "-g0", "-y", return;
"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);
} }
if (!hwclock_available) { - const char *argv[] = {"/sbin/shutdown",
@@ -208,6 +212,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp) + 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, ga_run_command(argv, NULL, "shutdown", &local_err);
* or '/sbin/hwclock -s' to set the system time from RTC. */ + if (local_err) {
+ execl(hwclock_path_nix, "hwclock", has_time ? "-w" : "-s", NULL); + argv[0] = "/sbin/shutdown";
execl(hwclock_path, "hwclock", has_time ? "-w" : "-s", NULL); + ga_run_command(argv, NULL, "shutdown", &local_err);
_exit(EXIT_FAILURE); + }
} else if (pid < 0) { 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 = '' postPatch = ''
substituteInPlace org.debian.apt.aptoffline.policy \ substituteInPlace org.debian.apt.aptoffline.policy \
--replace /usr/bin/ "$out/bin" --replace-fail /usr/bin/ "$out/bin"
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \ 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 = '' postInstall = ''

View File

@ -29,7 +29,7 @@ let
postPatch = '' postPatch = ''
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \ 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 ]; nativeBuildInputs = [ p.setuptools p.wheel ];

View File

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

View File

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

View File

@ -11,14 +11,14 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "deltatouch"; pname = "deltatouch";
version = "1.5.1"; version = "1.6.0";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "lk108"; owner = "lk108";
repo = "deltatouch"; repo = "deltatouch";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-OQrTxxmiBiAc9il1O5aEl9iN3fCfoxSAwJDfrASCPxs="; hash = "sha256-mOs5WlWOkH9A+BZK6hvKq/JKS4k8tzvvov4CYFHyMfA=";
fetchSubmodules = true; 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 '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" --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}")' --replace-fail 'set(QT_IMPORTS_DIR "/lib/''${ARCH_TRIPLET}")' 'set(QT_IMPORTS_DIR "${placeholder "out"}/${qt5.qtbase.qtQmlPrefix}")'
# Fix import of library dependencies # 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 \ 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"' --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 # Fix icon reference in desktop file

View File

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

View File

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

View File

@ -1,9 +1,10 @@
{ lib {
, python3 fetchFromGitHub,
, fetchFromGitHub fetchPypi,
, fetchPypi lib,
, postgresql postgresql,
, postgresqlTestHook postgresqlTestHook,
python3,
}: }:
let let
python = python3.override { python = python3.override {
@ -25,22 +26,17 @@ let
in in
python.pkgs.buildPythonApplication rec { python.pkgs.buildPythonApplication rec {
pname = "fit-trackee"; pname = "fittrackee";
version = "0.8.6"; version = "0.8.8";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SamR1"; owner = "SamR1";
repo = "FitTrackee"; repo = "FitTrackee";
rev = "refs/tags/v${version}"; 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 = [ build-system = [
python.pkgs.poetry-core python.pkgs.poetry-core
]; ];
@ -53,29 +49,32 @@ python.pkgs.buildPythonApplication rec {
"pyopenssl" "pyopenssl"
]; ];
dependencies = with python.pkgs; [ dependencies =
authlib with python.pkgs;
babel [
click authlib
dramatiq babel
flask click
flask-bcrypt dramatiq
flask-dramatiq flask
flask-limiter flask-bcrypt
flask-migrate flask-dramatiq
flask-sqlalchemy flask-limiter
gpxpy flask-migrate
gunicorn flask-sqlalchemy
humanize gpxpy
psycopg2 gunicorn
pyjwt humanize
pyopenssl psycopg2-binary
pytz pyjwt
shortuuid pyopenssl
sqlalchemy pytz
staticmap shortuuid
ua-parser sqlalchemy
] ++ dramatiq.optional-dependencies.redis staticmap
ua-parser
]
++ dramatiq.optional-dependencies.redis
++ flask-limiter.optional-dependencies.redis; ++ flask-limiter.optional-dependencies.redis;
pythonImportsCheck = [ "fittrackee" ]; 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 , config
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchurl
, cmake , cmake
, qt6 , qt6
, fmt , fmt
@ -14,16 +15,25 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "gpt4all"; pname = "gpt4all";
version = "2.8.0"; version = "3.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-aSz37+1K26Xizf4cpV45a2DnSsl959VQok/ppFRk/hs="; hash = "sha256-h6hcqafTjQsqVlpnqVeohh38A67VSGrW3WrCErjaKIQ=";
owner = "nomic-ai"; owner = "nomic-ai";
repo = "gpt4all"; repo = "gpt4all";
rev = "v${finalAttrs.version}"; 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"; sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
nativeBuildInputs = [ nativeBuildInputs = [
@ -41,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
qt6.qthttpserver qt6.qthttpserver
qt6.qtwebengine qt6.qtwebengine
qt6.qt5compat qt6.qt5compat
qt6.qttools
shaderc shaderc
vulkan-headers vulkan-headers
wayland wayland
@ -64,8 +75,9 @@ stdenv.mkDerivation (finalAttrs: {
rm -rf $out/include rm -rf $out/include
rm -rf $out/lib/*.a rm -rf $out/lib/*.a
mv $out/bin/chat $out/bin/${finalAttrs.meta.mainProgram} 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/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 \ substituteInPlace $out/share/applications/io.gpt4all.gpt4all.desktop \
--replace-fail 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}' --replace-fail 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}'
''; '';
@ -76,6 +88,6 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/nomic-ai/gpt4all"; homepage = "https://github.com/nomic-ai/gpt4all";
license = lib.licenses.mit; license = lib.licenses.mit;
mainProgram = "gpt4all"; 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 diff --git a/tools/install.pl b/tools/install.pl
index b7c7adb..a63de58 100644 index f09218f..a63de58 100644
--- a/tools/install.pl --- a/tools/install.pl
+++ b/tools/install.pl +++ b/tools/install.pl
@@ -9,6 +9,7 @@ use Config; @@ -9,6 +9,7 @@ use Config;
@ -10,7 +10,7 @@ index b7c7adb..a63de58 100644
#Vendor dependencies #Vendor dependencies
my @vendor_css = ( 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"; $cpanopt = " -l " . $ENV{HOMEBREW_FORMULA_PREFIX} . "/libexec";
} }
@ -30,11 +30,9 @@ index b7c7adb..a63de58 100644
- -
-#Check for GhostScript -#Check for GhostScript
-say("Checking for GhostScript..."); -say("Checking for GhostScript...");
-if ( can_run('gs') ) { -can_run('gs')
- say("OK!"); - or warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
-} else { -say("OK!");
- warn 'NOT FOUND! PDF support will not work properly. Please install the "gs" tool.';
-}
- -
-#Check for libarchive -#Check for libarchive
-say("Checking for libarchive..."); -say("Checking for libarchive...");
@ -45,7 +43,7 @@ index b7c7adb..a63de58 100644
#Check for PerlMagick #Check for PerlMagick
say("Checking for ImageMagick/PerlMagick..."); say("Checking for ImageMagick/PerlMagick...");
my $imgk; my $imgk;
@@ -137,37 +110,11 @@ if ($@) { @@ -135,37 +110,11 @@ if ($@) {
say("OK!"); say("OK!");
} }
@ -83,7 +81,7 @@ index b7c7adb..a63de58 100644
make_path getcwd . "/public/css/vendor"; make_path getcwd . "/public/css/vendor";
make_path getcwd . "/public/css/webfonts"; make_path getcwd . "/public/css/webfonts";
make_path getcwd . "/public/js/vendor"; 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 { buildNpmPackage rec {
pname = "lanraragi"; pname = "lanraragi";
version = "0.9.10"; version = "0.9.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Difegue"; owner = "Difegue";
repo = "LANraragi"; repo = "LANraragi";
rev = "v.${version}"; rev = "v.${version}";
hash = "sha256-mW2cVd+SPbjc/+b0KY3je1eqw5ZT/GKFruE4Y/eFdD4="; hash = "sha256-2YdQeBW1MQiUs5nliloISaxG0yhFJ6ulkU/Urx8PN3Y=";
}; };
patches = [ patches = [

View File

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

View File

@ -90,7 +90,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg ] ++ lib.optionals mediaSupport [ ffmpeg ]
); );
version = "13.5.2"; version = "13.5.3";
sources = { sources = {
x86_64-linux = fetchurl { 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.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" "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, buildNimPackage,
fetchFromGitHub, fetchFromGitHub,
}: }:
buildNimPackage (final: prev: { buildNimPackage (
pname = "nimlangserver"; final: prev: rec {
version = "1.2.0"; pname = "nimlangserver";
version = "1.4.0";
# lock.json generated with github.com/daylinmorgan/nnl # lock.json generated with github.com/daylinmorgan/nnl
lockFile = ./lock.json; lockFile = ./lock.json;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nim-lang"; owner = "nim-lang";
repo = "langserver"; repo = "langserver";
rev = "71b59bfa77dabf6b8b381f6e18a1d963a1a658fc"; rev = "v${version}";
hash = "sha256-dznegEhRHvztrNhBcUhW83RYgJpduwdGLWj/tJ//K8c="; hash = "sha256-mh+p8t8/mbZvgsJ930lXkcBdUjjioZoNyNZzwywAiUI=";
};
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];
}; };
})
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 let
pname = "open-webui"; pname = "open-webui";
version = "0.3.16"; version = "0.3.18-unstable-2024-09-05";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "open-webui"; owner = "open-webui";
repo = "open-webui"; repo = "open-webui";
rev = "v${version}"; rev = "c3271e84efc281dfed8c1e2d265cd24e1e5865e6";
hash = "sha256-AxD7WHL5fGM0CBKi7zc/gmoSJQBohDh0HgIDU1/BQ7w="; hash = "sha256-yOLxpRgwTVPlQASzFqul+ap/s7Wx3uxf4xr+Xb2Nb7A=";
}; };
frontend = buildNpmPackage { frontend = buildNpmPackage {
inherit pname version src; inherit pname version src;
npmDepsHash = "sha256-Ik+wXymso3jdKXQgLydnhhWvpHl0d82pwYSmUR0yfPE="; npmDepsHash = "sha256-BkjvMD1XxELzxiPZagYd0aEUsaAl338h5W9nvxxrJJg=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase` # Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work. # Until this is solved, running python packages from the browser will not work.

View File

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

View File

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

View File

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

View File

@ -1,16 +1,19 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
base64 (0.2.0)
colored2 (3.1.2) colored2 (3.1.2)
cri (2.15.11) cri (2.15.12)
erubi (1.12.0) erubi (1.13.0)
faraday (2.9.0) faraday (2.10.1)
faraday-net_http (>= 2.0, < 3.2) faraday-net_http (>= 2.0, < 3.2)
logger
faraday-follow_redirects (0.3.0) faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3) faraday (>= 1, < 3)
faraday-net_http (3.1.0) faraday-net_http (3.1.1)
net-http net-http
fast_gettext (2.3.0) fast_gettext (2.4.0)
prime
forwardable (1.3.3) forwardable (1.3.3)
gettext (3.4.9) gettext (3.4.9)
erubi erubi
@ -22,31 +25,33 @@ GEM
fast_gettext (~> 2.1) fast_gettext (~> 2.1)
gettext (~> 3.4) gettext (~> 3.4)
locale locale
jwt (2.7.1) jwt (2.8.2)
base64
locale (2.1.4) locale (2.1.4)
log4r (1.1.10) log4r (1.1.10)
minitar (0.9) logger (1.6.0)
minitar (0.12.1)
multi_json (1.15.0) multi_json (1.15.0)
net-http (0.4.1) net-http (0.4.1)
uri uri
prime (0.1.2) prime (0.1.2)
forwardable forwardable
singleton singleton
puppet_forge (5.0.3) puppet_forge (5.0.4)
faraday (~> 2.0) faraday (~> 2.0)
faraday-follow_redirects (~> 0.3.0) faraday-follow_redirects (~> 0.3.0)
minitar minitar (< 1.0.0)
semantic_puppet (~> 1.0) semantic_puppet (~> 1.0)
r10k (4.0.1) r10k (4.1.0)
colored2 (= 3.1.2) colored2 (= 3.1.2)
cri (>= 2.15.10) cri (>= 2.15.10)
gettext-setup (>= 0.24, < 2.0) gettext-setup (>= 0.24, < 2.0)
jwt (>= 2.2.3, < 2.8.0) jwt (>= 2.2.3, < 3)
log4r (= 1.1.10) log4r (= 1.1.10)
minitar (~> 0.9) minitar (~> 0.9)
multi_json (~> 1.10) multi_json (~> 1.10)
puppet_forge (>= 4.1, < 6) puppet_forge (>= 4.1, < 6)
racc (1.7.3) racc (1.8.1)
semantic_puppet (1.1.0) semantic_puppet (1.1.0)
singleton (0.2.0) singleton (0.2.0)
text (1.3.1) text (1.3.1)
@ -59,4 +64,4 @@ DEPENDENCIES
r10k r10k
BUNDLED WITH 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 = { colored2 = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
@ -14,31 +24,31 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1bhsgnjav94mz5vf3305gxz1g34gm9kxvnrn1dkz530r8bpj0hr5"; sha256 = "1rank6i9p2drwdcmhan6ifkzrz1v3mwpx47fwjl75rskxwjfkgwa";
type = "gem"; type = "gem";
}; };
version = "2.15.11"; version = "2.15.12";
}; };
erubi = { erubi = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw";
type = "gem"; type = "gem";
}; };
version = "1.12.0"; version = "1.13.0";
}; };
faraday = { faraday = {
dependencies = ["faraday-net_http"]; dependencies = ["faraday-net_http" "logger"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1qqb1rmk0f9m82iijjlqadh5yby1bhnr6svjk9vxdvh6f181988s"; sha256 = "104s7n9505488p923cs0pl3jlgn4naam28clkm2885hrysizpjbb";
type = "gem"; type = "gem";
}; };
version = "2.9.0"; version = "2.10.1";
}; };
faraday-follow_redirects = { faraday-follow_redirects = {
dependencies = ["faraday"]; dependencies = ["faraday"];
@ -57,20 +67,21 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17w51yk4rrm9rpnbc3x509s619kba0jga3qrj4b17l30950vw9qn"; sha256 = "0f49frpfdr8czwm2mjkfny4pini6fy49b6hamw4jrppl4vsg14ys";
type = "gem"; type = "gem";
}; };
version = "3.1.0"; version = "3.1.1";
}; };
fast_gettext = { fast_gettext = {
dependencies = ["prime"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2"; sha256 = "1gsz2ywvnms7b4w7bs4dg7cykhgx7z74fa7xy0sbw45a0v2c89px";
type = "gem"; type = "gem";
}; };
version = "2.3.0"; version = "2.4.0";
}; };
forwardable = { forwardable = {
groups = ["default"]; groups = ["default"];
@ -105,14 +116,15 @@
version = "1.1.0"; version = "1.1.0";
}; };
jwt = { jwt = {
dependencies = ["base64"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87"; sha256 = "04mw326i9vsdcqwm4bf0zvnqw237f8l7022nhlbmak92bqqpg62s";
type = "gem"; type = "gem";
}; };
version = "2.7.1"; version = "2.8.2";
}; };
locale = { locale = {
groups = ["default"]; groups = ["default"];
@ -134,15 +146,25 @@
}; };
version = "1.1.10"; version = "1.1.10";
}; };
logger = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gpg8gzi0xwymw4aaq2iafcbx31i3xzkg3fb30mdxn1d4qhc3dqa";
type = "gem";
};
version = "1.6.0";
};
minitar = { minitar = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "126mq86x67d1p63acrfka4zx0cx2r0vc93884jggxnrmmnzbxh13"; sha256 = "0f307mpj4j0gp7iq77xj4p149f4krcvbll9rismng3jcijpbn79s";
type = "gem"; type = "gem";
}; };
version = "0.9"; version = "0.12.1";
}; };
multi_json = { multi_json = {
groups = ["default"]; groups = ["default"];
@ -182,10 +204,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "168w15y5rnsm6wspqxn0wg543r89cbajc8wky0sg9vzpgpr27176"; sha256 = "0d65zri1nmpph8iki5iigdzfqd6rfyc1mlgdfhg69q3566rcff06";
type = "gem"; type = "gem";
}; };
version = "5.0.3"; version = "5.0.4";
}; };
r10k = { r10k = {
dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"]; dependencies = ["colored2" "cri" "gettext-setup" "jwt" "log4r" "minitar" "multi_json" "puppet_forge"];
@ -193,20 +215,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1g7bx9k112mnxpnasj59zaz2c7x51ia856b5q41kfr3i9y2q3k78"; sha256 = "0k3fr2f0pwyrabs12wqig31f37sqrqs8qza7jrn01d6blvhvkrb4";
type = "gem"; type = "gem";
}; };
version = "4.0.1"; version = "4.1.0";
}; };
racc = { racc = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
type = "gem"; type = "gem";
}; };
version = "1.7.3"; version = "1.8.1";
}; };
semantic_puppet = { semantic_puppet = {
groups = ["default"]; groups = ["default"];

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -37,45 +37,53 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "rustdesk"; pname = "rustdesk";
version = "1.2.3"; version = "1.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rustdesk"; owner = "rustdesk";
repo = "rustdesk"; repo = "rustdesk";
rev = version; rev = version;
hash = "sha256-6TdirqEnWvuPgKOLzNIAm66EgKNdGVjD7vf2maqlxI8="; hash = "sha256-pDGURsF0eft2BkuXOzaMtNCHp9VFgZZh4bbNRa5NDII=";
}; };
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { 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="; "evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
"hwcodec-0.1.1" = "sha256-EQGJr5kH8O48y1oSrzFF3QGGpGFKP3v4gn2JquAkdlY="; "hwcodec-0.7.0" = "sha256-pfzcaD7h/U5ou+P7qRLR56iXOkm043rF74y+Q0FsVLo=";
"impersonate_system-0.1.0" = "sha256-qbaTw9gxMKDjX5pKdUrKlmIxCxWwb99YuWPDvD2A3kY="; "impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
"keepawake-0.4.3" = "sha256-sLQf9q88dB2bkTN01UlxRWSpoF1kFsqqpYC4Sw6cbEY="; "keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE="; "machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg="; "magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
"mouce-0.2.1" = "sha256-3PtNEmVMXgqKV4r3KiKTkk4oyCt4BKynniJREE+RyFk="; "pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
"pam-0.7.0" = "sha256-qe2GH6sfGEUnqLiQucYLB5rD/GyAaVtm9pAxWRb1H3Q="; "pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
"parity-tokio-ipc-0.7.3-2" = "sha256-WXDKcDBaJuq4K9gjzOKMozePOFiVX0EqYAFamAz/Yvw="; "parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
"rdev-0.5.0-2" = "sha256-MJ4Uqp0yz1CcFvoZYyUYwNojUcfW1AyVowKShihhhbY="; "rdev-0.5.0-2" = "sha256-KrzNa4sKyuVw3EV/Ec9VBNRyJy7QFR2Gu4c2WkltwUw=";
"reqwest-0.11.18" = "sha256-3k2wcVD+DzJEdP/+8BqP9qz3tgEWcbWZj5/CjrZz5LY="; "reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM="; "rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
"sciter-rs-0.5.57" = "sha256-NQPDlMQ0sGY8c9lBMlplT82sNjbgJy2m/+REnF3fz8M="; "sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
"tao-0.22.2" = "sha256-vZx7WM6vK9UarbFQ/FMnTNEEDS+tglhWcPXt/h7YMFA="; "sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
"tfc-0.6.1" = "sha256-ukxJl7Z+pUXCjvTsG5Q0RiXocPERWGsnAyh3SIWm0HU="; "tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
"tokio-socks-0.5.1-2" = "sha256-x3aFJKo0XLaCGkZLtG9GYA+A/cGGedVZ8gOztWiYVUY="; "tfc-0.7.0" = "sha256-VAoOadgGajWjW7q1RCwmQ5gMmaA1oeZBSiL1tYSuIEI=";
"tray-icon-0.5.1" = "sha256-1VyUg8V4omgdRIYyXhfn8kUvhV5ef6D2cr2Djz2uQyc="; "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-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
}; };
}; };
prePatch = '' postPatch = ''
# Patch 404 repos # Overwrite cargo.lock because the one in the upstream repo has duplicates entries.
substituteInPlace Cargo.lock --replace-fail "fufesou" "rustdesk-org"; # It should probably be removed in the next rustdesk update (if they fix their cargoLock)
substituteInPlace Cargo.toml --replace-fail "fufesou" "rustdesk-org"; ln -fs ${./Cargo.lock} Cargo.lock
substituteInPlace libs/enigo/Cargo.toml --replace-fail "fufesou" "rustdesk-org";
''; '';
desktopItems = [ 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 , mpich
, tmux , tmux
, reptyr , reptyr
, autoconf
, makeWrapper , makeWrapper
}: }:
@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ mpi mpich reptyr tmux ]; propagatedBuildInputs = [ mpi mpich reptyr tmux ];
buildInputs = [ autoconf makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ] ++ lib.optionals mediaSupport [ ffmpeg ]
); );
version = "13.5.2"; version = "13.5.3";
sources = { sources = {
x86_64-linux = fetchurl { 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.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" "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 { 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.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" "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 , libXxf86vm
}: }:
let let
version = "4.13.2-redo";
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "unciv"; name = "unciv";
exec = "unciv"; exec = "unciv";
@ -20,7 +22,7 @@ let
}; };
desktopIcon = fetchurl { 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="; hash = "sha256-Zuz+HGfxjGviGBKTiHdIFXF8UMRLEIfM8f+LIB/xonk=";
}; };
@ -33,7 +35,7 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "unciv"; pname = "unciv";
version = "4.13.0-patch1"; inherit version;
src = fetchurl { src = fetchurl {
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; 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, vulkan-loader,
envsubst, envsubst,
nix-update-script, nix-update-script,
cargo-about,
testers,
zed-editor,
withGLES ? false, withGLES ? false,
}: }:
@ -45,6 +48,12 @@ rustPlatform.buildRustPackage rec {
fetchSubmodules = true; 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 = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
@ -73,6 +82,7 @@ rustPlatform.buildRustPackage rec {
pkg-config pkg-config
protobuf protobuf
rustPlatform.bindgenHook rustPlatform.bindgenHook
cargo-about
] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ]; ] ++ lib.optionals stdenv.isDarwin [ xcbuild.xcrun ];
buildInputs = buildInputs =
@ -128,11 +138,17 @@ rustPlatform.buildRustPackage rec {
# Setting this environment variable allows to disable auto-updates # Setting this environment variable allows to disable auto-updates
# https://zed.dev/docs/development/linux#notes-for-packaging-zed # 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."; 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 ""; RUSTFLAGS = if withGLES then "--cfg gles" else "";
gpu-lib = if withGLES then libglvnd else vulkan-loader; gpu-lib = if withGLES then libglvnd else vulkan-loader;
preBuild = ''
bash script/generate-licenses
'';
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf --add-rpath ${gpu-lib}/lib $out/libexec/* patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
patchelf --add-rpath ${wayland}/lib $out/libexec/* patchelf --add-rpath ${wayland}/lib $out/libexec/*
@ -175,11 +191,17 @@ rustPlatform.buildRustPackage rec {
runHook postInstall runHook postInstall
''; '';
passthru.updateScript = nix-update-script { passthru = {
extraArgs = [ updateScript = nix-update-script {
"--version-regex" extraArgs = [
"v(.*)" "--version-regex"
]; "v(.*)"
];
};
tests.version = testers.testVersion {
inherit version;
package = zed-editor;
};
}; };
meta = { meta = {

View File

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

View File

@ -55,6 +55,10 @@ let self = buildPythonPackage rec {
mainProgram = "fastapi"; mainProgram = "fastapi";
license = licenses.mit; license = licenses.mit;
maintainers = [ ]; 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 in self

View File

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

View File

@ -33,13 +33,13 @@ buildPythonPackage {
nativeBuildInputs = base.nativeBuildInputs; nativeBuildInputs = base.nativeBuildInputs;
buildFlags = [ "pymodule" ]; ninjaFlags = [ "horizon.so" ];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p $out/${python.sitePackages} mkdir -p $out/${python.sitePackages}
cp build/horizon.so $out/${python.sitePackages} cp horizon.so $out/${python.sitePackages}
runHook postInstall 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, setuptools,
packaging, packaging,
tenacity, tenacity,
kaleido,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -29,6 +30,7 @@ buildPythonPackage rec {
dependencies = [ dependencies = [
packaging packaging
tenacity tenacity
kaleido
]; ];
pythonImportsCheck = [ "plotly" ]; pythonImportsCheck = [ "plotly" ];
@ -41,6 +43,6 @@ buildPythonPackage rec {
downloadPage = "https://github.com/plotly/plotly.py"; downloadPage = "https://github.com/plotly/plotly.py";
homepage = "https://plot.ly/python/"; homepage = "https://plot.ly/python/";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = [ ]; maintainers = with maintainers; [ pandapip1 ];
}; };
} }

View File

@ -4,24 +4,28 @@
fetchPypi, fetchPypi,
pythonOlder, pythonOlder,
setuptools-scm, setuptools-scm,
hypothesis,
pytestCheckHook, pytestCheckHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "sqids"; pname = "sqids";
version = "0.4.1"; version = "0.5.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; 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" ]; pythonImportsCheck = [ "sqids" ];

View File

@ -2,7 +2,6 @@
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
pythonOlder,
setuptools, setuptools,
wheel, wheel,
pytestCheckHook, pytestCheckHook,
@ -10,16 +9,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "xdoctest"; pname = "xdoctest";
version = "1.1.6"; version = "1.2.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Erotemic"; owner = "Erotemic";
repo = "xdoctest"; repo = "xdoctest";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-L/RtD/e0ubW3j4623HQGfowXQYZjl7dDfwwbfxm3ll8="; hash = "sha256-1c3wnQ30J2OfnBffzGfPPt9St8VpLGmFGbifzbw+cOc=";
}; };
nativeBuildInputs = [ 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 , libXi
, libxkbcommon , libxkbcommon
, ncurses , ncurses
, wayland
, zlib , zlib
}: }:
let let
buildNum = "2024-04-18-1396"; buildNum = "2024-06-26-1341";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "rgp"; pname = "rgp";
version = "2.1"; version = "2.2";
src = fetchurl { src = fetchurl {
url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz"; url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
hash = "sha256-mP5tmq252IsWYVRGNKVib8ZbM5M4srUKXJ3x2ff4YhM="; hash = "sha256-mpm4hxWyunq6Z6kdSuk4jqnYOTuLFVe+XzXZvHJPf/Q=";
}; };
nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
@ -51,6 +52,7 @@ stdenv.mkDerivation {
libXi libXi
libxkbcommon libxkbcommon
ncurses ncurses
wayland
zlib zlib
]; ];
@ -65,13 +67,11 @@ stdenv.mkDerivation {
# makeWrapper is needed so that executables are started from the opt # makeWrapper is needed so that executables are started from the opt
# directory, where qt.conf and other tools are. # 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. # 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 \ makeWrapper \
$out/opt/rgp/$prog \ $out/opt/rgp/$prog \
$out/bin/$prog \ $out/bin/$prog \
--unset QT_QPA_PLATFORMTHEME \ --unset QT_QPA_PLATFORMTHEME \
--unset QT_STYLE_OVERRIDE \ --unset QT_STYLE_OVERRIDE \
--set QT_QPA_PLATFORM xcb \
--prefix LD_LIBRARY_PATH : $out/opt/rgp/lib --prefix LD_LIBRARY_PATH : $out/opt/rgp/lib
done done
''; '';

View File

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

View File

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

View File

@ -31,13 +31,7 @@ stdenv.mkDerivation rec {
expat expat
]; ];
CXXFLAGS = lib.concatStringsSep " " (lib.optionals stdenv.isDarwin [ CXXFLAGS = "-std=c++98";
# 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"
]);
meta = { meta = {
description = "Open source full text search server"; description = "Open source full text search server";

View File

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

View File

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

View File

@ -4,17 +4,20 @@
, pkg-config , pkg-config
, cctools , cctools
, makeWrapper , makeWrapper
, mesa
, python3 , python3
, runCommand
, vulkan-headers , vulkan-headers
, vulkan-loader , vulkan-loader
, vulkan-validation-layers , vulkan-validation-layers
}: }:
let let
# From https://github.com/google/amber/blob/main/DEPS
glslang = fetchFromGitHub { glslang = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "glslang"; repo = "glslang";
rev = "81cc10a498b25a90147cccd6e8939493c1e9e20e"; rev = "e8dd0b6903b34f1879520b444634c75ea2deedf5";
hash = "sha256-jTOxZ1nU7kvtdWjPzyIp/5ZeKw3JtYyqhlFeIE7CyX8="; hash = "sha256-B6jVCeoFjd2H6+7tIses+Kj8DgHS6E2dkVzQAIzDHEc=";
}; };
lodepng = fetchFromGitHub { lodepng = fetchFromGitHub {
@ -27,34 +30,34 @@ let
shaderc = fetchFromGitHub { shaderc = fetchFromGitHub {
owner = "google"; owner = "google";
repo = "shaderc"; repo = "shaderc";
rev = "e72186b66bb90ed06aaf15cbdc9a053581a0616b"; rev = "f59f0d11b80fd622383199c867137ededf89d43b";
hash = "sha256-hd1IGsWksgAfB8Mq5yZOzSyNGxXsCJxb350pD/Gcskk="; hash = "sha256-kHz8Io5GZDWv1FjPyBWRpnKhGygKhSU4L9zl/AKXZlU=";
}; };
spirv-headers = fetchFromGitHub { spirv-headers = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "SPIRV-Headers"; repo = "SPIRV-Headers";
rev = "d13b52222c39a7e9a401b44646f0ca3a640fbd47"; rev = "5e3ad389ee56fca27c9705d093ae5387ce404df4";
hash = "sha256-bjiWGSmpEbydXtCLP8fRZfPBvdCzBoJxKXTx3BroQbg="; hash = "sha256-gjF5mVTXqU/GZzr2S6oKGChgvqqHcQSrEq/ePP2yJys=";
}; };
spirv-tools = fetchFromGitHub { spirv-tools = fetchFromGitHub {
owner = "KhronosGroup"; owner = "KhronosGroup";
repo = "SPIRV-Tools"; repo = "SPIRV-Tools";
rev = "d87f61605b3647fbceae9aaa922fce0031afdc63"; rev = "9241a58a8028c49510bc174b6c970e3c2b4b8e51";
hash = "sha256-lB2i6wjehIFDOQdIPUvCy3zzcnJSsR5vNawPhGmb0es="; hash = "sha256-0qHUpwNDJI2jV4h68QaTNPIwTPxwTt0iAUnMXqFCiJE=";
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "amber"; pname = "amber";
version = "unstable-2023-09-02"; version = "unstable-2024-08-21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google"; owner = "google";
repo = pname; repo = "amber";
rev = "8e90b2d2f532bcd4a80069e3f37a9698209a21bc"; rev = "66399a35927606a435bf7a59756e87e6cb5a0013";
hash = "sha256-LuNCND/NXoNbbTWv7RYQUkq2QXL1qXR27uHwFIz0DXg="; hash = "sha256-PCO64zI/vzp4HyGz5WpeYpCBeaWjTvz1punWsTz1yiM=";
}; };
buildInputs = [ buildInputs = [
@ -92,10 +95,53 @@ stdenv.mkDerivation rec {
--suffix VK_LAYER_PATH : ${vulkan-validation-layers}/share/vulkan/explicit_layer.d --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; { meta = with lib; {
description = "Multi-API shader test framework"; description = "Multi-API shader test framework";
homepage = "https://github.com/google/amber"; homepage = "https://github.com/google/amber";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ Flakebi ]; maintainers = with maintainers; [ Flakebi ];
}; };
} })

View File

@ -28,11 +28,11 @@ let
sslPkg = sslPkgs.${sslLibrary}; sslPkg = sslPkgs.${sslLibrary};
in stdenv.mkDerivation (finalAttrs: { in stdenv.mkDerivation (finalAttrs: {
pname = "haproxy"; pname = "haproxy";
version = "3.0.3"; version = "3.0.4";
src = fetchurl { src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz"; 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 ] buildInputs = [ sslPkg zlib libxcrypt ]

View File

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

View File

@ -464,6 +464,7 @@ mapAliases ({
firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09 firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
fishfight = jumpy; # Added 2022-08-03 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 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 flashrom-stable = flashprog; # Added 2024-03-01
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12 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 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 { }; shellharden = callPackage ../development/tools/shellharden { };
schemaspy = callPackage ../development/tools/database/schemaspy { };
scenebuilder = callPackage ../development/tools/scenebuilder { }; scenebuilder = callPackage ../development/tools/scenebuilder { };
scenic-view = callPackage ../development/tools/scenic-view { }; scenic-view = callPackage ../development/tools/scenic-view { };
@ -25949,8 +25947,6 @@ with pkgs;
### SERVERS / GEOSPATIAL ### SERVERS / GEOSPATIAL
fit-trackee = callPackage ../servers/geospatial/fit-trackee { };
martin = callPackage ../servers/geospatial/martin { martin = callPackage ../servers/geospatial/martin {
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration; inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
}; };
@ -28903,7 +28899,7 @@ with pkgs;
backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; 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; backintime = backintime-qt;
@ -31877,10 +31873,6 @@ with pkgs;
clerk = callPackage ../applications/audio/clerk { }; clerk = callPackage ../applications/audio/clerk { };
jujutsu = callPackage ../applications/version-management/jujutsu {
inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
};
nbstripout = callPackage ../applications/version-management/nbstripout { }; nbstripout = callPackage ../applications/version-management/nbstripout { };
ncmpc = callPackage ../applications/audio/ncmpc { }; ncmpc = callPackage ../applications/audio/ncmpc { };
@ -32819,9 +32811,17 @@ with pkgs;
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { }; eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
qemu = callPackage ../applications/virtualization/qemu { 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.stubs) rez setfile;
inherit (darwin) sigtool; inherit (darwin) sigtool;
stdenv =
if stdenv.hostPlatform.isDarwin then
overrideSDK stdenv {
darwinSdkVersion = "12.3";
darwinMinVersion = "12.0";
}
else
stdenv;
}; };
qemu-python-utils = python3Packages.toPythonApplication ( 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 { }; kaldi-active-grammar = callPackage ../development/python-modules/kaldi-active-grammar { };
kaleido = callPackage ../development/python-modules/kaleido { };
kanidm = callPackage ../development/python-modules/kanidm { }; kanidm = callPackage ../development/python-modules/kanidm { };
kaptan = callPackage ../development/python-modules/kaptan { }; kaptan = callPackage ../development/python-modules/kaptan { };