Merge remote-tracking branch 'origin/master' into staging-next
Conflicts: - pkgs/development/python-modules/numba/default.nix
This commit is contained in:
commit
94c8c31bee
@ -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";
|
||||
|
@ -34,7 +34,6 @@ loadkit,,,,,,alerque
|
||||
lpeg,,,,,,vyp
|
||||
lpeg_patterns,,,,,,
|
||||
lpeglabel,,,,1.6.0,,
|
||||
lpty,,,,,,
|
||||
lrexlib-gnu,,,,,,
|
||||
lrexlib-pcre,,,,,,vyp
|
||||
lrexlib-posix,,,,,,
|
||||
|
|
@ -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
|
||||
|
@ -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.
|
||||
'';
|
||||
};
|
||||
|
@ -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 \
|
||||
"$@"
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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; [
|
||||
|
@ -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")
|
||||
|
@ -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 {};
|
||||
|
@ -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; }
|
||||
|
203
nixos/tests/syncthing-many-devices.nix
Normal file
203
nixos/tests/syncthing-many-devices.nix
Normal 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, "")
|
||||
'';
|
||||
})
|
@ -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 ];
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ];
|
||||
|
@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
python3Packages.gst-python
|
||||
python3Packages.distutils_extra
|
||||
python3Packages.distutils-extra
|
||||
python3Packages.setuptools
|
||||
python3Packages.pygobject3
|
||||
];
|
||||
|
@ -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;
|
||||
|
@ -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 {};
|
||||
|
62
pkgs/applications/kde/itinerary.nix
Normal file
62
pkgs/applications/kde/itinerary.nix
Normal 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 ];
|
||||
}
|
28
pkgs/applications/kde/kopeninghours.nix
Normal file
28
pkgs/applications/kde/kopeninghours.nix
Normal 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 ];
|
||||
};
|
||||
}
|
30
pkgs/applications/kde/kosmindoormap.nix
Normal file
30
pkgs/applications/kde/kosmindoormap.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -82,7 +82,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
dbus-python
|
||||
distutils_extra
|
||||
distutils-extra
|
||||
pyatspi
|
||||
pycairo
|
||||
pygobject3
|
||||
|
@ -29,7 +29,7 @@ python3Packages.buildPythonApplication rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
distutils_extra
|
||||
distutils-extra
|
||||
gobject-introspection
|
||||
intltool
|
||||
wrapGAppsHook
|
||||
|
@ -49,7 +49,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
beautifulsoup4
|
||||
configobj
|
||||
dbus-python
|
||||
distutils_extra
|
||||
distutils-extra
|
||||
httplib2
|
||||
lxml
|
||||
pillow
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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)
|
@ -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";
|
||||
|
@ -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)
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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
|
||||
{
|
@ -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}"
|
||||
];
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
fuzzywuzzy
|
||||
jsbeautifier
|
||||
pycryptodome
|
||||
pySmartDL
|
||||
pysmartdl
|
||||
pyqt5
|
||||
requests
|
||||
requests-cache
|
||||
|
@ -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
|
||||
|
@ -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
|
86
pkgs/by-name/fr/freecell-solver/package.nix
Normal file
86
pkgs/by-name/fr/freecell-solver/package.nix
Normal 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;
|
||||
};
|
||||
})
|
@ -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
|
||||
|
138
pkgs/by-name/ve/vesktop/package.nix
Normal file
138
pkgs/by-name/ve/vesktop/package.nix
Normal 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";
|
||||
};
|
||||
}
|
13
pkgs/by-name/ve/vesktop/use_system_vencord.patch
Normal file
13
pkgs/by-name/ve/vesktop/use_system_vencord.patch
Normal 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)`;
|
||||
|
@ -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
|
||||
|
@ -52,6 +52,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "O4uhWBpHpun1f2tqoI8PtnVJxgEhqiTjEUDpOUe4NiI=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
desktop-file-utils
|
||||
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
@ -20,7 +20,6 @@ supported_versions = {
|
||||
"42": "42",
|
||||
"43": "43",
|
||||
"44": "44",
|
||||
"45": "45",
|
||||
}
|
||||
|
||||
# Some type alias to increase readability of complex compound types
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec {
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
intltool
|
||||
python3Packages.distutils_extra
|
||||
python3Packages.distutils-extra
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
|
@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.distutils_extra
|
||||
python3Packages.distutils-extra
|
||||
file
|
||||
which
|
||||
intltool
|
||||
|
@ -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;
|
||||
};
|
||||
})
|
@ -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/",
|
@ -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 ];
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 = [
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
43
pkgs/development/lua-modules/aliases.nix
Normal file
43
pkgs/development/lua-modules/aliases.nix
Normal 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
|
||||
}
|
@ -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";
|
||||
|
@ -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: {
|
||||
|
@ -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}";
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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 = [
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
47
pkgs/development/python-modules/dllogger/default.nix
Normal file
47
pkgs/development/python-modules/dllogger/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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; [ ];
|
||||
};
|
||||
|
51
pkgs/development/python-modules/ihm/default.nix
Normal file
51
pkgs/development/python-modules/ihm/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
};
|
||||
|
@ -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 = [
|
||||
|
50
pkgs/development/python-modules/modelcif/default.nix
Normal file
50
pkgs/development/python-modules/modelcif/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
};
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user