Merge remote-tracking branch 'origin/master' into staging-next

Conflicts:
- pkgs/development/python-modules/numba/default.nix
This commit is contained in:
Martin Weinelt 2023-10-15 22:31:27 +02:00
commit 94c8c31bee
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759
190 changed files with 3925 additions and 2055 deletions

View File

@ -5317,6 +5317,11 @@
githubId = 1855930;
name = "Ertugrul Söylemez";
};
esau79p = {
github = "EsAu79p";
githubId = 21313906;
name = "EsAu";
};
esclear = {
github = "esclear";
githubId = 7432848;
@ -18328,6 +18333,15 @@
githubId = 245573;
name = "Dmitry Kalinkin";
};
vgskye = {
name = "Skye Green";
email = "me@skye.vg";
github = "vgskye";
githubId = 116078858;
keys = [{
fingerprint = "CDEA 7E04 69E3 0885 A754 4B05 0104 BC05 F41B 77B8";
}];
};
victormeriqui = {
name = "Victor Meriqui";
email = "victor.meriqui@ororatech.com";

View File

@ -34,7 +34,6 @@ loadkit,,,,,,alerque
lpeg,,,,,,vyp
lpeg_patterns,,,,,,
lpeglabel,,,,1.6.0,,
lpty,,,,,,
lrexlib-gnu,,,,,,
lrexlib-pcre,,,,,,vyp
lrexlib-posix,,,,,,

1 name src ref server version luaversion maintainers
34 lpeg vyp
35 lpeg_patterns
36 lpeglabel 1.6.0
lpty
37 lrexlib-gnu
38 lrexlib-pcre vyp
39 lrexlib-posix

View File

@ -45,7 +45,7 @@ this instance, and `url`, which holds the URL under which the sync server can be
accessed. The `url` can be configured automatically when using nginx.
Options that affect the surroundings of the sync server are `enableNginx`,
`enableTLS` and `hostnam`. If `enableNginx` is set the sync server module will
`enableTLS` and `hostname`. If `enableNginx` is set the sync server module will
automatically add an nginx virtual host to the system using `hostname` as the
domain and set `url` accordingly. If `enableTLS` is set the module will also
enable ACME certificates on the new virtual host and force all connections to

View File

@ -224,10 +224,12 @@ in
Settings for the sync server. These take priority over values computed
from NixOS options.
See the doc comments on the `Settings` structs in
<https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage/src/settings.rs>
See the example config in
<https://github.com/mozilla-services/syncstorage-rs/blob/master/config/local.example.toml>
and the doc comments on the `Settings` structs in
<https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage-settings/src/lib.rs>
and
<https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage/src/tokenserver/settings.rs>
<https://github.com/mozilla-services/syncstorage-rs/blob/master/tokenserver-settings/src/lib.rs>
for available options.
'';
};

View File

@ -36,17 +36,15 @@ let
# be careful not to leak secrets in the filesystem or in process listings
umask 0077
# get the api key by parsing the config.xml
while
! ${pkgs.libxml2}/bin/xmllint \
--xpath 'string(configuration/gui/apikey)' \
${cfg.configDir}/config.xml \
>"$RUNTIME_DIRECTORY/api_key"
do sleep 1; done
(printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers"
curl() {
# get the api key by parsing the config.xml
while
! ${pkgs.libxml2}/bin/xmllint \
--xpath 'string(configuration/gui/apikey)' \
${cfg.configDir}/config.xml \
>"$RUNTIME_DIRECTORY/api_key"
do sleep 1; done
(printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers"
${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers" \
--retry 1000 --retry-delay 1 --retry-all-errors \
"$@"

View File

@ -35,7 +35,15 @@ in {
Enable Peering Manager.
This module requires a reverse proxy that serves `/static` separately.
See this [example](https://github.com/peering-manager-community/peering-manager/blob/develop/contrib/nginx.conf/) on how to configure this.
See this [example](https://github.com/peering-manager/contrib/blob/main/nginx.conf on how to configure this.
'';
};
enableScheduledTasks = mkOption {
type = types.bool;
default = true;
description = ''
Set up [scheduled tasks](https://peering-manager.readthedocs.io/en/stable/setup/8-scheduled-tasks/)
'';
};
@ -194,32 +202,30 @@ in {
};
systemd.services = let
defaultServiceConfig = {
WorkingDirectory = "/var/lib/peering-manager";
User = "peering-manager";
Group = "peering-manager";
StateDirectory = "peering-manager";
StateDirectoryMode = "0750";
Restart = "on-failure";
};
in {
peering-manager-migration = {
description = "Peering Manager migrations";
wantedBy = [ "peering-manager.target" ];
defaults = {
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
serviceConfig = {
WorkingDirectory = "/var/lib/peering-manager";
User = "peering-manager";
Group = "peering-manager";
StateDirectory = "peering-manager";
StateDirectoryMode = "0750";
Restart = "on-failure";
};
};
in {
peering-manager-migration = lib.recursiveUpdate defaults {
description = "Peering Manager migrations";
wantedBy = [ "peering-manager.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = ''
${pkg}/bin/peering-manager migrate
'';
ExecStart = "${pkg}/bin/peering-manager migrate";
};
};
peering-manager = {
peering-manager = lib.recursiveUpdate defaults {
description = "Peering Manager WSGI Service";
wantedBy = [ "peering-manager.target" ];
after = [ "peering-manager-migration.service" ];
@ -228,11 +234,7 @@ in {
${pkg}/bin/peering-manager remove_stale_contenttypes --no-input
'';
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
serviceConfig = {
ExecStart = ''
${pkg.python.pkgs.gunicorn}/bin/gunicorn peering_manager.wsgi \
--bind ${cfg.listenAddress}:${toString cfg.port} \
@ -241,45 +243,92 @@ in {
};
};
peering-manager-rq = {
peering-manager-rq = lib.recursiveUpdate defaults {
description = "Peering Manager Request Queue Worker";
wantedBy = [ "peering-manager.target" ];
after = [ "peering-manager.service" ];
serviceConfig.ExecStart = "${pkg}/bin/peering-manager rqworker high default low";
};
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
ExecStart = ''
${pkg}/bin/peering-manager rqworker high default low
'';
peering-manager-housekeeping = lib.recursiveUpdate defaults {
description = "Peering Manager housekeeping job";
after = [ "peering-manager.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/peering-manager housekeeping";
};
};
peering-manager-housekeeping = {
description = "Peering Manager housekeeping job";
peering-manager-peeringdb-sync = lib.recursiveUpdate defaults {
description = "PeeringDB sync";
after = [ "peering-manager.service" ];
environment = {
PYTHONPATH = pkg.pythonPath;
};
serviceConfig = defaultServiceConfig // {
serviceConfig = {
Type = "oneshot";
ExecStart = ''
${pkg}/bin/peering-manager housekeeping
'';
ExecStart = "${pkg}/bin/peering-manager peeringdb_sync";
};
};
peering-manager-prefix-fetch = lib.recursiveUpdate defaults {
description = "Fetch IRR AS-SET prefixes";
after = [ "peering-manager.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/peering-manager grab_prefixes";
};
};
peering-manager-configuration-deployment = lib.recursiveUpdate defaults {
description = "Push configuration to routers";
after = [ "peering-manager.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/peering-manager configure_routers";
};
};
peering-manager-session-poll = lib.recursiveUpdate defaults {
description = "Poll peering sessions from routers";
after = [ "peering-manager.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/peering-manager poll_bgp_sessions --all";
};
};
};
systemd.timers.peering-manager-housekeeping = {
description = "Run Peering Manager housekeeping job";
wantedBy = [ "timers.target" ];
systemd.timers = {
peering-manager-housekeeping = {
description = "Run Peering Manager housekeeping job";
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "daily";
};
timerConfig = {
OnCalendar = "daily";
peering-manager-peeringdb-sync = {
enable = lib.mkDefault cfg.enableScheduledTasks;
description = "Sync PeeringDB at 2:30";
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "02:30:00";
};
peering-manager-prefix-fetch = {
enable = lib.mkDefault cfg.enableScheduledTasks;
description = "Fetch IRR AS-SET prefixes at 4:30";
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "04:30:00";
};
peering-manager-configuration-deployment = {
enable = lib.mkDefault cfg.enableScheduledTasks;
description = "Push router configuration every hour 5 minutes before full hour";
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "*:55:00";
};
peering-manager-session-poll = {
enable = lib.mkDefault cfg.enableScheduledTasks;
description = "Poll peering sessions from routers every hour";
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = "*:00:00";
};
};

View File

@ -28,18 +28,20 @@ let
# TODO: warn the user that any address configured on those interfaces will be useless
++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches);
genericNetwork = override:
let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
makeGateway = gateway: {
defaultGateways = mkMerge (forEach [ cfg.defaultGateway cfg.defaultGateway6 ] (gateway:
optionalAttrs (gateway != null && gateway.interface != null) {
networks."40-${gateway.interface}" = {
matchConfig.Name = gateway.interface;
routes = [{
routeConfig = {
Gateway = gateway;
GatewayOnLink = false;
Gateway = gateway.address;
} // optionalAttrs (gateway.metric != null) {
Metric = gateway.metric;
};
};
in optionalAttrs (gateway != [ ]) {
routes = override (map makeGateway gateway);
};
}];
};
}
));
genericDhcpNetworks = initrd: mkIf cfg.useDHCP {
networks."99-ethernet-default-dhcp" = {
@ -86,7 +88,7 @@ let
};
};
});
networks."40-${i.name}" = mkMerge [ (genericNetwork id) {
networks."40-${i.name}" = {
name = mkDefault i.name;
DHCP = mkForce (dhcpStr
(if i.useDHCP != null then i.useDHCP else (config.networking.useDHCP && i.ipv4.addresses == [ ])));
@ -158,7 +160,7 @@ let
} // optionalAttrs (i.mtu != null) {
MTUBytes = toString i.mtu;
};
}];
};
}));
bridgeNetworks = mkMerge (flip mapAttrsToList cfg.bridges (name: bridge: {
@ -169,10 +171,10 @@ let
};
};
networks = listToAttrs (forEach bridge.interfaces (bi:
nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
nameValuePair "40-${bi}" {
DHCP = mkOverride 0 (dhcpStr false);
networkConfig.Bridge = name;
} ])));
}));
}));
vlanNetworks = mkMerge (flip mapAttrsToList cfg.vlans (name: vlan: {
@ -183,9 +185,9 @@ let
};
vlanConfig.Id = vlan.id;
};
networks."40-${vlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
networks."40-${vlan.interface}" = {
vlan = [ name ];
} ]);
};
}));
in
@ -198,6 +200,7 @@ in
# initrd.systemd.network.enable. By setting the latter and not the
# former, the user retains full control over the configuration.
boot.initrd.systemd.network = mkMerge [
defaultGateways
(genericDhcpNetworks true)
interfaceNetworks
bridgeNetworks
@ -214,11 +217,11 @@ in
assertion = cfg.defaultGatewayWindowSize == null;
message = "networking.defaultGatewayWindowSize is not supported by networkd.";
} {
assertion = cfg.defaultGateway == null || cfg.defaultGateway.interface == null;
message = "networking.defaultGateway.interface is not supported by networkd.";
assertion = cfg.defaultGateway != null -> cfg.defaultGateway.interface != null;
message = "networking.defaultGateway.interface is not optional when using networkd.";
} {
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
message = "networking.defaultGateway6.interface is not supported by networkd.";
assertion = cfg.defaultGateway6 != null -> cfg.defaultGateway6.interface != null;
message = "networking.defaultGateway6.interface is not optional when using networkd.";
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd.";
@ -233,6 +236,7 @@ in
mkMerge [ {
enable = true;
}
defaultGateways
(genericDhcpNetworks false)
interfaceNetworks
bridgeNetworks
@ -302,10 +306,10 @@ in
};
networks = listToAttrs (forEach bond.interfaces (bi:
nameValuePair "40-${bi}" (mkMerge [ (genericNetwork (mkOverride 999)) {
nameValuePair "40-${bi}" {
DHCP = mkOverride 0 (dhcpStr false);
networkConfig.Bond = name;
} ])));
}));
})))
(mkMerge (flip mapAttrsToList cfg.macvlans (name: macvlan: {
netdevs."40-${name}" = {
@ -315,9 +319,9 @@ in
};
macvlanConfig = optionalAttrs (macvlan.mode != null) { Mode = macvlan.mode; };
};
networks."40-${macvlan.interface}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
networks."40-${macvlan.interface}" = {
macvlan = [ name ];
} ]);
};
})))
(mkMerge (flip mapAttrsToList cfg.fooOverUDP (name: fou: {
netdevs."40-${name}" = {
@ -362,9 +366,9 @@ in
})));
};
networks = mkIf (sit.dev != null) {
"40-${sit.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
"40-${sit.dev}" = {
tunnel = [ name ];
} ]);
};
};
})))
(mkMerge (flip mapAttrsToList cfg.greTunnels (name: gre: {
@ -383,9 +387,9 @@ in
});
};
networks = mkIf (gre.dev != null) {
"40-${gre.dev}" = (mkMerge [ (genericNetwork (mkOverride 999)) {
"40-${gre.dev}" = {
tunnel = [ name ];
} ]);
};
};
})))
vlanNetworks

View File

@ -128,7 +128,7 @@ in
boot.consoleLogLevel = 7;
# Prevent tests from accessing the Internet.
networking.defaultGateway = mkOverride 150 "";
networking.defaultGateway = mkOverride 150 null;
networking.nameservers = mkOverride 150 [ ];
system.requiredKernelConfig = with config.lib.kernelConfig; [

View File

@ -73,8 +73,9 @@ in rec {
# So let's depend just on the packages for now.
#(onFullSupported "nixos.tests.firefox-esr")
#(onFullSupported "nixos.tests.firefox")
(onFullSupported "nixpkgs.firefox-esr")
(onFullSupported "nixpkgs.firefox")
# Note: only -unwrapped variants have a Hydra job.
(onFullSupported "nixpkgs.firefox-esr-unwrapped")
(onFullSupported "nixpkgs.firefox-unwrapped")
(onFullSupported "nixos.tests.firewall")
(onFullSupported "nixos.tests.fontconfig-default-fonts")

View File

@ -757,6 +757,7 @@ in {
syncthing = handleTest ./syncthing.nix {};
syncthing-no-settings = handleTest ./syncthing-no-settings.nix {};
syncthing-init = handleTest ./syncthing-init.nix {};
syncthing-many-devices = handleTest ./syncthing-many-devices.nix {};
syncthing-relay = handleTest ./syncthing-relay.nix {};
systemd = handleTest ./systemd.nix {};
systemd-analyze = handleTest ./systemd-analyze.nix {};

View File

@ -113,8 +113,8 @@ let
networking = {
useNetworkd = networkd;
useDHCP = false;
defaultGateway = "192.168.1.1";
defaultGateway6 = "fd00:1234:5678:1::1";
defaultGateway = { address = "192.168.1.1"; interface = "enp1s0"; };
defaultGateway6 = { address = "fd00:1234:5678:1::1"; interface = "enp1s0"; };
interfaces.enp1s0.ipv4.addresses = [
{ address = "192.168.1.2"; prefixLength = 24; }
{ address = "192.168.1.3"; prefixLength = 32; }

View File

@ -0,0 +1,203 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
# This nixosTest is supposed to check the following:
#
# - Whether syncthing's API handles multiple requests for many devices, see
# https://github.com/NixOS/nixpkgs/issues/260262
#
# - Whether syncthing-init.service generated bash script removes devices and
# folders that are not present in the user's configuration, which is partly
# injected into the script. See also:
# https://github.com/NixOS/nixpkgs/issues/259256
#
let
# Just a long path not to copy paste
configPath = "/var/lib/syncthing/.config/syncthing/config.xml";
# We will iterate this and more attribute sets defined here, later in the
# testScript. Start with this, and distinguish these settings from other
# settings, as we check these differently with xmllint, due to the ID.
settingsWithId = {
devices = {
# All of the device IDs used here were generated by the following command:
#
# (${pkgs.syncthing}/bin/syncthing generate --home /tmp/foo\
# | grep ID: | sed 's/.*ID: *//') && rm -rf /tmp/foo
#
# See also discussion at:
# https://forum.syncthing.net/t/how-to-generate-dummy-device-ids/20927/8
test_device1.id = "IVTZ5XF-EF3GKFT-GS4AZLG-IT6H2ZP-6WK75SF-AFXQXJJ-BNRZ4N6-XPDKVAU";
test_device2.id = "5C35H56-Z2GFF4F-F3IVD4B-GJYVWIE-SMDBJZN-GI66KWP-52JIQGN-4AVLYAM";
test_device3.id = "XKLSKHE-BZOHV7B-WQZACEF-GTH36NP-6JSBB6L-RXS3M7C-EEVWO2L-C5B4OAJ";
test_device4.id = "APN5Q7J-35GZETO-5KCLF35-ZA7KBWK-HGWPBNG-FERF24R-UTLGMEX-4VJ6PQX";
test_device5.id = "D4YXQEE-5MK6LIK-BRU5QWM-ZRXJCK2-N3RQBJE-23JKTQQ-LYGDPHF-RFPZIQX";
test_device6.id = "TKMCH64-T44VSLI-6FN2YLF-URBZOBR-ATO4DYX-GEDRIII-CSMRQAI-UAQMDQG";
test_device7.id = "472EEBG-Q4PZCD4-4CX6PGF-XS3FSQ2-UFXBZVB-PGNXWLX-7FKBLER-NJ3EMAR";
test_device8.id = "HW6KUMK-WTBG24L-2HZQXLO-TGJSG2M-2JG3FHX-5OGYRUJ-T6L5NN7-L364QAZ";
test_device9.id = "YAE24AP-7LSVY4T-J74ZSEM-A2IK6RB-FGA35TP-AG4CSLU-ED4UYYY-2J2TDQU";
test_device10.id = "277XFSB-OFMQOBI-3XGNGUE-Y7FWRV3-QQDADIY-QIIPQ26-EOGTYKW-JP2EXAI";
test_device11.id = "2WWXVTN-Q3QWAAY-XFORMRM-2FDI5XZ-OGN33BD-XOLL42R-DHLT2ML-QYXDQAU";
};
# Generates a few folders with IDs and paths as written...
folders = lib.pipe 6 [
(builtins.genList (x: {
name = "/var/lib/syncthing/test_folder${builtins.toString x}";
value = {
id = "DontDeleteMe${builtins.toString x}";
};
}))
builtins.listToAttrs
];
};
# Non default options that we check later if were applied
settingsWithoutId = {
options = {
autoUpgradeIntervalH = 0;
urAccepted = -1;
};
gui = {
theme = "dark";
};
};
# Used later when checking whether settings were set in config.xml:
checkSettingWithId = { t # t for type
, id
, not ? false
}: ''
print("Searching for a ${t} with id ${id}")
configVal_${t} = machine.succeed(
"${pkgs.libxml2}/bin/xmllint "
"--xpath 'string(//${t}[@id=\"${id}\"]/@id)' ${configPath}"
)
print("${t}.id = {}".format(configVal_${t}))
assert "${id}" ${if not then "not" else ""} in configVal_${t}
'';
# Same as checkSettingWithId, but for 'options' and 'gui'
checkSettingWithoutId = { t # t for type
, n # n for name
, v # v for value
, not ? false
}: ''
print("checking whether setting ${t}.${n} is set to ${v}")
configVal_${t}_${n} = machine.succeed(
"${pkgs.libxml2}/bin/xmllint "
"--xpath 'string(/configuration/${t}/${n})' ${configPath}"
)
print("${t}.${n} = {}".format(configVal_${t}_${n}))
assert "${v}" ${if not then "not" else ""} in configVal_${t}_${n}
'';
# Removes duplication a bit to define this function for the IDs to delete -
# we check whether they were added after our script ran, and before the
# systemd unit's bash script ran, and afterwards - whether the systemd unit
# worked.
checkSettingsToDelete = {
not
}: lib.pipe IDsToDelete [
(lib.mapAttrsToList (t: id:
checkSettingWithId {
inherit t id;
inherit not;
}
))
lib.concatStrings
];
# These IDs are added to syncthing using the API, similarly to how the
# generated systemd unit's bash script does it. Only we add it and expect the
# systemd unit bash script to remove them when executed.
IDsToDelete = {
# Also created using the syncthing generate command above
device = "LZ2CTHT-3W2M7BC-CMKDFZL-DLUQJFS-WJR73PA-NZGODWG-DZBHCHI-OXTQXAK";
# Intentionally this is a substring of the IDs of the 'test_folder's, as
# explained in: https://github.com/NixOS/nixpkgs/issues/259256
folder = "DeleteMe";
};
addDeviceToDeleteScript = pkgs.writers.writeBash "syncthing-add-device-to-delete.sh" ''
set -euo pipefail
export RUNTIME_DIRECTORY=/tmp
curl() {
# get the api key by parsing the config.xml
while
! ${pkgs.libxml2}/bin/xmllint \
--xpath 'string(configuration/gui/apikey)' \
${configPath} \
>"$RUNTIME_DIRECTORY/api_key"
do sleep 1; done
(printf "X-API-Key: "; cat "$RUNTIME_DIRECTORY/api_key") >"$RUNTIME_DIRECTORY/headers"
${pkgs.curl}/bin/curl -sSLk -H "@$RUNTIME_DIRECTORY/headers" \
--retry 1000 --retry-delay 1 --retry-all-errors \
"$@"
}
curl -d ${lib.escapeShellArg (builtins.toJSON { deviceID = IDsToDelete.device;})} \
-X POST 127.0.0.1:8384/rest/config/devices
curl -d ${lib.escapeShellArg (builtins.toJSON { id = IDsToDelete.folder;})} \
-X POST 127.0.0.1:8384/rest/config/folders
'';
in {
name = "syncthing-init";
meta.maintainers = with lib.maintainers; [ doronbehar ];
nodes.machine = {
services.syncthing = {
enable = true;
overrideDevices = true;
overrideFolders = true;
settings = settingsWithoutId // settingsWithId;
};
};
testScript = ''
machine.wait_for_unit("syncthing-init.service")
'' + (lib.pipe settingsWithId [
# Check that folders and devices were added properly and that all IDs exist
(lib.mapAttrsRecursive (path: id:
checkSettingWithId {
# plural -> solitary
t = (lib.removeSuffix "s" (builtins.elemAt path 0));
inherit id;
}
))
# Get all the values we applied the above function upon
(lib.collect builtins.isString)
lib.concatStrings
]) + (lib.pipe settingsWithoutId [
# Check that all other syncthing.settings were added properly with correct
# values
(lib.mapAttrsRecursive (path: value:
checkSettingWithoutId {
t = (builtins.elemAt path 0);
n = (builtins.elemAt path 1);
v = (builtins.toString value);
}
))
# Get all the values we applied the above function upon
(lib.collect builtins.isString)
lib.concatStrings
]) + ''
# Run the script on the machine
machine.succeed("${addDeviceToDeleteScript}")
'' + (checkSettingsToDelete {
not = false;
}) + ''
# Useful for debugging later
machine.copy_from_vm("${configPath}", "before")
machine.systemctl("restart syncthing-init.service")
machine.wait_for_unit("syncthing-init.service")
'' + (checkSettingsToDelete {
not = true;
}) + ''
# Useful for debugging later
machine.copy_from_vm("${configPath}", "after")
# Copy the systemd unit's bash script, to inspect it for debugging.
mergeScript = machine.succeed(
"systemctl cat syncthing-init.service | "
"${pkgs.initool}/bin/initool g - Service ExecStart --value-only"
).strip() # strip from new lines
machine.copy_from_vm(mergeScript, "")
'';
})

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "flacon";
version = "11.2.0";
version = "11.3.0";
src = fetchFromGitHub {
owner = "flacon";
repo = "flacon";
rev = "v${version}";
sha256 = "sha256-pDTBA9HpFzwagz9B5AmaHzML361ON3XA+OIZJQyAuJo=";
sha256 = "sha256-jzpD8+zhIbOYgSNsoE1Pay+FiPXtRCd6Zz6HHkzWAkY=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];

View File

@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
];
propagatedBuildInputs = with python3Packages; [
beautifulsoup4 distutils_extra mpd2 notify-py pygobject3 requests
beautifulsoup4 distutils-extra mpd2 notify-py pygobject3 requests
];
postInstall = ''

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "pbpctrl";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "qzed";
repo = "${pname}";
rev = "v${version}";
hash = "sha256-CYroQb6x2d4ay3RZUSiSrcGDF0IL3ETZtHAFt18sa5s=";
hash = "sha256-91sdlnffL/HX+Y8e6T+ZCa7MAcf4fWE0NJGLgmK47o8=";
};
cargoHash = "sha256-+YtnPKbxZENL6/u36RFFZA6F+19qHDAVx6Q8FSB/LCU=";
cargoHash = "sha256-U4//GvAEhrfOrivwW/6PbKHdWXGIuilPl7Zo17wnwDY=";
nativeBuildInputs = [ pkg-config protobuf ];
buildInputs = [ dbus ];

View File

@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
propagatedBuildInputs = [
python3Packages.gst-python
python3Packages.distutils_extra
python3Packages.distutils-extra
python3Packages.setuptools
python3Packages.pygobject3
];

View File

@ -1229,8 +1229,8 @@ let
mktplcRef = {
name = "elixir-ls";
publisher = "JakeBecker";
version = "0.16.0";
sha256 = "sha256-PZUyOZ/U6OkGid+PYY2G/pAe5R5eumUibKNel9HBI+s=";
version = "0.17.0";
sha256 = "sha256-jb9WHX5jCdi4vzIRvh7i6ncicuISsEBBmlIHvqquqcA=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
@ -3714,8 +3714,8 @@ let
mktplcRef = {
name = "vim";
publisher = "vscodevim";
version = "1.25.2";
sha256 = "sha256-hy2Ks6oRc9io6vfgql9aFGjUiRzBCS4mGdDO3NqIFEg=";
version = "1.26.1";
sha256 = "sha256-zshuABicdkT52Nqj1L2RrfMziBRgO+R15fM32SCnyXI=";
};
meta = {
license = lib.licenses.mit;

View File

@ -94,6 +94,7 @@ let
grantleetheme = callPackage ./grantleetheme {};
gwenview = callPackage ./gwenview.nix {};
incidenceeditor = callPackage ./incidenceeditor.nix {};
itinerary = callPackage ./itinerary.nix {};
juk = callPackage ./juk.nix {};
k3b = callPackage ./k3b.nix {};
kaccounts-integration = callPackage ./kaccounts-integration.nix {};
@ -179,7 +180,9 @@ let
kontact = callPackage ./kontact.nix {};
konversation = callPackage ./konversation.nix {};
kontactinterface = callPackage ./kontactinterface.nix {};
kopeninghours = callPackage ./kopeninghours.nix {};
korganizer = callPackage ./korganizer.nix {};
kosmindoormap = callPackage ./kosmindoormap.nix {};
kpat = callPackage ./kpat.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {};
kpkpass = callPackage ./kpkpass.nix {};

View File

@ -0,0 +1,62 @@
{ mkDerivation
, lib
, extra-cmake-modules
, karchive
, kcalendarcore
, kcontacts
, kdbusaddons
, kfilemetadata
, kholidays
, kio
, kirigami-addons
, kitemmodels
, kitinerary
, kmime
, knotifications
, kosmindoormap
, kpkpass
, kpublictransport
, kunitconversion
, libquotient
, networkmanager-qt
, qqc2-desktop-style
, qtpositioning
, qtquickcontrols2
, shared-mime-info
}:
mkDerivation {
pname = "itinerary";
outputs = [ "out" "dev" ];
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info # for update-mime-database
];
buildInputs = [
karchive
kcalendarcore
kcontacts
kdbusaddons
kfilemetadata
kholidays
kio
kirigami-addons
kitemmodels
kitinerary
kmime
knotifications
kosmindoormap
kpkpass
kpublictransport
kunitconversion
libquotient
networkmanager-qt
qqc2-desktop-style
qtpositioning
qtquickcontrols2
];
meta.license = with lib.licenses; [ asl20 bsd3 cc0 lgpl2Plus ];
}

View File

@ -0,0 +1,28 @@
{ mkDerivation
, lib
, bison
, extra-cmake-modules
, flex
, kholidays
, ki18n
}:
mkDerivation {
pname = "kopeninghours";
outputs = [ "out" "dev" ];
nativeBuildInputs = [
bison
extra-cmake-modules
flex
];
buildInputs = [
kholidays
ki18n
];
meta = {
license = with lib.licenses; [ bsd3 cc0 lgpl2Plus ];
};
}

View File

@ -0,0 +1,30 @@
{ mkDerivation
, lib
, bison
, extra-cmake-modules
, flex
, ki18n
, kopeninghours
, kpublictransport
}:
mkDerivation {
pname = "kosmindoormap";
outputs = [ "out" "dev" ];
nativeBuildInputs = [
bison
extra-cmake-modules
flex
];
buildInputs = [
ki18n
kopeninghours
kpublictransport
];
meta = {
license = with lib.licenses; [ bsd2 bsd3 cc0 lgpl2Plus lgpl3Plus mit odbl ];
};
}

View File

@ -24,7 +24,6 @@
, qcoro
, qqc2-desktop-style
, qtgraphicaleffects
, qtkeychain
, qtlocation
, qtmultimedia
, qtquickcontrols2
@ -59,7 +58,6 @@ mkDerivation {
olm
qcoro
qtgraphicaleffects
qtkeychain
qtlocation
qtmultimedia
qtquickcontrols2

View File

@ -54,7 +54,7 @@ let
mv $out/bin/{${pname}-${version},${pname}}
source "${makeWrapper}/nix-support/setup-hook"
wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}"
install -Dm444 ${appimageContents}/@joplinapp-desktop.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/@joplinapp-desktop.png -t $out/share/pixmaps
substituteInPlace $out/share/applications/@joplinapp-desktop.desktop \

View File

@ -18,8 +18,8 @@
name = "april-asr";
owner = "abb128";
repo = "april-asr";
rev = "c2f138c674cad58e2708ecaddc95cc72e7f85549";
hash = "sha256-hZe2iss3BGdzeTM5FCp9wp6LaDOjtGJrZS5vB5F6uLg=";
rev = "3308e68442664552de593957cad0fa443ea183dd";
hash = "sha256-/cOZ2EcZu/Br9v0ComxnOegcEtlC9e8FYt3XHfah7mE=";
};
aprilModel = fetchurl {
@ -28,15 +28,15 @@
hash = "sha256-d+uV0PpPdwijfoaMImUwHubELcsl5jymPuo9nLrbwfM=";
};
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "livecaptions";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "abb128";
repo = "LiveCaptions";
rev = "v${version}";
hash = "sha256-RepuvqNPHRGENupPG5ezadn6f7FxEUYFDi4+DpNanuA=";
rev = "v${finalAttrs.version}";
hash = "sha256-x8NetSooIBlOKzKUMvDkPFtpD6EVGYECnaqWurySUDU=";
};
nativeBuildInputs = [
@ -72,5 +72,6 @@ in
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [Scrumplex];
mainProgram = "livecaptions";
};
}
})

View File

@ -82,7 +82,7 @@ python3.pkgs.buildPythonApplication rec {
pythonPath = with python3.pkgs; [
dbus-python
distutils_extra
distutils-extra
pyatspi
pycairo
pygobject3

View File

@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
};
nativeBuildInputs = with python3Packages; [
distutils_extra
distutils-extra
gobject-introspection
intltool
wrapGAppsHook

View File

@ -49,7 +49,7 @@ python3.pkgs.buildPythonApplication rec {
beautifulsoup4
configobj
dbus-python
distutils_extra
distutils-extra
httplib2
lxml
pillow

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "karmor";
version = "0.13.16";
version = "0.14";
src = fetchFromGitHub {
owner = "kubearmor";
repo = "kubearmor-client";
rev = "v${version}";
hash = "sha256-MEP7OlmsPe5qpdFBEOzCsJqLdZ5t7bMwPE/JhP9bGTY=";
hash = "sha256-5o2bIjO9eF+NDAAhVssHJXmKE/eTHMuEwz4F48OBKaE=";
};
vendorHash = "sha256-5r5UqWRmqrLcpTeYpezGxIMj9JnPaohhd1i7VvaBVGM=";
vendorHash = "sha256-e7VLDipadGa/Zzss2jgj0fyCKr92Sq2urshnFob4SSE=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -1,16 +0,0 @@
diff --git a/auxil/spicy/spicy/hilti/toolchain/CMakeLists.txt b/auxil/spicy/spicy/hilti/toolchain/CMakeLists.txt
index bafbabf1..0579f20a 100644
--- a/auxil/spicy/spicy/hilti/toolchain/CMakeLists.txt
+++ b/auxil/spicy/spicy/hilti/toolchain/CMakeLists.txt
@@ -188,11 +188,3 @@ install_headers(include hilti)
install_headers(${PROJECT_BINARY_DIR}/include/hilti hilti)
install(CODE "file(REMOVE \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_INCLUDEDIR}/hilti/hilti\")"
)# Get rid of symlink.
-
-##### Tests
-
-add_executable(hilti-toolchain-tests tests/main.cc tests/id-base.cc tests/visitor.cc tests/util.cc)
-hilti_link_executable_in_tree(hilti-toolchain-tests PRIVATE)
-target_link_libraries(hilti-toolchain-tests PRIVATE doctest)
-target_compile_options(hilti-toolchain-tests PRIVATE "-Wall")
-add_test(NAME hilti-toolchain-tests COMMAND ${PROJECT_BINARY_DIR}/bin/hilti-toolchain-tests)

View File

@ -14,8 +14,8 @@ let
src-cmake = fetchFromGitHub {
owner = "zeek";
repo = "cmake";
rev = "9f05362a5c33ed11dab37d2dedf74206d59d8f6d";
hash = "sha256-UfPPbwLJcI6+8EYLKRcBhxashEkCTJ2Gj1JOtFayot8=";
rev = "b191c36167bc0d6bd9f059b01ad4c99be98488d9";
hash = "sha256-h6xPCcdTnREeDsGQhWt2w4yJofpr7g4a8xCOB2e0/qQ=";
};
src-3rdparty = fetchFromGitHub {
owner = "zeek";
@ -28,17 +28,13 @@ let
src = fetchFromGitHub {
owner = "zeek";
repo = "actor-framework";
rev = "dbb68b4573736d7aeb69268cc73aa766c998b3dd";
hash = "sha256-RV2mKF3B47h/hDgK/D1UJN/ll2G5rcPkHaLVY1/C/Pg=";
rev = "4f580d89f35ae4d475505101623c8b022c0c6aa6";
hash = "sha256-8KGXg072lZiq/rC5ZuThDGRjeYvVVFBd3ea8yhUHOYY=";
};
checkPhase = ''
runHook preCheck
libcaf_core/caf-core-test
libcaf_io/caf-io-test
libcaf_openssl/caf-openssl-test
libcaf_net/caf-net-test --not-suites='net.*'
runHook postCheck
'';
cmakeFlags = old.cmakeFlags ++ [
"-DCAF_ENABLE_TESTING=OFF"
];
doCheck = false;
});
in
stdenv.mkDerivation {
@ -51,8 +47,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "zeek";
repo = "broker";
rev = "bc0205ce1fc06ddb91abb6744cb79c7eb846c23e";
hash = "sha256-bmyitJg3kRyIXm09IupLwZXbiGZfikkHcRcIexkS4/g=";
rev = "3df8d35732d51e3bd41db067260998e79e93f366";
hash = "sha256-37JIgbG12zd13YhfgVb4egzi80fUcZVj/s+yvsjcP7E=";
};
postUnpack = ''
rmdir $sourceRoot/cmake $sourceRoot/3rdparty
@ -78,6 +74,8 @@ stdenv.mkDerivation {
"-DPY_MOD_INSTALL_DIR=${placeholder "py"}/${python3.sitePackages}/"
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-faligned-allocation";
meta = with lib; {
description = "Zeek's Messaging Library";
homepage = "https://github.com/zeek/broker";

View File

@ -1,26 +0,0 @@
diff --git a/auxil/spicy/spicy/hilti/runtime/CMakeLists.txt b/auxil/spicy/spicy/hilti/runtime/CMakeLists.txt
index f154901c..76563717 100644
--- a/auxil/spicy/spicy/hilti/runtime/CMakeLists.txt
+++ b/auxil/spicy/spicy/hilti/runtime/CMakeLists.txt
@@ -69,7 +69,7 @@ target_compile_definitions(hilti-rt-objects PRIVATE "HILTI_RT_BUILD_TYPE_RELEASE
# Build hilti-rt-debug with debug flags.
string(REPLACE " " ";" cxx_flags_debug ${CMAKE_CXX_FLAGS_DEBUG})
target_compile_options(hilti-rt-debug-objects PRIVATE ${cxx_flags_debug})
-target_compile_options(hilti-rt-debug-objects PRIVATE "-UNDEBUG;-O0;-Wall")
+target_compile_options(hilti-rt-debug-objects PRIVATE "-UNDEBUG;-O0;-Wall;-U_FORTIFY_SOURCE")
target_compile_definitions(hilti-rt-debug-objects PRIVATE "HILTI_RT_BUILD_TYPE_DEBUG")
add_library(hilti-rt-tests-library-dummy1 SHARED src/tests/library-dummy.cc)
diff --git a/auxil/spicy/spicy/spicy/runtime/CMakeLists.txt b/auxil/spicy/spicy/spicy/runtime/CMakeLists.txt
index 20e7d291..9712341f 100644
--- a/auxil/spicy/spicy/spicy/runtime/CMakeLists.txt
+++ b/auxil/spicy/spicy/spicy/runtime/CMakeLists.txt
@@ -48,7 +48,7 @@ target_link_libraries(spicy-rt-objects PUBLIC hilti-rt-objects)
# Build spicy-rt-debug with debug flags.
string(REPLACE " " ";" cxx_flags_debug ${CMAKE_CXX_FLAGS_DEBUG})
target_compile_options(spicy-rt-debug-objects PRIVATE ${cxx_flags_debug})
-target_compile_options(spicy-rt-debug-objects PRIVATE "-UNDEBUG;-O0;-Wall")
+target_compile_options(spicy-rt-debug-objects PRIVATE "-UNDEBUG;-O0;-Wall;-U_FORTIFY_SOURCE")
target_compile_definitions(spicy-rt-debug-objects PRIVATE "HILTI_RT_BUILD_TYPE_DEBUG")
target_link_libraries(spicy-rt-debug-objects PUBLIC hilti-rt-debug-objects)

View File

@ -5,7 +5,6 @@
, cmake
, flex
, bison
, spicy-parser-generator
, openssl
, libkqueue
, libpcap
@ -26,18 +25,16 @@ let
in
stdenv.mkDerivation rec {
pname = "zeek";
version = "5.2.2";
version = "6.0.1";
src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "sha256-4MJBV8yWpy5LvkyyipOZdDjU6FV7F8INc/zWddRGFcY=";
sha256 = "sha256-z8MpoXBDkZXXBw7FOH2Vzdp+trhqyF7HB7ntDp1Xaik=";
};
strictDeps = true;
patches = [
./avoid-broken-tests.patch
./debug-runtime-undef-fortify-source.patch
./fix-installation.patch
];
@ -51,7 +48,6 @@ stdenv.mkDerivation rec {
buildInputs = [
broker
spicy-parser-generator
curl
gperftools
libmaxminddb
@ -64,28 +60,29 @@ stdenv.mkDerivation rec {
libkqueue
] ++ lib.optionals stdenv.isDarwin [
gettext
python3
];
postPatch = ''
patchShebangs ./auxil/spicy/spicy/scripts
substituteInPlace auxil/spicy/CMakeLists.txt --replace "hilti-toolchain-tests" ""
substituteInPlace auxil/spicy/spicy/hilti/CMakeLists.txt --replace "hilti-toolchain-tests" ""
patchShebangs ./ci/collect-repo-info.py
patchShebangs ./auxil/spicy/scripts
'';
cmakeFlags = [
"-DBroker_ROOT=${broker}"
"-DSPICY_ROOT_DIR=${spicy-parser-generator}"
"-DENABLE_PERFTOOLS=true"
"-DINSTALL_AUX_TOOLS=true"
"-DZEEK_ETC_INSTALL_DIR=/etc/zeek"
"-DZEEK_LOG_DIR=/var/log/zeek"
"-DZEEK_STATE_DIR=/var/lib/zeek"
"-DZEEK_SPOOL_DIR=/var/spool/zeek"
"-DDISABLE_JAVASCRIPT=ON"
] ++ lib.optionals stdenv.isLinux [
"-DLIBKQUEUE_ROOT_DIR=${libkqueue}"
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-faligned-allocation";
postInstall = ''
for file in $out/share/zeek/base/frameworks/notice/actions/pp-alarms.zeek $out/share/zeek/base/frameworks/notice/main.zeek; do
substituteInPlace $file \

View File

@ -1,18 +1,9 @@
From f8c42a712db42cfd00fca75be2ce63c3aad2aad1 Mon Sep 17 00:00:00 2001
From: Tobias Mayer <tobim@fastmail.fm>
Date: Sun, 13 Nov 2022 21:48:36 +0100
Subject: [PATCH] Fix installation
---
CMakeLists.txt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 846b65efd..d8b0be169 100644
index 4d3da0c90..d37931c1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,11 +81,6 @@ if ( NOT ZEEK_LOG_DIR )
set(ZEEK_LOG_DIR ${ZEEK_ROOT_DIR}/logs)
@@ -503,11 +503,6 @@ if (NOT MSVC)
set(HAVE_SUPERVISOR true)
endif ()
-install(DIRECTORY DESTINATION ${ZEEK_ETC_INSTALL_DIR})
@ -21,8 +12,68 @@ index 846b65efd..d8b0be169 100644
-install(DIRECTORY DESTINATION ${ZEEK_LOG_DIR})
-
configure_file(zeek-path-dev.in ${CMAKE_CURRENT_BINARY_DIR}/zeek-path-dev)
execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink
"${CMAKE_CURRENT_BINARY_DIR}/zeek-wrapper.in"
--
2.37.3
file(
@@ -1198,7 +1193,7 @@ if (INSTALL_ZKG)
@ONLY)
install(DIRECTORY DESTINATION var/lib/zkg)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zkg-config DESTINATION ${ZEEK_ZKG_CONFIG_DIR}
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zkg-config DESTINATION ${CMAKE_INSTALL_PREFIX}/etc/zeek/zkg
RENAME config)
endif ()
Submodule auxil/zeekctl contains modified content
diff --git a/auxil/zeekctl/CMakeLists.txt b/auxil/zeekctl/CMakeLists.txt
index 1ebe7c2..1435509 100644
--- a/auxil/zeekctl/CMakeLists.txt
+++ b/auxil/zeekctl/CMakeLists.txt
@@ -9,7 +9,7 @@ file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" VERSION LIMIT_COUNT 1)
set(PREFIX "${CMAKE_INSTALL_PREFIX}")
set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
set(ZEEKSCRIPTDIR "${ZEEK_SCRIPT_INSTALL_PATH}")
-set(ETC "${ZEEK_ETC_INSTALL_DIR}")
+set(ETC "${CMAKE_INSTALL_SYSCONFDIR}")
########################################################################
## Dependency Configuration
@@ -200,38 +200,9 @@ else ()
set(LOGS ${VAR}/logs)
endif ()
-if ( BINARY_PACKAGING_MODE AND NOT APPLE )
- # Packaging for Apple-based systems does not need special logic
- # because many probably find it more convenient for uninstalling
- # when everything resides under a common prefix (since there's no
- # native package management system)
- set(perms OWNER_READ OWNER_WRITE OWNER_EXECUTE
- GROUP_READ GROUP_WRITE GROUP_EXECUTE
- WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-
- install(DIRECTORY DESTINATION ${SPOOL}
- DIRECTORY_PERMISSIONS ${perms})
- install(DIRECTORY DESTINATION ${SPOOL}/tmp
- DIRECTORY_PERMISSIONS ${perms})
- install(DIRECTORY DESTINATION ${SPOOL}/brokerstore
- DIRECTORY_PERMISSIONS ${perms})
- install(DIRECTORY DESTINATION ${LOGS}
- DIRECTORY_PERMISSIONS ${perms})
- set(EMPTY_WORLD_DIRS
- "${EMPTY_WORLD_DIRS} ${SPOOL} ${SPOOL}/tmp ${LOGS}"
- CACHE STRING "" FORCE)
-else ()
- install(DIRECTORY DESTINATION ${SPOOL})
- install(DIRECTORY DESTINATION ${SPOOL}/tmp)
- install(DIRECTORY DESTINATION ${SPOOL}/brokerstore)
- install(DIRECTORY DESTINATION ${LOGS})
-endif ()
-
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/zeekctl-config.sh
"# Automatically generated. Do not edit.\n")
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zeekctl-config.sh DESTINATION ${SPOOL})
-InstallSymlink(${SPOOL}/zeekctl-config.sh
- ${PREFIX}/share/zeekctl/scripts/zeekctl-config.sh)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zeekctl-config.sh DESTINATION ${PREFIX}/share/zeekctl/scripts)
# A couple of configuration options that are needed are placed in here.
configure_file(etc/zeekctl.cfg.in

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "alfaview";
version = "9.0.3";
version = "9.2.0";
src = fetchurl {
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
sha256 = "sha256-Mmw4wWjU1Fr2dqonD3Vin8m6VX2dfDXbMDl+lTT4YT4=";
sha256 = "sha256-bvcKM9rBUHZFvoFKW/ksjrgqJfovcHaoDNEcSWhHJTU=";
};
nativeBuildInputs = [

View File

@ -6,7 +6,7 @@
, lib, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
, mkDerivation, qtbase, boost, zlib, qtscript
, phonon, libdbusmenu, qca-qt5
, phonon, libdbusmenu, qca-qt5, openldap
, withKDE ? true # enable KDE integration
, extra-cmake-modules
@ -47,7 +47,7 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ qtbase boost zlib ]
++ lib.optionals buildCore [qtscript qca-qt5 ]
++ lib.optionals buildCore [qtscript qca-qt5 openldap]
++ lib.optionals buildClient [libdbusmenu phonon]
++ lib.optionals (buildClient && withKDE) [
extra-cmake-modules kconfigwidgets kcoreaddons
@ -62,6 +62,7 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
++ edf static "STATIC"
++ edf monolithic "WANT_MONO"
++ edf enableDaemon "WANT_CORE"
++ edf enableDaemon "WITH_LDAP"
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE";

View File

@ -29,7 +29,7 @@ python3.pkgs.buildPythonApplication rec {
propagatedBuildInputs = [
gtk3
(python3.withPackages (ps: with ps; [ distutils_extra pypdf2 pygobject3 ]))
(python3.withPackages (ps: with ps; [ distutils-extra pypdf2 pygobject3 ]))
];
meta = {

View File

@ -1,30 +0,0 @@
{ lib, stdenv, fetchurl, libglade, gtk2, guile, libxml2, perl
, intltool, libtool, pkg-config }:
stdenv.mkDerivation rec {
pname = "drgeo";
version = "1.1.0";
hardeningDisable = [ "format" ];
src = fetchurl {
url = "mirror://sourceforge/ofset/${pname}-${version}.tar.gz";
sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc";
};
patches = [ ./struct.patch ];
nativeBuildInputs = [ pkg-config intltool ];
buildInputs = [libglade gtk2 guile libxml2
perl libtool ];
prebuild = ''
cp drgeo.desktop.in drgeo.desktop
'';
meta = with lib; {
description = "Interactive geometry program";
homepage = "https://sourceforge.net/projects/ofset";
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -1,68 +0,0 @@
-- drgeo-1.1.0/debian/patches/00list
++ drgeo-1.1.0/debian/patches/00list
@ -7 +7 @@
07-fix_ftbfs-gcc-4.5.dpatch
nly in patch2:
nchanged:
-- drgeo-1.1.0.orig/debian/patches/07-fix_ftbfs-gcc-4.5.dpatch
++ drgeo-1.1.0/debian/patches/07-fix_ftbfs-gcc-4.5.dpatch
@ -0,0 +1,58 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 07-fix_ftbfs-gcc-4.5.dpatch by Fabrice Coutadeur <fabric...@ubuntu.com>
##
## Description: fix FTBFS with gcc 4.5 with undefined reference to
## `drgeoDialogData'
## Author: Petr Gajdos <pgaj...@suse.cz>
## Origin: https://build.opensuse.org/package/files?package=drgeo&project=openSUSE%3A11.3%3AContrib
...@dpatch@
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_dialog.cc drgeo-1.1.0/geo/drgeo_dialog.cc
--- drgeo-1.1.0~/geo/drgeo_dialog.cc 2003-10-27 10:17:25.000000000 +0000
+++ drgeo-1.1.0/geo/drgeo_dialog.cc 2010-11-13 07:26:03.258908003 +0000
@@ -38,12 +38,7 @@
// Used in the style dialod callback, I know it's ugly, but so easy
static drgeoFigure *selected_figure;
-struct
-{
- drgeoPoint mouse;
- drgeoFigure *figure;
-}
-drgeoDialogData;
+DialogData drgeoDialogData;
static void drgeo_edit_dialog_cb (GtkWidget * dialog,
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_dialog.h drgeo-1.1.0/geo/drgeo_dialog.h
--- drgeo-1.1.0~/geo/drgeo_dialog.h 2003-06-12 22:30:23.000000000 +0000
+++ drgeo-1.1.0/geo/drgeo_dialog.h 2010-11-13 07:26:03.258908003 +0000
@@ -34,4 +34,11 @@
}
#endif /* __cplusplus */
+
+typedef struct
+{
+ drgeoPoint mouse;
+ drgeoFigure *figure;
+} DialogData;
+
#endif
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_figure.cc drgeo-1.1.0/geo/drgeo_figure.cc
--- drgeo-1.1.0~/geo/drgeo_figure.cc 2005-07-14 07:30:01.000000000 +0000
+++ drgeo-1.1.0/geo/drgeo_figure.cc 2010-11-13 07:26:03.258908003 +0000
@@ -48,12 +48,7 @@
#include "drgeo_dialog.h"
#include "traite.h"
-extern struct
-{
- drgeoPoint mouse;
- drgeoFigure *figure;
-}
-drgeoDialogData;
+extern DialogData drgeoDialogData;
typedef struct drgeoSearchValue
{

View File

@ -11,17 +11,18 @@
, uhdm
, antlr4
, capnproto
, nlohmann_json
}:
stdenv.mkDerivation (finalAttrs: {
pname = "surelog";
version = "1.73";
version = "1.76";
src = fetchFromGitHub {
owner = "chipsalliance";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-z47Eqs3fP53pbEb3s66CqMiO4UpEwox+fKakxtRBakQ=";
hash = "sha256-Vg9NZrgzFRVIsEbZQe8DItDhFOVG1XZoQWBrLzVNwLU=";
fetchSubmodules = false; # we use all dependencies from nix
};
@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
uhdm
capnproto
antlr4.runtime.cpp
nlohmann_json
];
cmakeFlags = [
@ -50,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
"-DSURELOG_USE_HOST_UHDM=On"
"-DSURELOG_USE_HOST_GTEST=On"
"-DSURELOG_USE_HOST_ANTLR=On"
"-DSURELOG_USE_HOST_JSON=On"
"-DANTLR_JAR_LOCATION=${antlr4.jarLocation}"
];

View File

@ -9,13 +9,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "UHDM";
version = "1.74";
# When updating this package, also consider updating science/logic/surelog
version = "1.76";
src = fetchFromGitHub {
owner = "chipsalliance";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-DiwLo/3RcXY+wG2+7aDx4p6UuQm/eNX/kG35TJzIbe0=";
hash = "sha256-Q/u5lvILYDT5iScES3CTPIm/B5apoOHXOQmCsZ73NlU=";
fetchSubmodules = false; # we use all dependencies from nix
};

View File

@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
fuzzywuzzy
jsbeautifier
pycryptodome
pySmartDL
pysmartdl
pyqt5
requests
requests-cache

View File

@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "1jk6khwgdv3nmagdgp5ivz3156pl0ljhf7b6i4b52w1h5ywsg9ah";
};
nativeBuildInputs = [ gobject-introspection python3Packages.distutils_extra intltool wrapGAppsHook ];
nativeBuildInputs = [ gobject-introspection python3Packages.distutils-extra intltool wrapGAppsHook ];
buildInputs = [
gst_all_1.gstreamer
gst_all_1.gst-plugins-base

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.2";
version = "1.1.3";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-hRBF0Xl1SSoW+vbp9c1iCuFBVIzLtueNJaqoFMF8lJ4=";
hash = "sha256-RKAIZNty+iXeMfsjDOlOyvngx4XU5CSEi0Wap21lFAI=";
};
nativeBuildInputs = [
@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
libqt5pas
];
NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath finalAttrs.buildInputs}";
env.NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath finalAttrs.buildInputs}";
postPatch = ''
patchShebangs build.sh install/linux/install.sh
@ -63,12 +63,13 @@ stdenv.mkDerivation (finalAttrs: {
runHook postInstall
'';
meta = with lib; {
meta = {
homepage = "https://doublecmd.sourceforge.io/";
description = "Two-panel graphical file manager written in Pascal";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; linux;
license = lib.licenses.gpl2Plus;
mainProgram = "doublecmd";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.linux;
};
})
# TODO: deal with other platforms too

View File

@ -0,0 +1,86 @@
{ lib
, stdenv
, fetchurl
, cmake
, cmocka
, gmp
, gperf
, libtap
, ninja
, perl
, pkg-config
, python3
, rinutils
}:
stdenv.mkDerivation (finalAttrs: {
pname = "freecell-solver";
version = "6.8.0";
src = fetchurl {
url = "https://fc-solve.shlomifish.org/downloads/fc-solve/freecell-solver-${finalAttrs.version}.tar.xz";
hash = "sha256-lfeKSxXS+jQCcf5PzFNUBlloGRuiLbDUDoGykbjVPTI=";
};
outputs = [ "out" "dev" "doc" "man" ];
pythonPath = with python3.pkgs; [
cffi
pysol-cards
random2
six
];
nativeBuildInputs = [
cmake
cmocka
gperf
ninja
perl
pkg-config
python3
]
++ (with perl.pkgs; TaskFreecellSolverTesting.buildInputs ++ [
GamesSolitaireVerify
HTMLTemplate
Moo
PathTiny
StringShellQuote
TaskFreecellSolverTesting
TemplateToolkit
TextTemplate
])
++ [ python3.pkgs.wrapPython ]
++ finalAttrs.pythonPath;
buildInputs = [
gmp
libtap
rinutils
];
strictDeps = true;
cmakeFlags = [
(lib.cmakeBool "FCS_WITH_TEST_SUITE" false) # needs freecell-solver
(lib.cmakeBool "BUILD_STATIC_LIBRARY" false)
];
postFixup = ''
wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
'';
meta = {
homepage = "https://fc-solve.shlomifish.org/";
description = "A FreeCell automatic solver";
longDescription = ''
FreeCell Solver is a program that automatically solves layouts of Freecell
and similar variants of Card Solitaire such as Eight Off, Forecell, and
Seahaven Towers, as well as Simple Simon boards.
'';
license = lib.licenses.mit;
mainProgram = "fc-solve";
maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "matrix-commander-rs";
version = "0.1.32";
version = "0.3.0";
src = fetchFromGitHub {
owner = "8go";
repo = "matrix-commander-rs";
rev = "refs/tags/v${version}";
hash = "sha256-Bp4bP77nWi0XLhI4/wsry6fEW2BR90Y+XqV/WCinwJo=";
hash = "sha256-aecmd7LtHowH+nqLcRNDSfAxZDKtBTrG1KNyRup8CYI=";
};
cargoHash = "sha256-HPkpCnlSZ9sY40gc4dLOdcBhATvJVeqk7GJ0+XqjHVk=";
cargoHash = "sha256-2biUWLWE0XtmB79yxFahQqLmqwH/6q50IhkcbUrBifU=";
nativeBuildInputs = [
pkg-config

View File

@ -0,0 +1,138 @@
{ lib
, stdenv
, stdenvNoCC
, fetchFromGitHub
, substituteAll
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, vencord
, electron
, pipewire
, libicns
, jq
, moreutils
, nodePackages
}:
stdenv.mkDerivation rec {
pname = "vesktop";
version = "0.3.3";
src = fetchFromGitHub {
owner = "Vencord";
repo = "Vesktop";
rev = "v${version}";
sha256 = "sha256-Njs3tACxUyRolYUtS/q2lITIQnUBFXVXWZEfQ66HpPM=";
};
pnpm-deps = stdenvNoCC.mkDerivation {
pname = "${pname}-pnpm-deps";
inherit src version patches ELECTRON_SKIP_BINARY_DOWNLOAD;
nativeBuildInputs = [
jq
moreutils
nodePackages.pnpm
];
# https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56
installPhase = ''
export HOME=$(mktemp -d)
pnpm config set store-dir $out
pnpm install --frozen-lockfile --ignore-script
rm -rf $out/v3/tmp
for f in $(find $out -name "*.json"); do
sed -i -E -e 's/"checkedAt":[0-9]+,//g' $f
jq --sort-keys . $f | sponge $f
done
'';
dontFixup = true;
outputHashMode = "recursive";
outputHash = "sha256-vInaSLGahRUgvwAeUcI+oV84L+tgNRCmfFpE0aUD4X4=";
};
nativeBuildInputs = [
copyDesktopItems
nodePackages.pnpm
nodePackages.nodejs
makeWrapper
];
patches = [
(substituteAll { inherit vencord; src = ./use_system_vencord.patch; })
];
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
preBuild = ''
export HOME=$(mktemp -d)
export STORE_PATH=$(mktemp -d)
cp -r ${pnpm-deps}/* "$STORE_PATH"
chmod -R +w "$STORE_PATH"
pnpm config set store-dir "$STORE_PATH"
pnpm install --offline --frozen-lockfile --ignore-script
patchShebangs node_modules/{*,.*}
'';
postBuild = ''
pnpm build
# using `pnpm exec` here apparently makes it ignore ELECTRON_SKIP_BINARY_DOWNLOAD
./node_modules/.bin/electron-builder \
--dir \
-c.electronDist=${electron}/libexec/electron \
-c.electronVersion=${electron.version}
'';
# this is consistent with other nixpkgs electron packages and upstream, as far as I am aware
# yes, upstream really packages it as "vesktop" but uses "vencorddesktop" file names
installPhase =
let
libPath = lib.makeLibraryPath [ pipewire ];
in
''
runHook preInstall
mkdir -p $out/opt/Vesktop/resources
cp dist/linux-unpacked/resources/app.asar $out/opt/Vesktop/resources
pushd build
${libicns}/bin/icns2png -x icon.icns
for file in icon_*x32.png; do
file_suffix=''${file//icon_}
install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vencorddesktop.png
done
makeWrapper ${electron}/bin/electron $out/bin/vencorddesktop \
--prefix LD_LIBRARY_PATH : ${libPath} \
--add-flags $out/opt/Vesktop/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "vencorddesktop";
desktopName = "Vesktop";
exec = "vencorddesktop %U";
icon = "vencorddesktop";
startupWMClass = "VencordDesktop";
genericName = "Internet Messenger";
keywords = [ "discord" "vencord" "electron" "chat" ];
})
];
meta = with lib; {
description = "An alternate client for Discord with Vencord built-in";
homepage = "https://github.com/Vencord/Vesktop";
license = licenses.gpl3Only;
maintainers = with maintainers; [ getchoo Scrumplex vgskye ];
platforms = platforms.linux;
mainProgram = "vencorddesktop";
};
}

View File

@ -0,0 +1,13 @@
diff --git a/src/main/constants.ts b/src/main/constants.ts
index d5c5fa6..a1b32f1 100644
--- a/src/main/constants.ts
+++ b/src/main/constants.ts
@@ -16,7 +16,7 @@ export const VENCORD_THEMES_DIR = join(DATA_DIR, "themes");
// needs to be inline require because of circular dependency
// as otherwise "DATA_DIR" (which is used by ./settings) will be uninitialised
export const VENCORD_FILES_DIR =
- (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || join(DATA_DIR, "vencordDist");
+ (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || "@vencord@";
export const USER_AGENT = `Vesktop/${app.getVersion()} (https://github.com/Vencord/Vesktop)`;

View File

@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
buildNpmPackage rec {
pname = if set != null then "iosevka-${set}" else "iosevka";
version = "27.2.0";
version = "27.2.1";
src = fetchFromGitHub {
owner = "be5invis";
repo = "iosevka";
rev = "v${version}";
hash = "sha256-jRUwXnsYzM4BH+tEM6xuoB3/MFqbnR0deT3Slgkemvs=";
hash = "sha256-+d6pONsAoA0iI7VCuDHBGGjZPaxgLToouQpFTaX6edY=";
};
npmDepsHash = "sha256-6ikjJScy6iL8lZ9eE2JBz7+egRCNli4XC9hnEalX408=";
npmDepsHash = "sha256-c/QvrDjjoq2o1le++e7D0Lb18wyZc/q6ct++rkgYtzg=";
nativeBuildInputs = [
remarshal

View File

@ -52,6 +52,10 @@ stdenv.mkDerivation rec {
sha256 = "O4uhWBpHpun1f2tqoI8PtnVJxgEhqiTjEUDpOUe4NiI=";
};
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
appstream
desktop-file-utils

View File

@ -343,11 +343,5 @@
"batime@martin.zurowietz.de",
"batterytime@typeof.pw"
]
},
"45": {
"applications-menu": [
"apps-menu@gnome-shell-extensions.gcampax.github.com",
"Applications_Menu@rmy.pobox.com"
]
}
}

View File

@ -62,10 +62,9 @@ in rec {
gnome42Extensions = mapUuidNames (produceExtensionsList "42");
gnome43Extensions = mapUuidNames (produceExtensionsList "43");
gnome44Extensions = mapUuidNames (produceExtensionsList "44");
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
# Keep the last three versions in here
gnomeExtensions = lib.trivial.pipe (gnome43Extensions // gnome44Extensions // gnome45Extensions) [
gnomeExtensions = lib.trivial.pipe (gnome42Extensions // gnome43Extensions // gnome44Extensions) [
# Apply some custom patches for automatically packaged extensions
(callPackage ./extensionOverrides.nix {})
# Add all manually packaged extensions

View File

@ -6,17 +6,12 @@
# - Make a separate section for each GNOME version. Collisions will come back eventually
# as the extensions are updated.
{
# ####### GNOME 45 #######
# ####### GNOME 44 #######
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 44 #######
"workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
"horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
@ -35,6 +30,10 @@
"batime@martin.zurowietz.de" = "battery-time";
"batterytime@typeof.pw" = "battery-time-2";
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 43 #######
"lockkeys@vaina.lt" = "lock-keys";

File diff suppressed because one or more lines are too long

View File

@ -20,7 +20,6 @@ supported_versions = {
"42": "42",
"43": "43",
"44": "44",
"45": "45",
}
# Some type alias to increase readability of complex compound types

View File

@ -16,11 +16,11 @@
stdenv.mkDerivation rec {
pname = "caja";
version = "1.26.1";
version = "1.26.3";
src = fetchurl {
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "MP1ubwCjggD24uiYrX+nl4drsGDx0DQd0vc5MnnhTAc=";
sha256 = "gT7fCKNvmV7DwVBBMf+K+70CH24VhmQ/5dztXnPleQ0=";
};
nativeBuildInputs = [

View File

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "mate-system-monitor";
version = "1.26.0";
version = "1.26.1";
src = fetchurl {
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "13rkrk7c326ng8164aqfp6i7334n7zrmbg61ncpjprbrvlx2qiw3";
sha256 = "HrX7m2y0qK2DCyboR6m70B1WiqvTg8Yo7p8IQJuJKOc=";
};
nativeBuildInputs = [

View File

@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [
wrapGAppsHook
intltool
python3Packages.distutils_extra
python3Packages.distutils-extra
gobject-introspection
];

View File

@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
};
nativeBuildInputs = [
python3Packages.distutils_extra
python3Packages.distutils-extra
file
which
intltool

View File

@ -1,196 +0,0 @@
{ lib
, stdenv
, fetchpatch
, fetchurl
, tzdata
, substituteAll
, iana-etc
, Security
, Foundation
, xcbuild
, mailcap
, buildPackages
, pkgsBuildTarget
, threadsCross
, testers
, skopeo
, buildGo118Module
}:
let
useGccGoBootstrap = stdenv.buildPlatform.isMusl || stdenv.buildPlatform.isRiscV;
goBootstrap = if useGccGoBootstrap then buildPackages.gccgo12 else buildPackages.callPackage ./bootstrap116.nix { };
skopeoTest = skopeo.override { buildGoModule = buildGo118Module; };
goarch = platform: {
"aarch64" = "arm64";
"arm" = "arm";
"armv5tel" = "arm";
"armv6l" = "arm";
"armv7l" = "arm";
"i686" = "386";
"mips" = "mips";
"mips64el" = "mips64le";
"mipsel" = "mipsle";
"powerpc64le" = "ppc64le";
"riscv64" = "riscv64";
"s390x" = "s390x";
"x86_64" = "amd64";
}.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}");
# We need a target compiler which is still runnable at build time,
# to handle the cross-building case where build != host == target
targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
isCross = stdenv.buildPlatform != stdenv.targetPlatform;
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.18.10";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
sha256 = "sha256-nO3MpYhF3wyUdK4AJ0xEqVyd+u+xMvxZkhwox8EG+OY=";
};
strictDeps = true;
buildInputs = [ ]
++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
depsTargetTargetPropagated = lib.optionals stdenv.targetPlatform.isDarwin [ Foundation Security xcbuild ];
depsBuildTarget = lib.optional isCross targetCC;
depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
postPatch = ''
patchShebangs .
'';
patches = [
(substituteAll {
src = ./iana-etc-1.17.patch;
iana = iana-etc;
})
# Patch the mimetype database location which is missing on NixOS.
# but also allow static binaries built with NixOS to run outside nix
(substituteAll {
src = ./mailcap-1.17.patch;
inherit mailcap;
})
# prepend the nix path to the zoneinfo files but also leave the original value for static binaries
# that run outside a nix server
(substituteAll {
src = ./tzdata-1.17.patch;
inherit tzdata;
})
./remove-tools-1.11.patch
./go_no_vendor_checks-1.16.patch
# runtime: support riscv64 SV57 mode
(fetchpatch {
url = "https://github.com/golang/go/commit/1e3c19f3fee12e5e2b7802a54908a4d4d03960da.patch";
sha256 = "sha256-mk/9gXwQEcAkiRemF6GiNU0c0fhDR29/YcKgQR7ONTA=";
})
];
GOOS = stdenv.targetPlatform.parsed.kernel.name;
GOARCH = goarch stdenv.targetPlatform;
# GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
# Go will nevertheless build a for host system that we will copy over in
# the install phase.
GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
GOHOSTARCH = goarch stdenv.buildPlatform;
# {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
# to be different from CC/CXX
CC_FOR_TARGET =
if isCross then
"${targetCC}/bin/${targetCC.targetPrefix}cc"
else
null;
CXX_FOR_TARGET =
if isCross then
"${targetCC}/bin/${targetCC.targetPrefix}c++"
else
null;
GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
CGO_ENABLED = 1;
GOROOT_BOOTSTRAP = if useGccGoBootstrap then goBootstrap else "${goBootstrap}/share/go";
buildPhase = ''
runHook preBuild
export GOCACHE=$TMPDIR/go-cache
# this is compiled into the binary
export GOROOT_FINAL=$out/share/go
export PATH=$(pwd)/bin:$PATH
${lib.optionalString isCross ''
# Independent from host/target, CC should produce code for the building system.
# We only set it when cross-compiling.
export CC=${buildPackages.stdenv.cc}/bin/cc
''}
ulimit -a
pushd src
./make.bash
popd
runHook postBuild
'';
preInstall = ''
rm -r pkg/obj
# Contains the wrong perl shebang when cross compiling,
# since it is not used for anything we can deleted as well.
rm src/regexp/syntax/make_perl_groups.pl
'' + (if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then ''
mv bin/*_*/* bin
rmdir bin/*_*
${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) ''
rm -rf pkg/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH} pkg/tool/${finalAttrs.GOHOSTOS}_${finalAttrs.GOHOSTARCH}
''}
'' else lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) ''
rm -rf bin/*_*
${lib.optionalString (!(finalAttrs.GOHOSTARCH == finalAttrs.GOARCH && finalAttrs.GOOS == finalAttrs.GOHOSTOS)) ''
rm -rf pkg/${finalAttrs.GOOS}_${finalAttrs.GOARCH} pkg/tool/${finalAttrs.GOOS}_${finalAttrs.GOARCH}
''}
'');
installPhase = ''
runHook preInstall
mkdir -p $GOROOT_FINAL
cp -a bin pkg src lib misc api doc $GOROOT_FINAL
mkdir -p $out/bin
ln -s $GOROOT_FINAL/bin/* $out/bin
runHook postInstall
'';
disallowedReferences = [ goBootstrap ];
passthru = {
inherit goBootstrap skopeoTest;
tests = {
skopeo = testers.testVersion { package = skopeoTest; };
version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "go version";
version = "go${finalAttrs.version}";
};
};
};
meta = with lib; {
changelog = "https://go.dev/doc/devel/release#go${lib.versions.majorMinor finalAttrs.version}";
description = "The Go Programming language";
homepage = "https://go.dev/";
license = licenses.bsd3;
maintainers = teams.golang.members;
platforms = platforms.darwin ++ platforms.linux;
};
})

View File

@ -1,12 +0,0 @@
diff --git a/src/time/zoneinfo_unix.go b/src/time/zoneinfo_unix.go
index 4ea029dbde..af94a4d90b 100644
--- a/src/time/zoneinfo_unix.go
+++ b/src/time/zoneinfo_unix.go
@@ -20,6 +20,7 @@ import (
// Many systems use /usr/share/zoneinfo, Solaris 2 has
// /usr/share/lib/zoneinfo, IRIX 6 has /usr/lib/locale/TZ.
var zoneSources = []string{
+ "@tzdata@/share/zoneinfo/",
"/usr/share/zoneinfo/",
"/usr/share/lib/zoneinfo/",
"/usr/lib/locale/TZ/",

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "lobster";
version = "2023.12";
version = "2023.13";
src = fetchFromGitHub {
owner = "aardappel";
repo = "lobster";
rev = "v${version}";
sha256 = "sha256-0hEcbLq8thlgMtCcWt8SR5XsNgQfNH4+qdE0cHfRveo=";
sha256 = "sha256-7lMIIJ3iduyxZKwK65tle3c+az2G2Mpi4JwAeCCsTxw=";
};
nativeBuildInputs = [ cmake ];

View File

@ -42,6 +42,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -47,6 +47,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -49,6 +49,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -51,6 +51,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -38,6 +38,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -38,6 +38,7 @@ let
buildPhase = ''
runHook preBuild
export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES
export GRADLE_USER_HOME=$(mktemp -d)
ln -s $config gradle.properties
export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"

View File

@ -7,20 +7,16 @@
, yosys
, zlib
, yosys-symbiflow
, uhdm
, capnproto
, surelog
, antlr4
, pkg-config
}: let
version = "1.20230808";
version = "1.20230906";
src = fetchFromGitHub {
owner = "chipsalliance";
repo = "yosys-f4pga-plugins";
rev = "v${version}";
hash = "sha256-wksAHLgLjVZE4Vk2QVcJN1mnQ9mxWCZHk55oO99cVJ0=";
hash = "sha256-XIn5wFw8i2njDN0Arua5BdZ0u1q6a/aJAs48YICehsc=";
};
# Supported symbiflow plugins.
@ -37,7 +33,6 @@
# "ql-qlf"
"sdc"
"xdc"
"systemverilog"
];
static_gtest = gtest.overrideAttrs (old: {
@ -56,10 +51,6 @@ in lib.genAttrs plugins (plugin: stdenv.mkDerivation (rec {
yosys
readline
zlib
uhdm
surelog
capnproto
antlr4.runtime.cpp
];
# xdc has an incorrect path to a test which has yet to be patched

View File

@ -5,12 +5,15 @@
, asciidoc
, pkg-config
, inetutils
, tcl
, sqlite
, readline
, SDL
, SDL_gfx
, openssl
, SDLSupport ? true
}:
stdenv.mkDerivation rec {
@ -27,15 +30,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
pkg-config
asciidoc
tcl
];
buildInputs = [
sqlite
readline
openssl
] ++ (lib.optionals SDLSupport [
SDL
SDL_gfx
openssl
];
]);
configureFlags = [
"--shared"
@ -44,11 +49,10 @@ stdenv.mkDerivation rec {
"--with-ext=binary"
"--with-ext=sqlite3"
"--with-ext=readline"
"--with-ext=sdl"
"--with-ext=json"
"--enable-utf8"
"--ipv6"
];
] ++ (lib.optional SDLSupport "--with-ext=sdl");
enableParallelBuilding = true;
@ -58,6 +62,9 @@ stdenv.mkDerivation rec {
rm tests/exec2.test
# requires internet access
rm tests/ssl.test
# test fails due to timing in some environments
# https://github.com/msteveb/jimtcl/issues/282
rm tests/timer.test
'';
# test posix-1.6 needs the "hostname" command

View File

@ -1,5 +1,5 @@
# similar to interpreters/python/default.nix
{ stdenv, lib, callPackage, fetchFromGitHub, fetchurl, fetchpatch, makeBinaryWrapper }:
{ stdenv, config, lib, callPackage, fetchFromGitHub, fetchurl, fetchpatch, makeBinaryWrapper }:
let
@ -39,7 +39,13 @@ let
selfHostHost = luaOnHostForHost.pkgs;
selfTargetTarget = luaOnTargetForTarget.pkgs or {};
};
aliases = final: prev:
lib.optionalAttrs config.allowAliases
(import ../../lua-modules/aliases.nix lib final prev);
extensions = lib.composeManyExtensions [
aliases
generatedPackages
overriddenPackages
overrides

View File

@ -2,12 +2,12 @@
let
base = (callPackage ./generic.nix (_args // {
version = "8.3.0RC3";
version = "8.3.0RC4";
hash = null;
})).overrideAttrs (oldAttrs: {
src = fetchurl {
url = "https://downloads.php.net/~jakub/php-8.3.0RC3.tar.xz";
hash = "sha256-64JwXVR7WzfeXhq5qOW0cqpzcX09G9t9R2daQyRyRMQ=";
url = "https://downloads.php.net/~eric/php-8.3.0RC4.tar.xz";
hash = "sha256-i02aivxsRIRo5ZFrzKCGAOXffvbhPiWnMFEGqQMr5h0=";
};
});
in

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "ctre";
version = "3.8";
version = "3.8.1";
src = fetchFromGitHub {
owner = "hanickadot";
repo = "compile-time-regular-expressions";
rev = "v${version}";
hash = "sha256-oGJHSyvcgvBJh5fquK6dU70czVg4txcGTuicvrTK2hc=";
hash = "sha256-EzAPIqdfktrZ+FTEzz52nRNnH7CG59ZE9Ww7qMkAAbY=";
};
nativeBuildInputs = [ cmake ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "libayatana-indicator";
version = "0.9.3";
version = "0.9.4";
src = fetchFromGitHub {
owner = "AyatanaIndicators";
repo = "libayatana-indicator";
rev = version;
sha256 = "sha256-tOZcrcuZowqDg/LRYTY6PCxKnpEd67k4xAHrIKupunI=";
sha256 = "sha256-OsguZ+jl274uPSCTFHq/ZwUE3yHR7MlUPHCpfmn1F7A=";
};
nativeBuildInputs = [ pkg-config cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "libite";
version = "2.6.0";
version = "2.6.1";
src = fetchFromGitHub {
owner = "troglobit";
repo = "libite";
rev = "v${version}";
sha256 = "sha256-hdV8g/BFTI/QfEgVsf942SR0G5xdqP/+h+vnydt4kf0=";
sha256 = "sha256-q1NoHSiPmFPwkTJqg3L5fEBXF/JjRWvA9e4d532ILE8=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View File

@ -4,6 +4,8 @@ stdenv.mkDerivation rec {
pname = "libquotient";
version = "0.8.1.2";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "quotient-im";
repo = "libQuotient";
@ -11,10 +13,10 @@ stdenv.mkDerivation rec {
hash = "sha256-qJTikc42sFUlb4g0sAEg6v9d4k1lhbn3MZPvghm56E8=";
};
buildInputs = [ olm openssl qtbase qtmultimedia qtkeychain ];
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ qtbase qtkeychain olm openssl qtmultimedia ];
cmakeFlags = [
"-DQuotient_ENABLE_E2EE=ON"
];
@ -28,9 +30,14 @@ stdenv.mkDerivation rec {
dontWrapQtApps = true;
postInstall = ''
# causes cyclic dependency but is not used
rm $out/share/ndk-modules/Android.mk
'';
meta = with lib; {
description = "A Qt5/Qt6 library to write cross-platform clients for Matrix";
homepage = "https://matrix.org/docs/projects/sdk/quotient";
homepage = "https://quotient-im.github.io/libQuotient/";
license = licenses.lgpl21;
maintainers = with maintainers; [ colemickens matthiasbeyer ];
};

View File

@ -24,7 +24,7 @@
stdenv.mkDerivation rec {
pname = "wireplumber";
version = "0.4.14";
version = "0.4.15";
outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
owner = "pipewire";
repo = "wireplumber";
rev = version;
sha256 = "sha256-PKS+WErdZuSU4jrFHQcRbnZIHlnlv06R6ZxIAIBptko=";
hash = "sha256-VwzpPAVfoaV47O7OjXtPQj5s8zfH5rkB22Pdlg7u5Fg=";
};
nativeBuildInputs = [

View File

@ -6,24 +6,24 @@
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "tomlplusplus";
version = "3.3.0";
version = "3.4.0";
src = fetchFromGitHub {
owner = "marzer";
repo = pname;
rev = "v${version}";
hash = "sha256-INX8TOEumz4B5coSxhiV7opc3rYJuQXT2k1BJ3Aje1M=";
repo = "tomlplusplus";
rev = "v${finalAttrs.version}";
hash = "sha256-h5tbO0Rv2tZezY58yUbyRVpsfRjY3i+5TPkkxr6La8M=";
};
nativeBuildInputs = [ meson cmake ninja ];
meta = with lib;{
meta = with lib; {
homepage = "https://github.com/marzer/tomlplusplus";
description = "Header-only TOML config file parser and serializer for C++17";
license = licenses.mit;
maintainers = with maintainers; [ Scrumplex ];
platforms = with platforms; unix;
platforms = platforms.unix;
};
}
})

View File

@ -0,0 +1,43 @@
lib: self: super:
### Deprecated aliases - for backward compatibility
###
### !!! NOTE !!!
### Use `./remove-attr.py [attrname]` in this directory to remove your alias
### from the `luaPackages` set without regenerating the entire file.
with self;
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations = alias: with lib;
if alias.recurseForDerivations or false
then removeAttrs alias ["recurseForDerivations"]
else alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: with lib;
if isDerivation alias then
dontDistribute alias
else alias;
# Make sure that we are not shadowing something from node-packages.nix.
checkInPkgs = n: alias:
if builtins.hasAttr n super
then throw "Alias ${n} is still in generated.nix"
else alias;
mapAliases = aliases:
lib.mapAttrs (n: alias:
removeDistribute
(removeRecurseForDerivations
(checkInPkgs n alias)))
aliases;
in
mapAliases {
"lpty" = throw "lpy was removed because broken and unmaintained "; # added 2023-10-14
}

View File

@ -942,29 +942,6 @@ buildLuarocksPackage {
};
}) {};
lpty = callPackage({ luaOlder, lua, fetchurl, buildLuarocksPackage }:
buildLuarocksPackage {
pname = "lpty";
version = "1.2.2-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/lpty-1.2.2-1.rockspec";
sha256 = "04af4mhiqrw3br4qzz7yznw9zy2m50wddwzgvzkvhd99ng71fkzg";
}).outPath;
src = fetchurl {
url = "http://www.tset.de/downloads/lpty-1.2.2-1.tar.gz";
sha256 = "071mvz79wi9vr6hvrnb1rv19lqp1bh2fi742zkpv2sm1r9gy5rav";
};
disabled = (luaOlder "5.1");
propagatedBuildInputs = [ lua ];
meta = {
homepage = "http://www.tset.de/lpty/";
description = "A simple facility for lua to control other programs via PTYs.";
license.fullName = "MIT";
};
}) {};
lrexlib-gnu = callPackage({ buildLuarocksPackage, luaOlder, lua, fetchgit }:
buildLuarocksPackage {
pname = "lrexlib-gnu";

View File

@ -82,11 +82,11 @@ rec {
};
*/
generateLuarocksConfig = {
externalDeps
externalDeps ? []
# a list of lua derivations
, requiredLuaRocks
, requiredLuaRocks ? []
, extraVariables ? {}
, rocksSubdir
, rocksSubdir ? "rocks-subdir"
}: let
rocksTrees = lib.imap0
(i: dep: {

View File

@ -146,10 +146,6 @@ with prev;
*/
});
lpty = prev.lpty.overrideAttrs (oa: {
meta.broken = luaOlder "5.1" || luaAtLeast "5.3";
});
ldbus = prev.ldbus.overrideAttrs (oa: {
extraVariables = {
DBUS_DIR = "${dbus.lib}";

View File

@ -2,7 +2,7 @@
buildDunePackage rec {
pname = "parany";
version = "14.0.0";
version = "14.0.1";
minimalOCamlVersion = "4.08";
@ -10,7 +10,7 @@ buildDunePackage rec {
owner = "UnixJunkie";
repo = pname;
rev = "v${version}";
hash = "sha256-L5jHm3gZ2XIJ7jMUb/KvpSa/bnprEX75/P3BCMSe9Ok=";
hash = "sha256-QR3Rq30iKhft+9tVCgJLOq9bwJe7bcay/kMTXjjCLjE=";
};
propagatedBuildInputs = [ cpu ];

View File

@ -8,16 +8,16 @@
buildPythonPackage rec {
pname = "ailment";
version = "9.2.71";
format = "pyproject";
version = "9.2.72";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-urTztt+e0toD3tY0QwOmUhi6xzOv6NkrTzV8RerySSo=";
hash = "sha256-C984+ZYkU8jzEFCZBU/GbbLLDONDZVE0ZwGZh6UYI2E=";
};
nativeBuildInputs = [
@ -31,7 +31,9 @@ buildPythonPackage rec {
# Tests depend on angr (possibly a circular dependency)
doCheck = false;
#pythonImportsCheck = [ "ailment" ];
pythonImportsCheck = [
"ailment"
];
meta = with lib; {
description = "The angr Intermediate Language";

View File

@ -32,16 +32,16 @@
buildPythonPackage rec {
pname = "angr";
version = "9.2.71";
format = "pyproject";
version = "9.2.72";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = pname;
repo = pname;
owner = "angr";
repo = "angr";
rev = "refs/tags/v${version}";
hash = "sha256-qdH7lLetLoqXvZw+HmxOyiLzYjdbpeZygqwFYwGRTRQ=";
hash = "sha256-k36RT6E9Ye5F3dmTWS17D2/k3maXOlHhW6ygklolWjY=";
};
propagatedBuildInputs = [

View File

@ -1,4 +1,5 @@
{ lib
, backports-strenum
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
@ -8,8 +9,8 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.2.71";
format = "pyproject";
version = "9.2.72";
pyproject = true;
disabled = pythonOlder "3.8";
@ -17,13 +18,17 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-AZMbE+/2uw7mFtBKwwLWCiVwupnB+EkUrgZFkGiKHtM=";
hash = "sha256-QTmp8RV2ggcktQvemG/ykjvxSzn7vjscHJCqHdlbOGM=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
backports-strenum
];
nativeCheckInputs = [
pytestCheckHook
];

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "azure-servicebus";
version = "7.11.2";
version = "7.11.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-0iKPBVxP6tP+vnU37QD8vDHeMsfULO02pxt6hg/RIw8=";
hash = "sha256-lNZfL9yV56kSxT/qz4iH+w6QWGEmwBU+Ivrg+2UNH8o=";
};
propagatedBuildInputs = [

View File

@ -13,16 +13,16 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.2.71";
format = "pyproject";
version = "9.2.72";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
repo = "claripy";
rev = "refs/tags/v${version}";
hash = "sha256-jdmgtW+oIxx/Xr8EI0z8HIUZ8MYVqaxA0zXJaLZJBJ4=";
hash = "sha256-f1CFVGZ68EjM1StcyVFXB7ee85CF5N9xnfePUGTf8lI=";
};
nativeBuildInputs = [

View File

@ -16,29 +16,29 @@
let
# The binaries are following the argr projects release cycle
version = "9.2.71";
version = "9.2.72";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
owner = "angr";
repo = "binaries";
rev = "refs/tags/v${version}";
hash = "sha256-jp0UcfrjSRTbDPkQStvJpZzbMiHosMJVUaUQc7nSuHQ=";
hash = "sha256-AUa3XejHasEattUh3m/BGwyp+qnvSASz+DZsTnlTuns=";
};
in
buildPythonPackage rec {
pname = "cle";
inherit version;
format = "pyproject";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
repo = "cle";
rev = "refs/tags/v${version}";
hash = "sha256-Uc4W4dXZs3HcSvn5fES0y+14KhED21sS5vzi92QC5hI=";
hash = "sha256-Zmontxj0RdFrVh0v2209TSpyoEe3jJsS/WvR6h1HE10=";
};
nativeBuildInputs = [

View File

@ -30,7 +30,7 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "CycloneDX";
repo = pname;
repo = "cyclonedx-python-lib";
rev = "refs/tags/v${version}";
hash = "sha256-7bqIKwKGfMj5YPqZpvWtP881LNOgvJ+DMHs1U63gCN0=";
};
@ -83,6 +83,11 @@ buildPythonPackage rec {
"test_bom_v1_4_with_metadata_component"
];
disabledTestPaths = [
# Test failures seem py-serializable related
"tests/test_output_xml.py"
];
meta = with lib; {
description = "Python library for generating CycloneDX SBOMs";
homepage = "https://github.com/CycloneDX/cyclonedx-python-lib";

View File

@ -1,45 +1,47 @@
{ lib, buildPythonPackage, fetchPypi
, pythonOlder
, setuptools
, setuptools-changelog-shortener
, requests
, py
, pytestCheckHook
, lazy
}:
buildPythonPackage rec {
pname = "devpi-common";
version = "3.7.2";
version = "4.0.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-kHiYknmteenBgce63EpzhGBEUYcQHrDLreZ1k01eRkQ=";
hash = "sha256-N4f43B1Dg1mCnDF3Sj2341vVXNdjlDzF1vn7ORoLWJ8=";
};
postPatch = ''
substituteInPlace tox.ini \
--replace "--flake8" ""
'';
nativeBuildInputs = [
setuptools
setuptools-changelog-shortener
];
propagatedBuildInputs = [
requests
py
lazy
];
nativeCheckInputs = [
py
pytestCheckHook
];
pythonImportsCheck = [
"devpi_common"
];
meta = with lib; {
homepage = "https://github.com/devpi/devpi";
description = "Utilities jointly used by devpi-server and devpi-client";
changelog = "https://github.com/devpi/devpi/blob/common-${version}/common/CHANGELOG";
license = licenses.mit;
maintainers = with maintainers; [ lewo makefu ];
# It fails to build because it depends on packaging <22 while we
# use packaging >22.
# See the following issues for details:
# - https://github.com/NixOS/nixpkgs/issues/231346
# - https://github.com/devpi/devpi/issues/939
broken = true;
};
}

View File

@ -0,0 +1,47 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, setuptools
, wheel
}:
buildPythonPackage rec {
pname = "dllogger";
version = "1.0.0";
pyproject = true;
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "dllogger";
rev = "refs/tags/v${version}";
hash = "sha256-Hpr4yeRl+Dyaz6lRyH/5P6UQT184JEHPqgVlf4qHvOg=";
};
nativeBuildInputs = [
setuptools
wheel
];
# use examples as smoke tests since upstream has no tests
checkPhase = ''
runHook preCheck
python examples/dllogger_example.py
python examples/dllogger_singleton_example.py
runHook postCheck
'';
pythonImportsCheck = [ "dllogger" ];
meta = with lib; {
description = "A logging tool for deep learning";
homepage = "https://github.com/NVIDIA/dllogger";
changelog = "https://github.com/NVIDIA/dllogger/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ natsukium ];
};
}

View File

@ -55,14 +55,14 @@
buildPythonPackage rec {
pname = "dvc";
version = "3.25.0";
version = "3.26.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "iterative";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-h84j83DPq/bvGSjA/i8fnJmuFfDg3c2dr2OgvC2/46s=";
hash = "sha256-Z+ycEZHAtEewObxkRkKRvlsZNxc//afdAMw0KNiZ7UM=";
};
pythonRelaxDeps = [

View File

@ -1,19 +1,45 @@
{ lib, buildPythonPackage, fetchPypi, flask }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, flask
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "flask-paginate";
version = "2022.1.8";
version = "2023.10.8";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "a32996ec07ca004c45b768b0d50829728ab8f3986c0650ef538e42852c7aeba2";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "lixxu";
repo = "flask-paginate";
rev = "refs/tags/v${version}";
hash = "sha256-QXXuXwMY3CwSv1P5zDK6q/LZfh96/BL3fbdbg53BJ6o=";
};
propagatedBuildInputs = [ flask ];
propagatedBuildInputs = [
flask
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"flask_paginate"
];
pytestFlagsArray = [
"tests/tests.py"
];
meta = with lib; {
homepage = "https://github.com/lixxu/flask-paginate";
description = "Pagination support for Flask";
homepage = "https://github.com/lixxu/flask-paginate";
changelog = "https://github.com/lixxu/flask-paginate/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};

View File

@ -0,0 +1,51 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, swig
, wheel
, msgpack
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "ihm";
version = "0.41";
pyproject = true;
src = fetchFromGitHub {
owner = "ihmwg";
repo = "python-ihm";
rev = "refs/tags/${version}";
hash = "sha256-weeOizVWFcOxD45QsvEaoknTofZjglCvidyvXpyRKwc=";
};
nativeBuildInputs = [
setuptools
swig
wheel
];
propagatedBuildInputs = [
msgpack
];
nativeCheckInputs = [
pytestCheckHook
];
disabledTests = [
# requires network access
"test_validator_example"
];
pythonImportsCheck = [ "ihm" ];
meta = with lib; {
description = "Python package for handling IHM mmCIF and BinaryCIF files";
homepage = "https://github.com/ihmwg/python-ihm";
changelog = "https://github.com/ihmwg/python-ihm/blob/${src.rev}/ChangeLog.rst";
license = licenses.mit;
maintainers = with maintainers; [ natsukium ];
};
}

View File

@ -1,27 +1,36 @@
{ lib, buildPythonPackage, fetchFromGitHub
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "iteration-utilities";
version = "0.11.0";
version = "0.12.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "MSeifert04";
repo = "iteration_utilities";
rev = "v${version}";
hash = "sha256-Q/ZuwAf+NPikN8/eltwaUilnLw4DKFm864tUe6GLDak=";
rev = "refs/tags/v${version}";
hash = "sha256-KdL0lwlmBEG++JRociR92HdYxzArTeL5uEyUjvvwi1Y=";
};
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "iteration_utilities" ];
pythonImportsCheck = [
"iteration_utilities"
];
meta = with lib; {
description = "Utilities based on Pythons iterators and generators";
homepage = "https://github.com/MSeifert04/iteration_utilities";
changelog = "https://github.com/MSeifert04/iteration_utilities/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ jonringer ];
};

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "manimpango";
version = "0.4.3";
version = "0.4.4";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "ManimCommunity";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-FT3X6TmGfwd8kRPtuqy78ZCGeEGGg6IJEeEpB7ZbIsA=";
hash = "sha256-M7Wd4s9q+oNioi4JlcQcKSyLRliGgoMzkiXcIznpR5o=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,50 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, wheel
, ihm
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "modelcif";
version = "0.9";
pyproject = true;
src = fetchFromGitHub {
owner = "ihmwg";
repo = "python-modelcif";
rev = "refs/tags/${version}";
hash = "sha256-u+e2QtG6gO1e31OzPfAuzfCkwZymEZMxa2p0haYplAk=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
ihm
];
nativeCheckInputs = [
pytestCheckHook
];
disabledTests = [
# require network access
"test_validate_mmcif_example"
"test_validate_modbase_example"
];
pythonImportsCheck = [ "modelcif" ];
meta = with lib; {
description = "Python package for handling ModelCIF mmCIF and BinaryCIF files";
homepage = "https://github.com/ihmwg/python-modelcif";
changelog = "https://github.com/ihmwg/python-modelcif/blob/${src.rev}/ChangeLog.rst";
license = licenses.mit;
maintainers = with maintainers; [ natsukium ];
};
}

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "mrsqm";
version = "0.0.5";
version = "0.0.6";
format = "setuptools";
disable = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-VlAbyTWQCj6fgndEPI1lQKvL+D6TJnqglIT8dRZyEWc=";
hash = "sha256-dBwWiJEL76aXqM2vKn4uQsd86Rm3bMeDSsRRs/aLWCE=";
};
buildInputs = [ fftw ];
@ -33,12 +33,15 @@ buildPythonPackage rec {
numpy
];
doCheck = false; # Package has no tests
# Package has no tests
doCheck = false;
pythonImportsCheck = [ "mrsqm" ];
meta = with lib; {
description = "MrSQM (Multiple Representations Sequence Miner) is a time series classifier";
homepage = "https://pypi.org/project/mrsqm";
changelog = "https://github.com/mlgig/mrsqm/releases/tag/v.${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ mbalatsko ];
};

View File

@ -1,25 +1,35 @@
{ lib
, buildPythonPackage
, fetchPypi
, glibcLocales
, pythonOlder
, unittestCheckHook
}:
buildPythonPackage rec {
pname = "nameparser";
version = "1.1.2";
version = "1.1.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-9LbHwQSNUovWqisnz0KgZEfSsx5FqVsgRJUTB48dhu8=";
hash = "sha256-qiQArXHM+AcGdbQDEaJXyTRln5GFSxVOG6bCZHYcBJ0=";
};
LC_ALL="en_US.UTF-8";
buildInputs = [ glibcLocales ];
nativeCheckInputs = [
unittestCheckHook
];
pythonImportsCheck = [
"nameparser"
];
meta = with lib; {
description = "A simple Python module for parsing human names into their individual components";
description = "Module for parsing human names into their individual components";
homepage = "https://github.com/derek73/python-nameparser";
changelog = "https://github.com/derek73/python-nameparser/releases/tag/v${version}";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ ];
};
}

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