Merge master into haskell-updates
This commit is contained in:
commit
1877a99380
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@ -34,10 +34,6 @@ jobs:
|
||||
pairs:
|
||||
- from: master
|
||||
into: haskell-updates
|
||||
- from: release-22.11
|
||||
into: staging-next-22.11
|
||||
- from: staging-next-22.11
|
||||
into: staging-22.11
|
||||
- from: release-23.05
|
||||
into: staging-next-23.05
|
||||
- from: staging-next-23.05
|
||||
|
@ -168,7 +168,7 @@ rec {
|
||||
mkKeyValue ? mkKeyValueDefault {} "=",
|
||||
# allow lists as values for duplicate keys
|
||||
listsAsDuplicateKeys ? false
|
||||
}: { globalSection, sections }:
|
||||
}: { globalSection, sections ? {} }:
|
||||
( if globalSection == {}
|
||||
then ""
|
||||
else (toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } globalSection)
|
||||
|
@ -3,8 +3,15 @@
|
||||
rec {
|
||||
# gcc.arch to its features (as in /proc/cpuinfo)
|
||||
features = {
|
||||
# x86_64 Generic
|
||||
# Spec: https://gitlab.com/x86-psABIs/x86-64-ABI/
|
||||
default = [ ];
|
||||
x86-64 = [ ];
|
||||
x86-64-v2 = [ "sse3" "ssse3" "sse4_1" "sse4_2" ];
|
||||
x86-64-v3 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "fma" ];
|
||||
x86-64-v4 = [ "sse3" "ssse3" "sse4_1" "sse4_2" "avx" "avx2" "avx512" "fma" ];
|
||||
# x86_64 Intel
|
||||
nehalem = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" ];
|
||||
westmere = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" ];
|
||||
sandybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
|
||||
ivybridge = [ "sse3" "ssse3" "sse4_1" "sse4_2" "aes" "avx" ];
|
||||
@ -41,22 +48,32 @@ rec {
|
||||
|
||||
# a superior CPU has all the features of an inferior and is able to build and test code for it
|
||||
inferiors = {
|
||||
# x86_64 Generic
|
||||
default = [ ];
|
||||
x86-64 = [ ];
|
||||
x86-64-v2 = [ "x86-64" ];
|
||||
x86-64-v3 = [ "x86-64-v2" ] ++ inferiors.x86-64-v2;
|
||||
x86-64-v4 = [ "x86-64-v3" ] ++ inferiors.x86-64-v3;
|
||||
|
||||
# x86_64 Intel
|
||||
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
|
||||
default = [ ];
|
||||
westmere = [ ];
|
||||
sandybridge = [ "westmere" ] ++ inferiors.westmere;
|
||||
ivybridge = [ "sandybridge" ] ++ inferiors.sandybridge;
|
||||
haswell = [ "ivybridge" ] ++ inferiors.ivybridge;
|
||||
broadwell = [ "haswell" ] ++ inferiors.haswell;
|
||||
skylake = [ "broadwell" ] ++ inferiors.broadwell;
|
||||
skylake-avx512 = [ "skylake" ] ++ inferiors.skylake;
|
||||
nehalem = [ "x86-64-v2" ] ++ inferiors.x86-64-v2;
|
||||
westmere = [ "nehalem" ] ++ inferiors.nehalem;
|
||||
sandybridge = [ "westmere" ] ++ inferiors.westmere;
|
||||
ivybridge = [ "sandybridge" ] ++ inferiors.sandybridge;
|
||||
|
||||
haswell = lib.unique ([ "ivybridge" "x86-64-v3" ] ++ inferiors.ivybridge ++ inferiors.x86-64-v3);
|
||||
broadwell = [ "haswell" ] ++ inferiors.haswell;
|
||||
skylake = [ "broadwell" ] ++ inferiors.broadwell;
|
||||
|
||||
skylake-avx512 = lib.unique ([ "skylake" "x86-64-v4" ] ++ inferiors.skylake ++ inferiors.x86-64-v4);
|
||||
cannonlake = [ "skylake-avx512" ] ++ inferiors.skylake-avx512;
|
||||
icelake-client = [ "cannonlake" ] ++ inferiors.cannonlake;
|
||||
icelake-server = [ "icelake-client" ] ++ inferiors.icelake-client;
|
||||
cascadelake = [ "skylake-avx512" ] ++ inferiors.cannonlake;
|
||||
cascadelake = [ "cannonlake" ] ++ inferiors.cannonlake;
|
||||
cooperlake = [ "cascadelake" ] ++ inferiors.cascadelake;
|
||||
tigerlake = [ "icelake-server" ] ++ inferiors.icelake-server;
|
||||
|
||||
# CX16 does not exist on alderlake, while it does on nearly all other intel CPUs
|
||||
alderlake = [ ];
|
||||
|
||||
@ -87,10 +104,10 @@ rec {
|
||||
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
|
||||
# https://en.wikichip.org/wiki/amd/microarchitectures/zen
|
||||
# https://en.wikichip.org/wiki/intel/microarchitectures/skylake
|
||||
znver1 = [ "skylake" ] ++ inferiors.skylake;
|
||||
znver1 = [ "skylake" ] ++ inferiors.skylake; # Includes haswell and x86-64-v3
|
||||
znver2 = [ "znver1" ] ++ inferiors.znver1;
|
||||
znver3 = [ "znver2" ] ++ inferiors.znver2;
|
||||
znver4 = [ "znver3" ] ++ inferiors.znver3;
|
||||
znver4 = lib.unique ([ "znver3" "x86-64-v4" ] ++ inferiors.znver3 ++ inferiors.x86-64-v4);
|
||||
|
||||
# other
|
||||
armv5te = [ ];
|
||||
|
@ -179,7 +179,7 @@ rec {
|
||||
they take effect as soon as the oldest release reaches end of life. */
|
||||
oldestSupportedRelease =
|
||||
# Update on master only. Do not backport.
|
||||
2211;
|
||||
2305;
|
||||
|
||||
/* Whether a feature is supported in all supported releases (at the time of
|
||||
release branch-off, if applicable). See `oldestSupportedRelease`. */
|
||||
|
@ -3770,6 +3770,12 @@
|
||||
githubId = 49904992;
|
||||
name = "Dawid Sowa";
|
||||
};
|
||||
dbalan = {
|
||||
email = "nix@dbalan.in";
|
||||
github = "dbalan";
|
||||
githubId = 223910;
|
||||
name = "Dhananjay Balan";
|
||||
};
|
||||
dbeckwith = {
|
||||
email = "djbsnx@gmail.com";
|
||||
github = "dbeckwith";
|
||||
@ -7435,6 +7441,12 @@
|
||||
githubId = 8685505;
|
||||
name = "Jen-Chieh Shen";
|
||||
};
|
||||
jcspeegs = {
|
||||
email = "justin@speegs.com";
|
||||
github = "jcspeegs";
|
||||
githubId = 34928409;
|
||||
name = "Justin Speegle";
|
||||
};
|
||||
jcumming = {
|
||||
email = "jack@mudshark.org";
|
||||
github = "jcumming";
|
||||
@ -14696,6 +14708,13 @@
|
||||
githubId = 1286668;
|
||||
name = "Thilo Uttendorfer";
|
||||
};
|
||||
sents = {
|
||||
email = "finn@krein.moe";
|
||||
github = "sents";
|
||||
githubId = 26575793;
|
||||
matrix = "@sents:matrix.org";
|
||||
name = "Finn Krein";
|
||||
};
|
||||
sephalon = {
|
||||
email = "me@sephalon.net";
|
||||
github = "sephalon";
|
||||
|
@ -64,6 +64,8 @@
|
||||
|
||||
- `spamassassin` no longer supports the `Hashcash` module. The module needs to be removed from the `loadplugin` list if it was copied over from the default `initPreConf` option.
|
||||
|
||||
- The Caddy module gained a new option named `services.caddy.enableReload` which is enabled by default. It allows reloading the service instead of restarting it, if only a config file has changed. This option must be disabled if you have turned off the [Caddy admin API](https://caddyserver.com/docs/caddyfile/options#admin). If you keep this option enabled, you should consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period) to a non-infinite value to prevent Caddy from delaying the reload indefinitely.
|
||||
|
||||
## Other Notable Changes {#sec-release-23.11-notable-changes}
|
||||
|
||||
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
|
||||
@ -84,6 +86,10 @@
|
||||
|
||||
- `services.fail2ban.jails` can now be configured with attribute sets defining settings and filters instead of lines. The stringed options `daemonConfig` and `extraSettings` have respectively been replaced by `daemonSettings` and `jails.DEFAULT.settings` which use attribute sets.
|
||||
|
||||
- The module [services.ankisyncd](#opt-services.ankisyncd.package) has been switched to [anki-sync-server-rs](https://github.com/ankicommunity/anki-sync-server-rs) from the old python version, which was difficult to update, had not been updated in a while, and did not support recent versions of anki.
|
||||
Unfortunately all servers supporting new clients (newer version of anki-sync-server, anki's built in sync server and this new rust package) do not support the older sync protocol that was used in the old server, so such old clients will also need updating and in particular the anki package in nixpkgs is also being updated in this release.
|
||||
The module update takes care of the new config syntax and the data itself (user login and cards) are compatible, so users of the module will be able to just log in again after updating both client and server without any extra action.
|
||||
|
||||
- `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details.
|
||||
|
||||
- `services.prometheus.exporters` has a new exporter to monitor electrical power consumption based on PowercapRAPL sensor called [Scaphandre](https://github.com/hubblo-org/scaphandre), see [#239803](https://github.com/NixOS/nixpkgs/pull/239803) for more details.
|
||||
|
238
nixos/lib/systemd-network-units.nix
Normal file
238
nixos/lib/systemd-network-units.nix
Normal file
@ -0,0 +1,238 @@
|
||||
{ lib, systemdUtils }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
attrsToSection = systemdUtils.lib.attrsToSection;
|
||||
commonMatchText = def:
|
||||
optionalString (def.matchConfig != { }) ''
|
||||
[Match]
|
||||
${attrsToSection def.matchConfig}
|
||||
'';
|
||||
in {
|
||||
linkToUnit = def:
|
||||
commonMatchText def + ''
|
||||
[Link]
|
||||
${attrsToSection def.linkConfig}
|
||||
'' + def.extraConfig;
|
||||
|
||||
netdevToUnit = def:
|
||||
commonMatchText def + ''
|
||||
[NetDev]
|
||||
${attrsToSection def.netdevConfig}
|
||||
'' + optionalString (def.vlanConfig != { }) ''
|
||||
[VLAN]
|
||||
${attrsToSection def.vlanConfig}
|
||||
'' + optionalString (def.macvlanConfig != { }) ''
|
||||
[MACVLAN]
|
||||
${attrsToSection def.macvlanConfig}
|
||||
'' + optionalString (def.vxlanConfig != { }) ''
|
||||
[VXLAN]
|
||||
${attrsToSection def.vxlanConfig}
|
||||
'' + optionalString (def.tunnelConfig != { }) ''
|
||||
[Tunnel]
|
||||
${attrsToSection def.tunnelConfig}
|
||||
'' + optionalString (def.fooOverUDPConfig != { }) ''
|
||||
[FooOverUDP]
|
||||
${attrsToSection def.fooOverUDPConfig}
|
||||
'' + optionalString (def.peerConfig != { }) ''
|
||||
[Peer]
|
||||
${attrsToSection def.peerConfig}
|
||||
'' + optionalString (def.tunConfig != { }) ''
|
||||
[Tun]
|
||||
${attrsToSection def.tunConfig}
|
||||
'' + optionalString (def.tapConfig != { }) ''
|
||||
[Tap]
|
||||
${attrsToSection def.tapConfig}
|
||||
'' + optionalString (def.l2tpConfig != { }) ''
|
||||
[L2TP]
|
||||
${attrsToSection def.l2tpConfig}
|
||||
'' + flip concatMapStrings def.l2tpSessions (x: ''
|
||||
[L2TPSession]
|
||||
${attrsToSection x.l2tpSessionConfig}
|
||||
'') + optionalString (def.wireguardConfig != { }) ''
|
||||
[WireGuard]
|
||||
${attrsToSection def.wireguardConfig}
|
||||
'' + flip concatMapStrings def.wireguardPeers (x: ''
|
||||
[WireGuardPeer]
|
||||
${attrsToSection x.wireguardPeerConfig}
|
||||
'') + optionalString (def.bondConfig != { }) ''
|
||||
[Bond]
|
||||
${attrsToSection def.bondConfig}
|
||||
'' + optionalString (def.xfrmConfig != { }) ''
|
||||
[Xfrm]
|
||||
${attrsToSection def.xfrmConfig}
|
||||
'' + optionalString (def.vrfConfig != { }) ''
|
||||
[VRF]
|
||||
${attrsToSection def.vrfConfig}
|
||||
'' + optionalString (def.batmanAdvancedConfig != { }) ''
|
||||
[BatmanAdvanced]
|
||||
${attrsToSection def.batmanAdvancedConfig}
|
||||
'' + def.extraConfig;
|
||||
|
||||
networkToUnit = def:
|
||||
commonMatchText def + optionalString (def.linkConfig != { }) ''
|
||||
[Link]
|
||||
${attrsToSection def.linkConfig}
|
||||
'' + ''
|
||||
[Network]
|
||||
'' + attrsToSection def.networkConfig
|
||||
+ optionalString (def.address != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Address=${s}") def.address)}
|
||||
'' + optionalString (def.gateway != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Gateway=${s}") def.gateway)}
|
||||
'' + optionalString (def.dns != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "DNS=${s}") def.dns)}
|
||||
'' + optionalString (def.ntp != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "NTP=${s}") def.ntp)}
|
||||
'' + optionalString (def.bridge != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Bridge=${s}") def.bridge)}
|
||||
'' + optionalString (def.bond != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Bond=${s}") def.bond)}
|
||||
'' + optionalString (def.vrf != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VRF=${s}") def.vrf)}
|
||||
'' + optionalString (def.vlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VLAN=${s}") def.vlan)}
|
||||
'' + optionalString (def.macvlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)}
|
||||
'' + optionalString (def.vxlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VXLAN=${s}") def.vxlan)}
|
||||
'' + optionalString (def.tunnel != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Tunnel=${s}") def.tunnel)}
|
||||
'' + optionalString (def.xfrm != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Xfrm=${s}") def.xfrm)}
|
||||
'' + "\n" + flip concatMapStrings def.addresses (x: ''
|
||||
[Address]
|
||||
${attrsToSection x.addressConfig}
|
||||
'') + flip concatMapStrings def.routingPolicyRules (x: ''
|
||||
[RoutingPolicyRule]
|
||||
${attrsToSection x.routingPolicyRuleConfig}
|
||||
'') + flip concatMapStrings def.routes (x: ''
|
||||
[Route]
|
||||
${attrsToSection x.routeConfig}
|
||||
'') + optionalString (def.dhcpV4Config != { }) ''
|
||||
[DHCPv4]
|
||||
${attrsToSection def.dhcpV4Config}
|
||||
'' + optionalString (def.dhcpV6Config != { }) ''
|
||||
[DHCPv6]
|
||||
${attrsToSection def.dhcpV6Config}
|
||||
'' + optionalString (def.dhcpPrefixDelegationConfig != { }) ''
|
||||
[DHCPPrefixDelegation]
|
||||
${attrsToSection def.dhcpPrefixDelegationConfig}
|
||||
'' + optionalString (def.ipv6AcceptRAConfig != { }) ''
|
||||
[IPv6AcceptRA]
|
||||
${attrsToSection def.ipv6AcceptRAConfig}
|
||||
'' + optionalString (def.dhcpServerConfig != { }) ''
|
||||
[DHCPServer]
|
||||
${attrsToSection def.dhcpServerConfig}
|
||||
'' + optionalString (def.ipv6SendRAConfig != { }) ''
|
||||
[IPv6SendRA]
|
||||
${attrsToSection def.ipv6SendRAConfig}
|
||||
'' + flip concatMapStrings def.ipv6Prefixes (x: ''
|
||||
[IPv6Prefix]
|
||||
${attrsToSection x.ipv6PrefixConfig}
|
||||
'') + flip concatMapStrings def.ipv6RoutePrefixes (x: ''
|
||||
[IPv6RoutePrefix]
|
||||
${attrsToSection x.ipv6RoutePrefixConfig}
|
||||
'') + flip concatMapStrings def.dhcpServerStaticLeases (x: ''
|
||||
[DHCPServerStaticLease]
|
||||
${attrsToSection x.dhcpServerStaticLeaseConfig}
|
||||
'') + optionalString (def.bridgeConfig != { }) ''
|
||||
[Bridge]
|
||||
${attrsToSection def.bridgeConfig}
|
||||
'' + flip concatMapStrings def.bridgeFDBs (x: ''
|
||||
[BridgeFDB]
|
||||
${attrsToSection x.bridgeFDBConfig}
|
||||
'') + flip concatMapStrings def.bridgeMDBs (x: ''
|
||||
[BridgeMDB]
|
||||
${attrsToSection x.bridgeMDBConfig}
|
||||
'') + optionalString (def.lldpConfig != { }) ''
|
||||
[LLDP]
|
||||
${attrsToSection def.lldpConfig}
|
||||
'' + optionalString (def.canConfig != { }) ''
|
||||
[CAN]
|
||||
${attrsToSection def.canConfig}
|
||||
'' + optionalString (def.ipoIBConfig != { }) ''
|
||||
[IPoIB]
|
||||
${attrsToSection def.ipoIBConfig}
|
||||
'' + optionalString (def.qdiscConfig != { }) ''
|
||||
[QDisc]
|
||||
${attrsToSection def.qdiscConfig}
|
||||
'' + optionalString (def.networkEmulatorConfig != { }) ''
|
||||
[NetworkEmulator]
|
||||
${attrsToSection def.networkEmulatorConfig}
|
||||
'' + optionalString (def.tokenBucketFilterConfig != { }) ''
|
||||
[TokenBucketFilter]
|
||||
${attrsToSection def.tokenBucketFilterConfig}
|
||||
'' + optionalString (def.pieConfig != { }) ''
|
||||
[PIE]
|
||||
${attrsToSection def.pieConfig}
|
||||
'' + optionalString (def.flowQueuePIEConfig != { }) ''
|
||||
[FlowQueuePIE]
|
||||
${attrsToSection def.flowQueuePIEConfig}
|
||||
'' + optionalString (def.stochasticFairBlueConfig != { }) ''
|
||||
[StochasticFairBlue]
|
||||
${attrsToSection def.stochasticFairBlueConfig}
|
||||
'' + optionalString (def.stochasticFairnessQueueingConfig != { }) ''
|
||||
[StochasticFairnessQueueing]
|
||||
${attrsToSection def.stochasticFairnessQueueingConfig}
|
||||
'' + optionalString (def.bfifoConfig != { }) ''
|
||||
[BFIFO]
|
||||
${attrsToSection def.bfifoConfig}
|
||||
'' + optionalString (def.pfifoConfig != { }) ''
|
||||
[PFIFO]
|
||||
${attrsToSection def.pfifoConfig}
|
||||
'' + optionalString (def.pfifoHeadDropConfig != { }) ''
|
||||
[PFIFOHeadDrop]
|
||||
${attrsToSection def.pfifoHeadDropConfig}
|
||||
'' + optionalString (def.pfifoFastConfig != { }) ''
|
||||
[PFIFOFast]
|
||||
${attrsToSection def.pfifoFastConfig}
|
||||
'' + optionalString (def.cakeConfig != { }) ''
|
||||
[CAKE]
|
||||
${attrsToSection def.cakeConfig}
|
||||
'' + optionalString (def.controlledDelayConfig != { }) ''
|
||||
[ControlledDelay]
|
||||
${attrsToSection def.controlledDelayConfig}
|
||||
'' + optionalString (def.deficitRoundRobinSchedulerConfig != { }) ''
|
||||
[DeficitRoundRobinScheduler]
|
||||
${attrsToSection def.deficitRoundRobinSchedulerConfig}
|
||||
'' + optionalString (def.deficitRoundRobinSchedulerClassConfig != { }) ''
|
||||
[DeficitRoundRobinSchedulerClass]
|
||||
${attrsToSection def.deficitRoundRobinSchedulerClassConfig}
|
||||
'' + optionalString (def.enhancedTransmissionSelectionConfig != { }) ''
|
||||
[EnhancedTransmissionSelection]
|
||||
${attrsToSection def.enhancedTransmissionSelectionConfig}
|
||||
'' + optionalString (def.genericRandomEarlyDetectionConfig != { }) ''
|
||||
[GenericRandomEarlyDetection]
|
||||
${attrsToSection def.genericRandomEarlyDetectionConfig}
|
||||
'' + optionalString (def.fairQueueingControlledDelayConfig != { }) ''
|
||||
[FairQueueingControlledDelay]
|
||||
${attrsToSection def.fairQueueingControlledDelayConfig}
|
||||
'' + optionalString (def.fairQueueingConfig != { }) ''
|
||||
[FairQueueing]
|
||||
${attrsToSection def.fairQueueingConfig}
|
||||
'' + optionalString (def.trivialLinkEqualizerConfig != { }) ''
|
||||
[TrivialLinkEqualizer]
|
||||
${attrsToSection def.trivialLinkEqualizerConfig}
|
||||
'' + optionalString (def.hierarchyTokenBucketConfig != { }) ''
|
||||
[HierarchyTokenBucket]
|
||||
${attrsToSection def.hierarchyTokenBucketConfig}
|
||||
'' + optionalString (def.hierarchyTokenBucketClassConfig != { }) ''
|
||||
[HierarchyTokenBucketClass]
|
||||
${attrsToSection def.hierarchyTokenBucketClassConfig}
|
||||
'' + optionalString (def.heavyHitterFilterConfig != { }) ''
|
||||
[HeavyHitterFilter]
|
||||
${attrsToSection def.heavyHitterFilterConfig}
|
||||
'' + optionalString (def.quickFairQueueingConfig != { }) ''
|
||||
[QuickFairQueueing]
|
||||
${attrsToSection def.quickFairQueueingConfig}
|
||||
'' + optionalString (def.quickFairQueueingConfigClass != { }) ''
|
||||
[QuickFairQueueingClass]
|
||||
${attrsToSection def.quickFairQueueingConfigClass}
|
||||
'' + flip concatMapStrings def.bridgeVLANs (x: ''
|
||||
[BridgeVLAN]
|
||||
${attrsToSection x.bridgeVLANConfig}
|
||||
'') + def.extraConfig;
|
||||
|
||||
}
|
@ -226,5 +226,8 @@ rec {
|
||||
lib = import ./systemd-lib.nix { inherit lib config pkgs; };
|
||||
unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
|
||||
types = import ./systemd-types.nix { inherit lib systemdUtils pkgs; };
|
||||
network = {
|
||||
units = import ./systemd-network-units.nix { inherit lib systemdUtils; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -9,22 +9,16 @@ let
|
||||
|
||||
stateDir = "/var/lib/${name}";
|
||||
|
||||
authDbPath = "${stateDir}/auth.db";
|
||||
toml = pkgs.formats.toml {};
|
||||
|
||||
sessionDbPath = "${stateDir}/session.db";
|
||||
|
||||
configFile = pkgs.writeText "ankisyncd.conf" (lib.generators.toINI {} {
|
||||
sync_app = {
|
||||
configFile = toml.generate "ankisyncd.conf" {
|
||||
listen = {
|
||||
host = cfg.host;
|
||||
port = cfg.port;
|
||||
data_root = stateDir;
|
||||
auth_db_path = authDbPath;
|
||||
session_db_path = sessionDbPath;
|
||||
|
||||
base_url = "/sync/";
|
||||
base_media_url = "/msync/";
|
||||
};
|
||||
});
|
||||
paths.root_dir = stateDir;
|
||||
# encryption.ssl_enable / cert_file / key_file
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.ankisyncd = {
|
||||
@ -59,8 +53,6 @@ in
|
||||
config = mkIf cfg.enable {
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
|
||||
|
||||
environment.etc."ankisyncd/ankisyncd.conf".source = configFile;
|
||||
|
||||
systemd.services.ankisyncd = {
|
||||
description = "ankisyncd - Anki sync server";
|
||||
after = [ "network.target" ];
|
||||
@ -71,7 +63,7 @@ in
|
||||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
StateDirectory = name;
|
||||
ExecStart = "${cfg.package}/bin/ankisyncd";
|
||||
ExecStart = "${cfg.package}/bin/ankisyncd --config ${configFile}";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
|
@ -1644,6 +1644,7 @@ in {
|
||||
nodejs
|
||||
procps
|
||||
gnupg
|
||||
gzip
|
||||
];
|
||||
serviceConfig = {
|
||||
Type = "notify";
|
||||
|
@ -26,6 +26,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
webhookUrl = mkOption {
|
||||
type = types.string;
|
||||
default = "";
|
||||
description = lib.mdDoc ''
|
||||
WEBHOOK_URL for n8n, in case we're running behind a reverse proxy.
|
||||
This cannot be set through configuration and must reside in an environment variable.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@ -44,6 +53,7 @@ in
|
||||
N8N_USER_FOLDER = "/var/lib/n8n";
|
||||
HOME = "/var/lib/n8n";
|
||||
N8N_CONFIG_FILES = "${configFile}";
|
||||
WEBHOOK_URL = "${webhookUrl}";
|
||||
|
||||
# Don't phone home
|
||||
N8N_DIAGNOSTICS_ENABLED = "false";
|
||||
|
@ -304,19 +304,19 @@ in
|
||||
'services.prometheus.exporters.sql.configFile'
|
||||
'';
|
||||
} {
|
||||
assertion = cfg.scaphandre.enable -> (pkgs.stdenv.hostPlatform.isx86_64 == true);
|
||||
assertion = cfg.scaphandre.enable -> (pkgs.stdenv.targetPlatform.isx86_64 == true);
|
||||
message = ''
|
||||
Only x86_64 host platform architecture is not supported.
|
||||
Scaphandre only support x86_64 architectures.
|
||||
'';
|
||||
} {
|
||||
assertion = cfg.scaphandre.enable -> ((lib.kernel.whenHelpers pkgs.linux.version).whenOlder "5.11" true).condition == false;
|
||||
message = ''
|
||||
A kernel version newer than '5.11' is required. ${pkgs.linux.version}
|
||||
Scaphandre requires a kernel version newer than '5.11', '${pkgs.linux.version}' given.
|
||||
'';
|
||||
} {
|
||||
assertion = cfg.scaphandre.enable -> (builtins.elem "intel_rapl_common" config.boot.kernelModules);
|
||||
message = ''
|
||||
Please enable 'intel_rapl_common' in 'boot.kernelModules'.
|
||||
Scaphandre needs 'intel_rapl_common' kernel module to be enabled. Please add it in 'boot.kernelModules'.
|
||||
'';
|
||||
} ] ++ (flip map (attrNames exporterOpts) (exporter: {
|
||||
assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall;
|
||||
|
@ -41,6 +41,10 @@ let
|
||||
in
|
||||
"${if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform then Caddyfile-formatted else Caddyfile}/Caddyfile";
|
||||
|
||||
etcConfigFile = "caddy/caddy_config";
|
||||
|
||||
configPath = "/etc/${etcConfigFile}";
|
||||
|
||||
acmeHosts = unique (catAttrs "useACMEHost" acmeVHosts);
|
||||
|
||||
mkCertOwnershipAssertion = import ../../../security/acme/mk-cert-ownership-assertion.nix;
|
||||
@ -155,11 +159,16 @@ in
|
||||
description = lib.mdDoc ''
|
||||
Override the configuration file used by Caddy. By default,
|
||||
NixOS generates one automatically.
|
||||
|
||||
The configuration file is exposed at {file}`${configPath}`.
|
||||
'';
|
||||
};
|
||||
|
||||
adapter = mkOption {
|
||||
default = null;
|
||||
default = if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null;
|
||||
defaultText = literalExpression ''
|
||||
if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null
|
||||
'';
|
||||
example = literalExpression "nginx";
|
||||
type = with types; nullOr str;
|
||||
description = lib.mdDoc ''
|
||||
@ -275,6 +284,21 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
enableReload = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Reload Caddy instead of restarting it when configuration file changes.
|
||||
|
||||
Note that enabling this option requires the [admin API](https://caddyserver.com/docs/caddyfile/options#admin)
|
||||
to not be turned off.
|
||||
|
||||
If you enable this option, consider setting [`grace_period`](https://caddyserver.com/docs/caddyfile/options#grace-period)
|
||||
to a non-infinite value in {option}`services.caddy.globalConfig`
|
||||
to prevent Caddy waiting for active connections to finish,
|
||||
which could delay the reload essentially indefinitely.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# implementation
|
||||
@ -311,13 +335,16 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
startLimitIntervalSec = 14400;
|
||||
startLimitBurst = 10;
|
||||
reloadTriggers = optional cfg.enableReload cfg.configFile;
|
||||
|
||||
serviceConfig = {
|
||||
serviceConfig = let
|
||||
runOptions = ''--config ${configPath} ${optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}"}'';
|
||||
in {
|
||||
# https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecStart=
|
||||
# If the empty string is assigned to this option, the list of commands to start is reset, prior assignments of this option will have no effect.
|
||||
ExecStart = [ "" ''${cfg.package}/bin/caddy run --config ${cfg.configFile} ${optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}"} ${optionalString cfg.resume "--resume"}'' ];
|
||||
ExecReload = [ "" ''${cfg.package}/bin/caddy reload --config ${cfg.configFile} ${optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}"} --force'' ];
|
||||
ExecStartPre = ''${cfg.package}/bin/caddy validate --config ${cfg.configFile} ${optionalString (cfg.adapter != null) "--adapter ${cfg.adapter}"}'';
|
||||
ExecStart = [ "" ''${cfg.package}/bin/caddy run ${runOptions} ${optionalString cfg.resume "--resume"}'' ];
|
||||
# Validating the configuration before applying it ensures we’ll get a proper error that will be reported when switching to the configuration
|
||||
ExecReload = [ "" ''${cfg.package}/bin/caddy reload ${runOptions} --force'' ];
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ReadWriteDirectories = cfg.dataDir;
|
||||
@ -353,5 +380,6 @@ in
|
||||
in
|
||||
listToAttrs certCfg;
|
||||
|
||||
environment.etc.${etcConfigFile}.source = cfg.configFile;
|
||||
};
|
||||
}
|
||||
|
@ -725,7 +725,7 @@ in
|
||||
systemd.defaultUnit = mkIf cfg.autorun "graphical.target";
|
||||
|
||||
systemd.services.display-manager =
|
||||
{ description = "X11 Server";
|
||||
{ description = "Display Manager";
|
||||
|
||||
after = [ "acpid.service" "systemd-logind.service" "systemd-user-sessions.service" ];
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
with utils.systemdUtils.unitOptions;
|
||||
with utils.systemdUtils.lib;
|
||||
with utils.systemdUtils.network.units;
|
||||
with lib;
|
||||
|
||||
let
|
||||
@ -2604,95 +2605,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
commonMatchText = def: optionalString (def.matchConfig != { }) ''
|
||||
[Match]
|
||||
${attrsToSection def.matchConfig}
|
||||
'';
|
||||
|
||||
linkToUnit = name: def:
|
||||
{ inherit (def) enable;
|
||||
text = commonMatchText def
|
||||
+ ''
|
||||
[Link]
|
||||
${attrsToSection def.linkConfig}
|
||||
''
|
||||
+ def.extraConfig;
|
||||
};
|
||||
|
||||
netdevToUnit = name: def:
|
||||
{ inherit (def) enable;
|
||||
text = commonMatchText def
|
||||
+ ''
|
||||
[NetDev]
|
||||
${attrsToSection def.netdevConfig}
|
||||
''
|
||||
+ optionalString (def.vlanConfig != { }) ''
|
||||
[VLAN]
|
||||
${attrsToSection def.vlanConfig}
|
||||
''
|
||||
+ optionalString (def.macvlanConfig != { }) ''
|
||||
[MACVLAN]
|
||||
${attrsToSection def.macvlanConfig}
|
||||
''
|
||||
+ optionalString (def.vxlanConfig != { }) ''
|
||||
[VXLAN]
|
||||
${attrsToSection def.vxlanConfig}
|
||||
''
|
||||
+ optionalString (def.tunnelConfig != { }) ''
|
||||
[Tunnel]
|
||||
${attrsToSection def.tunnelConfig}
|
||||
''
|
||||
+ optionalString (def.fooOverUDPConfig != { }) ''
|
||||
[FooOverUDP]
|
||||
${attrsToSection def.fooOverUDPConfig}
|
||||
''
|
||||
+ optionalString (def.peerConfig != { }) ''
|
||||
[Peer]
|
||||
${attrsToSection def.peerConfig}
|
||||
''
|
||||
+ optionalString (def.tunConfig != { }) ''
|
||||
[Tun]
|
||||
${attrsToSection def.tunConfig}
|
||||
''
|
||||
+ optionalString (def.tapConfig != { }) ''
|
||||
[Tap]
|
||||
${attrsToSection def.tapConfig}
|
||||
''
|
||||
+ optionalString (def.l2tpConfig != { }) ''
|
||||
[L2TP]
|
||||
${attrsToSection def.l2tpConfig}
|
||||
''
|
||||
+ flip concatMapStrings def.l2tpSessions (x: ''
|
||||
[L2TPSession]
|
||||
${attrsToSection x.l2tpSessionConfig}
|
||||
'')
|
||||
+ optionalString (def.wireguardConfig != { }) ''
|
||||
[WireGuard]
|
||||
${attrsToSection def.wireguardConfig}
|
||||
''
|
||||
+ flip concatMapStrings def.wireguardPeers (x: ''
|
||||
[WireGuardPeer]
|
||||
${attrsToSection x.wireguardPeerConfig}
|
||||
'')
|
||||
+ optionalString (def.bondConfig != { }) ''
|
||||
[Bond]
|
||||
${attrsToSection def.bondConfig}
|
||||
''
|
||||
+ optionalString (def.xfrmConfig != { }) ''
|
||||
[Xfrm]
|
||||
${attrsToSection def.xfrmConfig}
|
||||
''
|
||||
+ optionalString (def.vrfConfig != { }) ''
|
||||
[VRF]
|
||||
${attrsToSection def.vrfConfig}
|
||||
''
|
||||
+ optionalString (def.batmanAdvancedConfig != { }) ''
|
||||
[BatmanAdvanced]
|
||||
${attrsToSection def.batmanAdvancedConfig}
|
||||
''
|
||||
+ def.extraConfig;
|
||||
};
|
||||
|
||||
renderConfig = def:
|
||||
{ text = ''
|
||||
[Network]
|
||||
@ -2707,235 +2619,6 @@ let
|
||||
${attrsToSection def.dhcpV6Config}
|
||||
''; };
|
||||
|
||||
networkToUnit = name: def:
|
||||
{ inherit (def) enable;
|
||||
text = commonMatchText def
|
||||
+ optionalString (def.linkConfig != { }) ''
|
||||
[Link]
|
||||
${attrsToSection def.linkConfig}
|
||||
''
|
||||
+ ''
|
||||
[Network]
|
||||
''
|
||||
+ attrsToSection def.networkConfig
|
||||
+ optionalString (def.address != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Address=${s}") def.address)}
|
||||
''
|
||||
+ optionalString (def.gateway != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Gateway=${s}") def.gateway)}
|
||||
''
|
||||
+ optionalString (def.dns != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "DNS=${s}") def.dns)}
|
||||
''
|
||||
+ optionalString (def.ntp != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "NTP=${s}") def.ntp)}
|
||||
''
|
||||
+ optionalString (def.bridge != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Bridge=${s}") def.bridge)}
|
||||
''
|
||||
+ optionalString (def.bond != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Bond=${s}") def.bond)}
|
||||
''
|
||||
+ optionalString (def.vrf != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VRF=${s}") def.vrf)}
|
||||
''
|
||||
+ optionalString (def.vlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VLAN=${s}") def.vlan)}
|
||||
''
|
||||
+ optionalString (def.macvlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "MACVLAN=${s}") def.macvlan)}
|
||||
''
|
||||
+ optionalString (def.vxlan != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "VXLAN=${s}") def.vxlan)}
|
||||
''
|
||||
+ optionalString (def.tunnel != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Tunnel=${s}") def.tunnel)}
|
||||
''
|
||||
+ optionalString (def.xfrm != [ ]) ''
|
||||
${concatStringsSep "\n" (map (s: "Xfrm=${s}") def.xfrm)}
|
||||
''
|
||||
+ ''
|
||||
|
||||
''
|
||||
+ flip concatMapStrings def.addresses (x: ''
|
||||
[Address]
|
||||
${attrsToSection x.addressConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.routingPolicyRules (x: ''
|
||||
[RoutingPolicyRule]
|
||||
${attrsToSection x.routingPolicyRuleConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.routes (x: ''
|
||||
[Route]
|
||||
${attrsToSection x.routeConfig}
|
||||
'')
|
||||
+ optionalString (def.dhcpV4Config != { }) ''
|
||||
[DHCPv4]
|
||||
${attrsToSection def.dhcpV4Config}
|
||||
''
|
||||
+ optionalString (def.dhcpV6Config != { }) ''
|
||||
[DHCPv6]
|
||||
${attrsToSection def.dhcpV6Config}
|
||||
''
|
||||
+ optionalString (def.dhcpPrefixDelegationConfig != { }) ''
|
||||
[DHCPPrefixDelegation]
|
||||
${attrsToSection def.dhcpPrefixDelegationConfig}
|
||||
''
|
||||
+ optionalString (def.ipv6AcceptRAConfig != { }) ''
|
||||
[IPv6AcceptRA]
|
||||
${attrsToSection def.ipv6AcceptRAConfig}
|
||||
''
|
||||
+ optionalString (def.dhcpServerConfig != { }) ''
|
||||
[DHCPServer]
|
||||
${attrsToSection def.dhcpServerConfig}
|
||||
''
|
||||
+ optionalString (def.ipv6SendRAConfig != { }) ''
|
||||
[IPv6SendRA]
|
||||
${attrsToSection def.ipv6SendRAConfig}
|
||||
''
|
||||
+ flip concatMapStrings def.ipv6Prefixes (x: ''
|
||||
[IPv6Prefix]
|
||||
${attrsToSection x.ipv6PrefixConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.ipv6RoutePrefixes (x: ''
|
||||
[IPv6RoutePrefix]
|
||||
${attrsToSection x.ipv6RoutePrefixConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.dhcpServerStaticLeases (x: ''
|
||||
[DHCPServerStaticLease]
|
||||
${attrsToSection x.dhcpServerStaticLeaseConfig}
|
||||
'')
|
||||
+ optionalString (def.bridgeConfig != { }) ''
|
||||
[Bridge]
|
||||
${attrsToSection def.bridgeConfig}
|
||||
''
|
||||
+ flip concatMapStrings def.bridgeFDBs (x: ''
|
||||
[BridgeFDB]
|
||||
${attrsToSection x.bridgeFDBConfig}
|
||||
'')
|
||||
+ flip concatMapStrings def.bridgeMDBs (x: ''
|
||||
[BridgeMDB]
|
||||
${attrsToSection x.bridgeMDBConfig}
|
||||
'')
|
||||
+ optionalString (def.lldpConfig != { }) ''
|
||||
[LLDP]
|
||||
${attrsToSection def.lldpConfig}
|
||||
''
|
||||
+ optionalString (def.canConfig != { }) ''
|
||||
[CAN]
|
||||
${attrsToSection def.canConfig}
|
||||
''
|
||||
+ optionalString (def.ipoIBConfig != { }) ''
|
||||
[IPoIB]
|
||||
${attrsToSection def.ipoIBConfig}
|
||||
''
|
||||
+ optionalString (def.qdiscConfig != { }) ''
|
||||
[QDisc]
|
||||
${attrsToSection def.qdiscConfig}
|
||||
''
|
||||
+ optionalString (def.networkEmulatorConfig != { }) ''
|
||||
[NetworkEmulator]
|
||||
${attrsToSection def.networkEmulatorConfig}
|
||||
''
|
||||
+ optionalString (def.tokenBucketFilterConfig != { }) ''
|
||||
[TokenBucketFilter]
|
||||
${attrsToSection def.tokenBucketFilterConfig}
|
||||
''
|
||||
+ optionalString (def.pieConfig != { }) ''
|
||||
[PIE]
|
||||
${attrsToSection def.pieConfig}
|
||||
''
|
||||
+ optionalString (def.flowQueuePIEConfig != { }) ''
|
||||
[FlowQueuePIE]
|
||||
${attrsToSection def.flowQueuePIEConfig}
|
||||
''
|
||||
+ optionalString (def.stochasticFairBlueConfig != { }) ''
|
||||
[StochasticFairBlue]
|
||||
${attrsToSection def.stochasticFairBlueConfig}
|
||||
''
|
||||
+ optionalString (def.stochasticFairnessQueueingConfig != { }) ''
|
||||
[StochasticFairnessQueueing]
|
||||
${attrsToSection def.stochasticFairnessQueueingConfig}
|
||||
''
|
||||
+ optionalString (def.bfifoConfig != { }) ''
|
||||
[BFIFO]
|
||||
${attrsToSection def.bfifoConfig}
|
||||
''
|
||||
+ optionalString (def.pfifoConfig != { }) ''
|
||||
[PFIFO]
|
||||
${attrsToSection def.pfifoConfig}
|
||||
''
|
||||
+ optionalString (def.pfifoHeadDropConfig != { }) ''
|
||||
[PFIFOHeadDrop]
|
||||
${attrsToSection def.pfifoHeadDropConfig}
|
||||
''
|
||||
+ optionalString (def.pfifoFastConfig != { }) ''
|
||||
[PFIFOFast]
|
||||
${attrsToSection def.pfifoFastConfig}
|
||||
''
|
||||
+ optionalString (def.cakeConfig != { }) ''
|
||||
[CAKE]
|
||||
${attrsToSection def.cakeConfig}
|
||||
''
|
||||
+ optionalString (def.controlledDelayConfig != { }) ''
|
||||
[ControlledDelay]
|
||||
${attrsToSection def.controlledDelayConfig}
|
||||
''
|
||||
+ optionalString (def.deficitRoundRobinSchedulerConfig != { }) ''
|
||||
[DeficitRoundRobinScheduler]
|
||||
${attrsToSection def.deficitRoundRobinSchedulerConfig}
|
||||
''
|
||||
+ optionalString (def.deficitRoundRobinSchedulerClassConfig != { }) ''
|
||||
[DeficitRoundRobinSchedulerClass]
|
||||
${attrsToSection def.deficitRoundRobinSchedulerClassConfig}
|
||||
''
|
||||
+ optionalString (def.enhancedTransmissionSelectionConfig != { }) ''
|
||||
[EnhancedTransmissionSelection]
|
||||
${attrsToSection def.enhancedTransmissionSelectionConfig}
|
||||
''
|
||||
+ optionalString (def.genericRandomEarlyDetectionConfig != { }) ''
|
||||
[GenericRandomEarlyDetection]
|
||||
${attrsToSection def.genericRandomEarlyDetectionConfig}
|
||||
''
|
||||
+ optionalString (def.fairQueueingControlledDelayConfig != { }) ''
|
||||
[FairQueueingControlledDelay]
|
||||
${attrsToSection def.fairQueueingControlledDelayConfig}
|
||||
''
|
||||
+ optionalString (def.fairQueueingConfig != { }) ''
|
||||
[FairQueueing]
|
||||
${attrsToSection def.fairQueueingConfig}
|
||||
''
|
||||
+ optionalString (def.trivialLinkEqualizerConfig != { }) ''
|
||||
[TrivialLinkEqualizer]
|
||||
${attrsToSection def.trivialLinkEqualizerConfig}
|
||||
''
|
||||
+ optionalString (def.hierarchyTokenBucketConfig != { }) ''
|
||||
[HierarchyTokenBucket]
|
||||
${attrsToSection def.hierarchyTokenBucketConfig}
|
||||
''
|
||||
+ optionalString (def.hierarchyTokenBucketClassConfig != { }) ''
|
||||
[HierarchyTokenBucketClass]
|
||||
${attrsToSection def.hierarchyTokenBucketClassConfig}
|
||||
''
|
||||
+ optionalString (def.heavyHitterFilterConfig != { }) ''
|
||||
[HeavyHitterFilter]
|
||||
${attrsToSection def.heavyHitterFilterConfig}
|
||||
''
|
||||
+ optionalString (def.quickFairQueueingConfig != { }) ''
|
||||
[QuickFairQueueing]
|
||||
${attrsToSection def.quickFairQueueingConfig}
|
||||
''
|
||||
+ optionalString (def.quickFairQueueingConfigClass != { }) ''
|
||||
[QuickFairQueueingClass]
|
||||
${attrsToSection def.quickFairQueueingConfigClass}
|
||||
''
|
||||
+ flip concatMapStrings def.bridgeVLANs (x: ''
|
||||
[BridgeVLAN]
|
||||
${attrsToSection x.bridgeVLANConfig}
|
||||
'')
|
||||
+ def.extraConfig;
|
||||
};
|
||||
|
||||
mkUnitFiles = prefix: cfg: listToAttrs (map (name: {
|
||||
name = "${prefix}systemd/network/${name}";
|
||||
value.source = "${cfg.units.${name}.unit}/${name}";
|
||||
@ -3048,11 +2731,14 @@ let
|
||||
|
||||
};
|
||||
|
||||
commonConfig = config: let cfg = config.systemd.network; in mkMerge [
|
||||
commonConfig = config: let
|
||||
cfg = config.systemd.network;
|
||||
mkUnit = f: def: { inherit (def) enable; text = f def; };
|
||||
in mkMerge [
|
||||
|
||||
# .link units are honored by udev, no matter if systemd-networkd is enabled or not.
|
||||
{
|
||||
systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links;
|
||||
systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (mkUnit linkToUnit v)) cfg.links;
|
||||
|
||||
systemd.network.wait-online.extraArgs =
|
||||
[ "--timeout=${toString cfg.wait-online.timeout}" ]
|
||||
@ -3062,8 +2748,8 @@ let
|
||||
|
||||
(mkIf config.systemd.network.enable {
|
||||
|
||||
systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.netdevs
|
||||
// mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.networks;
|
||||
systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.netdev" (mkUnit netdevToUnit v)) cfg.netdevs
|
||||
// mapAttrs' (n: v: nameValuePair "${n}.network" (mkUnit networkToUnit v)) cfg.networks;
|
||||
|
||||
# systemd-networkd is socket-activated by kernel netlink route change
|
||||
# messages. It is important to have systemd buffer those on behalf of
|
||||
|
@ -267,6 +267,7 @@ in {
|
||||
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
||||
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
||||
firefox-esr-102 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-102; };
|
||||
firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; };
|
||||
firejail = handleTest ./firejail.nix {};
|
||||
firewall = handleTest ./firewall.nix { nftables = false; };
|
||||
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
|
||||
|
@ -20,6 +20,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
}
|
||||
}
|
||||
'';
|
||||
services.caddy.enableReload = true;
|
||||
|
||||
specialisation.etag.configuration = {
|
||||
services.caddy.extraConfig = lib.mkForce ''
|
||||
@ -54,9 +55,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
let
|
||||
etagSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/etag";
|
||||
justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/specialisation/config-reload";
|
||||
multipleConfigs = "${nodes.webserver.config.system.build.toplevel}/specialisation/multiple-configs";
|
||||
etagSystem = "${nodes.webserver.system.build.toplevel}/specialisation/etag";
|
||||
justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload";
|
||||
multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs";
|
||||
in
|
||||
''
|
||||
url = "http://localhost/example.html"
|
||||
@ -96,6 +97,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
"${justReloadSystem}/bin/switch-to-configuration test >&2"
|
||||
)
|
||||
webserver.wait_for_open_port(8080)
|
||||
webserver.fail("journalctl -u caddy | grep -q -i stopped")
|
||||
webserver.succeed("journalctl -u caddy | grep -q -i reloaded")
|
||||
|
||||
with subtest("multiple configs are correctly merged"):
|
||||
webserver.succeed(
|
||||
|
@ -185,6 +185,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://ardour.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "ardour6";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
|
||||
};
|
||||
|
@ -198,6 +198,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://ardour.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "ardour7";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
|
||||
};
|
||||
|
@ -83,6 +83,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/DISTRHO/cardinal";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
mainProgram = "Cardinal";
|
||||
platforms = lib.platforms.all;
|
||||
# never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin;
|
||||
|
@ -39,13 +39,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sonic-pi";
|
||||
version = "4.3.0";
|
||||
version = "4.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sonic-pi-net";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-R+nmjIIDLoGOoCkDvJqejE1DaweHSAV8M2RvdwN5qAQ=";
|
||||
hash = "sha256-rXMCaI9zvWIXmT7ZqIArsvZmEkEEbs+5jYDYsSGeCXc=";
|
||||
};
|
||||
|
||||
mixFodDeps = beamPackages.fetchMixDeps {
|
||||
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||
pname = "mix-deps-${pname}";
|
||||
mixEnv = "test";
|
||||
src = "${src}/app/server/beam/tau";
|
||||
hash = "sha256-MvwUyVTS23vQKLpGxz46tEVCs/OyYk5dDaBlv+kYg1M=";
|
||||
hash = "sha256-YbYe+hljnoWFgV72OQ2YaUcnhucEtVb+TCLcMYzqUWU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -22,11 +22,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clightning";
|
||||
version = "23.05.1";
|
||||
version = "23.05.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
|
||||
sha256 = "sha256-q0ZPsuvDgXbhxebBIRkGTE7sH7K6c96Iu6RqeBT3NEk=";
|
||||
sha256 = "sha256-Tj5ybVaxpk5wmOw85LkeU4pgM9NYl6SnmDG2gyXrTHw=";
|
||||
};
|
||||
|
||||
# when building on darwin we need dawin.cctools to provide the correct libtool
|
||||
|
@ -3,10 +3,10 @@
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "7ea6a7d18cac5c7c89a3e1dd4d3870f74762d4c9378c31a3753fd37f50cf2832",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.3.tar.gz",
|
||||
"build_number": "231.9011.31"
|
||||
"version": "2023.1.4",
|
||||
"sha256": "03830bd8c32eca51d2cb54aafbb74ce46003eaab9601465876c84107c0a19a23",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4.tar.gz",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
@ -19,26 +19,26 @@
|
||||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "5d53853577b2679cccdd6a409d239a4bc0c1b5c612234b40dbab78d9e3d2a446",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.36"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "7c0a19d740e3be8307a4487427347e2d5a7d4ab12ec44f1866e8c5f08e97d323",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.44"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "fab46521e7a4558a166e3b11d86ca2312a9807e69419925ed5743ab4f421ab96",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "32d97c9935e4825d5f395e5039033121649838a3811e25301d70f32315a2e106",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.32"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "e1f16726a864f4ff9f0a48bd60a6983a664030df5e5456023d76b8fb8ac9df9d",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "f456024e1b5de405ada9bd570483ffca1126edec9c81bfa02b077f81434b5719",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
@ -67,61 +67,61 @@
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "889f531bbe5c6dda9fb4805dbbccd25d3aa4262a97f4ad14cf184db3eaf2d980",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.38",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "c12c99b39615bd2d37eec93ed29faee2387294624eaed7fabd5c7cc8de9faf9f",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.47",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "1445b48b091469176644cb85a0a6f953783920fb1ec9a53bcbdd932ad8c947b0",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "40682c61bf21c66dd861ee47f12b6895a36d99b9ce676b13cb5dc7e5b4bd3f46",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "e57eae7a3c99983b8dc5c5aa036579d7ac73cae33aeb4c5f7f80517f2040c385",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "4cdf85c01854d7f74c9fa9efda67453356f1120e49cc5aed1168f0f32d8ee016",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "50eb2deb303162dc77c802c4402c2734bdae38a47ab534921e064a107dc284ae",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.39"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "192be48828cb7515e8158cec8aa6ba4d320d3b65ebd09a921e85085143e9bd56",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.46"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "f7f40e03571d485a7b6e36b98c8a3e3b534456fb351389347927a800e1b2fc74",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.41"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "0eda257d349b9e24ade016af94a2cbca669b719f0a79d5720dfc9a54c7415901",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "934986d682857e8529588cdc6f4f125ff7e13ee0a1060fa41af2bb9d4a620444",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.2.tar.gz",
|
||||
"build_number": "231.9011.35"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "1cef18a6d80e063b520dd8e9a0cf5b27a9cb05bbfa5b680e97c54a7cb435c9c6",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3.tar.gz",
|
||||
"build_number": "231.9161.29"
|
||||
}
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "74e65171daeec11ee8e45db14fefa72f141ebe4f8f40fe5172c24aaacac1d2fd",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.3.dmg",
|
||||
"build_number": "231.9011.31"
|
||||
"version": "2023.1.4",
|
||||
"sha256": "fdb801c7c42e87fa0db94b68192e09319583118461385e4133ce9cd01125cb41",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4.dmg",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
@ -134,26 +134,26 @@
|
||||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "5f4375f653ce28b45e17c972ca71b8b34866e76e9a324a6cc3bd482ad4421b04",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.2.dmg",
|
||||
"build_number": "231.9011.36"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "5d57d35ea08bc3ef9519b9669771a6d36a22424298e05dc82b18df787b52c79c",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.3.dmg",
|
||||
"build_number": "231.9161.44"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "320beadb9eb50f48eb431bcd2c88ec1c2e7e0ef2f1f2414aa3842de5930d79ff",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.2.dmg",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "18d9bcce099d9f78ff4990f93c9ffc6819d7e789f4372659a3ea3bf0f1a2f85a",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.3.dmg",
|
||||
"build_number": "231.9161.32"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "8ea923b48a6a34991902689062c96d9bd7524591dfad0e47ace937ae5762d051",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.2.dmg",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "6f7173843e157f24001b837f4d50827bf55b629df4d82f9b95c08ec29dc2ff3b",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.3.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
@ -182,61 +182,61 @@
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "42d4e946ff7f40a52a47f121be8a08a0fa46786f773b7cee28e51b12f2f296e6",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.2.dmg",
|
||||
"build_number": "231.9011.38",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "d181a8c9ff92f183f1ce68c1867de61b17e5a82f5b16ec472baa99f5a5f9ce83",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3.dmg",
|
||||
"build_number": "231.9161.47",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "7a947104f38cdb3a8e1a3466808add60a3c3d41545ae2fe84c1467dcc91973e8",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.2.dmg",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "4e6ca940a47b8c5d93f6392339a0e9497f8b132bbb61d62bc5559fc62ddc9f73",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.3.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "46d8c03dd18de5a87837f3a437ae05ad7ad1ba3d61d742cef5124a30f5aa1109",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.2.dmg",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "70ee1bbdb2cb214be048174bba4b0f6ba969e0f257f74fb5adee951b517adb0e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.3.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "f784a5a9d909bf671d6680807a451c761f44cba3a0f49cfc9b74c4bca1d7c1f1",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.2.dmg",
|
||||
"build_number": "231.9011.39"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "f7727c5f1b38352ca6ce7ad5ee410152b733bb72b98416d54b7b3e627fd6f2a9",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.3.dmg",
|
||||
"build_number": "231.9161.46"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "28eb6505d37d5821507985cbd7ddd60787b7f3fa9966b3a67187938c3b7f153f",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.2.dmg",
|
||||
"build_number": "231.9011.41"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "b6a92e6451d12c618c5489e554d06e24a0967edb6ebf194cf244b9e1f23d4ca5",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.3.dmg",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "0a8dbf63ce61bd24a1037a967cc27b45d4b467a0c39c6e4625704a8fba3add71",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.2.dmg",
|
||||
"build_number": "231.9011.35"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "ac8a4edbc2d846e2ac205ebf62ad0d883df5eac812b226b1b99c4f19764df005",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3.dmg",
|
||||
"build_number": "231.9161.29"
|
||||
}
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "a167a2fe88cecf422edc32f981cd01736d154f3c284d1cd9cc85f68e0aa7e50b",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9011.31"
|
||||
"version": "2023.1.4",
|
||||
"sha256": "f3aa638dbf08df9763d557c02c5408be864442af25c7e4b0dce7889a800f3a49",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.1.4-aarch64.dmg",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
@ -249,26 +249,26 @@
|
||||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "f9ef32141d044c371de6f410f8d53f8b45bc7339aea45c29bfc345d1c54d9198",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.36"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "9dde75ec9fbccc9bfe7c390fd1f46a81fb153f226da7d3ca96bdeef5e60c51e1",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.44"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "338edd281715b14193834ed01947c6161865e58d1416557316c2b298401a0272",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "3564f680ff11ac66722e970491d37d3f1faeb09354095f2086bf0bf4a0897e5b",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.32"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "8674cb075b41db52b2a5f3698659b8e0480bcb9d81b4e3112bb7e5c23259200e",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.34"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "d0b923a44305ef3ce113cabd2a19e1f2bfd0adec0cdc0571765851206aad5160",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
@ -297,51 +297,51 @@
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "871147496e828a9f28b02a3226eca6127a7b0837f6ca872c51590696fc52f7fc",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.38",
|
||||
"version": "2023.1.3",
|
||||
"sha256": "49ca043ee6119ae31c5f3fd12aa085f22dc0117c95bf70fca8afe29960c1a546",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.47",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "d816ad095094dc5cc5b91ede9f1d41654fc90f8925b9e421f9aac0325de0e366",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "989112fe6aae4be2e84712fe1def61589865b57daf7c67d01f81e452b46de252",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "9387e383f9d70d1b5e4e8e4b64061678c94a8329cafc9df5d342ac0f346a31fe",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.38"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "fa2403fd138dc013929ebf0a1054f8a55639666f2d4e4b14fa6f904467e74ba0",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.41"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "896a70b5807683acec70e77620ccc9f1c1e1801257678de0531a5f3c1bccffb7",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.39"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "d8477d115836913063996abc43ecc531cf08b10f3fb8fc21f58d385743895337",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.46"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "ecd3aeba77455d90a10b2ad4dc0939a66d8b70d1c43125fb76132c0af72bba31",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.41"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "f367b80a7bfe5ceffee0af865a9722de195823b1049df3afc2301fc6ede66878",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.40"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
|
||||
"version": "2023.1.2",
|
||||
"sha256": "c72e249d38ba1fbfece680545d4714e73d73e9933cbbab8e85c0da2bab37142e",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.2-aarch64.dmg",
|
||||
"build_number": "231.9011.35"
|
||||
"version": "2023.1.3",
|
||||
"sha256": "c5cc29db9a12515892beed79e1970e628a816f78c629045795ea16c6e5629a2b",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.1.3-aarch64.dmg",
|
||||
"build_number": "231.9161.29"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,13 +28,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "ryujinx";
|
||||
version = "1.1.942"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
version = "1.1.952"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ryujinx";
|
||||
repo = "Ryujinx";
|
||||
rev = "6e28a4dd13df0ab866e6a178086abe36ca4a2b25";
|
||||
sha256 = "0890gh0907wcdzx4ci2jd75a72b3kllwavkcwz56ls0vaqymqxda";
|
||||
rev = "1c7a90ef359d9974e5bd257c4d8e9bf526a6966c";
|
||||
sha256 = "0yx8gw31vfvmfwmbkckgpbyyzk3kkgm0q124wf6c9i8sqiyqmpp1";
|
||||
};
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||
|
@ -58,12 +58,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.2.1";
|
||||
version = "4.4.0";
|
||||
pname = "darktable";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
||||
sha256 = "603a39c6074291a601f7feb16ebb453fd0c5b02a6f5d3c7ab6db612eadc97bac";
|
||||
sha256 = "8887fc34abd97c4998b0888c3197e0c509d63bdeab2238906915319811f3b080";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja llvm_13 pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
|
||||
|
@ -3,13 +3,13 @@
|
||||
, kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons
|
||||
, libarchive, libzip
|
||||
# Archive tools
|
||||
, p7zip, lrzip
|
||||
, p7zip, lrzip, unar
|
||||
# Unfree tools
|
||||
, unfreeEnableUnrar ? false, unrar
|
||||
}:
|
||||
|
||||
let
|
||||
extraTools = [ p7zip lrzip ] ++ lib.optional unfreeEnableUnrar unrar;
|
||||
extraTools = [ p7zip lrzip unar ] ++ lib.optional unfreeEnableUnrar unrar;
|
||||
in
|
||||
|
||||
mkDerivation {
|
||||
|
@ -1,45 +0,0 @@
|
||||
{ fetchFromGitHub
|
||||
, glib
|
||||
, gtk3
|
||||
, lib
|
||||
, rustPlatform
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fitnesstrax";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "luminescent-dreams";
|
||||
repo = "fitnesstrax";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "1k6zhnbs0ggx7q0ig2abcnzprsgrychlpvsh6d36dw6mr8zpfkp7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
glib
|
||||
gtk3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
];
|
||||
|
||||
cargoSha256 = "0dlnlb3hqyh98y916wvdb4rd20az73brs8hqna2lgr7kv1pd77j7";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/glib-2.0/schemas
|
||||
cp -r $src/share/* $out/share/
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Privacy-first fitness tracking";
|
||||
homepage = "https://github.com/luminescent-dreams/fitnesstrax";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ savannidgerinel ];
|
||||
};
|
||||
}
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gofu";
|
||||
version = "unstable-2022-04-01";
|
||||
version = "unstable-2023-04-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "majewsky";
|
||||
repo = pname;
|
||||
rev = "be0e424eecec3fec19ba3518f8fd1bb07b6908dc";
|
||||
sha256 = "sha256-jMOmvCsuRtL9EgPicdNEksVgFepL/JZA53o2wzr8uzQ=";
|
||||
rev = "f308ca92d1631e579fbfe3b3da13c93709dc18a2";
|
||||
hash = "sha256-8c/Z+44gX7diAhXq8sHOqISoGhYdFA7VUYn7eNMCYxY=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -24,25 +24,16 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mediaelch";
|
||||
version = "2.10.0";
|
||||
version = "2.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Komet";
|
||||
repo = "MediaElch";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-hipOOG+ibfsJZKLcnB6a5+OOvSs4WUdpEY+RiVKJc+k=";
|
||||
sha256 = "sha256-y8NXBPShmhp0QiuSbVA2JvZrv70Z76Kmdw+RuBnMtPY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/Komet/MediaElch/issues/1557
|
||||
# build: Fix build issue with Qt 6.5 on macOS (also other platforms)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Komet/MediaElch/commit/872b21decf95d70073400bedbe1ad183a8267791.patch";
|
||||
hash = "sha256-D1Ui5xg5cpvNX4IHfXQ7wN9I7Y3SuPFOWxWidcAlLEA=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qttools
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nwg-dock-hyprland";
|
||||
version = "0.1.2";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7vdfxE3X2J7bDLzose0dKmjxNQhS5+/ROky9wkK1gc0=";
|
||||
sha256 = "sha256-5RPp/CZgEkQDg+xn1xQDpLOCzfgWWdTl12aE+SRRPvE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-GhcrIVnZRbiGTfeUAWvslOVWDZmoL0ZRnjgTtQgxe2Q=";
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -239,14 +239,12 @@ buildStdenv.mkDerivation {
|
||||
hash = "sha256-fLUYaJwhrC/wF24HkuWn2PHqz7LlAaIZ1HYjRDB2w9A=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionOlder version "109") [
|
||||
++ lib.optionals (lib.versionOlder version "102.13") [
|
||||
# cherry-pick bindgen change to fix build with clang 16
|
||||
(fetchpatch {
|
||||
url = "https://git.alpinelinux.org/aports/plain/community/firefox-esr/bindgen.patch?id=4c4b0c01c808657fffc5b796c56108c57301b28f";
|
||||
hash = "sha256-lTvgT358M4M2vedZ+A6xSKsBYhSN+McdmEeR9t75MLU=";
|
||||
})
|
||||
]
|
||||
++ lib.optionals (lib.versionOlder version "111") [
|
||||
# cherry-pick mp4parse change fixing build with Rust 1.70+
|
||||
# original change: https://github.com/mozilla/mp4parse-rust/commit/8b5b652d38e007e736bb442ccd5aa5ed699db100
|
||||
# vendored to update checksums
|
||||
|
@ -3,10 +3,10 @@
|
||||
{
|
||||
firefox = buildMozillaMach rec {
|
||||
pname = "firefox";
|
||||
version = "114.0.2";
|
||||
version = "115.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "1d514d09c6b964b96c6d52d54b89a89a92d53a6fe669e16a6370346c980db4d0ac6c502fa89219c71b680566b9eb982e9b3191c21f81d7326f34f6c837c0a872";
|
||||
sha512 = "ed5d150e4dfdc01026beb3ae502a0b04321dd130084fdef63afce79a8a7a4898741d08f77716ba720c24f31b9c732c00ad0f1cd408b35b5eb6601a10014fb1a2";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -85,11 +85,11 @@
|
||||
|
||||
firefox-esr-102 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-102";
|
||||
version = "102.12.0esr";
|
||||
version = "102.13.0esr";
|
||||
applicationName = "Mozilla Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "2a85cf1e1c83a862c2886a63dcf3e3e8bca9dd3ed72c5d0223db52387fff3796bc0dcbb508adb8c10a30729f20554c5aac37f8ad045b0088a593d28e39d77fe5";
|
||||
sha512 = "745f4a77e4c898313f11118274d27513f4baa16bb42d5b71d9bd0dbe8957dbf39a5f7ae8442cd711aca9b597bc909c04b44cb8d9094c57aa34e285e64f834fde";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@ -110,4 +110,32 @@
|
||||
versionSuffix = "esr";
|
||||
};
|
||||
};
|
||||
|
||||
firefox-esr-115 = buildMozillaMach rec {
|
||||
pname = "firefox-esr-115";
|
||||
version = "115.0esr";
|
||||
applicationName = "Mozilla Firefox ESR";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "377ab48989ec17b64bd06fed8dd80dde50c06dd4120a6ca1c2fe90a20c85d1c0ef6143a73daeb0271fb20a04b0fb53d837e116b56c63718d517b07ed4243a3e9";
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.mozilla.org/en-US/firefox/${lib.removeSuffix "esr" version}/releasenotes/";
|
||||
description = "A web browser built from Firefox Extended Support Release source tree";
|
||||
homepage = "http://www.mozilla.com/en-US/firefox/";
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
platforms = lib.platforms.unix;
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
|
||||
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
||||
license = lib.licenses.mpl20;
|
||||
};
|
||||
tests = [ nixosTests.firefox-esr-115 ];
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-esr-115-unwrapped";
|
||||
versionPrefix = "115";
|
||||
versionSuffix = "esr";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubecm";
|
||||
version = "0.23.0";
|
||||
version = "0.24.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sunny0826";
|
||||
repo = "kubecm";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-BywtQ6YVGPz5A0GE2q0zRoBZNU6HZgVbr6H0OMR05wM=";
|
||||
hash = "sha256-njib9gfCay3DYRUBvc6Hi6khtzqU/Qit1/jBfISY3gI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WZxjv4v2nfJjbzFfaDh2kE7ZBREB+Q8BmHhUrAiDd7g=";
|
||||
vendorHash = "sha256-MIb4vJh2r5T3oJAtpoTd/yT3r+BXfxv0qxfRPcNMDko=";
|
||||
ldflags = [ "-s" "-w" "-X github.com/sunny0826/kubecm/version.Version=${version}"];
|
||||
|
||||
doCheck = false;
|
||||
|
@ -0,0 +1,27 @@
|
||||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubectl-cnpg";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudnative-pg";
|
||||
repo = "cloudnative-pg";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PFibPL5jBbdGgULiqtt5tKYy3UWsldnbCN2LJpxat60=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-jD8p5RWbCMPmZec3fEsGa8kevTi1curBazlEDvjeuq8=";
|
||||
|
||||
subPackages = [ "cmd/kubectl-cnpg" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://cloudnative-pg.io/";
|
||||
description = "Plugin for kubectl to manage a CloudNativePG cluster in Kubernetes";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ devusb ];
|
||||
};
|
||||
}
|
@ -146,11 +146,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"baiducloud": {
|
||||
"hash": "sha256-cEi/B5vZWQDdne4SlTwoObt+eUsmTdyG8bH6YHPo4IA=",
|
||||
"hash": "sha256-bCn6Zenyy0qGazph+MIiA/EAcdi3VLrl4S9AArdzx20=",
|
||||
"homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
|
||||
"owner": "baidubce",
|
||||
"repo": "terraform-provider-baiducloud",
|
||||
"rev": "v1.19.7",
|
||||
"rev": "v1.19.8",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
@ -191,13 +191,13 @@
|
||||
"vendorHash": "sha256-AJcPxiuglHpsHUIa5sJMtY7MRN5JrW/tfkz3+5Bv9AU="
|
||||
},
|
||||
"checkly": {
|
||||
"hash": "sha256-ZJQdH1ot/ygnM4Q2rihzHFH67ge6zfVrPASgV0lUs34=",
|
||||
"hash": "sha256-UXIni594P85sgS8XVLoJ0+UTBeUS0XC+oj98KJUfghg=",
|
||||
"homepage": "https://registry.terraform.io/providers/checkly/checkly",
|
||||
"owner": "checkly",
|
||||
"repo": "terraform-provider-checkly",
|
||||
"rev": "v1.6.6",
|
||||
"rev": "v1.6.7",
|
||||
"spdx": null,
|
||||
"vendorHash": "sha256-feuFwaV463o+7jpv2jl2R4Bm9Tv2w4R03/0ne0kImIU="
|
||||
"vendorHash": "sha256-ATj1tGTS7FnEQDa6KuDQITGuVimP0A4sdlUNJ6RNIqI="
|
||||
},
|
||||
"ciscoasa": {
|
||||
"hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
|
||||
@ -282,13 +282,13 @@
|
||||
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
|
||||
},
|
||||
"datadog": {
|
||||
"hash": "sha256-1vGpPvsy3SztlreNy0kcpTFtRaeq34G3B+Zo3obdHIw=",
|
||||
"hash": "sha256-2ahiJ4YL0BmrDwc9f9fp/ppStb51bZlzpwEfuTAlgko=",
|
||||
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
|
||||
"owner": "DataDog",
|
||||
"repo": "terraform-provider-datadog",
|
||||
"rev": "v3.26.0",
|
||||
"rev": "v3.27.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-w0UcFUlpS6j/q2xKCFghgL+kcy1zBVvEqQjigtzzfks="
|
||||
"vendorHash": "sha256-yAOWcs+rFjjp21Xq1Ch/sE/6N0BSpOC167mxIOmR9nk="
|
||||
},
|
||||
"dhall": {
|
||||
"hash": "sha256-K0j90YAzYqdyJD4aofyxAJF9QBYNMbhSVm/s1GvWuJ4=",
|
||||
@ -445,24 +445,24 @@
|
||||
"vendorHash": "sha256-XgGNz+yP+spRA2+qFxwiZFcBRv2GQWhiYY9zoC8rZPc="
|
||||
},
|
||||
"google": {
|
||||
"hash": "sha256-euQ320XxCby8dhDFuxqR0EGw963WIcGtGK+MpNW0eM0=",
|
||||
"hash": "sha256-Mg4pB5FaphdPYBqev+KvNp0gucL8Oj8NDCh4Dk4B/jY=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
|
||||
"owner": "hashicorp",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google",
|
||||
"rev": "v4.71.0",
|
||||
"rev": "v4.72.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-0ZCyJiFzfWvmV+dNNUWKopdEHreXyjRFpaCA8BWil3k="
|
||||
"vendorHash": "sha256-X+7UZM0iZzG7LvaK6nKXF3taKIiJfhWRmY1q1Uz9M4A="
|
||||
},
|
||||
"google-beta": {
|
||||
"hash": "sha256-DFghnLTeQzDw3QQdGQXWBsgBjsBQxph7Kgsc/TQTvLg=",
|
||||
"hash": "sha256-OF/7WiSkXkBqDC9dd8aN0YrIyC2YxevkUPCT8ftZ0b8=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
||||
"owner": "hashicorp",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google-beta",
|
||||
"rev": "v4.71.0",
|
||||
"rev": "v4.72.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-0ZCyJiFzfWvmV+dNNUWKopdEHreXyjRFpaCA8BWil3k="
|
||||
"vendorHash": "sha256-X+7UZM0iZzG7LvaK6nKXF3taKIiJfhWRmY1q1Uz9M4A="
|
||||
},
|
||||
"googleworkspace": {
|
||||
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
|
||||
@ -1115,13 +1115,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"tfe": {
|
||||
"hash": "sha256-aDM6lTxESm9OFAE/p9SbuBe6Uaydprfw0/MxJitLnwY=",
|
||||
"hash": "sha256-UFTRqRlpS0q8go+dYIpLLmOR7zs4Zi97Q91AjV+LqI8=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-tfe",
|
||||
"rev": "v0.45.0",
|
||||
"rev": "v0.46.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-CWQDFMvx8vMyeiMcMciZbnYpd56h4nA0ysJqNzEtSUo="
|
||||
"vendorHash": "sha256-HdTx9f9ytE5/IG4yv1Xnqd/5ZA+ZaF6jjUmtI/q5yc0="
|
||||
},
|
||||
"thunder": {
|
||||
"hash": "sha256-CZjoWme/f1F5JzYlntEKL5ijRF/qR3h4ZTiv9vwzbJI=",
|
||||
|
@ -1,15 +1,15 @@
|
||||
{ buildGoModule, lib, installShellFiles, fetchFromGitHub }:
|
||||
let
|
||||
short_hash = "7447a09";
|
||||
short_hash = "69aa892";
|
||||
in buildGoModule rec {
|
||||
pname = "deck";
|
||||
version = "1.22.0";
|
||||
version = "1.23.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kong";
|
||||
repo = "deck";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-BCx4bw+FrnH291sp52Dz+dc6cYtoLAt8fmdF6YbmgOE=";
|
||||
hash = "sha256-PrpiZBGNb8tWt2RiZ4iHKibN+2EQRm1/tBbDLng/lkA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
@ -21,7 +21,7 @@ in buildGoModule rec {
|
||||
"-X github.com/kong/deck/cmd.COMMIT=${short_hash}"
|
||||
];
|
||||
|
||||
vendorSha256 = "sha256-rir8z1IwQenTvihHWaA7dx6Nn45M82ulCNRJuQlUhEM=";
|
||||
vendorHash = "sha256-brd+gtIHIarMv3l6O6JMDPRFlMwKSLZjBABAvByUC6o=";
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd deck \
|
||||
|
@ -3,17 +3,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geomyidae";
|
||||
version = "0.51";
|
||||
version = "0.69";
|
||||
|
||||
src = fetchurl {
|
||||
url = "gopher://bitreich.org/9/scm/geomyidae/tag/geomyidae-v${version}.tar.gz";
|
||||
sha512 = "3lGAa7BCrspGBcQqjduBkIACpf3u/CkeSCBnaJ3rrz3OIidn4o4dNwZNe7u8swaJxN2dhDSKKeVT3RnFQUaXdg==";
|
||||
hash = "sha256-C0mAjyS2wZVipXP/sKxa/d7gDyYQ/MvmwqQ/QMzmcRE=";
|
||||
};
|
||||
|
||||
buildInputs = [ libressl ];
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [ ./modification-time.patch ];
|
||||
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/geomyidae-v0.51/handlr.c b/geomyidae-v0.51/handlr.c
|
||||
index 0c230d32519..9fc043fa3c9 100644
|
||||
--- a/handlr.c
|
||||
+++ b/handlr.c
|
||||
@@ -71,7 +71,7 @@ handledir(int sock, char *path, char *port, char *base, char *args,
|
||||
*type->type,
|
||||
dirent[i]->d_name,
|
||||
humansize(st.st_size),
|
||||
- humantime(&(st.st_mtim.tv_sec)),
|
||||
+ humantime(&(st.st_mtimespec.tv_sec)),
|
||||
e, ohost, port);
|
||||
free(file);
|
||||
free(dirent[i]);
|
@ -24,7 +24,7 @@
|
||||
, libpulseaudio
|
||||
, libupnp
|
||||
, yaml-cpp
|
||||
, msgpack-cxx
|
||||
, msgpack
|
||||
, openssl
|
||||
, restinio
|
||||
, secp256k1
|
||||
@ -132,7 +132,7 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
libupnp
|
||||
yaml-cpp
|
||||
msgpack-cxx
|
||||
msgpack
|
||||
opendht-jami
|
||||
openssl
|
||||
pjsip-jami
|
||||
|
@ -17,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "teams-for-linux";
|
||||
version = "1.1.9";
|
||||
version = "1.1.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-lFDyV2PwsYWmZ5E19LpWk60Fjo39M0wd8C1Z2qL3G+0=";
|
||||
hash = "sha256-D0qZvKGfLE6VreCYn4Io2KmHcAHCVegG8xZwmxsQH5c=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
|
3888
pkgs/applications/networking/irc/halloy/Cargo.lock
generated
Normal file
3888
pkgs/applications/networking/irc/halloy/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
67
pkgs/applications/networking/irc/halloy/default.nix
Normal file
67
pkgs/applications/networking/irc/halloy/default.nix
Normal file
@ -0,0 +1,67 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, darwin
|
||||
, fetchFromGitHub
|
||||
, libxkbcommon
|
||||
, openssl
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, xorg
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "halloy";
|
||||
version = "23.1-alpha1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "squidowl";
|
||||
repo = "halloy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Aq+mKctmc1RwpnUEIi+Zmr4o8n6wgQchGCunPWouLsE=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"cosmic-text-0.8.0" = "sha256-p8PtXcFH+T3z6wWPFYbHFkxrkJpK4oHJ1aJvq4zld/4=";
|
||||
"glyphon-0.2.0" = "sha256-7h5W82zPMw9PVZiF5HCo7HyRiVhGR8MsfgGuIjo+Kfg=";
|
||||
"iced-0.9.0" = "sha256-KEBm62lDjSKXvXZssLoBfUYDSW+OpTXutxsKZMz8SE0=";
|
||||
"irc-0.15.0" = "sha256-ZlwfyX4tmQr9D+blY4jWl85bwJ2tXUYp3ryLqoungII=";
|
||||
"winit-0.28.6" = "sha256-szB1LCOPmPqhZNIWbeO8JMfRMcMRr0+Ze0f4uqyR8AE=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxkbcommon
|
||||
openssl
|
||||
vulkan-loader
|
||||
xorg.libX11
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.AppKit
|
||||
darwin.apple_sdk.frameworks.CoreFoundation
|
||||
darwin.apple_sdk.frameworks.CoreGraphics
|
||||
darwin.apple_sdk.frameworks.Foundation
|
||||
darwin.apple_sdk.frameworks.Metal
|
||||
darwin.apple_sdk.frameworks.QuartzCore
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
wayland
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "IRC application";
|
||||
homepage = "https://github.com/squidowl/halloy";
|
||||
changelog = "https://github.com/squidowl/halloy/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
37
pkgs/applications/networking/iroh/default.nix
Normal file
37
pkgs/applications/networking/iroh/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "iroh";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "n0-computer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "bNuTEsbOx7ERH/TigLKVOV6eUF+5C2w3PDH9KkfajBo=";
|
||||
};
|
||||
|
||||
cargoSha256 = "WgpX8hz19mnmDmqErSuNDUiFUpr7/K46g4ylhvDIqVw=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks; [
|
||||
Security
|
||||
SystemConfiguration
|
||||
]
|
||||
);
|
||||
|
||||
# Some tests require network access which is not available in nix build sandbox.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Efficient IPFS for the whole world right now";
|
||||
homepage = "https://iroh.computer";
|
||||
license = with licenses; [ asl20 mit ];
|
||||
maintainers = with maintainers; [ cameronfyfe ];
|
||||
};
|
||||
}
|
@ -64,15 +64,28 @@ let
|
||||
systemd
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mullvad-vpn";
|
||||
version = "2023.4";
|
||||
|
||||
selectSystem = attrs: attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
platform = selectSystem {
|
||||
x86_64-linux = "amd64";
|
||||
aarch64-linux = "arm64";
|
||||
};
|
||||
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-7NoifrX1/3pUJHTYK+2dVos/oFsKiYwyhCGi07SsEhM=";
|
||||
aarch64-linux = "sha256-e0lp+SpBUmtYBcJPvql8ALeCkVtneZ1Cd3IFMVX6R2Q=";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "mullvad-vpn";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
|
||||
sha256 = "sha256-7NoifrX1/3pUJHTYK+2dVos/oFsKiYwyhCGi07SsEhM=";
|
||||
url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_${platform}.deb";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -114,13 +127,15 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mullvad/mullvadvpn-app";
|
||||
description = "Client for Mullvad VPN";
|
||||
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/${version}/CHANGELOG.md";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.gpl3Only;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
maintainers = with maintainers; [ Br1ght0ne ymarkus ataraxiasjel ];
|
||||
};
|
||||
|
||||
|
36
pkgs/applications/networking/mullvad-vpn/update.sh
Executable file
36
pkgs/applications/networking/mullvad-vpn/update.sh
Executable file
@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnused gawk jq nix-prefetch
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(dirname "$(readlink -f "$0")")"
|
||||
NIX_DRV="$ROOT/default.nix"
|
||||
if [ ! -f "$NIX_DRV" ]; then
|
||||
echo "ERROR: cannot find default.nix in $ROOT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fetch_arch() {
|
||||
VER="$1"; ARCH="$2"
|
||||
URL="https://github.com/mullvad/mullvadvpn-app/releases/download/${VER}/MullvadVPN-${VER}_${ARCH}.deb"
|
||||
nix-prefetch "{ stdenv, fetchzip }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = \"mullvad-vpn\"; version = \"${VER}\";
|
||||
src = fetchurl { url = \"$URL\"; };
|
||||
}
|
||||
"
|
||||
}
|
||||
|
||||
replace_sha() {
|
||||
sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
|
||||
}
|
||||
|
||||
MULLVAD_VER=$(curl -s https://api.mullvad.net/app/v1/releases/linux/2022.5 | jq -r '.latest_stable')
|
||||
|
||||
MULLVAD_LINUX_X64_SHA256=$(fetch_arch "$MULLVAD_VER" "amd64")
|
||||
MULLVAD_LINUX_AARCH64_SHA256=$(fetch_arch "$MULLVAD_VER" "arm64")
|
||||
|
||||
sed -i "s/version = \".*\"/version = \"$MULLVAD_VER\"/" "$NIX_DRV"
|
||||
|
||||
replace_sha "x86_64-linux" "$MULLVAD_LINUX_X64_SHA256"
|
||||
replace_sha "aarch64-linux" "$MULLVAD_LINUX_AARCH64_SHA256"
|
81
pkgs/applications/office/roam-research/default.nix
Normal file
81
pkgs/applications/office/roam-research/default.nix
Normal file
@ -0,0 +1,81 @@
|
||||
{ stdenv, lib, fetchurl, alsa-lib, atk, cairo, cups, dbus, dpkg, expat
|
||||
, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
|
||||
, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libdrm
|
||||
, libpulseaudio, libxcb, libxkbcommon, libxshmfence, mesa, nspr, nss, pango
|
||||
, udev, }:
|
||||
|
||||
let
|
||||
libPath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libX11
|
||||
libXcomposite
|
||||
libXdamage
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXrandr
|
||||
libdrm
|
||||
libxcb
|
||||
libxkbcommon
|
||||
libxshmfence
|
||||
mesa
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
stdenv.cc.cc
|
||||
libXScrnSaver
|
||||
libXcursor
|
||||
libXrender
|
||||
libXtst
|
||||
libpulseaudio
|
||||
udev
|
||||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "roam-research";
|
||||
version = "0.0.18";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://roam-electron-deploy.s3.us-east-2.amazonaws.com/${pname}_${version}_amd64.deb";
|
||||
sha256 = "sha256-veDWBFZbODsdaO1UdfuC4w6oGCkeVBe+fqKn5XVHKDQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg ];
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir pkg
|
||||
dpkg-deb -x $src pkg
|
||||
sourceRoot=pkg
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
mv opt "$out/"
|
||||
|
||||
ln -s "$out/opt/Roam Research/roam-research" "$out/bin/roam-research"
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Roam Research:\$ORIGIN" "$out/opt/Roam Research/roam-research"
|
||||
|
||||
mv usr/* "$out/"
|
||||
|
||||
substituteInPlace $out/share/applications/roam-research.desktop \
|
||||
--replace "/opt/Roam Research/roam-research" "roam-research"
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
meta = with lib; {
|
||||
description = "A note-taking tool for networked thought.";
|
||||
homepage = "https://roamresearch.com/";
|
||||
maintainers = with lib.maintainers; [ dbalan ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "stellarium";
|
||||
version = "23.1";
|
||||
version = "23.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Stellarium";
|
||||
repo = "stellarium";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7jzS3pRklPsCTgCr3nrywfHCNlBDHuyuGGvrVoI9+A0=";
|
||||
hash = "sha256-8Iheb/9wjf0u10ZQRkLMLNN2s7P++Fqcr26iatiKcTo=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
|
@ -11,13 +11,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "autodock-vina";
|
||||
version = "1.2.3";
|
||||
version = "1.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ccsb-scripps";
|
||||
repo = "autodock-vina";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-oOpwhRmpS5WfnuqxkjxGsGtrofPxUt8bH9ggzm5rrR8=";
|
||||
hash = "sha256-yguUMEX0tn75wKrPKyqlCYbBFaEwC5b1s3k9xept1Fw=";
|
||||
};
|
||||
|
||||
sourceRoot =
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qalculate-gtk";
|
||||
version = "4.6.1";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-gtk";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-eBclDq9Uiu5rA74tlBkOiP3fRwAZn84F3LPA2cKkuw8=";
|
||||
sha256 = "sha256-Fbi+vZEyXhUZQjWUX01IXd6G1cthfiuztdbisNQ/VZU=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qalculate-qt";
|
||||
version = "4.6.1";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-qt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9DT1U0iKj5C/Tc9MggEr/RwHhVr4GSOJQVhTiLFk9NY=";
|
||||
hash = "sha256-fMchJgxuOO2e7cOHLako26c9gsWvQY2MTRVD3JWGSAU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake intltool pkg-config wrapQtAppsHook ];
|
||||
buildInputs = [ libqalculate qtbase qttools qtsvg ]
|
||||
nativeBuildInputs = [ qmake intltool pkg-config qttools wrapQtAppsHook ];
|
||||
buildInputs = [ libqalculate qtbase qtsvg ]
|
||||
++ lib.optionals stdenv.isLinux [ qtwayland ];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -3,26 +3,24 @@
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, openssl
|
||||
# waiting on gex to update to libgit2-sys >= 0.15
|
||||
, libgit2_1_5
|
||||
, libgit2
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gex";
|
||||
version = "0.3.8";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Piturnah";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pjyS0H25wdcexpzZ2vVzGTwDPzyvA9PDgzz81yLGTOY=";
|
||||
hash = "sha256-eRforLvRVSrFWnI5UZEWr1L4UM3ABjAIvui1E1hzk5s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl libgit2_1_5 ];
|
||||
buildInputs = [ libgit2 ];
|
||||
|
||||
cargoHash = "sha256-+FwXm3QN9bt//dWqzkBzsGigyl1SSY4/P29QtV75V6M=";
|
||||
cargoHash = "sha256-OEaNERozmJL8gYe33V/m4HQNHi2I4KHpI6PTwFQkPSs=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-codereview";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "golang";
|
||||
repo = "review";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vh2XFzvGEMutlaHKNhpuYdlnNl49zoNPkLYNUA1lWwc=";
|
||||
hash = "sha256-GZ1qdFjWhEO1fd+G5qWaV7OTUaalBZFbLTrIO58hKOQ=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
vendorHash = null;
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -106,7 +106,12 @@ let
|
||||
isGccArchSupported = arch:
|
||||
if targetPlatform.isPower then false else # powerpc does not allow -march=
|
||||
if isGNU then
|
||||
{ # Intel
|
||||
{ # Generic
|
||||
x86-64-v2 = versionAtLeast ccVersion "11.0";
|
||||
x86-64-v3 = versionAtLeast ccVersion "11.0";
|
||||
x86-64-v4 = versionAtLeast ccVersion "11.0";
|
||||
|
||||
# Intel
|
||||
skylake = versionAtLeast ccVersion "6.0";
|
||||
skylake-avx512 = versionAtLeast ccVersion "6.0";
|
||||
cannonlake = versionAtLeast ccVersion "8.0";
|
||||
@ -117,6 +122,7 @@ let
|
||||
tigerlake = versionAtLeast ccVersion "10.0";
|
||||
knm = versionAtLeast ccVersion "8.0";
|
||||
alderlake = versionAtLeast ccVersion "12.0";
|
||||
|
||||
# AMD
|
||||
znver1 = versionAtLeast ccVersion "6.0";
|
||||
znver2 = versionAtLeast ccVersion "9.0";
|
||||
@ -124,12 +130,18 @@ let
|
||||
znver4 = versionAtLeast ccVersion "13.0";
|
||||
}.${arch} or true
|
||||
else if isClang then
|
||||
{ # Intel
|
||||
{ #Generic
|
||||
x86-64-v2 = versionAtLeast ccVersion "12.0";
|
||||
x86-64-v3 = versionAtLeast ccVersion "12.0";
|
||||
x86-64-v4 = versionAtLeast ccVersion "12.0";
|
||||
|
||||
# Intel
|
||||
cannonlake = versionAtLeast ccVersion "5.0";
|
||||
icelake-client = versionAtLeast ccVersion "7.0";
|
||||
icelake-server = versionAtLeast ccVersion "7.0";
|
||||
knm = versionAtLeast ccVersion "7.0";
|
||||
alderlake = versionAtLeast ccVersion "16.0";
|
||||
|
||||
# AMD
|
||||
znver1 = versionAtLeast ccVersion "4.0";
|
||||
znver2 = versionAtLeast ccVersion "9.0";
|
||||
|
61
pkgs/data/themes/chili-sddm/default.nix
Normal file
61
pkgs/data/themes/chili-sddm/default.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, qtgraphicaleffects
|
||||
, themeConfig ? { }
|
||||
}:
|
||||
let
|
||||
customToString = x: if builtins.isBool x then lib.boolToString x else toString x;
|
||||
configLines = lib.mapAttrsToList (name: value: lib.nameValuePair name value) themeConfig;
|
||||
configureTheme = "cp theme.conf theme.conf.orig \n" +
|
||||
(lib.concatMapStringsSep "\n"
|
||||
(configLine:
|
||||
"grep -q '^${configLine.name}=' theme.conf || echo '${configLine.name}=' >> \"$1\"\n" +
|
||||
"sed -i -e 's/^${configLine.name}=.*$/${configLine.name}=${
|
||||
lib.escape [ "/" "&" "\\"] (customToString configLine.value)
|
||||
}/' theme.conf"
|
||||
)
|
||||
configLines);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "sddm-chili-theme";
|
||||
version = "0.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MarianArlt";
|
||||
repo = "sddm-chili";
|
||||
rev = "6516d50176c3b34df29003726ef9708813d06271";
|
||||
sha256 = "036fxsa7m8ymmp3p40z671z163y6fcsa9a641lrxdrw225ssq5f3";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qtgraphicaleffects
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preInstall = configureTheme;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/sddm/themes/chili
|
||||
|
||||
mv * $out/share/sddm/themes/chili/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
mkdir -p $out/nix-support
|
||||
|
||||
echo ${qtgraphicaleffects} >> $out/nix-support/propagated-user-env-packages
|
||||
'';
|
||||
meta = with lib; {
|
||||
license = licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ sents ];
|
||||
homepage = "https://github.com/MarianArlt/sddm-chili";
|
||||
description = "The chili login theme for SDDM";
|
||||
longDescription = ''
|
||||
Chili is hot, just like a real chili!
|
||||
Spice up the login experience for your users, your family and yourself.
|
||||
Chili reduces all the clutter and leaves you with a clean, easy to use, login interface with a modern yet classy touch.
|
||||
'';
|
||||
};
|
||||
}
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-nightlight";
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-oZUPveNlm9p8gKeDGopfhu1rBbydLaQSlkPs6+WHrUo=";
|
||||
sha256 = "sha256-2ez7sDCA3cnSNaT3Oe0Mm2MbtSxmkRF/hCklThtHuq0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, meson
|
||||
, ninja
|
||||
@ -19,25 +18,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-notifications";
|
||||
version = "6.0.3";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = "notifications";
|
||||
rev = version;
|
||||
sha256 = "sha256-B1wo1N4heG872klFJOBKOEds0+6aqtvkTGefi97bdU8=";
|
||||
sha256 = "sha256-i7fSKnP4W12cfax5IXm/Zgy5vP5z7S43S80gvzWpFCE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Backports https://github.com/elementary/notifications/pull/184
|
||||
# Needed for https://github.com/elementary/wingpanel-indicator-notifications/pull/252
|
||||
# Should be part of next bump
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/notifications/commit/bd159979dbe3dbe6f3f1da7acd8e0721cc20ef80.patch";
|
||||
sha256 = "sha256-cOfeXwoMVgvbA29axyN7HtYKTgCtGxAPrB2PA/x8RKY=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib # for glib-compile-schemas
|
||||
meson
|
||||
|
@ -42,6 +42,7 @@ args@
|
||||
, libsForQt5
|
||||
, libtiff
|
||||
, qt6Packages
|
||||
, qt6
|
||||
, rdma-core
|
||||
, ucx
|
||||
, rsync
|
||||
@ -131,22 +132,23 @@ backendStdenv.mkDerivation rec {
|
||||
ucx
|
||||
xorg.libxshmfence
|
||||
xorg.libxkbfile
|
||||
] ++ lib.optionals (lib.versionAtLeast version "12.1") (map lib.getLib [
|
||||
] ++ (lib.optionals (lib.versionAtLeast version "12.1") (map lib.getLib ([
|
||||
# Used by `/target-linux-x64/CollectX/clx` and `/target-linux-x64/CollectX/libclx_api.so` for:
|
||||
# - `libcurl.so.4`
|
||||
curlMinimal
|
||||
|
||||
# Used by `/target-linux-x64/libQt6Multimedia.so.6` for:
|
||||
# - `libgstaudio-1.0.so.0`
|
||||
# - `libgstvideo-1.0.so.0`
|
||||
# - `libgstpbutils-1.0.so.0`
|
||||
# - `libgstallocators-1.0.so.0`
|
||||
# - `libgstapp-1.0.so.0`
|
||||
# - `libgstbase-1.0.so.0`
|
||||
# - `libgstreamer-1.0.so.0`
|
||||
# Used by `/host-linux-x64/Scripts/WebRTCContainer/setup/neko/server/bin/neko`
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
]);
|
||||
]) ++ (with qt6; [
|
||||
qtmultimedia
|
||||
qttools
|
||||
qtpositioning
|
||||
qtscxml
|
||||
qtsvg
|
||||
qtwebchannel
|
||||
qtwebengine
|
||||
])));
|
||||
|
||||
# Prepended to runpaths by autoPatchelf.
|
||||
# The order inherited from older rpath preFixup code
|
||||
@ -258,6 +260,10 @@ backendStdenv.mkDerivation rec {
|
||||
rm -rf $out/lib
|
||||
''}
|
||||
|
||||
${lib.optionalString (lib.versionAtLeast version "12.0") ''
|
||||
rm $out/host-linux-x64/libQt6*
|
||||
''}
|
||||
|
||||
# Remove some cruft.
|
||||
${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
|
||||
"rm $out/bin/uninstall*"}
|
||||
|
@ -15,6 +15,7 @@ final: prev: let
|
||||
"11.8" = ./manifests/redistrib_11.8.0.json;
|
||||
"12.0" = ./manifests/redistrib_12.0.1.json;
|
||||
"12.1" = ./manifests/redistrib_12.1.1.json;
|
||||
"12.2" = ./manifests/redistrib_12.2.0.json;
|
||||
};
|
||||
|
||||
# Function to build a single cudatoolkit redist package
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -83,3 +83,9 @@ version = "12.1.1"
|
||||
url = "https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run"
|
||||
sha256 = "sha256-10Ai1B2AEFMZ36Ib7qObd6W5kZU5wEh6BcqvJEbWpw4="
|
||||
gcc = "gcc12"
|
||||
|
||||
["12.2"]
|
||||
version = "12.2.0"
|
||||
url = "https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run"
|
||||
sha256 = "sha256-7PPSr63LrAKfD0UFeFgQ1S0AbkuHunn/P5hDNqK79Rg="
|
||||
gcc = "gcc12"
|
||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
bin = "source/macos/fasmg";
|
||||
asm = "source/macos/fasmg.asm";
|
||||
};
|
||||
}.${system} or (throw "Unsopported system: ${system}");
|
||||
}.${system} or (throw "Unsupported system: ${system}");
|
||||
|
||||
in ''
|
||||
chmod +x ${path.bin}
|
||||
|
@ -47,7 +47,6 @@ let
|
||||
};
|
||||
});
|
||||
|
||||
flutter2Patches = getPatches ./patches/flutter2;
|
||||
flutter3Patches = getPatches ./patches/flutter3;
|
||||
in
|
||||
{
|
||||
@ -75,16 +74,4 @@ in
|
||||
};
|
||||
patches = flutter3Patches;
|
||||
};
|
||||
|
||||
v2 = mkFlutter {
|
||||
version = "2.10.5";
|
||||
engineVersion = "57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab";
|
||||
dartVersion = "2.16.2";
|
||||
hash = "sha256-MxaWvlcCfXN8gsC116UMzqb4LgixHL3YjrGWy7WYgW4=";
|
||||
dartHash = {
|
||||
x86_64-linux = "sha256-vxKxysg6e3Qxtlp4dLxOZaBtgHGtl7XYd73zFZd9yJc=";
|
||||
aarch64-linux = "sha256-ZfpR6fj/a9Bsgrg31Z/uIJaCHIWtcQH3VTTVkDJKkwA=";
|
||||
};
|
||||
patches = flutter2Patches;
|
||||
};
|
||||
}
|
||||
|
@ -137,144 +137,4 @@
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-eluXkoISuzObXt2aiBmZGW6x8MsPTiD9bbVM4xcpe2w=";
|
||||
};
|
||||
};
|
||||
"57d3bac3dd5cb5b0e464ab70e7bc8a0d8cf083ab" = {
|
||||
android-arm = {
|
||||
"artifacts.zip" = "sha256-3igOO+rgFh0fNTIIiiucqSmqC+NKFPG5H1CnIa9bDcM=";
|
||||
};
|
||||
android-arm-profile = {
|
||||
"artifacts.zip" = "sha256-qai254LNrQXJBsaoQgXao6mBpzzcYHh4sUESurSyxNA=";
|
||||
"linux-x64.zip" = "sha256-hBkntf1fX5w752ly6lVUHm6wEM/4ep9guJGma3SKjxU=";
|
||||
};
|
||||
android-arm-release = {
|
||||
"artifacts.zip" = "sha256-7yuXIJyErb1PZyk56+TtlJY0o1EOwmdAvpVfGGAteuA=";
|
||||
"linux-x64.zip" = "sha256-v/jBnE662XOX/fOhYbve7ZiQwVu0haIMOD532Vdj9Yw=";
|
||||
};
|
||||
android-arm64 = {
|
||||
"artifacts.zip" = "sha256-Llxu8+SkYEtnoiMf01rffPpF/AjrlV+QPuAW850oMzo=";
|
||||
};
|
||||
android-arm64-profile = {
|
||||
"artifacts.zip" = "sha256-su4U80supv8Q+2kE/5FTybiA5NFbKNMHqdB0NHCqrVI=";
|
||||
"linux-x64.zip" = "sha256-yGt0SztNxYHDwZ1DwzLg5REE8rmMRKNn7GfCQ+GEHBw=";
|
||||
};
|
||||
android-arm64-release = {
|
||||
"artifacts.zip" = "sha256-+p1+SXSEglR3jqWc/jKgmtR9nOGgMRGC+anoTs1kRc8=";
|
||||
"linux-x64.zip" = "sha256-5UiG5gxOso8NO+7nkb6bjxW8e/Tr7mlvPRUagSRTCNs=";
|
||||
};
|
||||
android-x64 = {
|
||||
"artifacts.zip" = "sha256-PVb1aKMMTlDT41O2MZRAUjCq8h+m/s2h5qOnEFPd77w=";
|
||||
};
|
||||
android-x64-profile = {
|
||||
"artifacts.zip" = "sha256-gZSSRCDy42AMLMiu/KH7YsDuFVaxRcoyXzUgV8V025Y=";
|
||||
"linux-x64.zip" = "sha256-9+LCjeI18u/GlPDMIl6Jx6b++lc90fJ5tVBlDR+ctDs=";
|
||||
};
|
||||
android-x64-release = {
|
||||
"artifacts.zip" = "sha256-rsS08VP86/b2S0TEYusCEJBvS4BuevsmV9REAxRgJIc=";
|
||||
"linux-x64.zip" = "sha256-H4nFCJ+iCUzIwHogYzS+h33eDMaFnz71dcDLSQW1aPg=";
|
||||
};
|
||||
android-x86 = {
|
||||
"artifacts.zip" = "sha256-Cbo17VYWaclyO1RLHkwjbqoFVZ283IgGdN0uDdiWvQs=";
|
||||
};
|
||||
android-x86-jit-release = {
|
||||
"artifacts.zip" = "sha256-gSPm2tClTj2vEYtGKgobD/mebWLNlDp8nEoFX0rhEOk=";
|
||||
};
|
||||
"flutter_patched_sdk.zip" = "sha256-A/y5Y+Aw0CUhXABbdyQcGCSnSbO7Ask+71m8LZDSjH4=";
|
||||
"flutter_patched_sdk_product.zip" = "sha256-VPxF4NrTUhFbpztyPnLEiC9Cy0kDDbYvy21kA5ES4HM=";
|
||||
linux-arm64 = {
|
||||
"artifacts.zip" = "sha256-kCxsKQQQX6wzhD46bfoflKdz3AYYkoSyavhfyTDuHLU=";
|
||||
"font-subset.zip" = "sha256-Yk6JsNWe7ftEQU/TsjDUZSFeLzeIbcS63lhl8fsWsdk=";
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM=";
|
||||
};
|
||||
linux-arm64-debug = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-girVdkXrTO5tssoi+eKwG9ykstCR/VOx8zWtcAz8AKM=";
|
||||
};
|
||||
linux-arm64-profile = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-VL5cwYaZ1FOJ3TwJzbgvHDQwkU9NrHGnf/tQhZ/dAGg=";
|
||||
};
|
||||
linux-arm64-release = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-27hy7mLFCLkqJbn+5p5eJdYnfBKTyfFe98iUMmKyz4g=";
|
||||
};
|
||||
linux-x64 = {
|
||||
"artifacts.zip" = "sha256-JgEX+rKxdcWBBaxyR42eC7qOAvaawF9M2+rfaD4IgeA=";
|
||||
"font-subset.zip" = "sha256-5EoxBrxSjaLLd+rKrxVYNoUZaejk0qcQ5LVsmqtKc2g=";
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk=";
|
||||
};
|
||||
linux-x64-debug = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-MH5HDPoXXi/KpQLQ0U1tQzZ0sbZx1RVhZtQ7L+WhZgk=";
|
||||
};
|
||||
linux-x64-profile = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-r2hB/AKrB5vNga2fve4tTM4j+Zp9KDqNlTjKQhQvbaI=";
|
||||
};
|
||||
linux-x64-release = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-muREs2iUiHCZM+SGN5q3HRRGnejJapKN582Aeog49MI=";
|
||||
};
|
||||
};
|
||||
d44b5a94c976fbb65815374f61ab5392a220b084 = {
|
||||
android-arm = {
|
||||
"artifacts.zip" = "sha256-NZde8sVeknhR6bxchb/RURNIlKnJw6j5PZAWmmjiZvM=";
|
||||
};
|
||||
android-arm-profile = {
|
||||
"artifacts.zip" = "sha256-BTs1tuSdjVP8zAGCxV+uQ7sAAbCt0dML4g7/85IOFEs=";
|
||||
"linux-x64.zip" = "sha256-GpjP5omeAjHBLZjJQdUMUnPoEgYBLppicLPUTY0fHqM=";
|
||||
};
|
||||
android-arm-release = {
|
||||
"artifacts.zip" = "sha256-ip2GnYkKq8aLWjVPk9no3aOf0c3k1h9foznhgLpZ17U=";
|
||||
"linux-x64.zip" = "sha256-mGnmbraE98rqKRdO6keoITOaNCP0K3iYNRadihwOpxc=";
|
||||
};
|
||||
android-arm64 = {
|
||||
"artifacts.zip" = "sha256-Sl7S/TNZWrlM4Z9UGN5rgGfpKk4UWKz6CKlQbz1qcZ4=";
|
||||
};
|
||||
android-arm64-profile = {
|
||||
"artifacts.zip" = "sha256-zNZtTxM8254y+KKSVYlBUYyIV2J04XN1cmnSjkQLJs8=";
|
||||
"linux-x64.zip" = "sha256-M8AbEwFV2zedeqMoNeb+2UbR7i9I9rGh6LXBQcPO4iA=";
|
||||
};
|
||||
android-arm64-release = {
|
||||
"artifacts.zip" = "sha256-PdnAIcYccdRs3r6M8rwmgl2x+TsBPMRF/iAEgwLbt/4=";
|
||||
"linux-x64.zip" = "sha256-kmLkKXBj/70B3v5GJ50trTlV8epj16jOlQrh1U4/pVA=";
|
||||
};
|
||||
android-x64 = {
|
||||
"artifacts.zip" = "sha256-+WT7oT31XwE+ykLbiAUvnKw+WVR0VeFXPGpcMUHbsTg=";
|
||||
};
|
||||
android-x64-profile = {
|
||||
"artifacts.zip" = "sha256-f298VAJoZ2x+w0bxma7wu5h7Bn6+kCdrHh5qtjhhhhc=";
|
||||
"linux-x64.zip" = "sha256-73Br9XgafwmagxAf61NSHn4BHn4q90pHJYEXCfAG8qY=";
|
||||
};
|
||||
android-x64-release = {
|
||||
"artifacts.zip" = "sha256-63hQCvObPmIxTcKyBQlXgGY6FfKp9PrbBY0RkSr1D/U=";
|
||||
"linux-x64.zip" = "sha256-i5WQeePNxUNAbVR06Lz2XCXvZZTJxaFB6txtpVn2h9I=";
|
||||
};
|
||||
android-x86 = {
|
||||
"artifacts.zip" = "sha256-J1kgvNvdWo05HMHJMlVFECLMVnoCqUm1oP4K394w+xc=";
|
||||
};
|
||||
android-x86-jit-release = {
|
||||
"artifacts.zip" = "sha256-Tz/veYh/73px0eH0FOXbN4G8fVjXmEHv7G8lRm3YLtY=";
|
||||
};
|
||||
"flutter_patched_sdk.zip" = "sha256-uLMzCF3dsBeSZnoY9YQ2bBQhw+hUAksoDKEWr3TCnhk=";
|
||||
"flutter_patched_sdk_product.zip" = "sha256-0NbvAGSK0VgU6jSyboyhviP9H+wID7JoTS6xMqbZs2w=";
|
||||
linux-arm64 = {
|
||||
"artifacts.zip" = "sha256-LTdVexuy7cL6dJqdM14YteI7Jo/z5wYOHakbX/BiV38=";
|
||||
"font-subset.zip" = "sha256-cqLjvl3maO6NpN47/e718xyuSL8L8cHqU6ybuwlD+fA=";
|
||||
};
|
||||
linux-arm64-debug = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-SRlKQllg5UWHk2kOIQ6ZwbqG5FoeFGCl2F9tTI+XVOE=";
|
||||
};
|
||||
linux-arm64-profile = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-4wERBO+eimsSKFt8/P6mQqgzv+HURK+O/YFHAUHpklA=";
|
||||
};
|
||||
linux-arm64-release = {
|
||||
"linux-arm64-flutter-gtk.zip" = "sha256-1XHdFiW//1Yd+qOLrRlk0vma99HlGDC/RA0An8db/oY=";
|
||||
};
|
||||
linux-x64 = {
|
||||
"artifacts.zip" = "sha256-Bl0BRxUfVqNX6y7HdUXu5lIFzMLB2GUJauhOLEeInEE=";
|
||||
"font-subset.zip" = "sha256-v02HV8QOqwdv30RiHpKu8ujTXOQmupGr9HCfpBUvrKM=";
|
||||
};
|
||||
linux-x64-debug = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-xjScsvWgPO8qeccw5BGzNrMLNzn5O+CvOpoPkvlrX0o=";
|
||||
};
|
||||
linux-x64-profile = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-52nMjoHQZ/ve7yJW9d8YK02U8mowe9xHZpkTwbGq9vU=";
|
||||
};
|
||||
linux-x64-release = {
|
||||
"linux-x64-flutter-gtk.zip" = "sha256-SA7Th1Qasaj4Q5wFr89Rv8PNQx6s6zvHsDxT1EKKZV0=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -3,68 +3,13 @@
|
||||
, patches
|
||||
, dart
|
||||
, src
|
||||
, includedEngineArtifacts ? {
|
||||
common = [
|
||||
"flutter_patched_sdk"
|
||||
"flutter_patched_sdk_product"
|
||||
];
|
||||
platform = { };
|
||||
}
|
||||
|
||||
, lib
|
||||
, callPackage
|
||||
, stdenv
|
||||
, runCommandLocal
|
||||
, symlinkJoin
|
||||
, lndir
|
||||
, git
|
||||
, which
|
||||
}:
|
||||
|
||||
let
|
||||
engineArtifactDirectory =
|
||||
let
|
||||
engineArtifacts = callPackage ./engine-artifacts { inherit engineVersion; };
|
||||
in
|
||||
runCommandLocal "flutter-engine-artifacts-${version}" { }
|
||||
(
|
||||
let
|
||||
mkCommonArtifactLinkCommand = { artifact }:
|
||||
''
|
||||
mkdir -p $out/common
|
||||
${lndir}/bin/lndir -silent ${artifact} $out/common
|
||||
'';
|
||||
mkPlatformArtifactLinkCommand = { artifact, os, architecture, variant ? null }:
|
||||
let
|
||||
artifactDirectory = "${os}-${architecture}${lib.optionalString (variant != null) "-${variant}"}";
|
||||
in
|
||||
''
|
||||
mkdir -p $out/${artifactDirectory}
|
||||
${lndir}/bin/lndir -silent ${artifact} $out/${artifactDirectory}
|
||||
'';
|
||||
in
|
||||
''
|
||||
${
|
||||
builtins.concatStringsSep "\n"
|
||||
((map (name: mkCommonArtifactLinkCommand {
|
||||
artifact = engineArtifacts.common.${name};
|
||||
}) (if includedEngineArtifacts ? common then includedEngineArtifacts.common else [ ])) ++
|
||||
(builtins.foldl' (commands: os: commands ++
|
||||
(builtins.foldl' (commands: architecture: commands ++
|
||||
(builtins.foldl' (commands: variant: commands ++
|
||||
(map (artifact: mkPlatformArtifactLinkCommand {
|
||||
inherit artifact os architecture variant;
|
||||
}) engineArtifacts.platform.${os}.${architecture}.variants.${variant}))
|
||||
(map (artifact: mkPlatformArtifactLinkCommand {
|
||||
inherit artifact os architecture;
|
||||
}) engineArtifacts.platform.${os}.${architecture}.base)
|
||||
includedEngineArtifacts.platform.${os}.${architecture}))
|
||||
[] (builtins.attrNames includedEngineArtifacts.platform.${os})))
|
||||
[] (builtins.attrNames (if includedEngineArtifacts ? platform then includedEngineArtifacts.platform else { }))))
|
||||
}
|
||||
''
|
||||
);
|
||||
|
||||
unwrapped =
|
||||
stdenv.mkDerivation {
|
||||
name = "flutter-${version}-unwrapped";
|
||||
@ -134,7 +79,6 @@ let
|
||||
mkdir -p $out
|
||||
cp -r . $out
|
||||
ln -sf ${dart} $out/bin/cache/dart-sdk
|
||||
ln -sf ${engineArtifactDirectory} $out/bin/cache/artifacts/engine
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -153,7 +97,7 @@ let
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit dart;
|
||||
inherit dart engineVersion;
|
||||
# The derivation containing the original Flutter SDK files.
|
||||
# When other derivations wrap this one, any unmodified files
|
||||
# found here should be included as-is, for tooling compatibility.
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
|
||||
index 68a4cd0257..1e212b9b0d 100644
|
||||
--- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart
|
||||
+++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart
|
||||
@@ -101,7 +101,11 @@ Future<Depfile> copyAssets(Environment environment, Directory outputDirectory, {
|
||||
outputPath: file.path,
|
||||
relativePath: entry.key,
|
||||
)) {
|
||||
- await (content.file as File).copy(file.path);
|
||||
+ // Not using File.copy because it preserves permissions.
|
||||
+ final sourceFile = content.file as File;
|
||||
+ final destinationFile = file;
|
||||
+
|
||||
+ await destinationFile.writeAsBytes(await sourceFile.readAsBytes(), flush: true);
|
||||
}
|
||||
} else {
|
||||
await file.writeAsBytes(await entry.value.contentsAsBytes());
|
@ -1,49 +0,0 @@
|
||||
diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
|
||||
index 05cba4393b..2a775bf24f 100644
|
||||
--- a/bin/internal/shared.sh
|
||||
+++ b/bin/internal/shared.sh
|
||||
@@ -217,8 +217,6 @@ function shared::execute() {
|
||||
# FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS"
|
||||
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
|
||||
|
||||
- upgrade_flutter 7< "$PROG_NAME"
|
||||
-
|
||||
BIN_NAME="$(basename "$PROG_NAME")"
|
||||
case "$BIN_NAME" in
|
||||
flutter*)
|
||||
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
index 396756808e..d324a6df59 100644
|
||||
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
|
||||
@@ -241,7 +241,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
|
||||
globals.flutterUsage.suppressAnalytics = true;
|
||||
}
|
||||
|
||||
- globals.flutterVersion.ensureVersionFile();
|
||||
final bool machineFlag = topLevelResults['machine'] as bool? ?? false;
|
||||
final bool ci = await globals.botDetector.isRunningOnBot;
|
||||
final bool redirectedCompletion = !globals.stdio.hasTerminal &&
|
||||
@@ -250,10 +249,6 @@ class FlutterCommandRunner extends CommandRunner<void> {
|
||||
final bool versionCheckFlag = topLevelResults['version-check'] as bool? ?? false;
|
||||
final bool explicitVersionCheckPassed = topLevelResults.wasParsed('version-check') && versionCheckFlag;
|
||||
|
||||
- if (topLevelResults.command?.name != 'upgrade' &&
|
||||
- (explicitVersionCheckPassed || (versionCheckFlag && !isMachine))) {
|
||||
- await globals.flutterVersion.checkFlutterVersionFreshness();
|
||||
- }
|
||||
|
||||
// See if the user specified a specific device.
|
||||
globals.deviceManager?.specifiedDeviceId = topLevelResults['device-id'] as String?;
|
||||
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index defc86cc20..6c0824c965 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -666,6 +666,7 @@ class Cache {
|
||||
|
||||
/// Update the cache to contain all `requiredArtifacts`.
|
||||
Future<void> updateAll(Set<DevelopmentArtifact> requiredArtifacts) async {
|
||||
+ return;
|
||||
if (!_lockEnabled) {
|
||||
return;
|
||||
}
|
@ -1,80 +0,0 @@
|
||||
diff --git a/dev/bots/prepare_package.dart b/dev/bots/prepare_package.dart
|
||||
index 468a91a954..5def6897ce 100644
|
||||
--- a/dev/bots/prepare_package.dart
|
||||
+++ b/dev/bots/prepare_package.dart
|
||||
@@ -525,7 +525,7 @@ class ArchiveCreator {
|
||||
|
||||
Future<String> _runGit(List<String> args, {Directory? workingDirectory}) {
|
||||
return _processRunner.runProcess(
|
||||
- <String>['git', ...args],
|
||||
+ <String>['git', '--git-dir', '.git', ...args],
|
||||
workingDirectory: workingDirectory ?? flutterRoot,
|
||||
);
|
||||
}
|
||||
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
|
||||
index f2068a6ca2..99b161689e 100644
|
||||
--- a/packages/flutter_tools/lib/src/version.dart
|
||||
+++ b/packages/flutter_tools/lib/src/version.dart
|
||||
@@ -106,7 +106,7 @@ class FlutterVersion {
|
||||
String? channel = _channel;
|
||||
if (channel == null) {
|
||||
final String gitChannel = _runGit(
|
||||
- 'git rev-parse --abbrev-ref --symbolic @{u}',
|
||||
+ 'git --git-dir .git rev-parse --abbrev-ref --symbolic @{u}',
|
||||
globals.processUtils,
|
||||
_workingDirectory,
|
||||
);
|
||||
@@ -114,7 +114,7 @@ class FlutterVersion {
|
||||
if (slash != -1) {
|
||||
final String remote = gitChannel.substring(0, slash);
|
||||
_repositoryUrl = _runGit(
|
||||
- 'git ls-remote --get-url $remote',
|
||||
+ 'git --git-dir .git ls-remote --get-url $remote',
|
||||
globals.processUtils,
|
||||
_workingDirectory,
|
||||
);
|
||||
@@ -326,7 +326,7 @@ class FlutterVersion {
|
||||
/// the branch name will be returned as `'[user-branch]'`.
|
||||
String getBranchName({ bool redactUnknownBranches = false }) {
|
||||
_branch ??= () {
|
||||
- final String branch = _runGit('git rev-parse --abbrev-ref HEAD', globals.processUtils);
|
||||
+ final String branch = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', globals.processUtils);
|
||||
return branch == 'HEAD' ? channel : branch;
|
||||
}();
|
||||
if (redactUnknownBranches || _branch!.isEmpty) {
|
||||
@@ -359,7 +359,7 @@ class FlutterVersion {
|
||||
/// wrapper that does that.
|
||||
@visibleForTesting
|
||||
static List<String> gitLog(List<String> args) {
|
||||
- return <String>['git', '-c', 'log.showSignature=false', 'log'] + args;
|
||||
+ return <String>['git', '-c', 'log.showSignature=false', '--git-dir', '.git', 'log'] + args;
|
||||
}
|
||||
|
||||
/// Gets the release date of the latest available Flutter version.
|
||||
@@ -730,7 +730,7 @@ class GitTagVersion {
|
||||
|
||||
static GitTagVersion determine(ProcessUtils processUtils, {String? workingDirectory, bool fetchTags = false, String gitRef = 'HEAD'}) {
|
||||
if (fetchTags) {
|
||||
- final String channel = _runGit('git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
|
||||
+ final String channel = _runGit('git --git-dir .git rev-parse --abbrev-ref HEAD', processUtils, workingDirectory);
|
||||
if (channel == 'dev' || channel == 'beta' || channel == 'stable') {
|
||||
globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
|
||||
} else {
|
||||
@@ -739,7 +739,7 @@ class GitTagVersion {
|
||||
}
|
||||
// find all tags attached to the given [gitRef]
|
||||
final List<String> tags = _runGit(
|
||||
- 'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
|
||||
+ 'git --git-dir .git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
|
||||
|
||||
// Check first for a stable tag
|
||||
final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
|
||||
@@ -760,7 +760,7 @@ class GitTagVersion {
|
||||
// recent tag and number of commits past.
|
||||
return parse(
|
||||
_runGit(
|
||||
- 'git describe --match *.*.* --long --tags $gitRef',
|
||||
+ 'git --git-dir .git describe --match *.*.* --long --tags $gitRef',
|
||||
processUtils,
|
||||
workingDirectory,
|
||||
)
|
@ -1,37 +0,0 @@
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index dd80b1e46e..8e54517765 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -22,6 +22,7 @@ import 'base/user_messages.dart';
|
||||
import 'build_info.dart';
|
||||
import 'convert.dart';
|
||||
import 'features.dart';
|
||||
+import 'globals.dart' as globals;
|
||||
|
||||
const String kFlutterRootEnvironmentVariableName = 'FLUTTER_ROOT'; // should point to //flutter/ (root of flutter/flutter repo)
|
||||
const String kFlutterEngineEnvironmentVariableName = 'FLUTTER_ENGINE'; // should point to //engine/src/ (root of flutter/engine repo)
|
||||
@@ -318,8 +319,13 @@ class Cache {
|
||||
return;
|
||||
}
|
||||
assert(_lock == null);
|
||||
+ final Directory dir = _fileSystem.directory(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter'));
|
||||
+ if (!dir.existsSync()) {
|
||||
+ dir.createSync(recursive: true);
|
||||
+ globals.os.chmod(dir, '755');
|
||||
+ }
|
||||
final File lockFile =
|
||||
- _fileSystem.file(_fileSystem.path.join(flutterRoot!, 'bin', 'cache', 'lockfile'));
|
||||
+ _fileSystem.file(_fileSystem.path.join(globals.fsUtils.homeDirPath!, '.cache', 'flutter', 'lockfile'));
|
||||
try {
|
||||
_lock = lockFile.openSync(mode: FileMode.write);
|
||||
} on FileSystemException catch (e) {
|
||||
@@ -378,8 +384,7 @@ class Cache {
|
||||
|
||||
String get devToolsVersion {
|
||||
if (_devToolsVersion == null) {
|
||||
- const String devToolsDirPath = 'dart-sdk/bin/resources/devtools';
|
||||
- final Directory devToolsDir = getCacheDir(devToolsDirPath, shouldCreate: false);
|
||||
+ final Directory devToolsDir = _fileSystem.directory(_fileSystem.path.join(flutterRoot!, 'bin/cache/dart-sdk/bin/resources/devtools'));
|
||||
if (!devToolsDir.existsSync()) {
|
||||
throw Exception('Could not find directory at ${devToolsDir.path}');
|
||||
}
|
@ -35,3 +35,19 @@ index dd80b1e46e..8e54517765 100644
|
||||
if (!devToolsDir.existsSync()) {
|
||||
throw Exception('Could not find directory at ${devToolsDir.path}');
|
||||
}
|
||||
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
|
||||
index 1c31c1b5db..76c7210d3b 100644
|
||||
--- a/packages/flutter_tools/lib/src/cache.dart
|
||||
+++ b/packages/flutter_tools/lib/src/cache.dart
|
||||
@@ -529,6 +529,11 @@ class Cache {
|
||||
|
||||
/// Return the top-level directory in the cache; this is `bin/cache`.
|
||||
Directory getRoot() {
|
||||
+ const Platform platform = LocalPlatform();
|
||||
+ if (platform.environment.containsKey('FLUTTER_CACHE_DIR')) {
|
||||
+ return _fileSystem.directory(platform.environment['FLUTTER_CACHE_DIR']);
|
||||
+ }
|
||||
+
|
||||
if (_rootOverride != null) {
|
||||
return _fileSystem.directory(_fileSystem.path.join(_rootOverride!.path, 'bin', 'cache'));
|
||||
} else {
|
||||
|
@ -4,7 +4,19 @@
|
||||
, flutter
|
||||
, supportsLinuxDesktop ? stdenv.hostPlatform.isLinux
|
||||
, supportsAndroid ? stdenv.hostPlatform.isx86_64
|
||||
, includedEngineArtifacts ? null
|
||||
, includedEngineArtifacts ? {
|
||||
common = [
|
||||
"flutter_patched_sdk"
|
||||
"flutter_patched_sdk_product"
|
||||
];
|
||||
platform = {
|
||||
android = lib.optionalAttrs supportsAndroid
|
||||
((lib.genAttrs [ "arm" "arm64" "x64" ] (architecture: [ "profile" "release" ])) // { x86 = [ "jit-release" ]; });
|
||||
linux = lib.optionalAttrs supportsLinuxDesktop
|
||||
(lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64"))
|
||||
(architecture: [ "debug" "profile" "release" ]));
|
||||
};
|
||||
}
|
||||
, extraPkgConfigPackages ? [ ]
|
||||
, extraLibraries ? [ ]
|
||||
, extraIncludes ? [ ]
|
||||
@ -32,30 +44,73 @@
|
||||
, cmake
|
||||
, ninja
|
||||
, clang
|
||||
, lndir
|
||||
, symlinkJoin
|
||||
}:
|
||||
|
||||
let
|
||||
flutterWithArtifacts = flutter.override {
|
||||
includedEngineArtifacts = if includedEngineArtifacts != null then includedEngineArtifacts else {
|
||||
common = [
|
||||
"flutter_patched_sdk"
|
||||
"flutter_patched_sdk_product"
|
||||
];
|
||||
platform = {
|
||||
android = lib.optionalAttrs supportsAndroid
|
||||
((lib.genAttrs [ "arm" "arm64" "x64" ] (architecture: [ "profile" "release" ])) // { x86 = [ "jit-release" ]; });
|
||||
linux = lib.optionalAttrs supportsLinuxDesktop
|
||||
(lib.genAttrs ((lib.optional stdenv.hostPlatform.isx86_64 "x64") ++ (lib.optional stdenv.hostPlatform.isAarch64 "arm64"))
|
||||
(architecture: [ "debug" "profile" "release" ]));
|
||||
};
|
||||
};
|
||||
engineArtifacts = callPackage ./engine-artifacts { inherit (flutter) engineVersion; };
|
||||
mkCommonArtifactLinkCommand = { artifact }:
|
||||
''
|
||||
mkdir -p $out/artifacts/engine/common
|
||||
lndir -silent ${artifact} $out/artifacts/engine/common
|
||||
'';
|
||||
mkPlatformArtifactLinkCommand = { artifact, os, architecture, variant ? null }:
|
||||
let
|
||||
artifactDirectory = "${os}-${architecture}${lib.optionalString (variant != null) "-${variant}"}";
|
||||
in
|
||||
''
|
||||
mkdir -p $out/artifacts/engine/${artifactDirectory}
|
||||
lndir -silent ${artifact} $out/artifacts/engine/${artifactDirectory}
|
||||
'';
|
||||
engineArtifactDirectory =
|
||||
runCommandLocal "flutter-engine-artifacts-${flutter.version}" { nativeBuildInputs = [ lndir ]; }
|
||||
(
|
||||
builtins.concatStringsSep "\n"
|
||||
((map
|
||||
(name: mkCommonArtifactLinkCommand {
|
||||
artifact = engineArtifacts.common.${name};
|
||||
})
|
||||
(includedEngineArtifacts.common or [ ])) ++
|
||||
(builtins.foldl'
|
||||
(commands: os: commands ++
|
||||
(builtins.foldl'
|
||||
(commands: architecture: commands ++
|
||||
(builtins.foldl'
|
||||
(commands: variant: commands ++
|
||||
(map
|
||||
(artifact: mkPlatformArtifactLinkCommand {
|
||||
inherit artifact os architecture variant;
|
||||
})
|
||||
engineArtifacts.platform.${os}.${architecture}.variants.${variant}))
|
||||
(map
|
||||
(artifact: mkPlatformArtifactLinkCommand {
|
||||
inherit artifact os architecture;
|
||||
})
|
||||
engineArtifacts.platform.${os}.${architecture}.base)
|
||||
includedEngineArtifacts.platform.${os}.${architecture}))
|
||||
[ ]
|
||||
(builtins.attrNames includedEngineArtifacts.platform.${os})))
|
||||
[ ]
|
||||
(builtins.attrNames (includedEngineArtifacts.platform or { }))))
|
||||
);
|
||||
|
||||
cacheDir = symlinkJoin {
|
||||
name = "flutter-cache-dir";
|
||||
paths = [
|
||||
engineArtifactDirectory
|
||||
"${flutter}/bin/cache"
|
||||
];
|
||||
};
|
||||
|
||||
# By default, Flutter stores downloaded files (such as the Pub cache) in the SDK directory.
|
||||
# Wrap it to ensure that it does not do that, preferring home directories instead.
|
||||
# The sh file `$out/bin/internal/shared.sh` runs when launching Flutter and calls `"$FLUTTER_ROOT/bin/cache/` instead of our environment variable `FLUTTER_CACHE_DIR`.
|
||||
# We do not patch it since the script doesn't require engine artifacts(which are the only thing not added by the unwrapped derivation), so it shouldn't fail, and patching it will just be harder to maintain.
|
||||
immutableFlutter = writeShellScript "flutter_immutable" ''
|
||||
export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
|
||||
${flutterWithArtifacts}/bin/flutter "$@"
|
||||
export FLUTTER_CACHE_DIR=${cacheDir}
|
||||
${flutter}/bin/flutter "$@"
|
||||
'';
|
||||
|
||||
# Tools that the Flutter tool depends on.
|
||||
@ -105,12 +160,12 @@ in
|
||||
{
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
passthru = flutterWithArtifacts.passthru // {
|
||||
inherit (flutterWithArtifacts) version;
|
||||
unwrapped = flutterWithArtifacts;
|
||||
passthru = flutter.passthru // {
|
||||
inherit (flutter) version;
|
||||
unwrapped = flutter;
|
||||
};
|
||||
|
||||
inherit (flutterWithArtifacts) meta;
|
||||
inherit (flutter) meta;
|
||||
} ''
|
||||
for path in ${builtins.concatStringsSep " " (builtins.foldl' (paths: pkg: paths ++ (map (directory: "'${pkg}/${directory}/pkgconfig'") ["lib" "share"])) [ ] pkgConfigPackages)}; do
|
||||
addToSearchPath FLUTTER_PKG_CONFIG_PATH "$path"
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchCrate
|
||||
, fetchpatch
|
||||
, stdenv
|
||||
, darwin
|
||||
}:
|
||||
@ -17,18 +16,6 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
cargoHash = "sha256-RQnyVRHWrqnKcI3Jy593jDTydG1nGyrScsqSNyJTDJk=";
|
||||
|
||||
patches = [
|
||||
# see https://github.com/higherorderco/hvm/pull/220
|
||||
# this commit removes the feature to fix build with rust nightly
|
||||
# but this feature is required with rust stable
|
||||
(fetchpatch {
|
||||
name = "revert-fix-remove-feature-automic-mut-ptr.patch";
|
||||
url = "https://github.com/higherorderco/hvm/commit/c0e35c79b4e31c266ad33beadc397c428e4090ee.patch";
|
||||
hash = "sha256-9xxu7NOtz3Tuzf5F0Mi4rw45Xnyh7h9hbTrzq4yfslg=";
|
||||
revert = true;
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk_11_0.frameworks.IOKit
|
||||
];
|
||||
|
@ -3,7 +3,6 @@
|
||||
, fetchCrate
|
||||
, stdenv
|
||||
, darwin
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@ -21,33 +20,6 @@ rustPlatform.buildRustPackage rec {
|
||||
darwin.apple_sdk_11_0.frameworks.Security
|
||||
];
|
||||
|
||||
postPatch =
|
||||
let
|
||||
hvmPatch = fetchpatch {
|
||||
name = "revert-fix-remove-feature-automic-mut-ptr.patch";
|
||||
url = "https://github.com/higherorderco/hvm/commit/c0e35c79b4e31c266ad33beadc397c428e4090ee.patch";
|
||||
hash = "sha256-9xxu7NOtz3Tuzf5F0Mi4rw45Xnyh7h9hbTrzq4yfslg=";
|
||||
revert = true;
|
||||
};
|
||||
in
|
||||
''
|
||||
pushd $cargoDepsCopy/hvm
|
||||
|
||||
oldLibHash=$(sha256sum src/lib.rs | cut -d " " -f 1)
|
||||
oldMainHash=$(sha256sum src/main.rs | cut -d " " -f 1)
|
||||
|
||||
patch -p1 < ${hvmPatch}
|
||||
|
||||
newLibHash=$(sha256sum src/lib.rs | cut -d " " -f 1)
|
||||
newMainHash=$(sha256sum src/main.rs | cut -d " " -f 1)
|
||||
|
||||
substituteInPlace .cargo-checksum.json \
|
||||
--replace "$oldLibHash" "$newLibHash" \
|
||||
--replace "$oldMainHash" "$newMainHash"
|
||||
|
||||
popd
|
||||
'';
|
||||
|
||||
# requires nightly features
|
||||
RUSTC_BOOTSTRAP = true;
|
||||
|
||||
|
@ -5,13 +5,14 @@ mkCoqDerivation {
|
||||
owner = "fblanqui";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.version [
|
||||
{case = range "8.14" "8.17"; out = "1.8.3"; }
|
||||
{case = range "8.14" "8.17"; out = "1.8.4"; }
|
||||
{case = range "8.12" "8.16"; out = "1.8.2"; }
|
||||
{case = range "8.10" "8.11"; out = "1.7.0"; }
|
||||
{case = range "8.8" "8.9"; out = "1.6.0"; }
|
||||
{case = range "8.6" "8.7"; out = "1.4.0"; }
|
||||
] null;
|
||||
|
||||
release."1.8.4".sha256 = "sha256-WlRiaLgnFFW5AY0z6EzdP1mevNe1GHsik6wULJLN4k0=";
|
||||
release."1.8.3".sha256 = "sha256-mMUzIorkQ6WWQBJLk1ioUNwAdDdGHJyhenIvkAjALVU=";
|
||||
release."1.8.2".sha256 = "sha256:1gvx5cxm582793vxzrvsmhxif7px18h9xsb2jljy2gkphdmsnpqj";
|
||||
release."1.8.1".sha256 = "0knhca9fffmyldn4q16h9265i7ih0h4jhcarq4rkn0wnn7x8w8yw";
|
||||
|
@ -7,13 +7,14 @@ mkCoqDerivation rec {
|
||||
domain = "gitlab.inria.fr";
|
||||
inherit version;
|
||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||
{ case = range "8.12" "8.17"; out = "4.6.1"; }
|
||||
{ case = range "8.12" "8.17"; out = "4.7.0"; }
|
||||
{ case = range "8.12" "8.16"; out = "4.6.0"; }
|
||||
{ case = range "8.8" "8.16"; out = "4.5.2"; }
|
||||
{ case = range "8.8" "8.12"; out = "4.0.0"; }
|
||||
{ case = range "8.7" "8.11"; out = "3.4.2"; }
|
||||
{ case = range "8.5" "8.6"; out = "3.3.0"; }
|
||||
] null;
|
||||
release."4.7.0".sha256 = "sha256-Cel25w4BeaNqu9KAW3N2KYO2IGY0EOAK5FQ6VHBPmFQ=";
|
||||
release."4.6.1".sha256 = "sha256-ZZSxt8ksz0g6dl/LEido5qJXgsaxHrVLqkGUHu90+e0=";
|
||||
release."4.6.0".sha256 = "sha256-n9ECKnV0L6XYcIcbYyOJKwlbisz/RRbNW5YESHo07X0=";
|
||||
release."4.5.2".sha256 = "sha256-r0yE9pkC4EYlqsimxkdlCXevRcwKa3HGFZiUH+ueUY8=";
|
||||
|
@ -1,26 +1,42 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, czmq
|
||||
, libusb1
|
||||
, ncurses
|
||||
, SDL2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "orbuculum";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orbcode";
|
||||
repo = pname;
|
||||
rev = "V${version}";
|
||||
sha256 = "sha256-aMMXfrBQQ9oOx17MUKmqe5vdTpxhBGM5mVfAel0y0a0=";
|
||||
sha256 = "sha256-Ohcc8739W/EmDjOYhcMgzEPVhzbWrUYgsPLdy4qzxhY=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace meson.build --replace \
|
||||
"/etc/udev/rules.d" "$out/etc/udev/rules.d"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
czmq
|
||||
libusb1
|
||||
ncurses
|
||||
SDL2
|
||||
];
|
||||
|
||||
installFlags = [
|
||||
|
@ -225,7 +225,7 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.perl.org/";
|
||||
description = "The standard implementation of the Perl 5 programmming language";
|
||||
description = "The standard implementation of the Perl 5 programming language";
|
||||
license = licenses.artistic1;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
platforms = platforms.all;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import ./common.nix {
|
||||
version = "102.12.0";
|
||||
hash = "sha512-KoXPHhyDqGLCiGpj3PPj6Lyp3T7XLF0CI9tSOH//N5a8Dcu1CK24wQowcp8gVUxarDf4rQRbAIilk9KOOdd/5Q==";
|
||||
version = "102.13.0";
|
||||
hash = "sha512-dF9Kd+TImDE/ERGCdNJ1E/S6oWu0LVtx2b0NvolX2/OaX3roRCzXEayptZe8kJwEtEy42QlMV6o04oXmT4NP3g==";
|
||||
}
|
||||
|
50
pkgs/development/interpreters/wazero/default.nix
Normal file
50
pkgs/development/interpreters/wazero/default.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, testers
|
||||
, wazero
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "wazero";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tetratelabs";
|
||||
repo = "wazero";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-u9VsSV+pdyBnAmT910SOL1I8tpDCYAWFTfWkWTNWQVs=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [
|
||||
"cmd/wazero"
|
||||
];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=github.com/tetratelabs/wazero/internal/version.version=${version}"
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
# fails when version is specified
|
||||
"-skip=TestCompile|TestRun"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
package = wazero;
|
||||
command = "wazero version";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A zero dependency WebAssembly runtime for Go developers";
|
||||
homepage = "https://github.com/tetratelabs/wazero";
|
||||
changelog = "https://github.com/tetratelabs/wazero/releases/tag/${src.rev}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
}
|
@ -29,10 +29,13 @@ stdenv.mkDerivation rec {
|
||||
] ++ (if stdenv.isDarwin then [ libossp_uuid ] else [ libuuid ]);
|
||||
|
||||
postPatch = ''
|
||||
# This lets us build the tests properly on aarch64-darwin.
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'SET(CMAKE_OSX_ARCHITECTURES "x86_64")' ""
|
||||
|
||||
# fix libdir=''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
sed -i 's,libdir=''${\(exec_\)\?prefix}/,libdir=,' lib3mf.pc.in
|
||||
|
||||
|
||||
# replace bundled binaries
|
||||
for i in AutomaticComponentToolkit/bin/act.*; do
|
||||
ln -sf ${automaticcomponenttoolkit}/bin/act $i
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libqalculate";
|
||||
version = "4.6.1";
|
||||
version = "4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "libqalculate";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GOVSNEnEl/oef54q88s+YuLyqPMLyx1eoX7DlWrmo2c=";
|
||||
sha256 = "sha256-Wgy1vsr0FXRJz9BCfw2PyFkesIJ/eg2dYDY/I2TESnU=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) firefox firefox-esr-91 firefox-esr-102;
|
||||
inherit (nixosTests) firefox firefox-esr-102 firefox-esr-115;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -16,6 +16,7 @@
|
||||
# https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Tech_Notes/nss_tech_note6
|
||||
enableFIPS ? false
|
||||
, nixosTests
|
||||
, nss_latest
|
||||
}:
|
||||
|
||||
let
|
||||
@ -189,10 +190,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
passthru.tests = lib.optionalAttrs (lib.versionOlder version "3.69") {
|
||||
inherit (nixosTests) firefox-esr-91;
|
||||
} // lib.optionalAttrs (lib.versionAtLeast version "3.69") {
|
||||
inherit (nixosTests) firefox firefox-esr-102;
|
||||
passthru.tests = lib.optionalAttrs (lib.versionOlder version nss_latest.version) {
|
||||
inherit (nixosTests) firefox-esr-102;
|
||||
} // lib.optionalAttrs (lib.versionAtLeast version nss_latest.version) {
|
||||
inherit (nixosTests) firefox firefox-esr-115;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -9,14 +9,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sexp";
|
||||
version = "0.8.6";
|
||||
pname = "sexpp";
|
||||
version = "0.8.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rnpgp";
|
||||
repo = "sexp";
|
||||
repo = "sexpp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-NpDSoBxEM8g/SugLmT8E5+YZPDFIGHa4eXLjdzQxaiw=";
|
||||
hash = "sha256-E1ESN3JKCWYBt1o37d7EVcgARnwGKS6mxua+0m1RMlM=";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib bzip2 ];
|
@ -2,14 +2,14 @@
|
||||
|
||||
let
|
||||
pname = "box";
|
||||
version = "4.2.0";
|
||||
version = "4.3.8";
|
||||
in
|
||||
mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/box-project/box/releases/download/${version}/box.phar";
|
||||
sha256 = "sha256-9pPhqFq9t3MKI/y6/7iCYB8ddWFrafGVcV/k+Exb+KQ=";
|
||||
sha256 = "sha256-g9Y92yTsyXU4NWuQwyB3PRrKJxLRSBO9J77jumXPOxg=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
35
pkgs/development/python-modules/Polygon3/default.nix
Normal file
35
pkgs/development/python-modules/Polygon3/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
}:
|
||||
let
|
||||
pname = "Polygon3";
|
||||
version = "3.0.9";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jraedler";
|
||||
repo = pname;
|
||||
rev = "7b2091f77741fa1d94251979bc4a4f2676b4d2d1";
|
||||
hash = "sha256-jXtjEzjWwMoVgrHWsK8brSN6TQRxIPRjUaRiLBXYLcI=";
|
||||
};
|
||||
|
||||
# malloc error on running the tests
|
||||
# python3.10(30620,0x115b74600) malloc: *** error for object 0x10d6db580: pointer being freed was not allocated
|
||||
# > python3.10(30620,0x115b74600) malloc: *** set a breakpoint in malloc_error_break to debug
|
||||
# > /nix/store/vbi8rnz0k3jyh4h4g16bbkchdd8mnxw7-setuptools-check-hook/nix-support/setup-hook: line 4: 30620 Abort trap: 6 /nix/store/5cxanhipcbfxnrqgw2qsr3zqr4z711bj-python3-3.10.12/bin/python3.10 nix_run_setup test
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Polygon is a python package that handles polygonal shapes in 2D";
|
||||
homepage = "https://github.com/jraedler/Polygon3";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "androidtvremote2";
|
||||
version = "0.0.9";
|
||||
version = "0.0.10";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "tronikos";
|
||||
repo = "androidtvremote2";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gQ2PVEhX1jwd0yvMf/Z0yKvruDzpY5080x4IU2i/PJ4=";
|
||||
hash = "sha256-LjYXQTPTFS80gI3WeJOLrKZ0C0JhGb5p1M70P7n29hc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, mock
|
||||
, parameterized
|
||||
, pyelftools
|
||||
@ -12,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aws-lambda-builders";
|
||||
version = "1.28.0";
|
||||
version = "1.34.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,22 +20,13 @@ buildPythonPackage rec {
|
||||
owner = "awslabs";
|
||||
repo = "aws-lambda-builders";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-JSN51zwIh9N/Id3fhBXjmwGa2tLK/LoyPlHPl2rbVU4=";
|
||||
hash = "sha256-MjX0im9GX0mdWkumUoJUIBjPZl/Ok5+sR6Dgq6vVGKM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
];
|
||||
|
||||
patches = [
|
||||
# This patch can be removed once https://github.com/aws/aws-lambda-builders/pull/475 has been merged.
|
||||
(fetchpatch {
|
||||
name = "setuptools-66-support";
|
||||
url = "https://patch-diff.githubusercontent.com/raw/aws/aws-lambda-builders/pull/475.patch";
|
||||
sha256 = "sha256-EkYQ6DNzbSnvkOads0GFwpGzeuBoLVU42THlSZNOHMc=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
mock
|
||||
parameterized
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, asn1crypto
|
||||
, buildPythonPackage
|
||||
, cryptography
|
||||
, dnspython
|
||||
, dsinternals
|
||||
, fetchFromGitHub
|
||||
@ -10,12 +11,14 @@
|
||||
, pycryptodome
|
||||
, pyopenssl
|
||||
, pythonOlder
|
||||
, requests
|
||||
, requests_ntlm
|
||||
, unicrypto
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "certipy-ad";
|
||||
version = "4.4.0";
|
||||
version = "4.5.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -24,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "ly4k";
|
||||
repo = "Certipy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-llLGr9IpuXQYIN2WaOkvfE2dAZb3PMVlNmketUpuyDI=";
|
||||
hash = "sha256-OxSTg9yFzyiAnRUcSTG5EzFk5ForzEVt/tUyi+cz9XI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -35,14 +38,17 @@ buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
asn1crypto
|
||||
cryptography
|
||||
dnspython
|
||||
dsinternals
|
||||
impacket
|
||||
pyopenssl
|
||||
ldap3
|
||||
pyasn1
|
||||
pycryptodome
|
||||
pyopenssl
|
||||
requests
|
||||
requests_ntlm
|
||||
unicrypto
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
|
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Click params for commmand line interfaces to GeoJSON";
|
||||
description = "Click params for command line interfaces to GeoJSON";
|
||||
homepage = "https://github.com/mapbox/cligj";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ knedlsepp ];
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-simple-captcha";
|
||||
version = "0.5.17";
|
||||
version = "0.5.18";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-lknmbatOce+sv+8C9IuDuRaEiYNSoatW8Whs5xAzsyg=";
|
||||
hash = "sha256-bh/MT0AF99ae56Llmn6GO105GPNqhaTYEUmJhK7MSM4=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
47
pkgs/development/python-modules/dotwiz/default.nix
Normal file
47
pkgs/development/python-modules/dotwiz/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pyheck
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dotwiz";
|
||||
version = "0.4.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rnag";
|
||||
repo = "dotwiz";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ABmkwpJ40JceNJieW5bhg0gqWNrR6Wxj84nLCjKU11A=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pyheck
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"dotwiz"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"--ignore=benchmarks"
|
||||
"--ignore-glob=*integration*"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dict subclass that supports dot access notation";
|
||||
homepage = "https://github.com/rnag/dotwiz";
|
||||
changelog = "https://github.com/rnag/dotwiz/blob/v${version}/HISTORY.rst";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
46
pkgs/development/python-modules/faster-fifo/default.nix
Normal file
46
pkgs/development/python-modules/faster-fifo/default.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
|
||||
# build-system
|
||||
, cython
|
||||
, setuptools
|
||||
|
||||
# tests
|
||||
, numpy
|
||||
, unittestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "faster-fifo";
|
||||
version = "1.4.5";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alex-petrenko";
|
||||
repo = "faster-fifo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-35kD+RWXwUXHG5leTVj4wY6hJAjDka69YczgSTIbCeg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cython
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"faster_fifo"
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
numpy
|
||||
unittestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Faster alternative to Python's multiprocessing.Queue (IPC FIFO queue";
|
||||
homepage = "https://github.com/alex-petrenko/faster-fifo";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gaphas";
|
||||
version = "3.11.1";
|
||||
version = "3.11.2";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-TqrrGu+jk6WNXUnXJao71JHEu7Is27UeHAG29/Jpqb8=";
|
||||
hash = "sha256-dcE0uWhSJFnSVVenQlSDMwnHe6GRq77hCT6FV2YQN3A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hcloud";
|
||||
version = "1.23.1";
|
||||
version = "1.24.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-rIaGcAMZZRd4BeLYmHAtfCCY6b5a+HDu5GO87/wNLkU=";
|
||||
hash = "sha256-VqC9ckhVW4ypLnF2aKCN8yDAkflaXu7MlS5hZChWJdw=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -11,16 +11,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "holidays";
|
||||
version = "0.27.1";
|
||||
version = "0.28";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dr-prodigy";
|
||||
repo = "python-holidays";
|
||||
rev = "refs/tags/v.${version}";
|
||||
hash = "sha256-RnN2aDBQZu5rNDmRuk80PbeoWN3EUhmlAs3hIXrpJMs=";
|
||||
hash = "sha256-JHj7fSE8p3TLViDSegl6gm35u53D9NvN7Oa2TBjN9t4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "immutabledict";
|
||||
version = "2.2.4";
|
||||
version = "2.2.5";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "corenting";
|
||||
repo = "immutabledict";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cykTZw3p6P35rHaJmfmiXIqybc+ZeqUkxneoPot7E9Q=";
|
||||
hash = "sha256-7b/iSFQ4817XmDA40cQ/iqEuUegeg8Cypl85ntux6CI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
26
pkgs/development/python-modules/iwlib/default.nix
Normal file
26
pkgs/development/python-modules/iwlib/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, wirelesstools, cffi, pytest }:
|
||||
buildPythonPackage rec {
|
||||
pname = "iwlib";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "a805f6597a70ee3001aba8f039fb7b2dcb75dc15c4e7852f5594fd6379196da1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ wirelesstools cffi ];
|
||||
nativeBuildInputs = [ pytest ];
|
||||
pythonImportsCheck = [ "iwlib" ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ pytest ];
|
||||
checkPhase = "python iwlib/_iwlib_build.py; pytest -v";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/nhoad/python-iwlib";
|
||||
description = "Python interface for the Wireless Tools utility collection";
|
||||
changelog = "https://github.com/nhoad/python-iwlib#change-history";
|
||||
maintainers = with maintainers; [ jcspeegs ];
|
||||
license = licenses.gpl2Only;
|
||||
};
|
||||
}
|
39
pkgs/development/python-modules/lanms-neo/default.nix
Normal file
39
pkgs/development/python-modules/lanms-neo/default.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, pythonOlder
|
||||
, pybind11
|
||||
, numpy
|
||||
}:
|
||||
let
|
||||
pname = "lanms-neo";
|
||||
version = "1.0.2";
|
||||
in
|
||||
buildPythonPackage {
|
||||
inherit pname version;
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gen-ko";
|
||||
repo = pname;
|
||||
rev = "6510e19e731a1e105d42b2fbda64de41c169ce2e";
|
||||
hash = "sha256-0fs4RNN1ptiir7GfR9B8HK0VqTkk5PbVJxgKiDId3po=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pybind11
|
||||
numpy
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Standalone module for Locality-Aware NMS";
|
||||
homepage = "https://github.com/gen-ko/lanms-neo";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mitogen";
|
||||
version = "0.3.3";
|
||||
version = "0.3.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
||||
owner = "mitogen-hq";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cx0q2Y9A6UzpdD1kuGBtXIs9oBGFpkIyvPfN2hj+A1g=";
|
||||
hash = "sha256-tMpjmSqZffFGbo06W/FAut584F8eOPrcLKjj2bnB+Zo=";
|
||||
};
|
||||
|
||||
# Tests require network access and Docker support
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user