diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index d9d0918c1cc6..25340825c4b5 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -36,6 +36,7 @@ rec {
config = parse.tripleFromSystem final.parsed;
# Determine whether we can execute binaries built for the provided platform.
canExecute = platform:
+ final.isAndroid == platform.isAndroid &&
parse.isCompatible final.parsed.cpu platform.parsed.cpu
&& final.parsed.kernel == platform.parsed.kernel;
isCompatible = _: throw "2022-05-23: isCompatible has been removed in favor of canExecute, refer to the 22.11 changelog for details";
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 03bb5ffcdacc..65dc9c07e346 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -57,23 +57,23 @@ rec {
armv7a-android-prebuilt = {
config = "armv7a-unknown-linux-androideabi";
rustc.config = "armv7-linux-androideabi";
- sdkVer = "29";
- ndkVer = "21";
+ sdkVer = "28";
+ ndkVer = "24";
useAndroidPrebuilt = true;
} // platforms.armv7a-android;
aarch64-android-prebuilt = {
config = "aarch64-unknown-linux-android";
rustc.config = "aarch64-linux-android";
- sdkVer = "29";
- ndkVer = "21";
+ sdkVer = "28";
+ ndkVer = "24";
useAndroidPrebuilt = true;
};
aarch64-android = {
config = "aarch64-unknown-linux-android";
sdkVer = "30";
- ndkVer = "21";
+ ndkVer = "24";
libc = "bionic";
useAndroidPrebuilt = false;
useLLVM = true;
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 40c834d97518..68496e0d54c2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -893,6 +893,13 @@
githubId = 661909;
name = "Antonio Nuno Monteiro";
};
+ anoa = {
+ matrix = "@andrewm:amorgan.xyz";
+ email = "andrew@amorgan.xyz";
+ github = "anoadragon453";
+ githubId = 1342360;
+ name = "Andrew Morgan";
+ };
anpryl = {
email = "anpryl@gmail.com";
github = "anpryl";
@@ -5405,6 +5412,13 @@
githubId = 40234257;
name = "ilkecan bozdogan";
};
+ ihatethefrench = {
+ email = "michal@tar.black";
+ matrix = "@michal:tar.black";
+ github = "ihatethefrench";
+ githubId = 30374463;
+ name = "Michal S.";
+ };
illegalprime = {
email = "themichaeleden@gmail.com";
github = "illegalprime";
@@ -14700,4 +14714,10 @@
github = "npatsakula";
githubId = 23001619;
};
+ dfithian = {
+ email = "daniel.m.fithian@gmail.com";
+ name = "Daniel Fithian";
+ github = "dfithian";
+ githubId = 8409320;
+ };
}
diff --git a/nixos/modules/services/logging/heartbeat.nix b/nixos/modules/services/logging/heartbeat.nix
index 56fb4deabda5..843ec033911f 100644
--- a/nixos/modules/services/logging/heartbeat.nix
+++ b/nixos/modules/services/logging/heartbeat.nix
@@ -20,6 +20,16 @@ in
enable = mkEnableOption "heartbeat";
+ package = mkOption {
+ type = types.package;
+ default = pkgs.heartbeat;
+ defaultText = literalExpression "pkgs.heartbeat";
+ example = literalExpression "pkgs.heartbeat7";
+ description = ''
+ The heartbeat package to use.
+ '';
+ };
+
name = mkOption {
type = types.str;
default = "heartbeat";
@@ -67,7 +77,7 @@ in
serviceConfig = {
User = "nobody";
AmbientCapabilities = "cap_net_raw";
- ExecStart = "${pkgs.heartbeat}/bin/heartbeat -c \"${heartbeatYml}\" -path.data \"${cfg.stateDir}/data\" -path.logs \"${cfg.stateDir}/logs\"";
+ ExecStart = "${cfg.package}/bin/heartbeat -c \"${heartbeatYml}\" -path.data \"${cfg.stateDir}/data\" -path.logs \"${cfg.stateDir}/logs\"";
};
};
};
diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix
index 789b78702e9b..e2f227b06196 100644
--- a/nixos/modules/services/misc/jellyfin.nix
+++ b/nixos/modules/services/misc/jellyfin.nix
@@ -49,7 +49,10 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
+ # This is mostly follows: https://github.com/jellyfin/jellyfin/blob/master/fedora/jellyfin.service
+ # Upstream also disable some hardenings when running in LXC, we do the same with the isContainer option
serviceConfig = rec {
+ Type = "simple";
User = cfg.user;
Group = cfg.group;
StateDirectory = "jellyfin";
@@ -57,48 +60,50 @@ in
CacheDirectory = "jellyfin";
CacheDirectoryMode = "0700";
UMask = "0077";
+ WorkingDirectory = "/var/lib/jellyfin";
ExecStart = "${cfg.package}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'";
Restart = "on-failure";
+ TimeoutSec = 15;
+ SuccessExitStatus = ["0" "143"];
# Security options:
-
NoNewPrivileges = true;
-
- AmbientCapabilities = "";
- CapabilityBoundingSet = "";
-
- # ProtectClock= adds DeviceAllow=char-rtc r
- DeviceAllow = "";
-
- LockPersonality = true;
-
- PrivateTmp = true;
- # Disabled to allow Jellyfin to access hw accel devices endpoints
- # PrivateDevices = true;
- PrivateUsers = true;
-
- # Disabled as it does not allow Jellyfin to interface with CUDA devices
- # ProtectClock = true;
- ProtectControlGroups = true;
- ProtectHostname = true;
- ProtectKernelLogs = true;
- ProtectKernelModules = true;
- ProtectKernelTunables = true;
-
- RemoveIPC = true;
-
- RestrictNamespaces = true;
+ SystemCallArchitectures = "native";
# AF_NETLINK needed because Jellyfin monitors the network connection
- RestrictAddressFamilies = [ "AF_NETLINK" "AF_INET" "AF_INET6" "AF_UNIX" ];
+ RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ];
+ RestrictNamespaces = !config.boot.isContainer;
RestrictRealtime = true;
RestrictSUIDSGID = true;
+ ProtectControlGroups = !config.boot.isContainer;
+ ProtectHostname = true;
+ ProtectKernelLogs = !config.boot.isContainer;
+ ProtectKernelModules = !config.boot.isContainer;
+ ProtectKernelTunables = !config.boot.isContainer;
+ LockPersonality = true;
+ PrivateTmp = !config.boot.isContainer;
+ # needed for hardware accelaration
+ PrivateDevices = false;
+ PrivateUsers = true;
+ RemoveIPC = true;
- SystemCallArchitectures = "native";
- SystemCallErrorNumber = "EPERM";
SystemCallFilter = [
- "@system-service"
- "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock" "~@obsolete" "~@privileged" "~@setuid"
+ "~@clock"
+ "~@aio"
+ "~@chown"
+ "~@cpu-emulation"
+ "~@debug"
+ "~@keyring"
+ "~@memlock"
+ "~@module"
+ "~@mount"
+ "~@obsolete"
+ "~@privileged"
+ "~@raw-io"
+ "~@reboot"
+ "~@setuid"
+ "~@swap"
];
+ SystemCallErrorNumber = "EPERM";
};
};
diff --git a/nixos/modules/services/networking/mxisd.nix b/nixos/modules/services/networking/mxisd.nix
index 803f0689d1fd..5b1e0dee8e35 100644
--- a/nixos/modules/services/networking/mxisd.nix
+++ b/nixos/modules/services/networking/mxisd.nix
@@ -46,6 +46,15 @@ in {
description = "The mxisd/ma1sd package to use";
};
+ environmentFile = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ Path to an environment-file which may contain secrets to be
+ substituted via envsubst.
+ '';
+ };
+
dataDir = mkOption {
type = types.str;
default = "/var/lib/mxisd";
@@ -118,7 +127,12 @@ in {
Type = "simple";
User = "mxisd";
Group = "mxisd";
- ExecStart = "${cfg.package}/bin/${executable} -c ${configFile}";
+ EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
+ ExecStart = "${cfg.package}/bin/${executable} -c ${cfg.dataDir}/mxisd-config.yaml";
+ ExecStartPre = "${pkgs.writeShellScript "mxisd-substitute-secrets" ''
+ ${pkgs.envsubst}/bin/envsubst -o ${cfg.dataDir}/mxisd-config.yaml \
+ -i ${configFile}
+ ''}";
WorkingDirectory = cfg.dataDir;
Restart = "on-failure";
};
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 99c18ae6919e..ae681988ea11 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -61,10 +61,10 @@ in {
};
group = mkOption {
- type = types.str;
- default = "root";
+ type = types.nullOr types.str;
+ default = null;
example = "wheel";
- description = "Group to grant access to the Yggdrasil control socket.";
+ description = "Group to grant access to the Yggdrasil control socket. If null, only root can access the socket.";
};
openMulticastPort = mkOption {
@@ -154,27 +154,16 @@ in {
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "always";
- Group = cfg.group;
+ DynamicUser = true;
+ StateDirectory = "yggdrasil";
RuntimeDirectory = "yggdrasil";
RuntimeDirectoryMode = "0750";
BindReadOnlyPaths = lib.optional configFileProvided cfg.configFile
++ lib.optional cfg.persistentKeys keysPath;
+ ReadWritePaths = "/run/yggdrasil";
- # TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails
- # to set up the network adapter when DynamicUser is set. See
- # github.com/yggdrasil-network/yggdrasil-go/issues/557. The
- # following options are implied by DynamicUser according to
- # the systemd.exec documentation, and can be removed if the
- # upstream issue is fixed and DynamicUser is set to true:
- PrivateTmp = true;
- RemoveIPC = true;
- NoNewPrivileges = true;
- ProtectSystem = "strict";
- RestrictSUIDSGID = true;
- # End of list of options implied by DynamicUser.
-
- AmbientCapabilities = "CAP_NET_ADMIN";
- CapabilityBoundingSet = "CAP_NET_ADMIN";
+ AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
+ CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
MemoryDenyWriteExecute = true;
ProtectControlGroups = true;
ProtectHome = "tmpfs";
@@ -185,7 +174,9 @@ in {
RestrictRealtime = true;
SystemCallArchitectures = "native";
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @resources";
- };
+ } // (if (cfg.group != null) then {
+ Group = cfg.group;
+ } else {});
};
networking.dhcpcd.denyInterfaces = cfg.denyDhcpcdInterfaces;
diff --git a/nixos/modules/services/security/privacyidea.nix b/nixos/modules/services/security/privacyidea.nix
index c1617348fb01..13e27f255068 100644
--- a/nixos/modules/services/security/privacyidea.nix
+++ b/nixos/modules/services/security/privacyidea.nix
@@ -51,6 +51,16 @@ let
${cfg.extraConfig}
'';
+ renderValue = x:
+ if isList x then concatMapStringsSep "," (x: ''"${x}"'') x
+ else if isString x && hasInfix "," x then ''"${x}"''
+ else x;
+
+ ldapProxyConfig = pkgs.writeText "ldap-proxy.ini"
+ (generators.toINI {}
+ (flip mapAttrs cfg.ldap-proxy.settings
+ (const (mapAttrs (const renderValue)))));
+
in
{
@@ -172,7 +182,8 @@ in
enable = mkEnableOption "PrivacyIDEA LDAP Proxy";
configFile = mkOption {
- type = types.path;
+ type = types.nullOr types.path;
+ default = null;
description = ''
Path to PrivacyIDEA LDAP Proxy configuration (proxy.ini).
'';
@@ -189,6 +200,26 @@ in
default = "pi-ldap-proxy";
description = "Group account under which PrivacyIDEA LDAP proxy runs.";
};
+
+ settings = mkOption {
+ type = with types; attrsOf (attrsOf (oneOf [ str bool int (listOf str) ]));
+ default = {};
+ description = ''
+ Attribute-set containing the settings for privacyidea-ldap-proxy.
+ It's possible to pass secrets using env-vars as substitutes and
+ use the option
+ to inject them via envsubst.
+ '';
+ };
+
+ environmentFile = mkOption {
+ default = null;
+ type = types.nullOr types.str;
+ description = ''
+ Environment file containing secrets to be substituted into
+ .
+ '';
+ };
};
};
};
@@ -276,6 +307,18 @@ in
(mkIf cfg.ldap-proxy.enable {
+ assertions = [
+ { assertion = let
+ xor = a: b: a && !b || !a && b;
+ in xor (cfg.ldap-proxy.settings == {}) (cfg.ldap-proxy.configFile == null);
+ message = "configFile & settings are mutually exclusive for services.privacyidea.ldap-proxy!";
+ }
+ ];
+
+ warnings = mkIf (cfg.ldap-proxy.configFile != null) [
+ "Using services.privacyidea.ldap-proxy.configFile is deprecated! Use the RFC42-style settings option instead!"
+ ];
+
systemd.services.privacyidea-ldap-proxy = let
ldap-proxy-env = pkgs.python3.withPackages (ps: [ ps.privacyidea-ldap-proxy ]);
in {
@@ -284,14 +327,27 @@ in
serviceConfig = {
User = cfg.ldap-proxy.user;
Group = cfg.ldap-proxy.group;
- ExecStart = ''
+ StateDirectory = "privacyidea-ldap-proxy";
+ EnvironmentFile = mkIf (cfg.ldap-proxy.environmentFile != null)
+ [ cfg.ldap-proxy.environmentFile ];
+ ExecStartPre =
+ "${pkgs.writeShellScript "substitute-secrets-ldap-proxy" ''
+ ${pkgs.envsubst}/bin/envsubst \
+ -i ${ldapProxyConfig} \
+ -o $STATE_DIRECTORY/ldap-proxy.ini
+ ''}";
+ ExecStart = let
+ configPath = if cfg.ldap-proxy.settings != {}
+ then "%S/privacyidea-ldap-proxy/ldap-proxy.ini"
+ else cfg.ldap-proxy.configFile;
+ in ''
${ldap-proxy-env}/bin/twistd \
--nodaemon \
--pidfile= \
-u ${cfg.ldap-proxy.user} \
-g ${cfg.ldap-proxy.group} \
ldap-proxy \
- -c ${cfg.ldap-proxy.configFile}
+ -c ${configPath}
'';
Restart = "always";
};
diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix
index bc0bf43522e0..fd89d763c7fb 100644
--- a/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -8,21 +8,22 @@ let
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
enableSSO = cfg.sso.enable;
- crowdProperties = ''
- application.name ${cfg.sso.applicationName}
- application.password ${cfg.sso.applicationPassword}
- application.login.url ${cfg.sso.crowd}/console/
-
- crowd.server.url ${cfg.sso.crowd}/services/
- crowd.base.url ${cfg.sso.crowd}/
-
- session.isauthenticated session.isauthenticated
- session.tokenkey session.tokenkey
- session.validationinterval ${toString cfg.sso.validationInterval}
- session.lastvalidation session.lastvalidation
- '';
});
+ crowdProperties = pkgs.writeText "crowd.properties" ''
+ application.name ${cfg.sso.applicationName}
+ application.password @NIXOS_JIRA_CROWD_SSO_PWD@
+ application.login.url ${cfg.sso.crowd}/console/
+
+ crowd.server.url ${cfg.sso.crowd}/services/
+ crowd.base.url ${cfg.sso.crowd}/
+
+ session.isauthenticated session.isauthenticated
+ session.tokenkey session.tokenkey
+ session.validationinterval ${toString cfg.sso.validationInterval}
+ session.lastvalidation session.lastvalidation
+ '';
+
in
{
@@ -112,9 +113,9 @@ in
description = "Exact name of this JIRA instance in Crowd";
};
- applicationPassword = mkOption {
+ applicationPasswordFile = mkOption {
type = types.str;
- description = "Application password of this JIRA instance in Crowd";
+ description = "Path to the file containing the application password of this JIRA instance in Crowd";
};
validationInterval = mkOption {
@@ -181,6 +182,7 @@ in
JIRA_HOME = cfg.home;
JAVA_HOME = "${cfg.jrePackage}";
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
+ JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
};
preStart = ''
@@ -191,6 +193,14 @@ in
-e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \
'') + ''
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
+
+ ${optionalString cfg.sso.enable ''
+ install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
+ ${pkgs.replace-secret}/bin/replace-secret \
+ '@NIXOS_JIRA_CROWD_SSO_PWD@' \
+ ${cfg.sso.applicationPasswordFile} \
+ ${cfg.home}/crowd.properties
+ ''}
'';
serviceConfig = {
@@ -204,4 +214,10 @@ in
};
};
};
+
+ imports = [
+ (mkRemovedOptionModule [ "services" "jira" "sso" "applicationPassword" ] ''
+ Use `applicationPasswordFile` instead!
+ '')
+ ];
}
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index aca6a1ca2cc2..77280a9680e3 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -264,8 +264,6 @@ def main() -> None:
if installed_version < available_version:
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
- else:
- print("leaving systemd-boot %s in place (%s is not newer)" % (installed_version, available_version))
mkdir_p("@efiSysMountPoint@/efi/nixos")
mkdir_p("@efiSysMountPoint@/loader/entries")
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 11189e77bd96..03a7f17c07cc 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -279,6 +279,7 @@ in {
libresprite = handleTest ./libresprite.nix {};
libreswan = handleTest ./libreswan.nix {};
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
+ libuiohook = handleTest ./libuiohook.nix {};
lidarr = handleTest ./lidarr.nix {};
lightdm = handleTest ./lightdm.nix {};
limesurvey = handleTest ./limesurvey.nix {};
diff --git a/nixos/tests/libuiohook.nix b/nixos/tests/libuiohook.nix
new file mode 100644
index 000000000000..66c5033d9688
--- /dev/null
+++ b/nixos/tests/libuiohook.nix
@@ -0,0 +1,21 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+ name = "libuiohook";
+ meta = with lib.maintainers; { maintainers = [ anoa ]; };
+
+ nodes.client = { nodes, ... }:
+ let user = nodes.client.config.users.users.alice;
+ in {
+ imports = [ ./common/user-account.nix ./common/x11.nix ];
+
+ environment.systemPackages = [ pkgs.libuiohook.test ];
+
+ test-support.displayManager.auto.user = user.name;
+ };
+
+ testScript = { nodes, ... }:
+ let user = nodes.client.config.users.users.alice;
+ in ''
+ client.wait_for_x()
+ client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &")
+ '';
+})
diff --git a/pkgs/applications/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index 5c6fd625cf66..bc63771494e2 100644
--- a/pkgs/applications/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -5,23 +5,23 @@
}:
let
- # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-05-12
+ # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-07-14
# Please make sure to update this when updating yuzu!
compat-list = fetchurl {
name = "yuzu-compat-list";
- url = "https://web.archive.org/web/20220512184801/https://api.yuzu-emu.org/gamedb";
+ url = "https://web.archive.org/web/20220714160745/https://api.yuzu-emu.org/gamedb";
sha256 = "sha256-anOmO7NscHDsQxT03+YbJEyBkXjhcSVGgKpDwt//GHw=";
};
in {
mainline = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-mainline";
- version = "1088";
+ version = "1092";
src = fetchFromGitHub {
owner = "yuzu-emu";
repo = "yuzu-mainline";
rev = "mainline-0-${version}";
- sha256 = "0kjiynv1fwc14w7382qgzayz5j9n2rnzbpbq49zgcywc4wwcxzs2";
+ sha256 = "1avcq924q0r8pfv1s0a88iyii7yixcxpb3yhlj0xg9zqnwp9r23y";
fetchSubmodules = true;
};
@@ -30,13 +30,13 @@ in {
early-access = libsForQt5.callPackage ./generic.nix rec {
pname = "yuzu-ea";
- version = "2725";
+ version = "2841";
src = fetchFromGitHub {
owner = "pineappleEA";
repo = "pineapple-src";
rev = "EA-${version}";
- sha256 = "1nmcl9y9chr7cdvnra5zs1v42d3i801hmsjdlz3fmp15n04bcjmp";
+ sha256 = "16lrq9drv0x7gs1siq37m4zmh6d2g3vhnw9qcqajr9p0vmlpnh6l";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh
index e128db066f35..8dedcab02813 100755
--- a/pkgs/applications/emulators/yuzu/update.sh
+++ b/pkgs/applications/emulators/yuzu/update.sh
@@ -53,7 +53,7 @@ updateEarlyAccess() {
OLD_EA_HASH="$(getLocalHash "yuzu-ea")"
NEW_EA_VERSION="$(curl -s ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
- "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].name' | cut -d"-" -f2 | cut -d" " -f1)"
+ "https://api.github.com/repos/pineappleEA/pineapple-src/releases?per_page=1" | jq -r '.[0].tag_name' | cut -d"-" -f2 | cut -d" " -f1)"
if [[ "${OLD_EA_VERSION}" = "${NEW_EA_VERSION}" ]]; then
echo "yuzu-ea is already up to date!"
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index 0ad11bc630bf..8acc917b047f 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -69,14 +69,14 @@ let
six
];
in mkDerivation rec {
- version = "3.22.8";
+ version = "3.22.9";
pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
- sha256 = "sha256-YxF7FzyNNt+bdk96g2sWWv9haqV0L6Ab96D0hV0BFrA=";
+ sha256 = "sha256-QHdcK34e7tC0AUstE8pbsBHzHXbmOd3gI2/zqsxb6X4=";
};
passthru = {
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 1c46cd81f65a..f0cfbda170d9 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -69,14 +69,14 @@ let
six
];
in mkDerivation rec {
- version = "3.26.0";
+ version = "3.26.1";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
- sha256 = "sha256-yHQi5ai7fdgznTf562Bj0QPE+SXg972O7+r01RY7itE=";
+ sha256 = "sha256-FjMe/5uEbmSeQrAtkKvoGh4VlPkbGMHNzlCpn27C5CQ=";
};
passthru = {
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 4f95efa175e9..025d89e41387 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -21,7 +21,7 @@
}:
let
- version = "4.2.1";
+ version = "4.2.2";
libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.0"
@@ -37,7 +37,7 @@ let
owner = "spesmilo";
repo = "electrum";
rev = version;
- sha256 = "sha256-BoikYSsQZAv8WswIr5nmBsGmjZbTXaLAbdO2QtPvc7c=";
+ sha256 = "sha256-bFceOu+3SLtD2eY+aSBEn13xJw7a3aVwX39QfAuqVSo=";
postFetch = ''
mv $out ./all
@@ -53,7 +53,7 @@ python3.pkgs.buildPythonApplication {
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
- sha256 = "sha256-2SxSTH9P380j2KaCbkXjgmQO7K2z81AG6PMA/EMggXA=";
+ sha256 = "sha256-ucLLfqmTKO5Qpg+PnmcdQwht7cWMWJoFjQWnDecEtVs=";
};
postUnpack = ''
diff --git a/pkgs/applications/misc/openbangla-keyboard/Cargo.lock b/pkgs/applications/misc/openbangla-keyboard/Cargo.lock
new file mode 100644
index 000000000000..6fa93003a60c
--- /dev/null
+++ b/pkgs/applications/misc/openbangla-keyboard/Cargo.lock
@@ -0,0 +1,251 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "once_cell",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "edit-distance"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b"
+
+[[package]]
+name = "either"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
+
+[[package]]
+name = "hashbrown"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
+dependencies = [
+ "ahash",
+ "autocfg",
+ "rayon",
+ "serde",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+
+[[package]]
+name = "rayon"
+version = "1.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
+dependencies = [
+ "autocfg",
+ "crossbeam-deque",
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-utils",
+ "num_cpus",
+]
+
+[[package]]
+name = "regex"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+[[package]]
+name = "riti"
+version = "0.1.0"
+dependencies = [
+ "edit-distance",
+ "either",
+ "hashbrown",
+ "rayon",
+ "regex",
+ "rupantor",
+ "serde_json",
+ "stringplus",
+]
+
+[[package]]
+name = "rupantor"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04eb802986005129b0946dbb4baa420bf14cea547c5ee6b57ba081d9e85f6a4b"
+dependencies = [
+ "serde_json",
+ "stringplus",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "serde"
+version = "1.0.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6"
+
+[[package]]
+name = "serde_json"
+version = "1.0.82"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "stringplus"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9057d3b491a3eee749e52560657c4d93b0badc04fb3fa8dae3c942c5c066f222"
diff --git a/pkgs/applications/misc/openbangla-keyboard/default.nix b/pkgs/applications/misc/openbangla-keyboard/default.nix
new file mode 100644
index 000000000000..28b730e0b2d8
--- /dev/null
+++ b/pkgs/applications/misc/openbangla-keyboard/default.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, rustPlatform
+, wrapQtAppsHook
+, ibus
+, qtbase
+, zstd
+}:
+
+stdenv.mkDerivation rec {
+ pname = "openbangla-keyboard";
+ version = "2.0.0";
+
+ src = fetchFromGitHub {
+ owner = "openbangla";
+ repo = "openbangla-keyboard";
+ rev = version;
+ hash = "sha256-UoLiysaA0Wob/SLBqm36Txqb8k7bwoQ56h8ZufHR74I=";
+ fetchSubmodules = true;
+ };
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ rustPlatform.rust.cargo
+ rustPlatform.rust.rustc
+ rustPlatform.cargoSetupHook
+ wrapQtAppsHook
+ ];
+
+ buildInputs = [
+ ibus
+ qtbase
+ zstd
+ ];
+
+ cargoDeps = rustPlatform.fetchCargoTarball {
+ inherit src;
+ postPatch = ''
+ cp ${./Cargo.lock} Cargo.lock
+ '';
+ sourceRoot = "source/${cargoRoot}";
+ sha256 = "sha256-01MWuUUirsgpoprMArRp3qxKNayPHTkYWk31nXcIC34=";
+ };
+
+ cargoRoot = "src/engine/riti";
+ postPatch = ''
+ cp ${./Cargo.lock} ${cargoRoot}/Cargo.lock
+
+ substituteInPlace CMakeLists.txt \
+ --replace "/usr" "$out"
+
+ substituteInPlace src/shared/FileSystem.cpp \
+ --replace "/usr" "$out"
+ '';
+
+ postInstall = ''
+ mkdir -p $out/bin
+ ln -s $out/share/openbangla-keyboard/openbangla-gui $out/bin/openbangla-gui
+ '';
+
+ meta = with lib; {
+ description = "An OpenSource, Unicode compliant Bengali Input Method";
+ homepage = "https://openbangla.github.io/";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ hqurve ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 02df4313f7fc..eb677eb00ded 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,5 +1,5 @@
{ lib, buildDunePackage, fetchFromGitHub
-, ocaml_extlib, ocamlfuse, gapi_ocaml, ocaml_sqlite3
+, ocaml_extlib, ocamlfuse, gapi-ocaml, ocaml_sqlite3
, tiny_httpd
, ounit
}:
@@ -18,7 +18,7 @@ buildDunePackage rec {
doCheck = true;
checkInputs = [ ounit ];
- buildInputs = [ ocaml_extlib ocamlfuse gapi_ocaml ocaml_sqlite3 tiny_httpd ];
+ buildInputs = [ ocaml_extlib ocamlfuse gapi-ocaml ocaml_sqlite3 tiny_httpd ];
meta = {
inherit (src.meta) homepage;
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index 7c18ebf763c8..9725676da027 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -22,11 +22,11 @@
python3.pkgs.buildPythonApplication rec {
pname = "gajim";
- version = "1.4.3";
+ version = "1.4.6";
src = fetchurl {
url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
- sha256 = "sha256:0n6v96pwgds8655877fjgsphq4rd4gb9mz7cbqp4nkd4m7kvr3xv";
+ sha256 = "sha256-iiZ2Nv6voq67+OJ26hk+3JQSKevx9ti8s6DreSAsQk8=";
};
buildInputs = [
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 1b5f797e98c6..1835e59e86c2 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -28,14 +28,14 @@ let
in
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
- version = "3.5";
+ version = "3.6";
pname = "weechat";
hardeningEnable = [ "pie" ];
src = fetchurl {
url = "https://weechat.org/files/src/weechat-${version}.tar.bz2";
- sha256 = "sha256-8ZSa2dQPTiChGW00T5OASHmd0C2PatUtTu9Gr4CF4Oc=";
+ sha256 = "sha256-GkYN/Y4LQQr7GdSDu0ucXXM9wWPAqKD1txJXkOhJMDc=";
};
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix
index 9fae8c31ea41..ef8c041039b1 100644
--- a/pkgs/applications/science/math/nauty/default.nix
+++ b/pkgs/applications/science/math/nauty/default.nix
@@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
pname = "nauty";
- version = "2.7r3";
+ version = "2.7r4";
src = fetchurl {
url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] [""] version}.tar.gz";
- sha256 = "sha256-TwZltxalP3oU6irjAFnyPQZM4/5MEsATQE724e4LiMI=";
+ sha256 = "sha256-uBDIWm/imfO0yfJKr5KcrH+VRsLzXCDh3Qrbx0CISKY=";
};
outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 95da9b26e54e..a0375a5184a8 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -117,6 +117,13 @@ stdenv.mkDerivation rec {
# 5.0 hits nixpkgs.
# https://github.com/sphinx-doc/sphinx/pull/10372
./patches/docutils-0.18.1-deprecation.patch
+
+ (fetchSageDiff {
+ name = "eclib-20220621-update.patch";
+ base = "9.7.beta4";
+ rev = "9b65d73399b33043777ba628a4d318638aec6e0e";
+ sha256 = "sha256-pcb9Q9a0ROCZTyfT7TRMtgEqCom8SgrtAaZ8ATgeqVI=";
+ })
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/version-management/josh/default.nix b/pkgs/applications/version-management/josh/default.nix
new file mode 100644
index 000000000000..acf2b24c0794
--- /dev/null
+++ b/pkgs/applications/version-management/josh/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, libgit2
+, openssl
+, pkg-config
+, makeWrapper
+, git
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "josh";
+ version = "22.06.22";
+
+ src = fetchFromGitHub {
+ owner = "esrlabs";
+ repo = "josh";
+ rev = "r" + version;
+ sha256 = "0511qv9zyjvv4zfz6zyi69ssbkrwa24n0ah5w9mb4gzd547as8pq";
+ };
+
+ cargoSha256 = "0zfjjyyz4pxar1mfkkj9aij4dnwqy3asdrmay1iy6ijjn1qd97n4";
+
+ nativeBuildInputs = [
+ pkg-config
+ makeWrapper
+ ];
+
+ buildInputs = [
+ libgit2
+ openssl
+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ darwin.Security
+ ];
+
+ cargoBuildFlags = [
+ "-p" "josh"
+ "-p" "josh-proxy"
+ # TODO: josh-ui
+ ];
+
+ postInstall = ''
+ wrapProgram "$out/bin/josh-proxy" --prefix PATH : "${git}/bin"
+ '';
+
+ meta = {
+ description = "Just One Single History";
+ homepage = "https://josh-project.github.io/josh/";
+ downloadPage = "https://github.com/josh-project/josh";
+ changelog = "https://github.com/josh-project/josh/releases/tag/${version}";
+ license = lib.licenses.mit;
+ maintainers = [
+ lib.maintainers.sternenseemann
+ lib.maintainers.tazjin
+ ];
+ platforms = lib.platforms.all;
+ };
+}
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 05ad16623402..f180e5b4ffad 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
(builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
in stdenv.mkDerivation rec {
pname = "${name}-bin";
- version = "15.5.2";
+ version = "15.6.0";
src = fetchurl {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 39112a725487..f666dec7a577 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
# This file was autogenerated. DO NOT EDIT!
{
- iosevka = "1f96ngb6m5ssp5hcdv5mrb28jcqx4w8hmz9igi64rrbg3flj93ix";
- iosevka-aile = "19b9mip3bffdfiwlr0gn2qs9zymdrill4kak1pbx2y6kjlbsz7c1";
- iosevka-curly = "0mkkxi0sb50il400bvv5rsgcf0gdbzir0br9m6syxzqwg90lakl7";
- iosevka-curly-slab = "1qbbk2nzgwp4skiwg5cck9i6hzdsqfd88l1cypbk4l4jvvmx0gxm";
- iosevka-etoile = "1l6f8dgk8ajbd35gbf1hdrzjrn96fh6v2wqsp3q0ncyqa210yasp";
- iosevka-slab = "1fnp92s7f73nzy1qlfaal15hl2wgayixl26z8gpcvkzz964zgip7";
- iosevka-ss01 = "0fchf91kmgrisb0na5yig43w8dvpqasj87ppmc12jghybn6zfz8z";
- iosevka-ss02 = "00sn5207s75w79qxlcn153vf0k9jfpwhvn7iydnrdibjgy1wr1h4";
- iosevka-ss03 = "0j227mq286jm7ndd4lr9v3s6wmcw3ya5mbmyc2b7n0hq0jqnbi3h";
- iosevka-ss04 = "1za5893fmbc78jzh7l1ggp3hzm3wjxmmdanc0xg5dj95nrp878di";
- iosevka-ss05 = "0x6z60ig01x3r95izqr2w94d8ddiqawvml6ga1r476xsv3djvl4w";
- iosevka-ss06 = "1w4p4bqrl29v2dpbrk8cdxr1zmipa5n8d2gnyd1ay0p8mrmclfl3";
- iosevka-ss07 = "1abk0fnz5d5rlz226s8m45ndqss4f1sn9249fdhgbph939lcfqlr";
- iosevka-ss08 = "0ilw5013rkl1sflri40pi1h56iir1hadnmxk8a3aa2l7ysmslz44";
- iosevka-ss09 = "1v4y06d521c8hg03vw78h1lhdpvlij3ihdpm7g1ir2mfr1wz2dj9";
- iosevka-ss10 = "1kk7gm2xzy3i8rr149f2lydwdzkgs21hp46yminv6k0ipzfhhy28";
- iosevka-ss11 = "10sz5gncvizvi3f8sx7m6x7g1s1459v47xnap0j8w9qjp1c8d6c7";
- iosevka-ss12 = "12gwiq5fpx3xiv40k0i3k7c3hj15vf0vp7i1glp00yv4v6vrx8an";
- iosevka-ss13 = "05912nq3ll7ihalzazrs2r32krknfg9gpn8i05m7xn31zakizx98";
- iosevka-ss14 = "0lfzxqywx6vjr9vwkgmf73j1bcqjyzgg2n0dk2l523bxlq26j9ng";
- iosevka-ss15 = "0z5vx4hjclf06rirnacd3sdxa0cv6mbgdkiayjbl7k5j3xw2sh5r";
- iosevka-ss16 = "1lhhbdkd5dd87l2b5jmkacnx8h2pp6gwql9clj7sq006ir6a7in4";
- iosevka-ss17 = "0000x8zsfh7kpjdcqhd9fqi9sp4hfkq3i1rmwhlxjmjwcx1rbccd";
- iosevka-ss18 = "16chvb7fz9nn5g87nx2qxfbzqydi6aqdrr5l5hbd42zgx06rxg6b";
- sgr-iosevka = "1pxbqg4c9s63c6yg0hfzw2pky2izgi8m4rl987k7bisqmsmw7dz5";
- sgr-iosevka-aile = "16b44mhvd86cfzazwgrxzvlb4pl79qgcyllw07r4xis3x1gb9n4x";
- sgr-iosevka-curly = "011rr2z0c1sdydyb4g3wb7icf6w13qagsimg6wvwq5v49ybv2p51";
- sgr-iosevka-curly-slab = "0rvddn0fw3p454f5kpnh5lc0vgg5zg9v5658a16yqq0pyabbqm1v";
- sgr-iosevka-etoile = "1l4ljc4g1gfn8n79783cid991rpvffw2abp0br4j0sd8fy4vd97s";
- sgr-iosevka-fixed = "0hkfc8lpqda5vrbckcb740vyysgr7xbfns0v2gsdgj8kbvmw21bc";
- sgr-iosevka-fixed-curly = "19r03fvhcm49nknvf52cp2hrgiaas29jm6skw2xci377adl8xvy7";
- sgr-iosevka-fixed-curly-slab = "1smas7dhsz5qqg22hwlzwhf2wqrasj9gm28pyrwqbqri68982d8i";
- sgr-iosevka-fixed-slab = "1qsafga9xfx6zyyhnlli6d33n9mak5a44lj4klnipm631cfax539";
- sgr-iosevka-fixed-ss01 = "1w3683s7dgwh4njqv4726ghanfki119grszlpkd4ry5l88naw9wz";
- sgr-iosevka-fixed-ss02 = "0lxdx1d6ynywjifarcr5ijga60d8mj4jn4av57yk0m7430qj535m";
- sgr-iosevka-fixed-ss03 = "0wzpn8ra4y6g8gyhx62yyq2s1k7vvp0rbr5cnn810hfqjhc49dhi";
- sgr-iosevka-fixed-ss04 = "0135yadsykcnpjcn9ldhr3pj9l6qnqnixfyn2xvvkxlmlkhizkm9";
- sgr-iosevka-fixed-ss05 = "18vwd9sz6mlzg23dms1w79a98xsy2prkm0d6wkmyczi3pmwc11f2";
- sgr-iosevka-fixed-ss06 = "12mwqq8js5njlddkakpsb798vc8bbiabd2kkvkkvsqmbanpic9ih";
- sgr-iosevka-fixed-ss07 = "19r5a11n8m8k5nqlzgh4wr28gid81gxm7f28bgcz8jmjyvhrkmsq";
- sgr-iosevka-fixed-ss08 = "0ya22ig0aawfi9k7q2hbqd7nfkhij8mj6jaqcp5fqlglgy8r437b";
- sgr-iosevka-fixed-ss09 = "0cyvzalw9jp09kssc9p6pyfw843pbjgyhhjs311b5l8sr33add4k";
- sgr-iosevka-fixed-ss10 = "1bvjm58jcgpjcjyhas10bp0wy5zlvqfkzwj4pzn5h4640vlv7rab";
- sgr-iosevka-fixed-ss11 = "0zm7ncl1n910lqzrp20wp8dayl0wnaijwjzjza7y7wi8f3wi072f";
- sgr-iosevka-fixed-ss12 = "0y3iqkx7hkry9yj7vszvqywbpnim26gdlm6a9gq57i3ilnkh3fqq";
- sgr-iosevka-fixed-ss13 = "10snkzp4ihfd25760sf535s0z736lszx9kmr37bjs0yfk91qcd6i";
- sgr-iosevka-fixed-ss14 = "1h4l025xzsxfhwzs19bzib6kf4asj0066ynwn6a7hjicsy2l8als";
- sgr-iosevka-fixed-ss15 = "1jplpd42ik9lvdxl4kl1hqpz7h1m580r10p0pnnpv64zw9vqpzzc";
- sgr-iosevka-fixed-ss16 = "0w2fgg3c0qkwpsvj4jq287wjgidpx49gnd4ijyqqwlzwyijc8v2a";
- sgr-iosevka-fixed-ss17 = "0m8qpimcan5i2s7v8dhy8j85lzddgmlqjyjf1sfg6694d2ar0hpb";
- sgr-iosevka-fixed-ss18 = "0hbaa84j5izsmibmnx1cwg4s37bc5iq6pib1shlk97fd7c96b3g7";
- sgr-iosevka-slab = "1fxwc9s9ic33fn65gc565fg7h91ny9vj09lvhqpwc5v6jqky7bx8";
- sgr-iosevka-ss01 = "1x72r1k4bz7xg92f8h5lp627dvvcw1li7iq3z511hprf08diyj6w";
- sgr-iosevka-ss02 = "1xzysnn656j8pwsy1grfgbsdkyhizfviah9b6plkfs0crkpjfrd4";
- sgr-iosevka-ss03 = "18d8in437sp0bc3bqb6rim97ygzsmyimnyp7m0czn8f9nyq920xc";
- sgr-iosevka-ss04 = "1vbdqygbw3m0vk4jxd7f8qzap9cms9h0f9i7sr6cn50k998f9pnx";
- sgr-iosevka-ss05 = "0fzkh4a6ni4mc26ss0x4bmhil0xm81p3xwhk0w0cr4qz7m5hk5b7";
- sgr-iosevka-ss06 = "1b7zmjlgzwjnvvkh743ma3lla7jqcq6fsg526kfh0ghxzhhp4s9y";
- sgr-iosevka-ss07 = "0l75xqx4lp5pa65s6phany5gwhswmfs3y0sck211sfzgifmlqf73";
- sgr-iosevka-ss08 = "06zj3msqc69xlmm2sjwcr5s7ibk4qlych7fhhfzjyrawy7mvxrq9";
- sgr-iosevka-ss09 = "11ba3rlp7mnnklznjhmhqfhy3qcnj7fn3w1wjzpqczvi71kskrff";
- sgr-iosevka-ss10 = "04y5q4wspay4y7clrybgyrdyx43kw89zknszzd2df6bz7jpa583x";
- sgr-iosevka-ss11 = "13igcnw8ja2xcpdyshm75qv293x050nx5r9yzxq6rxbppgv7yac2";
- sgr-iosevka-ss12 = "0f3qnldpcavacrnj3x1av7729api33zll4x00zi1rhxd0akldrlb";
- sgr-iosevka-ss13 = "1zy59pa7h2bchxl9gp6xvlj56a6p7jms2m49rsss8l9x5aq2gar1";
- sgr-iosevka-ss14 = "1m66cyr8iybxa7hag65lv82q28mnx02yncklssb516gv5swd4sly";
- sgr-iosevka-ss15 = "03n0qglqhlvg078jnj4l2ni3257g9l5zrbl7y3j051qpn3lkradg";
- sgr-iosevka-ss16 = "0zqyxinrmfnlmkd735laz8ijb22mp1p04xhgqvgvx1npnjkz79jx";
- sgr-iosevka-ss17 = "13dyw8im15njkml0wzqky1jp1rf4pnp8c1jhich4c6s24y0nvnkk";
- sgr-iosevka-ss18 = "1bmh3k5g4h9qq539dh7qhpb5ai1sqrnk6yla6yr8bwpym53knysd";
- sgr-iosevka-term = "0rzl36kz7xfg2cqr8hq8d3vqgg3wnk6ki44xxpspdfgkhyhffz5v";
- sgr-iosevka-term-curly = "0212hs0yp8d46vc12gg3wahmxd2chscrpxcpcwi19cpii8m1jvsx";
- sgr-iosevka-term-curly-slab = "04vyaj8ah3vj90zrd3jv2iqhgdcndqa0sn31ff4s28jzqwfg4d5q";
- sgr-iosevka-term-slab = "0g60dz0y69wwa47x4q5kdpf2bjwjzsmr2zdnphsxwp0iari3mnls";
- sgr-iosevka-term-ss01 = "16s7mgll7filyjjzw5cd5xmfgy7w658xxp8h6x52prcb8b1jpaxr";
- sgr-iosevka-term-ss02 = "1vbarkid9v77qk83ymls3ppgh81kh5qch7k2zqd293dvb25p1irc";
- sgr-iosevka-term-ss03 = "0zgy4v7i7wnbr1rgwcq8mn7128m82f25i9xmbyv3nk66ic4dn17v";
- sgr-iosevka-term-ss04 = "1vl1w9y1xrpnpdzgcnp86gq9k7kyili1spccb6rbziw7il0sva5w";
- sgr-iosevka-term-ss05 = "0kfbkpd1zdh8wdqh72h6q20fq6yfr0xp48bk1nk4k5y1pakibdcs";
- sgr-iosevka-term-ss06 = "1mmc5w6div7nz8c0bfhhzxi6hm0w0qhfn4v7barkl5pw39iy7hls";
- sgr-iosevka-term-ss07 = "16ki4n6vw9vxhwkx7mc0gid456hzznhcv8adq5ky8f78x0d1b7sa";
- sgr-iosevka-term-ss08 = "1c3fbn01dpp684znawk0c8d0vq9ldsiybwsl9jmz3ighx1wli6d0";
- sgr-iosevka-term-ss09 = "1ch6g56y7jfm2720cvn3v1kb7lj23db23p4frnyx32wxngfb8fc7";
- sgr-iosevka-term-ss10 = "08pq3y4112x7s72b7clv4j0hna6v4ks75ap62g0ll6xw541s5g7k";
- sgr-iosevka-term-ss11 = "0bivi2kd01q2007zja7cnphy6g3f369qgc4i848agpsin7dzxavh";
- sgr-iosevka-term-ss12 = "1jfinia1kmwm6kjyx5sfbzfhb9qyjq51hjynpafrlyc2jzi4jh2w";
- sgr-iosevka-term-ss13 = "19jg7r1jz3b39brsp8l0xklmydm015v4z3lcm8waw84g6ahpsz4d";
- sgr-iosevka-term-ss14 = "1060bnwvc0mfkfq03m45giv7n5b9cdn7ssz8y0dkavfkxxqjf3rb";
- sgr-iosevka-term-ss15 = "1zjl2jxsvkp31h756l95bhg7vk2vmpsrrdvr8s1blgbywf73vs0h";
- sgr-iosevka-term-ss16 = "104myf8pvxiqjzy6ws2b8yjxddrlmnympnlgi2klbda0snvipcah";
- sgr-iosevka-term-ss17 = "0aas4q54mhrd0vnh0ridgcb5q9m8xism9lk87kwxr6nmkyp5fabj";
- sgr-iosevka-term-ss18 = "0z0gcvvpiyb86i5x6c1haggbb02l2jx1asa8ag17mwdaf7cp792m";
+ iosevka = "1frma5fnrfq1z06mvpy3wvp7jkww8qlji308b3pxv0nxwgjd1vyv";
+ iosevka-aile = "086ml3r09k3raxrwdmqgn7s7xga1zgrkvzxsldzwjpsw9jsax0m6";
+ iosevka-curly = "000n3wsjsk562lpydmck2c36sxd0w2wkjgz8f7dm8iw57ls9pn6g";
+ iosevka-curly-slab = "1cybjnmiwqjxj0rw3lil7n5vc6c30dg7ak0dz4g6q5klbnsw354s";
+ iosevka-etoile = "0gxhsgsxzkz34lln20aqz0rd8wvm58090f6v8z4fi5qsm0dla06s";
+ iosevka-slab = "00nd3h8vyqzlwbp45by6crzjq9rjpmj0nmmbbq17xvjgxxfhjsxr";
+ iosevka-ss01 = "1yq8bnrbw3g24xsnrwbq1vl05m4dlcpjl29h8g8irhhpbnnm44nx";
+ iosevka-ss02 = "1r40drbjxpwb7aqa24hh90nxayzj3gah110fsf8yjq5l5azg9ds8";
+ iosevka-ss03 = "1mlg9qjfdfia0vwd86gi9ygbbnamld56lpf4h6m7gr8y8v00p07i";
+ iosevka-ss04 = "0ap45s2si80gbz78q5v8qqga2ipy9dsz9hkq5dyfh8axlx1wiy7p";
+ iosevka-ss05 = "1mah12ihqwqlkmr01l5z6kasb6h6xifgd7acfypz5547ip2zy425";
+ iosevka-ss06 = "09w0hm5djjhfvy6lhbynvlq6ckd70zisv0z5y7w4jfmanif8jns3";
+ iosevka-ss07 = "17imf7021ncpl9f8nbm1c0bjz5grz1iqgvpz48vpqd56632ac6k6";
+ iosevka-ss08 = "199bf0qa76z59ad5d7fcgkiq8m4fxcia7q162zzjlxpl5bgv0665";
+ iosevka-ss09 = "0w7jcgi4vn5ix58ji5cybpbnzvdl21k1r6rxad76z97ywwqbflag";
+ iosevka-ss10 = "18vm9p6jdbyfc8q3cz8wf3sgd0xn7pzyw3qxld9d2qg83siybsmk";
+ iosevka-ss11 = "0aj1l0g3zzcr3grkj1l6s39449g60v6hvjfmb4xx4kxg7h1h5b4i";
+ iosevka-ss12 = "0zl2ffmgnlrcaj8mzfgp5x5z7iras5svdpf0zl2xcgjn15k17lkx";
+ iosevka-ss13 = "0b58jjhd17i9pc5gdcx3xj9y8bgzwxrlh21j6di4cgvgj41gh46k";
+ iosevka-ss14 = "0vlqr5s40xcc2645vsaap42cgfswi2p4hbpqbfjfzsmf41w6j6qc";
+ iosevka-ss15 = "01qgvdmy8frbasb5d39c12dxjlha6iv1dq621il0dzm0850x48ys";
+ iosevka-ss16 = "12vl98p6w73l4rfy2scn57jrvg2jxk99d2vsndri013grx488lq5";
+ iosevka-ss17 = "0336m1i7vdd86jgyfdnsw4f6pdzcd4d757gxf8pa3h6jyczcn8n1";
+ iosevka-ss18 = "07sqd4zwc85q8mh9l1bc2nbyr966b0bh9fff9rk91jrk106fijcl";
+ sgr-iosevka = "0adxnngdwz6lmp4yla8amk0840y9k6d3k1jl90z5qd3dpl0m0w7z";
+ sgr-iosevka-aile = "07470h9apwbmnai1rzx5s9jw3195gsxqv6q0z1gnf56mp94wihg1";
+ sgr-iosevka-curly = "1jii49qqlrpvzczwqi39001j0qwbrzklc96bwampn9f0la1iqcbf";
+ sgr-iosevka-curly-slab = "0bwfsimzkw4pbk6qy4nvbpwcw0h3m16qsjaqwrwfhnzy8hqc6akc";
+ sgr-iosevka-etoile = "091ikanzxmkb673wfcfdg9qm56xqv4vwd3c1ph0c5bzc2nz3il50";
+ sgr-iosevka-fixed = "1nz7x90zcbmvwldiz5zv5j22qyjgjn4ba42liki747lr930f38lm";
+ sgr-iosevka-fixed-curly = "17y7h5jwim59zybpmkv3rqdcc41dxax5145xmhyzvagblsc7qlpk";
+ sgr-iosevka-fixed-curly-slab = "1xfaszbpydi6vzif14bymv5cqlwxvvkdadba4jhy0psc7b30k095";
+ sgr-iosevka-fixed-slab = "0pbmhr3nbb777ym30qmhlp4swq0q1f5aqc6i7453fc0lhygmcg55";
+ sgr-iosevka-fixed-ss01 = "1klxs5npm5i1sxgrnkbkf1rbn1dvrdxp6mr34kjxkjxrd5flrb6m";
+ sgr-iosevka-fixed-ss02 = "0aw0yqmvahk0wagyb2k6q6jibpdlyza3q7zn2a7pi36pcnm9b2rn";
+ sgr-iosevka-fixed-ss03 = "0ssxx7a7cskd8lcfy3lnjic1qgzy087d6vk7hmhnlg52jhcfbkjm";
+ sgr-iosevka-fixed-ss04 = "0fhqzj5ksvcp1rxa8g11a0jwznhwb5xw41wpvjqy1za1qh2h6shw";
+ sgr-iosevka-fixed-ss05 = "06z42m7x565wzsf9sfxi4p4846cb3mgz7mr5h3xa528789fk1sx0";
+ sgr-iosevka-fixed-ss06 = "0hzy5bj3ac009q515ylxlc73d1qwdfqcxfq8jxla5h6cgcfipnl4";
+ sgr-iosevka-fixed-ss07 = "1051ah3q8wgdana4a9v38szd36wdy0h3c15sf1blm0cv3y0q7cv3";
+ sgr-iosevka-fixed-ss08 = "05pg3ywxg8m4c1ij8xpd43azz1671v1bsw7r3szbiqmmlq651h9w";
+ sgr-iosevka-fixed-ss09 = "0way85q2jwkhz8ixicx73s1x1hsyznr524am95igqkzwaz7c72q9";
+ sgr-iosevka-fixed-ss10 = "12b91hk7i00766gmd04dgh3c6m42bvbc25y9h049c6rfimzd9f75";
+ sgr-iosevka-fixed-ss11 = "1pn06gz3jrksg6f2glk45gj9i7jmgnh4f509fi7qqa73r3an0pl8";
+ sgr-iosevka-fixed-ss12 = "0nb7g0kbi4riczhjl1dqbzg3kwwsw1vlxnsc5p0qfh8h1rnfpg9g";
+ sgr-iosevka-fixed-ss13 = "1nj3nbp0b9a4nmskxg4vv98y7qp7gnj6rqkckvsw7bw43mxa2faq";
+ sgr-iosevka-fixed-ss14 = "1fhwx95702qyr23iwp400l16lgq12pd3ckbf5dn1hyhfmm691cvg";
+ sgr-iosevka-fixed-ss15 = "088xdxr11gdpn5j4fbf4xscq4prc1cydb23xcsmpnci6gsv4ppzg";
+ sgr-iosevka-fixed-ss16 = "1p20k188c75jisrg7bqr6fq9pra07b44vyvj10ngm38xwfgqb5lz";
+ sgr-iosevka-fixed-ss17 = "03giwk9xlnirgshbkpbkqav3l97n2fm7y3wd21g449vi7r9srimk";
+ sgr-iosevka-fixed-ss18 = "1yl501fcik0kcm20b98n9a285zv9m3yc33ngkjdgj12ssgb02lj8";
+ sgr-iosevka-slab = "0svls9wajw539bj5xziqbcp3wgc3f3hvwvz0rsicc9wgm7h47i33";
+ sgr-iosevka-ss01 = "09i5iylma19jfiqcl0svm7dz4d2agi1ylkvzvsh050ggsk57nzv6";
+ sgr-iosevka-ss02 = "1l0c7519wj46m14aq318rlhajq51hkv5sddhl8nvaqpdmrxx0zcj";
+ sgr-iosevka-ss03 = "02yz6wqaqnc0in8b6j2n02kf6lws4x16182a5djnh3nnml2jhvi6";
+ sgr-iosevka-ss04 = "0llrnx6vh6fl0fn5jjxzkq4rk91siy90pcpwin010sm3bppc0qgf";
+ sgr-iosevka-ss05 = "166y9hywcm6d1zw2szqfrlaj9qaankamcs0ff02vd7q399bkl9a2";
+ sgr-iosevka-ss06 = "0q41sikcv60nkvxqs5l3zw1dram20192dd5nr17nsd2lrbbdw1qx";
+ sgr-iosevka-ss07 = "1nxgsj6ykgh5dj3gjba2ild1y5knilm7pzi5b5qbqpal89ymk5dq";
+ sgr-iosevka-ss08 = "19bidxh3zxid6md8y0zp6ij4yxhqbyhqxfmld12pcskvp9xdv5bc";
+ sgr-iosevka-ss09 = "15w7dqb73q2v0qkh0wmlhjd3sphcq6qilb8iqz0ifg3kbsix3hd3";
+ sgr-iosevka-ss10 = "04gcwjpi313sqmdq1limfzycjyhr6p05vnr8jsabvgbxididikdi";
+ sgr-iosevka-ss11 = "1mvhrqgbppx35h2v62ykhihdkh4zw2lwz5i7fd5qdw0ysiv1006d";
+ sgr-iosevka-ss12 = "0r7qlba9mx1fibs0jrqgjzbffk1j49912zzim441n9539n6rmpvp";
+ sgr-iosevka-ss13 = "1qvn83frjhy2w16i9jnhp3874rjlf0z95n7x1kmcg89hzy3x7288";
+ sgr-iosevka-ss14 = "1yjbdgj1b03p2cwvwsh7jl0npj4a840whgn35j61fi9ap74jld8c";
+ sgr-iosevka-ss15 = "1jrixb0lw04axv2h6d92mbwgavyzpc189n72b8wf729kwi22bvww";
+ sgr-iosevka-ss16 = "1mvgl5dh9frqmqvia17zwpyyy9hwm8iayx2azm7mhjkkff0f0sd9";
+ sgr-iosevka-ss17 = "00059jzz2w9xdfcl2lws2i0lwqgn08fakn0di6clqhjig695yglc";
+ sgr-iosevka-ss18 = "03sy0az47x9sc0qxjc1wvhkmp71wqrm7q998ijxmj6mkbd3kc24v";
+ sgr-iosevka-term = "0r5ah7rxqqi4cha3r6nz6dli6z55s1g91yb1x6b2q04irvm0hzrc";
+ sgr-iosevka-term-curly = "1c9vf1kcl0yai5smzh9dldhkbwanbxji2a1j6y1sw59kn9n7aygf";
+ sgr-iosevka-term-curly-slab = "02m3fpdj9gxskap4sp43pjr4ylyvr6fpbsbl5csjl5x4rlrh71kr";
+ sgr-iosevka-term-slab = "1bnb803vcrkk05igm80v3k8b3p6ji14bsa5rjrplxq7yrjq7ybk4";
+ sgr-iosevka-term-ss01 = "1wfz766fi0xi5nb80wdlpp4j4klggz8v2aa1prl6mbvmzq4g1alk";
+ sgr-iosevka-term-ss02 = "12vcmbx597h0mfmib9wzqpc7bchbim2jyqnk835fhgrdrddb1w0j";
+ sgr-iosevka-term-ss03 = "0a4dfrah8rg5bc7x8r08n2ijr6nfxr5nwbwj7ig0snbw1rrizm4i";
+ sgr-iosevka-term-ss04 = "0ix8wn6dbqs072s3bmcjc1k8jfi4zpgjikbbdld3fgsg13gncz2p";
+ sgr-iosevka-term-ss05 = "19jjvadmffizdymy21dniz43ac1qkik5i33a4imchk64kcn7nqin";
+ sgr-iosevka-term-ss06 = "0lx61ikw9c2glr7smxyqkx68271sww47khkdy68llmw16c1dcapc";
+ sgr-iosevka-term-ss07 = "12nx451b67cc6kx6pkb9x2jyk683xvjz3m21wg7zjplskrhlfaqa";
+ sgr-iosevka-term-ss08 = "19n39wpz09kp9km9gmb16q6g4xbp288dgnlpdy4jxnway3i23drp";
+ sgr-iosevka-term-ss09 = "1j4sh9fjyxi5qa85w72bs7sin5189qis8zdr2fbl39ma7igj5l5f";
+ sgr-iosevka-term-ss10 = "02bv19gc1n73qyrdghp5nfzf2vwcvws3qnrcx7k3jpz23xf1n8s8";
+ sgr-iosevka-term-ss11 = "1a93vv86sg38ipji4cbpndcr9bfcc2n4bg0s3f19lzyqpw3pa6r9";
+ sgr-iosevka-term-ss12 = "1c3d3cxna1m7qq77fc278jja7yz84591pazc1adij28l3xl7xh1z";
+ sgr-iosevka-term-ss13 = "0ss0l4373867csgis87miymby4m1vvxs321lqq00m73x35y9xrj2";
+ sgr-iosevka-term-ss14 = "0dzg0g5p9p1p8yajdz0xnir8advs69fyj325qwh5616in9y3lv32";
+ sgr-iosevka-term-ss15 = "0rx346bjrm33n9ww9bc4czn9dda16bkxjf6h9m4bnvlgxdflgd3y";
+ sgr-iosevka-term-ss16 = "14i3f4bwnsb3haai8003pi9hsahcmxm1r1vccbrzny5vx78892py";
+ sgr-iosevka-term-ss17 = "0idfiqxj0ixrmvfa0bhl1sg6pvaivcw0csjcfxpp7d406553a70i";
+ sgr-iosevka-term-ss18 = "1732sskv5jzpdaaf4dc6xcp45r5fpxxxdq35jlnxbwng0njww3qy";
}
diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
index 736e088454e7..2d5619620417 100644
--- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
+++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
@@ -1,6 +1,5 @@
-{ lib, stdenv
-, makeWrapper
-, runCommand, wrapBintoolsWith, wrapCCWith
+{ lib, stdenv, makeWrapper
+, runCommand, wrapBintoolsWith, wrapCCWith, autoPatchelfHook
, buildAndroidndk, androidndk, targetAndroidndkPkgs
}:
@@ -11,6 +10,9 @@ let
# N.B. The Android NDK uses slightly different LLVM-style platform triples
# than we do. We don't just use theirs because ours are less ambiguous and
# some builds need that clarity.
+ #
+ # FIXME:
+ # There's some dragons here. Build host and target concepts are being mixed up.
ndkInfoFun = { config, ... }: {
x86_64-apple-darwin = {
double = "darwin-x86_64";
@@ -21,65 +23,96 @@ let
i686-unknown-linux-android = {
triple = "i686-linux-android";
arch = "x86";
- toolchain = "x86";
- gccVer = "4.9";
};
x86_64-unknown-linux-android = {
triple = "x86_64-linux-android";
arch = "x86_64";
- toolchain = "x86_64";
- gccVer = "4.9";
};
armv7a-unknown-linux-androideabi = {
arch = "arm";
triple = "arm-linux-androideabi";
- toolchain = "arm-linux-androideabi";
- gccVer = "4.9";
};
aarch64-unknown-linux-android = {
arch = "arm64";
triple = "aarch64-linux-android";
- toolchain = "aarch64-linux-android";
- gccVer = "4.9";
};
}.${config} or
(throw "Android NDK doesn't support ${config}, as far as we know");
+ buildInfo = ndkInfoFun stdenv.buildPlatform;
hostInfo = ndkInfoFun stdenv.hostPlatform;
targetInfo = ndkInfoFun stdenv.targetPlatform;
- prefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-");
+ inherit (stdenv.targetPlatform) sdkVer;
+ suffixSalt = lib.replaceStrings ["-" "."] ["_" "_"] stdenv.targetPlatform.config;
+
+ # targetInfo.triple is what Google thinks the toolchain should be, this is a little
+ # different from what we use. We make it four parts to conform with the existing
+ # standard more properly.
+ targetConfig = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config);
in
rec {
# Misc tools
- binaries = runCommand "ndk-toolchain-binutils" {
- pname = "ndk-toolchain-binutils";
+ binaries = stdenv.mkDerivation {
+ pname = "${targetConfig}-ndk-toolchain";
inherit (androidndk) version;
- nativeBuildInputs = [ makeWrapper ];
+ nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
propagatedBuildInputs = [ androidndk ];
passthru = {
- targetPrefix = prefix;
isClang = true; # clang based cc, but bintools ld
};
- } ''
- mkdir -p $out/bin
+ dontUnpack = true;
+ dontBuild = true;
+ dontStrip = true;
+ dontConfigure = true;
+ dontPatch = true;
+ autoPatchelfIgnoreMissingDeps = true;
+ installPhase = ''
+ # https://developer.android.com/ndk/guides/other_build_systems
+ mkdir -p $out
+ cp -r ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double} $out/toolchain
+ find $out/toolchain -type d -exec chmod 777 {} \;
- # llvm toolchain
- for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/bin/*; do
- ln -s $prog $out/bin/$(basename $prog)
- ln -s $prog $out/bin/${prefix}$(basename $prog)
- done
+ if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer} ]; then
+ echo "NDK does not contain libraries for SDK version ${sdkVer}";
+ exit 1
+ fi
- # bintools toolchain
- for prog in ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}/bin/*; do
- prog_suffix=$(basename $prog | sed 's/${targetInfo.triple}-//')
- ln -s $prog $out/bin/${stdenv.targetPlatform.config}-$prog_suffix
- done
+ ln -vfs $out/toolchain/sysroot/usr/lib $out/lib
+ ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.so $out/lib/
+ ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.a $out/lib/
+ chmod +w $out/lib/*
+ ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.so $out/lib/
+ ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.o $out/lib/
- # shitty googly wrappers
- rm -f $out/bin/${stdenv.targetPlatform.config}-gcc $out/bin/${stdenv.targetPlatform.config}-g++
- '';
+ echo "INPUT(-lc++_static)" > $out/lib/libc++.a
+
+ ln -s $out/toolchain/bin $out/bin
+ ln -s $out/toolchain/${targetInfo.triple}/bin/* $out/bin/
+ for f in $out/bin/${targetInfo.triple}-*; do
+ ln -s $f ''${f/${targetInfo.triple}-/${targetConfig}-}
+ done
+ for f in $(find $out/toolchain -type d -name ${targetInfo.triple}); do
+ ln -s $f ''${f/${targetInfo.triple}/${targetConfig}}
+ done
+
+ rm -f $out/bin/${targetConfig}-ld
+ ln -s $out/bin/lld $out/bin/${targetConfig}-ld
+
+ (cd $out/bin;
+ for tool in llvm-*; do
+ ln -sf $tool ${targetConfig}-$(echo $tool | sed 's/llvm-//')
+ ln -sf $tool $(echo $tool | sed 's/llvm-//')
+ done)
+
+ # handle last, as llvm-as is for llvm bytecode
+ ln -sf $out/bin/${targetInfo.triple}-as $out/bin/${targetConfig}-as
+ ln -sf $out/bin/${targetInfo.triple}-as $out/bin/as
+
+ patchShebangs $out/bin
+ '';
+ };
binutils = wrapBintoolsWith {
bintools = binaries;
@@ -95,9 +128,16 @@ rec {
libc = targetAndroidndkPkgs.libraries;
extraBuildCommands = ''
echo "-D__ANDROID_API__=${stdenv.targetPlatform.sdkVer}" >> $out/nix-support/cc-cflags
- echo "-target ${stdenv.targetPlatform.config}" >> $out/nix-support/cc-cflags
- echo "-resource-dir=$(echo ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${hostInfo.double}/lib*/clang/*)" >> $out/nix-support/cc-cflags
- echo "--gcc-toolchain=${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/${targetInfo.toolchain}-${targetInfo.gccVer}/prebuilt/${hostInfo.double}" >> $out/nix-support/cc-cflags
+ # Android needs executables linked with -pie since version 5.0
+ # Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags
+ echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags
+ echo "-z,noexecstack -z,relro -z,now" >> $out/nix-support/cc-ldflags
+ echo 'if [[ ! " $@ " =~ " -shared " ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh
+ echo "-Xclang -mnoexecstack" >> $out/nix-support/cc-cxxflags
+ if [ ${targetInfo.triple} == arm-linux-androideabi ]; then
+ # https://android.googlesource.com/platform/external/android-cmake/+/refs/heads/cmake-master-dev/android.toolchain.cmake
+ echo "--fix-cortex-a8" >> $out/nix-support/cc-ldflags
+ fi
'';
};
@@ -107,10 +147,14 @@ rec {
# cross-compiling packages to wrap incorrectly wrap binaries we don't include
# anyways.
libraries = runCommand "bionic-prebuilt" {} ''
- mkdir -p $out
- cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include $out/include
- chmod +w $out/include
- cp -r ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/sysroot/usr/include/${targetInfo.triple}/* $out/include
- ln -s ${buildAndroidndk}/libexec/android-sdk/ndk-bundle/platforms/android-${stdenv.hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/${if hostInfo.arch == "x86_64" then "lib64" else "lib"} $out/lib
+ lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}
+ if [ ! -d $lpath ]; then
+ echo "NDK does not contain libraries for SDK version ${sdkVer} <$lpath>"
+ exit 1
+ fi
+ mkdir -p $out/lib
+ cp $lpath/*.so $lpath/*.a $out/lib
+ chmod +w $out/lib/*
+ cp $lpath/* $out/lib
'';
}
diff --git a/pkgs/development/androidndk-pkgs/default.nix b/pkgs/development/androidndk-pkgs/default.nix
index 5f71304d3855..a7001ce1d4a6 100644
--- a/pkgs/development/androidndk-pkgs/default.nix
+++ b/pkgs/development/androidndk-pkgs/default.nix
@@ -2,36 +2,6 @@
}:
{
- "18b" =
- let
- ndkVersion = "18.1.5063045";
-
- buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
- includeNDK = true;
- inherit ndkVersion;
- };
-
- androidComposition = androidenv.composeAndroidPackages {
- includeNDK = true;
- inherit ndkVersion;
- };
- in
- import ./androidndk-pkgs.nix {
- inherit lib;
- inherit (buildPackages)
- makeWrapper;
- inherit (pkgs)
- stdenv
- runCommand wrapBintoolsWith wrapCCWith;
- # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
- # but for splicing messing up on infinite recursion for the variants we
- # *dont't* use. Using this workaround, but also making a test to ensure
- # these two really are the same.
- buildAndroidndk = buildAndroidComposition.ndk-bundle;
- androidndk = androidComposition.ndk-bundle;
- targetAndroidndkPkgs = targetPackages.androidndkPkgs_18b;
- };
-
"21" =
let
ndkVersion = "21.0.6113669";
@@ -49,7 +19,7 @@
import ./androidndk-pkgs.nix {
inherit lib;
inherit (buildPackages)
- makeWrapper;
+ makeWrapper autoPatchelfHook;
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
@@ -62,4 +32,64 @@
targetAndroidndkPkgs = targetPackages.androidndkPkgs_21;
};
+ "23b" =
+ let
+ ndkVersion = "23.1.7779620";
+
+ buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
+ includeNDK = true;
+ inherit ndkVersion;
+ };
+
+ androidComposition = androidenv.composeAndroidPackages {
+ includeNDK = true;
+ inherit ndkVersion;
+ };
+ in
+ import ./androidndk-pkgs.nix {
+ inherit lib;
+ inherit (buildPackages)
+ makeWrapper autoPatchelfHook;
+ inherit (pkgs)
+ stdenv
+ runCommand wrapBintoolsWith wrapCCWith;
+ # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
+ # but for splicing messing up on infinite recursion for the variants we
+ # *dont't* use. Using this workaround, but also making a test to ensure
+ # these two really are the same.
+ buildAndroidndk = buildAndroidComposition.ndk-bundle;
+ androidndk = androidComposition.ndk-bundle;
+ targetAndroidndkPkgs = targetPackages.androidndkPkgs_23b;
+ };
+
+ "24" =
+ let
+ ndkVersion = "24.0.8215888";
+
+ buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
+ includeNDK = true;
+ inherit ndkVersion;
+ };
+
+ androidComposition = androidenv.composeAndroidPackages {
+ includeNDK = true;
+ inherit ndkVersion;
+ };
+ in
+ import ./androidndk-pkgs.nix {
+ inherit lib;
+ inherit (buildPackages)
+ makeWrapper autoPatchelfHook;
+ inherit (pkgs)
+ stdenv
+ runCommand wrapBintoolsWith wrapCCWith;
+ # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
+ # but for splicing messing up on infinite recursion for the variants we
+ # *dont't* use. Using this workaround, but also making a test to ensure
+ # these two really are the same.
+ buildAndroidndk = buildAndroidComposition.ndk-bundle;
+ androidndk = androidComposition.ndk-bundle;
+ targetAndroidndkPkgs = targetPackages.androidndkPkgs_24;
+ };
+
}
diff --git a/pkgs/development/compilers/elm/packages/elm-json.nix b/pkgs/development/compilers/elm/packages/elm-json.nix
index faf6ffd8a2e1..6eb5d10cd471 100644
--- a/pkgs/development/compilers/elm/packages/elm-json.nix
+++ b/pkgs/development/compilers/elm/packages/elm-json.nix
@@ -10,11 +10,11 @@
rustPlatform.buildRustPackage rec {
pname = "elm-json";
- version = "0.2.10";
+ version = "0.2.12";
src = fetchurl {
url = "https://github.com/zwilias/elm-json/archive/v${version}.tar.gz";
- sha256 = "sha256:03azh7wvl60h6w7ffpvl49s7jr7bxpladcm4fzcasakg26i5a71x";
+ sha256 = "sha256:nlpxlPzWk3wwDgczuMI9T6DFY1YtQpQ1R4BhdPbzZBs=";
};
cargoPatches = [ ./elm-json.patch ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
curl openssl
] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
- cargoSha256 = "sha256:01zasrqf1va58i52s3kwdkj1rnwy80gv00xi6npfshjirj3ix07f";
+ cargoSha256 = "sha256:8SOpL8nfhYen9vza0LYpB/5fgVmBwG7vGMmFOaJskIc=";
# Tests perform networking and therefore can't work in sandbox
doCheck = false;
diff --git a/pkgs/development/compilers/elm/packages/elm-json.patch b/pkgs/development/compilers/elm/packages/elm-json.patch
index d7f434c8eb34..54df03019231 100644
--- a/pkgs/development/compilers/elm/packages/elm-json.patch
+++ b/pkgs/development/compilers/elm/packages/elm-json.patch
@@ -1,24 +1,24 @@
diff --git a/Cargo.lock b/Cargo.lock
-index 5440d72..6e173fa 100644
+index b9bf434..58cfe81 100644
--- a/Cargo.lock
+++ b/Cargo.lock
-@@ -774,15 +774,6 @@ version = "0.1.2"
+@@ -685,15 +685,6 @@ version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
-[[package]]
-name = "openssl-src"
--version = "111.11.0+1.1.1h"
+-version = "111.17.0+1.1.1m"
-source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "380fe324132bea01f45239fadfec9343adb044615f29930d039bec1ae7b9fa5b"
+-checksum = "05d6a336abd10814198f66e2a91ccd7336611f30334119ca8ce300536666fcf4"
-dependencies = [
- "cc",
-]
-
[[package]]
name = "openssl-sys"
- version = "0.9.58"
-@@ -792,7 +783,6 @@ dependencies = [
+ version = "0.9.72"
+@@ -703,7 +694,6 @@ dependencies = [
"autocfg",
"cc",
"libc",
@@ -27,17 +27,17 @@ index 5440d72..6e173fa 100644
"vcpkg",
]
diff --git a/Cargo.toml b/Cargo.toml
-index 4d319f2..6f4d0e5 100644
+index bc97f20..54d3b14 100644
--- a/Cargo.toml
+++ b/Cargo.toml
-@@ -21,8 +21,8 @@ colored = "2.0"
+@@ -17,8 +17,8 @@ colored = "2.0"
dialoguer = "0.6"
dirs = "3.0"
fs2 = "0.4"
--isahc = { version = "0.9", features = ["static-ssl"] }
--curl = {version = "0.4", features = ["static-curl", "static-ssl", "force-system-lib-on-osx", "http2"]}
-+isahc = "0.9"
-+curl = {version = "0.4", features = ["force-system-lib-on-osx", "http2"]}
+-isahc = { version = "1.6.0", default-features = false, features = ["static-ssl", "static-curl"] }
+-curl = {version = "0.4.42", default-features = false, features = ["ssl", "static-curl", "static-ssl", "force-system-lib-on-osx"]}
++isahc = { version = "1.6.0", default-features = false }
++curl = {version = "0.4.42", default-features = false, features = ["ssl", "force-system-lib-on-osx"]}
ctrlc = "3.1"
console = "0.12"
-
+ anyhow = "1.0"
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 46d74309660a..f1f97216ef38 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,7 +18,7 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
- version = "0.15.2";
+ version = "0.15.4";
# These hashes can be updated automatically by running the ./update.sh script.
src =
@@ -26,12 +26,12 @@ in stdenv.mkDerivation rec {
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
- sha256 = "06fsq9ynfvfqn3ac5jxdj81lmzd6bh84p7jz5qib31h27iy5aq4h";
+ sha256 = "0rksc6c98pp48lcavair6apjpgq3s1zz0lhkc59vbz67c8zxc26d";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
- sha256 = "1p37k6briczw6gvw04idkx734ms1swgrx9sl4hi6xwvxkfp1nm0m";
+ sha256 = "13p6qsba6kmcsppc3z6vcm3v5c7jxhp10nyvxry4nmj9mkdmjaiy";
};
@@ -61,6 +61,7 @@ in stdenv.mkDerivation rec {
description = "A strongly-typed functional programming language that compiles to JavaScript";
homepage = "https://www.purescript.org/";
license = licenses.bsd3;
+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
mainProgram = "purs";
diff --git a/pkgs/development/libraries/eclib/default.nix b/pkgs/development/libraries/eclib/default.nix
index 74a6f21992b5..af358be31218 100644
--- a/pkgs/development/libraries/eclib/default.nix
+++ b/pkgs/development/libraries/eclib/default.nix
@@ -14,7 +14,7 @@ assert withFlint -> flint != null;
stdenv.mkDerivation rec {
pname = "eclib";
- version = "20210625"; # upgrade might break the sage interface
+ version = "20220621"; # upgrade might break the sage interface
# sage tests to run:
# src/sage/interfaces/mwrank.py
# src/sage/libs/eclib
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
# see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561
# for upstream's explanation of the above
url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2";
- sha256 = "sha256-fA3MPz/L+Q39sA8wxAYOUowlHRcgOd8VF4tpsBGI6BA=";
+ sha256 = "sha256-EfoCNhnXGuN5SxgPFES4BaevhSRzU1JvT3ARq9NMJhM=";
};
buildInputs = [
pari
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 8cc763f229d6..a8cf6cec5735 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -16,6 +16,7 @@
, xz
, zlib
, zstd
+, jemalloc
, follyMobile ? false
}:
@@ -50,7 +51,10 @@ stdenv.mkDerivation rec {
libunwind
fmt_8
zstd
- ];
+ ] ++ lib.optional stdenv.isLinux jemalloc;
+
+ # jemalloc headers are required in include/folly/portability/Malloc.h
+ propagatedBuildInputs = lib.optional stdenv.isLinux jemalloc;
NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
diff --git a/pkgs/development/libraries/libuiohook/default.nix b/pkgs/development/libraries/libuiohook/default.nix
new file mode 100644
index 000000000000..3f1f48317fdc
--- /dev/null
+++ b/pkgs/development/libraries/libuiohook/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nixosTests
+, cmake
+, pkg-config
+, AppKit
+, ApplicationServices
+, Carbon
+, libX11
+, libxkbcommon
+, xinput
+, xorg
+}:
+
+stdenv.mkDerivation rec {
+ pname = "libuiohook";
+ version = "1.2.2";
+
+ src = fetchFromGitHub {
+ owner = "kwhat";
+ repo = pname;
+ rev = version;
+ sha256 = "1qlz55fp4i9dd8sdwmy1m8i4i1jy1s09cpmlxzrgf7v34w72ncm7";
+ };
+
+ nativeBuildInputs = [ cmake pkg-config ];
+
+ buildInputs =
+ if stdenv.isDarwin then [ AppKit ApplicationServices Carbon ]
+ else [
+ libX11
+ libxkbcommon
+ xinput
+ ] ++
+ (with xorg; [
+ libXau
+ libXdmcp
+ libXi
+ libXinerama
+ libXt
+ libXtst
+ libXext
+ libxkbfile
+ ]);
+
+ outputs = [ "out" "test" ];
+
+ # We build the tests, but they're only installed when using the "test" output.
+ # This will produce a "uiohook_tests" binary which can be run to test the
+ # functionality of the library on the current system.
+ # Running the test binary requires a running X11 session.
+ cmakeFlags = [
+ "-DENABLE_TEST:BOOL=ON"
+ ];
+
+ postInstall = ''
+ mkdir -p $test/share
+ cp ./uiohook_tests $test/share
+ '';
+
+ meta = with lib; {
+ description = "A C library to provide global keyboard and mouse hooks from userland";
+ homepage = "https://github.com/kwhat/libuiohook";
+ license = licenses.gpl3Only;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ anoa ];
+ };
+
+ passthru.tests.libuiohook = nixosTests.libuiohook;
+}
diff --git a/pkgs/development/libraries/protobuf/3.20.nix b/pkgs/development/libraries/protobuf/3.20.nix
new file mode 100644
index 000000000000..93d180159b87
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.20.nix
@@ -0,0 +1,6 @@
+{ callPackage, abseil-cpp, ... }:
+
+callPackage ./generic-v3.nix {
+ version = "3.20.1";
+ sha256 = "sha256-pAMacD0UQetqysZHszu5slPqp0iREtDmHFv1cgcUBJA=";
+}
diff --git a/pkgs/development/libraries/protobuf/3.21.nix b/pkgs/development/libraries/protobuf/3.21.nix
new file mode 100644
index 000000000000..70c6095ae7b6
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.21.nix
@@ -0,0 +1,6 @@
+{ callPackage, abseil-cpp, ... }:
+
+callPackage ./generic-v3-cmake.nix {
+ version = "3.21.2";
+ sha256 = "sha256-DUv07pWiZV7jNeSA2ClDOz9DY0x/hiJynxkbSTeJOSs=";
+}
diff --git a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix
new file mode 100644
index 000000000000..0b6967a67385
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix
@@ -0,0 +1,107 @@
+# The cmake version of this build is meant to enable both cmake and .pc being exported
+# this is important because grpc exports a .cmake file which also expects for protobuf
+# to have been exported through cmake as well.
+{ lib
+, stdenv
+, abseil-cpp
+, buildPackages
+, cmake
+, fetchFromGitHub
+, fetchpatch
+, gtest
+, zlib
+, version
+, sha256
+
+# downstream dependencies
+, python3
+
+, ...
+}:
+
+let
+ self = stdenv.mkDerivation {
+ pname = "protobuf";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "protocolbuffers";
+ repo = "protobuf";
+ rev = "v${version}";
+ inherit sha256;
+ };
+
+ # re-create submodule logic
+ postPatch = ''
+ rm -rf gmock
+ cp -r ${gtest.src}/googlemock third_party/gmock
+ cp -r ${gtest.src}/googletest third_party/
+ chmod -R a+w third_party/
+
+ ln -s ../googletest third_party/gmock/gtest
+ ln -s ../gmock third_party/googletest/googlemock
+ ln -s $(pwd)/third_party/googletest third_party/googletest/googletest
+ '' + lib.optionalString stdenv.isDarwin ''
+ substituteInPlace src/google/protobuf/testing/googletest.cc \
+ --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
+ '';
+
+ patches = lib.optionals (lib.versionOlder version "3.22") [
+ # fix protobuf-targets.cmake installation paths, and allow for CMAKE_INSTALL_LIBDIR to be absolute
+ # https://github.com/protocolbuffers/protobuf/pull/10090
+ (fetchpatch {
+ url = "https://github.com/protocolbuffers/protobuf/commit/a7324f88e92bc16b57f3683403b6c993bf68070b.patch";
+ sha256 = "sha256-SmwaUjOjjZulg/wgNmR/F5b8rhYA2wkKAjHIOxjcQdQ=";
+ })
+ ];
+
+ nativeBuildInputs = let
+ protobufVersion = "${lib.versions.major version}_${lib.versions.minor version}";
+ in [
+ cmake
+ ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ # protoc of the same version must be available for build. For non-cross builds, it's able to
+ # re-use the executable generated as part of the build
+ buildPackages."protobuf${protobufVersion}"
+ ];
+
+ buildInputs = [
+ abseil-cpp
+ zlib
+ ];
+
+ # After 3.20, CMakeLists.txt can now be found at the top-level, however
+ # a stub cmake/CMakeLists.txt still exists for compatibility with previous build assumptions
+ cmakeDir = "../cmake";
+ cmakeFlags = [
+ "-Dprotobuf_ABSL_PROVIDER=package"
+ ] ++ lib.optionals (!stdenv.targetPlatform.isStatic) [
+ "-Dprotobuf_BUILD_SHARED_LIBS=ON"
+ ];
+
+ # unfortunately the shared libraries have yet to been patched by nix, thus tests will fail
+ doCheck = false;
+
+ passthru = {
+ tests = {
+ pythonProtobuf = python3.pkgs.protobuf.override(_: {
+ protobuf = self;
+ });
+ };
+ };
+
+ meta = {
+ description = "Google's data interchange format";
+ longDescription = ''
+ Protocol Buffers are a way of encoding structured data in an efficient
+ yet extensible format. Google uses Protocol Buffers for almost all of
+ its internal RPC protocols and file formats.
+ '';
+ license = lib.licenses.bsd3;
+ platforms = lib.platforms.unix;
+ homepage = "https://developers.google.com/protocol-buffers/";
+ maintainers = with lib.maintainers; [ jonringer ];
+ };
+ };
+in
+ self
diff --git a/pkgs/development/libraries/science/math/p4est/default.nix b/pkgs/development/libraries/science/math/p4est/default.nix
index c38b0d623bac..9396a9144423 100644
--- a/pkgs/development/libraries/science/math/p4est/default.nix
+++ b/pkgs/development/libraries/science/math/p4est/default.nix
@@ -1,5 +1,8 @@
-{ lib, stdenv, fetchFromGitHub
-, autoreconfHook, pkg-config
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
, p4est-withMetis ? true, metis
, p4est-sc
}:
@@ -31,9 +34,11 @@ stdenv.mkDerivation {
postPatch = ''
sed -i -e "s:\(^\s*ACLOCAL_AMFLAGS.*\)\s@P4EST_SC_AMFLAGS@\s*$:\1 -I ${p4est-sc}/share/aclocal:" Makefile.am
'';
- preConfigure = ''
+ preAutoreconf = ''
echo "2.8.0" > .tarball-version
- ${if mpiSupport then "unset CC" else ""}
+ '';
+ preConfigure = lib.optionalString mpiSupport ''
+ unset CC
'';
configureFlags = p4est-sc.configureFlags
diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix
index 8270960d9b99..c6d838544e9c 100644
--- a/pkgs/development/mobile/androidenv/compose-android-packages.nix
+++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix
@@ -3,7 +3,7 @@
}:
{ toolsVersion ? "26.1.1"
-, platformToolsVersion ? "33.0.1"
+, platformToolsVersion ? "33.0.2"
, buildToolsVersions ? [ "32.0.0" ]
, includeEmulator ? false
, emulatorVersion ? "31.3.7"
@@ -11,7 +11,7 @@
, includeSources ? false
, includeSystemImages ? false
, systemImageTypes ? [ "google_apis_playstore" ]
-, abiVersions ? [ "armeabi-v7a" ]
+, abiVersions ? [ "armeabi-v7a" "arm64-v8a" ]
, cmakeVersions ? [ ]
, includeNDK ? false
, ndkVersion ? "24.0.8215888"
@@ -181,7 +181,7 @@ rec {
makeNdkBundle = ndkVersion:
import ./ndk-bundle {
inherit deployAndroidPackage os autoPatchelfHook makeWrapper pkgs pkgsHostHost lib platform-tools stdenv;
- package = packages.ndk-bundle.${ndkVersion};
+ package = packages.ndk-bundle.${ndkVersion} or packages.ndk.${ndkVersion};
};
# All NDK bundles.
diff --git a/pkgs/development/mobile/androidenv/ndk-bundle/default.nix b/pkgs/development/mobile/androidenv/ndk-bundle/default.nix
index 58cc8f9d5709..5d0e2c2b171f 100644
--- a/pkgs/development/mobile/androidenv/ndk-bundle/default.nix
+++ b/pkgs/development/mobile/androidenv/ndk-bundle/default.nix
@@ -12,23 +12,22 @@ deployAndroidPackage {
nativeBuildInputs = [ makeWrapper ]
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
autoPatchelfIgnoreMissingDeps = true;
- buildInputs = lib.optional (os == "linux") [ pkgs.glibc pkgs.stdenv.cc.cc pkgs.python2 pkgs.ncurses5 pkgs.zlib pkgs.libcxx.out pkgs.libxml2 ];
+ buildInputs = lib.optional (os == "linux") [ pkgs.zlib ];
patchInstructions = lib.optionalString (os == "linux") (''
patchShebangs .
- # Fix the shebangs of the auto-generated scripts.
- substituteInPlace ./build/tools/make_standalone_toolchain.py \
- --replace '#!/bin/bash' '#!${pkgs.bash}/bin/bash'
-
- '' + lib.optionalString (builtins.compareVersions (lib.getVersion package) "21" > 0) ''
- patch -p1 \
- --no-backup-if-mismatch < ${./make_standalone_toolchain.py_18.patch} || true
- wrapProgram ./build/tools/make_standalone_toolchain.py --prefix PATH : "${runtime_paths}"
- '' + ''
-
# TODO: allow this stuff
rm -rf docs tests
+ # Ndk now has a prebuilt toolchains inside, the file layout has changed, we do a symlink
+ # to still support the old standalone toolchains builds.
+ if [ -d $out/libexec/android-sdk/ndk ] && [ ! -d $out/libexec/android-sdk/ndk-bundle ]; then
+ ln -sf $out/libexec/android-sdk/ndk/${package.revision} $out/libexec/android-sdk/ndk-bundle
+ else
+ echo "The ndk-bundle layout has changed. The nix expressions have to be updated!"
+ exit 1
+ fi
+
# Patch the executables of the toolchains, but not the libraries -- they are needed for crosscompiling
if [ -d $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64 ]; then
addAutoPatchelfSearchPath $out/libexec/android-sdk/ndk-bundle/toolchains/renderscript/prebuilt/linux-x86_64/lib64
diff --git a/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch b/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch
deleted file mode 100644
index 7af2d44a0f20..000000000000
--- a/pkgs/development/mobile/androidenv/ndk-bundle/make_standalone_toolchain.py_18.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -Naur android-ndk-r18b/build/tools/make_standalone_toolchain.py android-ndk-r18b-new/build/tools/make_standalone_toolchain.py
---- android-ndk-r18b/build/tools/make_standalone_toolchain.py 2018-10-11 12:49:38.000000000 +0200
-+++ android-ndk-r18b-new/build/tools/make_standalone_toolchain.py 2018-11-20 21:55:52.689991420 +0100
-@@ -30,7 +30,7 @@
- import sys
- import tempfile
- import textwrap
--
-+import subprocess
-
- THIS_DIR = os.path.realpath(os.path.dirname(__file__))
- NDK_DIR = os.path.realpath(os.path.join(THIS_DIR, '../..'))
-@@ -173,6 +173,7 @@
- logger().debug('Copying %s', src_file)
- shutil.copy2(src_file, dst_dir)
-
-+ subprocess.check_call(["chmod", "-R", "+w", dst])
-
- def make_clang_scripts(install_dir, triple, api, windows):
- """Creates Clang wrapper scripts.
-@@ -365,6 +366,7 @@
- install_headers = os.path.join(install_sysroot, 'usr/include')
- os.makedirs(os.path.dirname(install_headers))
- shutil.copytree(headers, install_headers)
-+ subprocess.check_call(["chmod", "-R", "+w", install_path])
-
- arch_headers = os.path.join(sysroot, 'usr/include', triple)
- copy_directory_contents(arch_headers, os.path.join(install_headers))
-@@ -375,6 +377,7 @@
- install_sysroot, 'usr/lib{}'.format(lib_suffix))
- if os.path.exists(lib_path):
- shutil.copytree(lib_path, lib_install)
-+ subprocess.check_call(["chmod", "-R", "+w", install_path])
-
- static_lib_path = os.path.join(sysroot, 'usr/lib', triple)
- static_lib_install = os.path.join(install_sysroot, 'usr/lib')
-@@ -389,6 +392,7 @@
- NDK_DIR, 'prebuilt', 'android-' + arch, 'gdbserver')
- gdbserver_install = os.path.join(install_path, 'share', 'gdbserver')
- shutil.copytree(gdbserver_path, gdbserver_install)
-+ subprocess.check_call(["chmod", "-R", "+w", install_path])
-
- toolchain_lib_dir = os.path.join(gcc_path, 'lib/gcc', triple)
- dirs = os.listdir(toolchain_lib_dir)
diff --git a/pkgs/development/mobile/androidenv/repo.json b/pkgs/development/mobile/androidenv/repo.json
index 5ccbc430fce6..bf69c67820b0 100644
--- a/pkgs/development/mobile/androidenv/repo.json
+++ b/pkgs/development/mobile/androidenv/repo.json
@@ -1241,6 +1241,21 @@
},
"23": {
"google_apis": {
+ "arm64-v8a": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "2d1ae21b1978e202917b7c6a5f49ab8bc87c6417",
+ "size": 493891214,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-23_r33.zip"
+ }
+ ],
+ "displayName": "Google APIs ARM 64 v8a System Image",
+ "license": "android-sdk-license",
+ "name": "system-image-23-google_apis-arm64-v8a",
+ "path": "system-images/android-23/google_apis/arm64-v8a",
+ "revision": "23-google_apis-arm64-v8a"
+ },
"armeabi-v7a": {
"archives": [
{
@@ -1663,43 +1678,117 @@
}
}
},
- "Tiramisu": {
+ "33": {
"google_apis_playstore": {
"arm64-v8a": {
"archives": [
{
"os": "macosx",
- "sha1": "2b6d4dc0af98b2b4d3ed4ac82b6d8ee0bfe38383",
- "size": 1457296537,
- "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-Tiramisu_r02-darwin.zip"
+ "sha1": "0b850a4f317d7a6abe854a6845705c9ca4437764",
+ "size": 1492105537,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-33_r05-darwin.zip"
},
{
"os": "linux",
- "sha1": "2b6d4dc0af98b2b4d3ed4ac82b6d8ee0bfe38383",
- "size": 1457296537,
- "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-Tiramisu_r02-linux.zip"
+ "sha1": "0b850a4f317d7a6abe854a6845705c9ca4437764",
+ "size": 1492105537,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-33_r05-linux.zip"
}
],
"displayName": "Google Play ARM 64 v8a System Image",
"license": "android-sdk-arm-dbt-license",
- "name": "system-image-Tiramisu-google_apis_playstore-arm64-v8a",
- "path": "system-images/android-Tiramisu/google_apis_playstore/arm64-v8a",
- "revision": "Tiramisu-google_apis_playstore-arm64-v8a"
+ "name": "system-image-33-google_apis_playstore-arm64-v8a",
+ "path": "system-images/android-33/google_apis_playstore/arm64-v8a",
+ "revision": "33-google_apis_playstore-arm64-v8a"
},
"x86_64": {
"archives": [
{
"os": "all",
- "sha1": "2d2fb4c36efa836f348d6acbfc588f9eed70934e",
- "size": 1438511715,
- "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-Tiramisu_r02.zip"
+ "sha1": "ed2931ebef4f7bedff8610254748d6496ce5d3c4",
+ "size": 1496628942,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-33_r05.zip"
}
],
"displayName": "Google Play Intel x86 Atom_64 System Image",
"license": "android-sdk-preview-license",
- "name": "system-image-Tiramisu-google_apis_playstore-x86_64",
- "path": "system-images/android-Tiramisu/google_apis_playstore/x86_64",
- "revision": "Tiramisu-google_apis_playstore-x86_64"
+ "name": "system-image-33-google_apis_playstore-x86_64",
+ "path": "system-images/android-33/google_apis_playstore/x86_64",
+ "revision": "33-google_apis_playstore-x86_64"
+ }
+ }
+ },
+ "Tiramisu": {
+ "android-tv": {
+ "arm64-v8a": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "4b70bed5ffb28162cdde7852e0597d957910270d",
+ "size": 840304267,
+ "url": "https://dl.google.com/android/repository/sys-img/android-tv/arm64-v8a-Tiramisu_r03.zip"
+ }
+ ],
+ "displayName": "Android TV ARM 64 v8a System Image",
+ "license": "android-sdk-license",
+ "name": "system-image-Tiramisu-android-tv-arm64-v8a",
+ "path": "system-images/android-Tiramisu/android-tv/arm64-v8a",
+ "revision": "Tiramisu-android-tv-arm64-v8a"
+ },
+ "x86": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "547a24d9dec83e11486ef4ea45848d9fa99f35c2",
+ "size": 832895525,
+ "url": "https://dl.google.com/android/repository/sys-img/android-tv/x86-Tiramisu_r03.zip"
+ }
+ ],
+ "displayName": "Android TV Intel x86 Atom System Image",
+ "license": "android-sdk-license",
+ "name": "system-image-Tiramisu-android-tv-x86",
+ "path": "system-images/android-Tiramisu/android-tv/x86",
+ "revision": "Tiramisu-android-tv-x86"
+ }
+ }
+ },
+ "TiramisuPrivacySandbox": {
+ "google_apis_playstore": {
+ "arm64-v8a": {
+ "archives": [
+ {
+ "os": "macosx",
+ "sha1": "4653d7aa2dbd2629c3afc1c700284de0f7791bb2",
+ "size": 1514681298,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-TiramisuPrivacySandbox_r05-darwin.zip"
+ },
+ {
+ "os": "linux",
+ "sha1": "4653d7aa2dbd2629c3afc1c700284de0f7791bb2",
+ "size": 1514681298,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-TiramisuPrivacySandbox_r05-linux.zip"
+ }
+ ],
+ "displayName": "Google Play ARM 64 v8a System Image",
+ "license": "android-sdk-arm-dbt-license",
+ "name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-arm64-v8a",
+ "path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/arm64-v8a",
+ "revision": "TiramisuPrivacySandbox-google_apis_playstore-arm64-v8a"
+ },
+ "x86_64": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "2a4ea6ce714155ea8ddfea26cf61ad219f32c02a",
+ "size": 1519169526,
+ "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-TiramisuPrivacySandbox_r05.zip"
+ }
+ ],
+ "displayName": "Google Play Intel x86 Atom_64 System Image",
+ "license": "android-sdk-preview-license",
+ "name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-x86_64",
+ "path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/x86_64",
+ "revision": "TiramisuPrivacySandbox-google_apis_playstore-x86_64"
}
}
}
@@ -3298,32 +3387,32 @@
"path": "build-tools/32.1.0-rc1",
"revision": "32.1.0-rc1"
},
- "33.0.0-rc2": {
+ "33.0.0": {
"archives": [
- {
- "os": "windows",
- "sha1": "789aa6dfb2155b81e073108c70982f73c890a95b",
- "size": 55466255,
- "url": "https://dl.google.com/android/repository/830151c9e0c410f6148390f0de30bd349ba91efd.build-tools_r33-rc2-windows.zip"
- },
{
"os": "linux",
- "sha1": "013f98217b7af4f5677ab1a47e98da18ad57721c",
- "size": 57876882,
- "url": "https://dl.google.com/android/repository/build-tools_r33-rc2-linux.zip"
+ "sha1": "c561971600d4ce682b128b0bd5d4ab71c5f2ad35",
+ "size": 56000182,
+ "url": "https://dl.google.com/android/repository/build-tools_r33-linux.zip"
},
{
"os": "macosx",
- "sha1": "586f8f77847ba3899b7652d6514e8c6a78ab673a",
- "size": 59910819,
- "url": "https://dl.google.com/android/repository/f8baa248444f0a5aca1119b48e897908a3da49d5.build-tools_r33-rc2-macosx.zip"
+ "sha1": "3693851532ba9640710d2dd360d85aa5b04c5151",
+ "size": 60023096,
+ "url": "https://dl.google.com/android/repository/build-tools_r33-macosx.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "f4ef853e5e755ea5ffc50de73a9e420fc76c662e",
+ "size": 55610532,
+ "url": "https://dl.google.com/android/repository/build-tools_r33-windows.zip"
}
],
- "displayName": "Android SDK Build-Tools 33-rc2",
- "license": "android-sdk-preview-license",
+ "displayName": "Android SDK Build-Tools 33",
+ "license": "android-sdk-license",
"name": "build-tools",
- "path": "build-tools/33.0.0-rc2",
- "revision": "33.0.0-rc2"
+ "path": "build-tools/33.0.0",
+ "revision": "33.0.0"
}
},
"cmake": {
@@ -3625,62 +3714,116 @@
"name": "cmdline-tools",
"path": "cmdline-tools/6.0",
"revision": "6.0"
- }
- },
- "emulator": {
- "31.2.9": {
+ },
+ "7.0": {
"archives": [
{
"os": "linux",
- "sha1": "164b759748b3d2ee2616da74173867b11b18f64f",
- "size": 276337192,
- "url": "https://dl.google.com/android/repository/emulator-linux_x64-8316981.zip"
- },
- {
- "os": "windows",
- "sha1": "2b6768485a8e6492823a9156fa43c55092afd533",
- "size": 345298639,
- "url": "https://dl.google.com/android/repository/emulator-windows_x64-8316981.zip"
+ "sha1": "5e7bf2dd563d34917d32f3c5920a85562a795c93",
+ "size": 114168525,
+ "url": "https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip"
},
{
"os": "macosx",
- "sha1": "af2d950318d8ae8cc516a1401a94f888f615aca6",
- "size": 313877066,
- "url": "https://dl.google.com/android/repository/emulator-darwin_x64-8316981.zip"
+ "sha1": "9a663c49dbd3709fc2b7d49db2814b383d811b4a",
+ "size": 114168511,
+ "url": "https://dl.google.com/android/repository/commandlinetools-mac-8512546_latest.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "1bdd32ac4b9fffea04f5bc341108e8b4fea6f32c",
+ "size": 114147385,
+ "url": "https://dl.google.com/android/repository/commandlinetools-win-8512546_latest.zip"
+ }
+ ],
+ "displayName": "Android SDK Command-line Tools",
+ "license": "android-sdk-license",
+ "name": "cmdline-tools",
+ "path": "cmdline-tools/7.0",
+ "revision": "7.0"
+ }
+ },
+ "emulator": {
+ "31.2.10": {
+ "archives": [
+ {
+ "os": "linux",
+ "sha1": "1f2c3ddeb2c9ac4feef5946098a0a710d08e9c6d",
+ "size": 276337904,
+ "url": "https://dl.google.com/android/repository/emulator-linux_x64-8420304.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "206491b5c4e531b2c66dc80402702b9fa1a64c2a",
+ "size": 345300871,
+ "url": "https://dl.google.com/android/repository/emulator-windows_x64-8420304.zip"
+ },
+ {
+ "os": "macosx",
+ "sha1": "677b6a00c145eb8bf4306daeb2231c8efd507177",
+ "size": 313876814,
+ "url": "https://dl.google.com/android/repository/emulator-darwin_x64-8420304.zip"
}
],
"displayName": "Android Emulator",
"license": "android-sdk-license",
"name": "emulator",
"path": "emulator",
- "revision": "31.2.9"
+ "revision": "31.2.10"
},
- "31.3.7": {
+ "31.3.8": {
"archives": [
{
"os": "macosx",
- "sha1": "0020b44623995a5a9a5b0d114f8fd942e9d3cbed",
- "size": 347204784,
- "url": "https://dl.google.com/android/repository/emulator-darwin_x64-8408431.zip"
+ "sha1": "7214e8384c97a7c9875142149d3bf9c940e9b5a0",
+ "size": 347222379,
+ "url": "https://dl.google.com/android/repository/emulator-darwin_x64-8598121.zip"
},
{
"os": "linux",
- "sha1": "46ba0c398fcd2704bee015c95e44d8f317b7b720",
- "size": 293765376,
- "url": "https://dl.google.com/android/repository/emulator-linux_x64-8408431.zip"
+ "sha1": "0f781977a6cc5377b64444121ff75a513841a4fa",
+ "size": 293782881,
+ "url": "https://dl.google.com/android/repository/emulator-linux_x64-8598121.zip"
},
{
"os": "windows",
- "sha1": "c09a35dd8c7eb7d8c53bf89c86019f5dbcd89b9d",
- "size": 380137986,
- "url": "https://dl.google.com/android/repository/emulator-windows_x64-8408431.zip"
+ "sha1": "b4f30bad4e68da41cc9bd44965259b2111a011a1",
+ "size": 380151866,
+ "url": "https://dl.google.com/android/repository/emulator-windows_x64-8598121.zip"
}
],
"displayName": "Android Emulator",
"license": "android-sdk-preview-license",
"name": "emulator",
"path": "emulator",
- "revision": "31.3.7"
+ "revision": "31.3.8"
+ },
+ "31.3.9": {
+ "archives": [
+ {
+ "os": "macosx",
+ "sha1": "6e7b549113252728cfe0992d58e8cb1790dce9d6",
+ "size": 347241742,
+ "url": "https://dl.google.com/android/repository/emulator-darwin_x64-8700579.zip"
+ },
+ {
+ "os": "linux",
+ "sha1": "1c1a7ef65476d3de34f19455a0093cb68e8e90f7",
+ "size": 293801439,
+ "url": "https://dl.google.com/android/repository/emulator-linux_x64-8700579.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "ea834211b199a7fcf6b6758a53c4594d01b44ab9",
+ "size": 380168712,
+ "url": "https://dl.google.com/android/repository/emulator-windows_x64-8700579.zip"
+ }
+ ],
+ "displayName": "Android Emulator",
+ "license": "android-sdk-license",
+ "name": "emulator",
+ "path": "emulator",
+ "revision": "31.3.9"
}
},
"extras": {
@@ -4523,6 +4666,33 @@
"path": "ndk/23.1.7779620",
"revision": "23.1.7779620"
},
+ "23.2.8568313": {
+ "archives": [
+ {
+ "os": "macosx",
+ "sha1": "1fc65d8f6083f3f5cd01e0cf97c6adc10f4f076f",
+ "size": 982917530,
+ "url": "https://dl.google.com/android/repository/android-ndk-r23c-darwin.zip"
+ },
+ {
+ "os": "linux",
+ "sha1": "e5053c126a47e84726d9f7173a04686a71f9a67a",
+ "size": 724733960,
+ "url": "https://dl.google.com/android/repository/android-ndk-r23c-linux.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "f2c5def76a9de371f27d028864fe301ab4fe0cf8",
+ "size": 788336993,
+ "url": "https://dl.google.com/android/repository/android-ndk-r23c-windows.zip"
+ }
+ ],
+ "displayName": "NDK (Side by side) 23.2.8568313",
+ "license": "android-sdk-license",
+ "name": "ndk",
+ "path": "ndk/23.2.8568313",
+ "revision": "23.2.8568313"
+ },
"24.0.7856742-rc1": {
"archives": [
{
@@ -4684,6 +4854,60 @@
"name": "ndk",
"path": "ndk/25.0.8221429",
"revision": "25.0.8221429-rc2"
+ },
+ "25.0.8355429-rc3": {
+ "archives": [
+ {
+ "os": "macosx",
+ "sha1": "224594abb41357c20cb4a9f4a732c484b2e743ba",
+ "size": 748047157,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-darwin.zip"
+ },
+ {
+ "os": "linux",
+ "sha1": "79c8db05e20edde0cbb02d2326e7b8405f7eb977",
+ "size": 510520692,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-linux.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "7d2c398045f6bbad03f6fb2f2ba419a2a48ab1e7",
+ "size": 506142216,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta3-windows.zip"
+ }
+ ],
+ "displayName": "NDK (Side by side) 25.0.8355429",
+ "license": "android-sdk-preview-license",
+ "name": "ndk",
+ "path": "ndk/25.0.8355429",
+ "revision": "25.0.8355429-rc3"
+ },
+ "25.0.8528842-rc4": {
+ "archives": [
+ {
+ "os": "macosx",
+ "sha1": "d7f344ecc68518a8178d15b1b80e27bc5c69f00d",
+ "size": 716633626,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-darwin.zip"
+ },
+ {
+ "os": "linux",
+ "sha1": "d13f688fd286709f0d950c75119ec9fcad8a47ff",
+ "size": 531018178,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-linux.zip"
+ },
+ {
+ "os": "windows",
+ "sha1": "668b063c7c535c4f8be52c84acebb5779935203b",
+ "size": 464031742,
+ "url": "https://dl.google.com/android/repository/android-ndk-r25-beta4-windows.zip"
+ }
+ ],
+ "displayName": "NDK (Side by side) 25.0.8528842",
+ "license": "android-sdk-preview-license",
+ "name": "ndk",
+ "path": "ndk/25.0.8528842",
+ "revision": "25.0.8528842-rc4"
}
},
"ndk-bundle": {
@@ -5381,32 +5605,32 @@
}
},
"platform-tools": {
- "33.0.1": {
+ "33.0.2": {
"archives": [
{
"os": "macosx",
- "sha1": "82f7c23e9e4acf6c86991bb23cd5d9f861f7819f",
- "size": 13131422,
- "url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-darwin.zip"
+ "sha1": "9b5661e0c18a2e5b6935e2b96bcc7be580cd6dcd",
+ "size": 13038676,
+ "url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-darwin.zip"
},
{
"os": "linux",
- "sha1": "4792ee4593e8e2395ddb87a3e82d60629eb0e977",
- "size": 7449306,
- "url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-linux.zip"
+ "sha1": "6bf4f747ad929b02378b44ce083b4502d26109c7",
+ "size": 7406632,
+ "url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-linux.zip"
},
{
"os": "windows",
- "sha1": "e91ab59b5ddc5e387c5171b37c3813eaa2fa3846",
- "size": 6331279,
- "url": "https://dl.google.com/android/repository/platform-tools_r33.0.1-windows.zip"
+ "sha1": "2d7599f59b54f02c4ecd33d656091a3c1e55ad9c",
+ "size": 6304111,
+ "url": "https://dl.google.com/android/repository/platform-tools_r33.0.2-windows.zip"
}
],
"displayName": "Android SDK Platform-Tools",
"license": "android-sdk-license",
"name": "platform-tools",
"path": "platform-tools",
- "revision": "33.0.1"
+ "revision": "33.0.2"
}
},
"platforms": {
@@ -5809,6 +6033,21 @@
"path": "platforms/android-32",
"revision": "32"
},
+ "33": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "298f5800e37f3c089ab0eb58d4f6aef4058b689b",
+ "size": 67324871,
+ "url": "https://dl.google.com/android/repository/platform-33_r01.zip"
+ }
+ ],
+ "displayName": "Android SDK Platform 33",
+ "license": "android-sdk-license",
+ "name": "platforms",
+ "path": "platforms/android-33",
+ "revision": "33"
+ },
"4": {
"archives": [
{
@@ -5935,20 +6174,20 @@
"path": "platforms/android-9",
"revision": "9"
},
- "Tiramisu": {
+ "TiramisuPrivacySandbox": {
"archives": [
{
"os": "all",
- "sha1": "2ac79862a909392d68d8ad503c45809e725d71f6",
- "size": 67290653,
- "url": "https://dl.google.com/android/repository/platform-Tiramisu_r02.zip"
+ "sha1": "8dd74a564f71c8381f5230682c5da291d230cc81",
+ "size": 67918949,
+ "url": "https://dl.google.com/android/repository/platform-TiramisuPrivacySandbox_r03.zip"
}
],
- "displayName": "Android SDK Platform Tiramisu",
+ "displayName": "Android SDK Platform TiramisuPrivacySandbox",
"license": "android-sdk-license",
"name": "platforms",
- "path": "platforms/android-Tiramisu",
- "revision": "Tiramisu"
+ "path": "platforms/android-TiramisuPrivacySandbox",
+ "revision": "TiramisuPrivacySandbox"
}
},
"skiaparser": {
@@ -6304,6 +6543,21 @@
"name": "sources",
"path": "sources/android-31",
"revision": "31"
+ },
+ "32": {
+ "archives": [
+ {
+ "os": "all",
+ "sha1": "d7195c6de611b99d7ec3565eabe2fd21268b7f98",
+ "size": 46933291,
+ "url": "https://dl.google.com/android/repository/sources-32_r01.zip"
+ }
+ ],
+ "displayName": "Sources for Android 32",
+ "license": "android-sdk-license",
+ "name": "sources",
+ "path": "sources/android-32",
+ "revision": "32"
}
},
"tools": {
diff --git a/pkgs/development/ocaml-modules/chrome-trace/default.nix b/pkgs/development/ocaml-modules/chrome-trace/default.nix
new file mode 100644
index 000000000000..fb6c14b3362e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/chrome-trace/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildDunePackage, dune_3 }:
+
+buildDunePackage rec {
+ pname = "chrome-trace";
+ inherit (dune_3) src version;
+
+ duneVersion = "3";
+
+ dontAddPrefix = true;
+
+ preBuild = ''
+ rm -r vendor/csexp
+ '';
+
+ meta = with lib; {
+ description = "Chrome trace event generation library";
+ inherit (dune_3.meta) homepage;
+ license = licenses.mit;
+ };
+}
diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
index c417d94e2947..f9e566eb0494 100644
--- a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
@@ -1,31 +1,29 @@
{ lib, fetchFromGitHub, buildDunePackage, ocaml
, cryptokit, ocamlnet, ocurl, yojson
-, ounit
+, ounit2
}:
buildDunePackage rec {
pname = "gapi-ocaml";
- version = "0.4.2";
+ version = "0.4.3";
- useDune2 = true;
-
- minimumOCamlVersion = "4.02";
+ minimalOCamlVersion = "4.02";
src = fetchFromGitHub {
owner = "astrada";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-imicHOlNjPHHW/lcWRJmURafYZFe/6J3efKPJcel8J8=";
+ sha256 = "sha256-V0GB9Bd06IdcI5PDFHGVZ0Y/qi7tTs/4ITqPXUOxCLs=";
};
propagatedBuildInputs = [ cryptokit ocamlnet ocurl yojson ];
doCheck = lib.versionAtLeast ocaml.version "4.04";
- checkInputs = [ ounit ];
+ checkInputs = [ ounit2 ];
meta = {
description = "OCaml client for google services";
- homepage = "http://gapi-ocaml.forge.ocamlcore.org";
+ inherit (src.meta) homepage;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ bennofs ];
};
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index 2e6802a50426..4e79e0310ac6 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -12,17 +12,21 @@
let params =
if lib.versionAtLeast ocaml.version "4.14"
then {
- version = "1.11.3";
- sha256 = "sha256-KlMFh05O04I0Xil2B+nL2hUxZw0jaDMUnI23oUwGyhs=";
+ name = "lsp";
+ version = "1.12.4";
+ sha256 = "sha256-kZuYAny8VjWdq+ipEdPSTRcGzqjNBOgXOi0dOwb52EY=";
} else if lib.versionAtLeast ocaml.version "4.13"
then {
+ name = "jsonrpc";
version = "1.10.5";
sha256 = "sha256-TeJS6t1ruWhWPvWNatrnSUWI6T17XKiosHLYizBDDcw=";
} else if lib.versionAtLeast ocaml.version "4.12"
then {
+ name = "jsonrpc";
version = "1.9.0";
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
} else {
+ name = "jsonrpc";
version = "1.4.1";
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
}
@@ -32,7 +36,7 @@ buildDunePackage rec {
pname = "jsonrpc";
inherit (params) version;
src = fetchurl {
- url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/jsonrpc-${version}.tbz";
+ url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/${params.name}-${version}.tbz";
inherit (params) sha256;
};
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
index faa149519077..3111d4277c41 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix
@@ -13,6 +13,7 @@
, dyn
, re
, stdune
+, chrome-trace
, dune_3
, csexp
, pp
@@ -40,7 +41,22 @@ buildDunePackage rec {
'';
buildInputs =
- if lib.versionAtLeast version "1.10.0" then
+ if lib.versionAtLeast version "1.12.0" then
+ [
+ pp
+ re
+ ppx_yojson_conv_lib
+ octavius
+ dune-build-info
+ dune-rpc
+ omd
+ cmdliner
+ ocamlformat-rpc-lib
+ dyn
+ stdune
+ chrome-trace
+ ]
+ else if lib.versionAtLeast version "1.10.0" then
[
pp
re
diff --git a/pkgs/development/python-modules/django-sampledatahelper/default.nix b/pkgs/development/python-modules/django-sampledatahelper/default.nix
deleted file mode 100644
index 4ff2b7ba8539..000000000000
--- a/pkgs/development/python-modules/django-sampledatahelper/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, versiontools
-, django
-, sampledata
-, nose
-, pillow
-, six
-}:
-
-buildPythonPackage rec {
- pname = "django-sampledatahelper";
- version = "0.5";
-
- # no tests on PyPI
- src = fetchFromGitHub {
- owner = "kaleidos";
- repo = "django-sampledatahelper";
- rev = "8576f352ec26a3650f4386a6e1285b723f6aec23"; # no tag
- sha256 = "1fx3ql4b9791594zkary19n20x5ra1m1n3pjaya9di1qy64csac4";
- };
-
- nativeBuildInputs = [ versiontools ];
-
- propagatedBuildInputs = [ django sampledata ];
-
- checkInputs = [ nose pillow six ];
-
- checkPhase = ''
- DJANGO_SETTINGS_MODULE=tests.settings NOSE_EXCLUDE=test_calling_command nosetests -v
- '';
-
- meta = {
- description = "Helper class for generate sample data for django apps development";
- homepage = "https://github.com/kaleidos/django-sampledatahelper";
- license = lib.licenses.bsd3;
- };
-}
diff --git a/pkgs/development/python-modules/optax/default.nix b/pkgs/development/python-modules/optax/default.nix
index b0f896a18ebb..42541d9078cf 100644
--- a/pkgs/development/python-modules/optax/default.nix
+++ b/pkgs/development/python-modules/optax/default.nix
@@ -1,28 +1,29 @@
{ absl-py
, buildPythonPackage
, chex
-, dm-haiku
, fetchFromGitHub
, jaxlib
, lib
, numpy
-, pytest-xdist
-, pytestCheckHook
-, tensorflow
-, tensorflow-datasets
+, callPackage
}:
buildPythonPackage rec {
pname = "optax";
- version = "0.1.1";
+ version = "0.1.3";
src = fetchFromGitHub {
owner = "deepmind";
repo = pname;
rev = "v${version}";
- hash = "sha256-s/BcqzhdfWzR61MStusUPQtuT4+t8NcC5gBGiGggFqw=";
+ hash = "sha256-XAYztMBQpLBHNuNED/iodbwIMJSN/0GxdmTGQ5jD9Ws=";
};
+ outputs = [
+ "out"
+ "testsout"
+ ];
+
buildInputs = [ jaxlib ];
propagatedBuildInputs = [
@@ -31,24 +32,21 @@ buildPythonPackage rec {
numpy
];
- checkInputs = [
- dm-haiku
- pytest-xdist
- pytestCheckHook
- tensorflow
- tensorflow-datasets
- ];
+ postInstall = ''
+ mkdir $testsout
+ cp -R examples $testsout/examples
+ '';
pythonImportsCheck = [
"optax"
];
- disabledTestPaths = [
- # Requires `flax` which depends on `optax` creating circular dependency.
- "optax/_src/equivalence_test.py"
- # See https://github.com/deepmind/optax/issues/323.
- "examples/lookahead_mnist_test.py"
- ];
+ # check in passthru.tests.pytest to escape infinite recursion with flax
+ doCheck = false;
+
+ passthru.tests = {
+ pytest = callPackage ./tests.nix { };
+ };
meta = with lib; {
description = "Optax is a gradient processing and optimization library for JAX.";
diff --git a/pkgs/development/python-modules/optax/tests.nix b/pkgs/development/python-modules/optax/tests.nix
new file mode 100644
index 000000000000..fedff61302d7
--- /dev/null
+++ b/pkgs/development/python-modules/optax/tests.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, dm-haiku
+, pytest-xdist
+, pytestCheckHook
+, tensorflow
+, tensorflow-datasets
+, flax
+, optax
+}:
+
+buildPythonPackage rec {
+ pname = "optax-tests";
+ inherit (optax) version;
+
+ src = optax.testsout;
+
+ dontBuild = true;
+ dontInstall = true;
+
+ checkInputs = [
+ dm-haiku
+ pytest-xdist
+ pytestCheckHook
+ tensorflow
+ tensorflow-datasets
+ flax
+ ];
+
+ disabledTestPaths = [
+ # See https://github.com/deepmind/optax/issues/323
+ "examples/lookahead_mnist_test.py"
+ ];
+
+}
diff --git a/pkgs/development/python-modules/patool/default.nix b/pkgs/development/python-modules/patool/default.nix
index 2fa07d32ccb1..cbc3a05044ee 100644
--- a/pkgs/development/python-modules/patool/default.nix
+++ b/pkgs/development/python-modules/patool/default.nix
@@ -1,17 +1,16 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, p7zip,
- unzip, cabextract, zip, zopfli, lzip, zpaq, gnutar, gnugrep, diffutils, file,
+ cabextract, zip, lzip, zpaq, gnutar, gnugrep, diffutils, file,
gzip, bzip2, xz}:
# unrar is unfree, as well as 7z with unrar support, not including it (patool doesn't support unar)
+# it will still use unrar if present in the path
let
compression-utilities = [
p7zip
- unzip
gnutar
cabextract
zip
- zopfli
lzip
zpaq
gzip
@@ -34,9 +33,9 @@ buildPythonPackage rec {
sha256 = "0v4r77sm3yzh7y1whfwxmp01cchd82jbhvbg9zsyd2yb944imzjy";
};
- prePatch = ''
+ postPatch = ''
substituteInPlace patoolib/util.py \
- --replace "path = None" 'path = append_to_path(os.environ["PATH"], "${lib.makeBinPath compression-utilities}")'
+ --replace "path = None" 'path = os.environ["PATH"] + ":${lib.makeBinPath compression-utilities}"'
'';
checkInputs = [ pytestCheckHook ] ++ compression-utilities;
diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix
index 58df795cb3a1..9e0b1c817613 100644
--- a/pkgs/development/python-modules/plotnine/default.nix
+++ b/pkgs/development/python-modules/plotnine/default.nix
@@ -8,6 +8,8 @@
, statsmodels
, pytestCheckHook
, geopandas
+, scikit-misc
+, adjusttext
, mizani }:
buildPythonPackage rec {
@@ -34,8 +36,10 @@ buildPythonPackage rec {
];
checkInputs = [
+ adjusttext
geopandas
pytestCheckHook
+ scikit-misc
];
preCheck = ''
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 30e9fbf9ea75..ee1d0bbffb5a 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -19,7 +19,12 @@ buildPythonPackage {
doCheck = doCheck && !isPy27; # setuptools>=41.4 no longer collects correctly on python2
propagatedBuildInputs = [ six ] ++ lib.optionals isPy27 [ google-apputils ];
- propagatedNativeBuildInputs = [ buildPackages.protobuf ]; # For protoc.
+ propagatedNativeBuildInputs = let
+ protobufVersion = "${lib.versions.major protobuf.version}_${lib.versions.minor protobuf.version}";
+ in [
+ buildPackages."protobuf${protobufVersion}" # For protoc of the same version.
+ ];
+
nativeBuildInputs = [ pyext ] ++ lib.optionals isPy27 [ google-apputils ];
buildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/pytest-testmon/default.nix b/pkgs/development/python-modules/pytest-testmon/default.nix
index 667927bfe105..9652e0289464 100644
--- a/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "pytest-testmon";
- version = "1.3.3";
+ version = "1.3.4";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-Csg5wIm9+ZdAQYdZozlx09rMaVz3GazeS5Z/f4jRECw=";
+ sha256 = "sha256-jr+uKjtm5nFYHrZpG63VNK/wO93TQJh1x4SoTxJtlw0=";
};
propagatedBuildInputs = [ pytest coverage ];
diff --git a/pkgs/development/python-modules/scikit-misc/default.nix b/pkgs/development/python-modules/scikit-misc/default.nix
new file mode 100644
index 000000000000..bfe0ab7d5b34
--- /dev/null
+++ b/pkgs/development/python-modules/scikit-misc/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, cython
+, gfortran
+, pytestCheckHook
+, numpy }:
+
+buildPythonPackage rec {
+ pname = "scikit-misc";
+ version = "0.1.4";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "sha256-93RqA0eBEGPh7PkSHflINXhQA5U8OLW6hPY/xQjCKRE=";
+ };
+
+ postPatch = ''
+ substituteInPlace pytest.ini \
+ --replace "--cov --cov-report=xml" ""
+ '';
+
+ nativeBuildInputs = [
+ gfortran
+ ];
+
+ buildInputs = [
+ cython
+ numpy
+ ];
+
+ # Tests fail because of infinite recursion error
+ doCheck = false;
+
+ pythonImportsCheck = [
+ "skmisc"
+ ];
+
+ meta = with lib; {
+ description = "Miscellaneous tools for scientific computing";
+ homepage = "https://github.com/has2k1/scikit-misc";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ onny ];
+ };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix
index 1ca8cfb5c52c..b055ccbde5dc 100644
--- a/pkgs/development/tools/ocaml/ocp-index/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-index/default.nix
@@ -2,7 +2,7 @@
buildDunePackage rec {
pname = "ocp-index";
- version = "1.3.1";
+ version = "1.3.3";
useDune2 = true;
@@ -10,7 +10,7 @@ buildDunePackage rec {
owner = "OCamlPro";
repo = "ocp-index";
rev = version;
- sha256 = "120w72fqymjp6ibicbp31jyx9yv34mdvgkr0zdfpzvfb7lgd8rc7";
+ sha256 = "sha256-ElCXjUR85tkyBLIpIKefDouE1upzJytQnk4xoQt/cb0=";
};
strictDeps = true;
diff --git a/pkgs/development/tools/ocaml/opam2json/default.nix b/pkgs/development/tools/ocaml/opam2json/default.nix
new file mode 100644
index 000000000000..198a5f575eb4
--- /dev/null
+++ b/pkgs/development/tools/ocaml/opam2json/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, opam-installer, ocamlPackages }:
+stdenv.mkDerivation rec {
+ pname = "opam2json";
+ version = "0.2";
+
+ src = fetchFromGitHub {
+ owner = "tweag";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "fe8bm/V/4r2iNxgbitT2sXBqDHQ0GBSnSUSBg/1aXoI=";
+ };
+
+ buildInputs = with ocamlPackages; [ yojson opam-file-format cmdliner ];
+ nativeBuildInputs = with ocamlPackages; [ ocaml findlib opam-installer ];
+
+ preInstall = ''export PREFIX="$out"'';
+
+ meta = with lib; {
+ platforms = platforms.all;
+ description = "convert opam file syntax to JSON";
+ maintainers = [ maintainers.balsoft ];
+ license = licenses.gpl3;
+ homepage = "https://github.com/tweag/opam2json";
+ };
+}
diff --git a/pkgs/development/tools/sshs/default.nix b/pkgs/development/tools/sshs/default.nix
new file mode 100644
index 000000000000..76cd63876ad8
--- /dev/null
+++ b/pkgs/development/tools/sshs/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+}:
+
+buildGoModule rec {
+ pname = "sshs";
+ version = "3.2.0";
+
+ src = fetchFromGitHub {
+ owner = "quantumsheep";
+ repo = pname;
+ rev = version;
+ sha256 = "D9doNVb2sTnzM8tF8cSJbIoaIYjGurkUHEyhcE3OqQg=";
+ };
+
+ vendorSha256 = "QWFz85bOrTnPGum5atccB5hKeATlZvDAt32by+DO/Fo=";
+
+ ldflags = [ "-s" "-w" "-X github.com/quantumsheep/sshs/cmd.Version=${version}" ];
+
+ passthru.updateScript = nix-update-script {
+ attrPath = pname;
+ };
+
+ meta = with lib; {
+ description = "Terminal user interface for SSH";
+ homepage = "https://github.com/quantumsheep/sshs";
+ license = licenses.mit;
+ maintainers = with maintainers; [ ihatethefrench ];
+ };
+}
diff --git a/pkgs/development/tools/zls/default.nix b/pkgs/development/tools/zls/default.nix
index a48dbf9e30f9..8cb041b90b2e 100644
--- a/pkgs/development/tools/zls/default.nix
+++ b/pkgs/development/tools/zls/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/zigtools/zls";
license = licenses.mit;
maintainers = with maintainers; [ fortuneteller2k ];
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 1c0b7aeda493..7419b6810cb2 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -1,39 +1,38 @@
{ lib, stdenv, fetchurl, desktop-file-utils
-, gtk3, libX11
-, makeWrapper, pkg-config, perl, autoreconfHook, wrapGAppsHook
+, gtk3, libX11, cmake, imagemagick
+, pkg-config, perl, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "sgt-puzzles";
- version = "20200610.9aa7b7c";
+ version = "20220613.387d323";
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
- sha256 = "0rrd1c77ar91zqy4rr4xp1z7x3ywnshlac99cga4hnrgwb7vwl3f";
+ hash = "sha256-Vcm7gxC9R7vvLkgkHblvEOONGLkYSHGMRfSBktgN/oQ=";
};
sgt-puzzles-menu = fetchurl {
- url = "https://raw.githubusercontent.com/Oleh-Kravchenko/portage/master/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu";
+ url = "https://raw.githubusercontent.com/gentoo/gentoo/720e614d0107e86fc1e520bac17726578186843d/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu";
sha256 = "088w0x9g3j8pn725ix8ny8knhdsfgjr3hpswsh9fvfkz5vlg2xkm";
};
- nativeBuildInputs = [ autoreconfHook desktop-file-utils makeWrapper
- pkg-config perl wrapGAppsHook ];
+ nativeBuildInputs = [
+ cmake
+ desktop-file-utils
+ imagemagick
+ perl
+ pkg-config
+ wrapGAppsHook
+ ];
buildInputs = [ gtk3 libX11 ];
- makeFlags = [ "prefix=$(out)" "gamesdir=$(out)/bin"];
-
- preInstall = ''
- mkdir -p "$out"/{bin,share/doc/sgtpuzzles}
- cp gamedesc.txt LICENCE README "$out/share/doc/sgtpuzzles"
- '';
-
postInstall = ''
for i in $(basename -s $out/bin/*); do
ln -s $out/bin/$i $out/bin/sgt-puzzle-$i
- install -Dm644 icons/$i-48d24.png -t $out/share/icons/hicolor/48x48/apps/
+ install -Dm644 icons/$i-96d24.png -t $out/share/icons/hicolor/96x96/apps/
# Generate/validate/install .desktop files.
echo "[Desktop Entry]" > $i.desktop
@@ -43,7 +42,7 @@ stdenv.mkDerivation rec {
--set-key Name --set-value $i \
--set-key Comment --set-value "${meta.description}" \
--set-key Categories --set-value "Game;LogicGame;X-sgt-puzzles;" \
- --set-key Icon --set-value $out/share/icons/hicolor/48x48/apps/$i-48d24 \
+ --set-key Icon --set-value $out/share/icons/hicolor/96x96/apps/$i-96d24.png \
$i.desktop
done
@@ -57,16 +56,10 @@ stdenv.mkDerivation rec {
install -Dm644 ${sgt-puzzles-menu} -t $out/etc/xdg/menus/applications-merged/
'';
- preConfigure = ''
- perl mkfiles.pl
- export NIX_LDFLAGS="$NIX_LDFLAGS -lX11"
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
- cp Makefile.gtk Makefile
- '';
meta = with lib; {
description = "Simon Tatham's portable puzzle collection";
license = licenses.mit;
- maintainers = [ maintainers.raskin ];
+ maintainers = with maintainers; [ raskin tomfitzhenry ];
platforms = platforms.linux;
homepage = "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/";
};
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index bdef9dd21391..1c3e4adccf82 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -26,7 +26,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
meta = with lib; {
homepage = "https://www.elastic.co/products/beats";
license = licenses.asl20;
- maintainers = with maintainers; [ fadenb basvandijk ];
+ maintainers = with maintainers; [ fadenb basvandijk dfithian ];
platforms = platforms.linux;
};
} // extraArgs);
diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix
index 55fed8fb6741..a2a7e7969166 100644
--- a/pkgs/misc/logging/beats/7.x.nix
+++ b/pkgs/misc/logging/beats/7.x.nix
@@ -18,7 +18,7 @@ let beat = package: extraArgs: buildGoModule (rec {
meta = with lib; {
homepage = "https://www.elastic.co/products/beats";
license = licenses.asl20;
- maintainers = with maintainers; [ fadenb basvandijk ];
+ maintainers = with maintainers; [ fadenb basvandijk dfithian ];
platforms = platforms.linux;
};
} // extraArgs);
diff --git a/pkgs/os-specific/linux/adcli/default.nix b/pkgs/os-specific/linux/adcli/default.nix
new file mode 100644
index 000000000000..977c1d09dbae
--- /dev/null
+++ b/pkgs/os-specific/linux/adcli/default.nix
@@ -0,0 +1,68 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+, openldap
+, libkrb5
+, libxslt
+, autoreconfHook
+, pkg-config
+, cyrus_sasl
+, util-linux
+, xmlto
+, docbook_xsl
+, docbook_xml_dtd_43
+}:
+
+stdenv.mkDerivation rec {
+ pname = "adcli";
+ version = "0.9.1";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.freedesktop.org";
+ owner = "realmd";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-Zzt4qgLiJNuSrbtDWuxJEfGL7sWSbqN301q3qXZpn9c=";
+ };
+
+ # https://bugs.gentoo.org/820224
+ # Without this it produces some weird missing symbol error in glibc
+ patches = [
+ (fetchpatch {
+ url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-crypt/adcli/files/adcli-0.9.1-glibc-2.34-resolv.patch?id=01db544de893262e857685e11b33c2a74210181f";
+ sha256 = "sha256-dZ6dkzxd+0XjY/X9/2IWMan3syvCDGFHiMbxFxMHGFA=";
+ })
+ ];
+
+ postPatch = ''
+ substituteInPlace tools/Makefile.am \
+ --replace 'sbin_PROGRAMS' 'bin_PROGRAMS'
+
+ substituteInPlace doc/Makefile.am \
+ --replace 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl' \
+ '${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl'
+
+ function patch_docbook(){
+ substituteInPlace $1 \
+ --replace "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
+ "${docbook_xml_dtd_43}/xml/dtd/docbook/docbookx.dtd"
+ }
+ patch_docbook doc/adcli.xml
+ patch_docbook doc/adcli-devel.xml
+ patch_docbook doc/adcli-docs.xml
+ '';
+ nativeBuildInputs = [ autoreconfHook pkg-config docbook_xsl ];
+
+ buildInputs = [ openldap libkrb5 libxslt cyrus_sasl util-linux xmlto docbook_xsl ];
+
+ configureFlags = [ "--disable-debug" ];
+
+ meta = with lib; {
+ homepage = "https://www.freedesktop.org/software/realmd/adcli/adcli.html";
+ description = "A helper library and tools for Active Directory client operations.";
+ license = licenses.lgpl21Only;
+ maintainers = with maintainers; [ SohamG ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index 6434a756bcd8..5b4d9d695f50 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -3,7 +3,7 @@
, fetchurl
, gawk
, enableSSO ? false
-, crowdProperties ? null
+, makeWrapper
}:
stdenv.mkDerivation rec {
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "sha256-Zog0m8tsx8mDLU1rsW5zhhHgyRmi4JGWuy9DV8yp9nY=";
};
+ nativeBuildInputs = [ makeWrapper ];
+
buildPhase = ''
mv conf/server.xml conf/server.xml.dist
ln -sf /run/atlassian-jira/server.xml conf/server.xml
@@ -27,10 +29,6 @@ stdenv.mkDerivation rec {
substituteInPlace atlassian-jira/WEB-INF/classes/seraph-config.xml \
--replace com.atlassian.jira.security.login.JiraSeraphAuthenticator \
com.atlassian.jira.security.login.SSOSeraphAuthenticator
- '' + lib.optionalString (crowdProperties != null) ''
- cat < atlassian-jira/WEB-INF/classes/crowd.properties
- ${crowdProperties}
- EOF
'';
installPhase = ''
@@ -41,6 +39,6 @@ stdenv.mkDerivation rec {
description = "Proprietary issue tracking product, also providing project management functions";
homepage = "https://www.atlassian.com/software/jira";
license = licenses.unfree;
- maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ];
+ maintainers = with maintainers; [ fpletz globin ciil megheaiulian techknowlogick ma27 ];
};
}
diff --git a/pkgs/servers/endlessh-go/default.nix b/pkgs/servers/endlessh-go/default.nix
index a1eb7b970eab..320d5c4137c0 100644
--- a/pkgs/servers/endlessh-go/default.nix
+++ b/pkgs/servers/endlessh-go/default.nix
@@ -5,22 +5,25 @@
buildGoModule rec {
pname = "endlessh-go";
- version = "20220308.1";
+ version = "20220710";
src = fetchFromGitHub {
owner = "shizunge";
repo = "endlessh-go";
rev = version;
- hash = "sha256-U+h/WmTVwwUIBEOiNa/EKS6HvkeoGNmP3NpeP1fcqYw=";
+ sha256 = "sha256-T8DLzHfITMLeHJtKuK4AjEzGGCIDJUPlqF2Lj56xPxY=";
};
- vendorSha256 = "sha256-5a/V2OQGVRIJVl/YG+lvtbLeHCy/1eiZu69zKIFqRKM=";
+ vendorSha256 = "sha256-hMCjYAqsI6h9B8iGVYQcNbKU5icalOHavvPKwOmvf/w=";
proxyVendor = true;
+ ldflags = [ "-s" "-w" ];
+
meta = with lib; {
description = "An implementation of endlessh exporting Prometheus metrics";
homepage = "https://github.com/shizunge/endlessh-go";
+ changelog = "https://github.com/shizunge/endlessh-go/releases/tag/${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ azahi ];
};
diff --git a/pkgs/servers/etcd/3.4.nix b/pkgs/servers/etcd/3.4.nix
index 538b7a7d2308..ad3c1e35204c 100644
--- a/pkgs/servers/etcd/3.4.nix
+++ b/pkgs/servers/etcd/3.4.nix
@@ -2,9 +2,9 @@
buildGoModule rec {
pname = "etcd";
- version = "3.4.18";
+ version = "3.4.19";
- vendorSha256 = null;
+ vendorSha256 = "sha256-ZONIsizxRiwZWRu4y9VzZcCpyBKoa0j3h3JqoMMPGu0=";
doCheck = false;
@@ -12,7 +12,7 @@ buildGoModule rec {
owner = "etcd-io";
repo = "etcd";
rev = "v${version}";
- sha256 = "sha256-/bXcW5g8mNFEjvfg+1loLFi8+IaWdcTE/lUPsHzEaIo=";
+ sha256 = "sha256-8X7xTZrZ/AjUgrW9XgD8B7eKFfOulj8WBjXoImAtJoM=";
};
buildPhase = ''
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index a720500380e1..05d71c9bad32 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, cmake, perl
-, glib, luajit, openssl, pcre2, pkg-config, sqlite, ragel, icu
+, glib, luajit, openssl, pcre, pkg-config, sqlite, ragel, icu
, hyperscan, jemalloc, blas, lapack, lua, libsodium
, withBlas ? true
, withHyperscan ? stdenv.isx86_64
@@ -23,12 +23,14 @@ stdenv.mkDerivation rec {
hardeningEnable = [ "pie" ];
nativeBuildInputs = [ cmake pkg-config perl ];
- buildInputs = [ glib openssl pcre2 sqlite ragel icu jemalloc libsodium ]
+ buildInputs = [ glib openssl pcre sqlite ragel icu jemalloc libsodium ]
++ lib.optional withHyperscan hyperscan
++ lib.optionals withBlas [ blas lapack ]
++ lib.optional withLuaJIT luajit ++ lib.optional (!withLuaJIT) lua;
cmakeFlags = [
+ # pcre2 jit seems to cause crashes: https://github.com/NixOS/nixpkgs/pull/181908
+ "-DENABLE_PCRE2=OFF"
"-DDEBIAN_BUILD=ON"
"-DRUNDIR=/run/rspamd"
"-DDBDIR=/var/lib/rspamd"
diff --git a/pkgs/servers/monitoring/prometheus/domain-exporter.nix b/pkgs/servers/monitoring/prometheus/domain-exporter.nix
index 78c35d8cf16e..fc455b92ae89 100644
--- a/pkgs/servers/monitoring/prometheus/domain-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/domain-exporter.nix
@@ -1,17 +1,25 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch, nixosTests }:
buildGoModule rec {
pname = "domain-exporter";
- version = "1.11.0";
+ version = "1.17.1";
src = fetchFromGitHub {
owner = "caarlos0";
repo = "domain_exporter";
rev = "v${version}";
- sha256 = "018y0xwdn2f2shhwaa0hqm4y8xsbqwif0733qb0377wpjbj4v137";
+ hash = "sha256-18r+jUdVcv7hA9KdWkgvu2tNUIGf9f1uj2cwwMDnAs8=";
};
- vendorSha256 = "0s1hs8byba9y57abg386n09wfg1wcqpzs164ap0km8ap2i96bdlb";
+ patches = [
+ (fetchpatch {
+ url = "https://github.com/caarlos0/domain_exporter/commit/32815b0956056c5c14313d0b860d1e9db754e545.patch";
+ hash = "sha256-iEYnJ4BU+MWQd0BgKmRb8RNj/lH2V/Z9uwFS2muR4Go=";
+ name = "sg_domains.patch";
+ })
+ ];
+
+ vendorSha256 = "sha256-LHs2DSLNe+E3NUXZS7TV5M53ueUbCjjNM87UPRTaCpo=";
doCheck = false; # needs internet connection
@@ -21,6 +29,6 @@ buildGoModule rec {
homepage = "https://github.com/caarlos0/domain_exporter";
description = "Exports the expiration time of your domains as prometheus metrics";
license = licenses.mit;
- maintainers = with maintainers; [ mmilata prusnak ];
+ maintainers = with maintainers; [ mmilata prusnak peterhoeg ];
};
}
diff --git a/pkgs/servers/polaris/default.nix b/pkgs/servers/polaris/default.nix
index fb9384ea0518..da53dc99252a 100644
--- a/pkgs/servers/polaris/default.nix
+++ b/pkgs/servers/polaris/default.nix
@@ -38,6 +38,11 @@ rustPlatform.buildRustPackage rec {
cp -a docs/swagger $out/share/polaris-swagger
'';
+ preCheck = ''
+ # 'Err' value: Os { code: 24, kind: Uncategorized, message: "Too many open files" }
+ ulimit -n 4096
+ '';
+
passthru.updateScript = ./update.sh;
meta = with lib; {
diff --git a/pkgs/servers/rt/default.nix b/pkgs/servers/rt/default.nix
index a113c25f396c..894da7a652ee 100644
--- a/pkgs/servers/rt/default.nix
+++ b/pkgs/servers/rt/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "rt";
- version = "5.0.2";
+ version = "5.0.3";
src = fetchFromGitHub {
repo = pname;
rev = "${pname}-${version}";
owner = "bestpractical";
- sha256 = "1qdvbsmdynjw2v0clnmhdmrky7w4dsiysv92n7d7jdbawnicqahn";
+ hash = "sha256-ZitlueLEbV3mGJg0aDrLa5IReJiOVaEf+JicbA9zUS4=";
};
patches = [
@@ -120,8 +120,7 @@ stdenv.mkDerivation rec {
];
preAutoreconf = ''
- substituteInPlace configure.ac \
- --replace "rt-3.9.EXPORTED" "rt-${version}"
+ echo rt-${version} > .tag
'';
preConfigure = ''
configureFlags="$configureFlags --with-web-user=$UID"
diff --git a/pkgs/shells/bash/fzf-obc/default.nix b/pkgs/shells/bash/fzf-obc/default.nix
new file mode 100644
index 000000000000..7621ae8c73c0
--- /dev/null
+++ b/pkgs/shells/bash/fzf-obc/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "fzf-obc";
+ version = "1.3.0";
+
+ src = fetchFromGitHub {
+ owner = "rockandska";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-KIAlDpt1Udl+RLp3728utgQ9FCjZz/OyoG92MOJmgPI=";
+ };
+
+ dontBuild = true;
+
+ installPhase = ''
+ mkdir -p $out/share/fzf-obc/{bin,lib/fzf-obc,plugins/{kill,gradle}}
+ install -m644 bin/* $out/share/fzf-obc/bin
+ install -m644 lib/fzf-obc/* $out/share/fzf-obc/lib/fzf-obc
+ install -m644 plugins/kill/* $out/share/fzf-obc/plugins/kill
+ install -m644 plugins/gradle/* $out/share/fzf-obc/plugins/gradle
+ '';
+
+ meta = with lib; {
+ homepage = "https://fzf-obc.readthedocs.io";
+ description = "Completion script adding fzf over all know bash completion functions";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ loicreynier ];
+ };
+}
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 060c95a8f767..f4c4b0facde1 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "gtk-vnc";
- version = "1.3.0";
+ version = "1.3.1";
outputs = [ "out" "bin" "man" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "X6qlgjuMvowLC6HkVsTnDEsa5mhcn+gaQoLZjPAKIR0=";
+ sha256 = "USdjrE4FWdAVi2aCyl3Ro71jPwgvXkNJ1xWOa1+A8c4=";
};
nativeBuildInputs = [
diff --git a/pkgs/tools/misc/page/default.nix b/pkgs/tools/misc/page/default.nix
index 818642af9753..7d574586a8a3 100644
--- a/pkgs/tools/misc/page/default.nix
+++ b/pkgs/tools/misc/page/default.nix
@@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "page";
- version = "3.1.0";
+ version = "3.1.2";
src = fetchFromGitHub {
owner = "I60R";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-3XRtTiIqUI2j9kmsg0yeuipgHEzdJRG2abO3Ll7ukmA=";
+ sha256 = "sha256-e6GkvIojMfsIm4UxRyEvvNkZPGSmUnf9K/0ZISy8kj4=";
};
nativeBuildInputs = [ installShellFiles ];
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
installShellCompletion --zsh $completions_dir/_page
'';
- cargoSha256 = "sha256-4Z58OkCvlGXmuTeVl0me3a/YImcKwggF9tXfenQnjtA=";
+ cargoSha256 = "sha256-qyaHW4mbJXZ/iGQlIzmTo2dgPLC9JlPKBee+uAuW5PQ=";
meta = with lib; {
description = "Use neovim as pager";
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 3f806ea97378..069f4e13aff8 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,12 +20,12 @@ buildPythonPackage rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
- version = "2022.6.29";
+ version = "2022.07.18";
src = fetchPypi {
inherit pname;
version = builtins.replaceStrings [ ".0" ] [ "." ] version;
- sha256 = "sha256-X7+scv0DXRG8JpPl0c1pM7G8BxL3QvUIKiYXA4ELtck=";
+ sha256 = "sha256-DnuB/GrI0bfT//p5+QRMpBY3hEIlgsmjWTMF2ipp7AI=";
};
propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 743764196c55..d7a58779399b 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -13,8 +13,8 @@
let
sha256 = "1yglnmwspdncqmy5x0zc0g43bfm4597zfmwfvs7qkalv1pprf0s3";
# specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
- specVersion = "4.129.0";
- specSha256 = "02bf1jcqn7sp6qmkd56jgmgpfg3agbw47cd38zha6fksm2knmd32";
+ specVersion = "4.130.0";
+ specSha256 = "0qwydx6bsbi37135zmwm8vx1yzwa5gyi8bz1zsvkd64wjv79yra1";
spec = fetchurl {
url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
sha256 = specSha256;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 982614abc0fe..6c8af61fe2f2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -214,6 +214,8 @@ with pkgs;
quickemu = callPackage ../development/quickemu { };
+ adcli = callPackage ../os-specific/linux/adcli { };
+
aether = callPackage ../applications/networking/aether { };
alda = callPackage ../development/interpreters/alda { };
@@ -2652,6 +2654,8 @@ with pkgs;
sshchecker = callPackage ../tools/security/sshchecker { };
+ sshs = callPackage ../development/tools/sshs { };
+
titaniumenv = callPackage ../development/mobile/titaniumenv { };
abootimg = callPackage ../development/mobile/abootimg {};
@@ -2670,9 +2674,10 @@ with pkgs;
pkgs_i686 = pkgsi686Linux;
};
- androidndkPkgs = androidndkPkgs_18b;
- androidndkPkgs_18b = (callPackage ../development/androidndk-pkgs {})."18b";
+ androidndkPkgs = androidndkPkgs_21;
androidndkPkgs_21 = (callPackage ../development/androidndk-pkgs {})."21";
+ androidndkPkgs_23b = (callPackage ../development/androidndk-pkgs {})."23b";
+ androidndkPkgs_24 = (callPackage ../development/androidndk-pkgs {})."24";
androidsdk_9_0 = androidenv.androidPkgs_9_0.androidsdk;
@@ -3405,8 +3410,6 @@ with pkgs;
dconf = callPackage ../development/libraries/dconf { };
- dcw-gmt = callPackage ../applications/gis/gmt/dcw.nix { };
-
ddate = callPackage ../tools/misc/ddate { };
ddosify = callPackage ../development/tools/ddosify { };
@@ -3744,6 +3747,8 @@ with pkgs;
fzf = callPackage ../tools/misc/fzf { };
+ fzf-obc = callPackage ../shells/bash/fzf-obc { };
+
fzf-zsh = callPackage ../shells/zsh/fzf-zsh { };
fzy = callPackage ../tools/misc/fzy { };
@@ -3832,11 +3837,6 @@ with pkgs;
variant = "krita";
};
- gmt = callPackage ../applications/gis/gmt {
- inherit (darwin.apple_sdk.frameworks)
- Accelerate CoreGraphics CoreVideo;
- };
-
gpg-tui = callPackage ../tools/security/gpg-tui {
inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
inherit (darwin) libobjc libresolv;
@@ -9184,6 +9184,8 @@ with pkgs;
openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { jre = pkgs.jre_headless; };
openapi-generator-cli-unstable = callPackage ../tools/networking/openapi-generator-cli/unstable.nix { jre = pkgs.jre_headless; };
+ openbangla-keyboard = libsForQt5.callPackage ../applications/misc/openbangla-keyboard { };
+
openboard = libsForQt5.callPackage ../applications/graphics/openboard { };
opencc = callPackage ../tools/text/opencc { };
@@ -13943,6 +13945,8 @@ with pkgs;
opam-installer = callPackage ../development/tools/ocaml/opam/installer.nix { };
+ opam2json = callPackage ../development/tools/ocaml/opam2json { };
+
wrapWatcom = callPackage ../development/compilers/open-watcom/wrapper.nix { };
open-watcom-v2-unwrapped = callPackage ../development/compilers/open-watcom/v2.nix { };
open-watcom-v2 = wrapWatcom open-watcom-v2-unwrapped { };
@@ -19666,6 +19670,10 @@ with pkgs;
libuinputplus = callPackage ../development/libraries/libuinputplus { };
+ libuiohook = callPackage ../development/libraries/libuiohook {
+ inherit (darwin.apple_sdk.frameworks) AppKit ApplicationServices Carbon;
+ };
+
libunistring = callPackage ../development/libraries/libunistring { };
libupnp = callPackage ../development/libraries/pupnp { };
@@ -20521,6 +20529,8 @@ with pkgs;
protobuf = protobuf3_19;
+ protobuf3_21 = callPackage ../development/libraries/protobuf/3.21.nix { };
+ protobuf3_20 = callPackage ../development/libraries/protobuf/3.20.nix { };
protobuf3_19 = callPackage ../development/libraries/protobuf/3.19.nix { };
protobuf3_17 = callPackage ../development/libraries/protobuf/3.17.nix { };
protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { };
@@ -25576,6 +25586,38 @@ with pkgs;
zuki-themes = callPackage ../data/themes/zuki { };
+ ### APPLICATIONS / GIS
+
+ gmt = callPackage ../applications/gis/gmt {
+ inherit (darwin.apple_sdk.frameworks)
+ Accelerate CoreGraphics CoreVideo;
+ };
+
+ gshhg-gmt = callPackage ../applications/gis/gmt/gshhg.nix { };
+
+ dcw-gmt = callPackage ../applications/gis/gmt/dcw.nix { };
+
+ grass = callPackage ../applications/gis/grass { };
+
+ openorienteering-mapper = libsForQt5.callPackage ../applications/gis/openorienteering-mapper { };
+
+ qgis-ltr = callPackage ../applications/gis/qgis/ltr.nix { };
+
+ qgis = callPackage ../applications/gis/qgis { };
+
+ qmapshack = libsForQt5.callPackage ../applications/gis/qmapshack { };
+
+ saga = libsForQt5.callPackage ../applications/gis/saga {
+ inherit (darwin.apple_sdk.frameworks) Cocoa;
+ };
+
+ udig = callPackage ../applications/gis/udig { };
+
+ whitebox-tools = callPackage ../applications/gis/whitebox-tools {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
+
+ zombietrackergps = libsForQt5.callPackage ../applications/gis/zombietrackergps { };
### APPLICATIONS
@@ -26939,8 +26981,6 @@ with pkgs;
gpx-viewer = callPackage ../applications/misc/gpx-viewer { };
- grass = callPackage ../applications/gis/grass { };
-
grepcidr = callPackage ../applications/search/grepcidr { };
grepm = callPackage ../applications/search/grepm { };
@@ -27269,6 +27309,8 @@ with pkgs;
jmusicbot = callPackage ../applications/audio/jmusicbot { };
+ josh = callPackage ../applications/version-management/josh { };
+
junction = callPackage ../applications/misc/junction { };
lemonade = callPackage ../applications/misc/lemonade { };
@@ -29311,8 +29353,6 @@ with pkgs;
vm = callPackage ../applications/audio/open-music-kontrollers/vm.nix { };
};
- openorienteering-mapper = libsForQt5.callPackage ../applications/gis/openorienteering-mapper { };
-
openscad = libsForQt5.callPackage ../applications/graphics/openscad {};
open-stage-control = callPackage ../applications/audio/open-stage-control {
@@ -29703,10 +29743,6 @@ with pkgs;
wrapQemuBinfmtP = callPackage ../applications/virtualization/qemu/binfmt-p-wrapper.nix { };
- qgis-ltr = callPackage ../applications/gis/qgis/ltr.nix { };
-
- qgis = callPackage ../applications/gis/qgis { };
-
qgroundcontrol = libsForQt5.callPackage ../applications/science/robotics/qgroundcontrol { };
qjackctl = libsForQt5.callPackage ../applications/audio/qjackctl { };
@@ -29724,8 +29760,6 @@ with pkgs;
garmindev = callPackage ../applications/misc/qlandkartegt/garmindev.nix {};
- qmapshack = libsForQt5.callPackage ../applications/gis/qmapshack { };
-
qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { };
qmplay2 = libsForQt5.callPackage ../applications/video/qmplay2 { };
@@ -31149,10 +31183,6 @@ with pkgs;
wlroots = wlroots_0_14;
};
- whitebox-tools = callPackage ../applications/gis/whitebox-tools {
- inherit (darwin.apple_sdk.frameworks) Security;
- };
-
windowlab = callPackage ../applications/window-managers/windowlab { };
windowmaker = callPackage ../applications/window-managers/windowmaker { };
@@ -31588,8 +31618,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) CoreServices;
};
- zombietrackergps = libsForQt5.callPackage ../applications/gis/zombietrackergps { };
-
zoom-us = callPackage ../applications/networking/instant-messengers/zoom-us { };
zotero = callPackage ../applications/office/zotero { };
@@ -31881,10 +31909,6 @@ with pkgs;
quorum = callPackage ../applications/blockchains/quorum { };
- saga = libsForQt5.callPackage ../applications/gis/saga {
- inherit (darwin.apple_sdk.frameworks) Cocoa;
- };
-
samplv1 = libsForQt5.callPackage ../applications/audio/samplv1 { };
scaleft = callPackage ../applications/networking/scaleft { };
@@ -31910,8 +31934,6 @@ with pkgs;
drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { };
- gshhg-gmt = callPackage ../applications/gis/gmt/gshhg.nix { };
-
eureka-editor = callPackage ../applications/misc/eureka-editor { };
eureka-ideas = callPackage ../applications/misc/eureka-ideas {
@@ -32963,8 +32985,6 @@ with pkgs;
uchess = callPackage ../games/uchess { };
- udig = callPackage ../applications/gis/udig { };
-
ufoai = callPackage ../games/ufoai { };
uhexen2 = callPackage ../games/uhexen2 { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index d794592461f7..1955f962b7c7 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -181,6 +181,8 @@ let
checkseum = callPackage ../development/ocaml-modules/checkseum { };
+ chrome-trace = callPackage ../development/ocaml-modules/chrome-trace { };
+
cil = callPackage ../development/ocaml-modules/cil { };
cmdliner_1_0 = callPackage ../development/ocaml-modules/cmdliner/1_0.nix { };
@@ -549,7 +551,7 @@ let
dypgen = callPackage ../development/ocaml-modules/dypgen { };
- gapi_ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
+ gapi-ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
gen_js_api = callPackage ../development/ocaml-modules/gen_js_api { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 244711fa9013..3e85dd0713e1 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6590,10 +6590,10 @@ let
DBIxSearchBuilder = buildPerlPackage {
pname = "DBIx-SearchBuilder";
- version = "1.68";
+ version = "1.71";
src = fetchurl {
- url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.68.tar.gz";
- sha256 = "be197c0f83c426996f77d22126f3103f958fc4bd1791c6962b793cc2779601f8";
+ url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.71.tar.gz";
+ sha256 = "1ga2sjis6lg51z58il8q165klc38dmb3wj3phyxjfjg6yskdsbz4";
};
buildInputs = [ DBDSQLite ];
propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBIxDBSchema Want capitalization ];
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 087417c9fb35..58223bafd5ba 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -55,6 +55,7 @@ mapAliases ({
diff_cover = diff-cover; # added 2021-07-02
discogs_client = discogs-client; # added 2021-07-02
djangorestframework-jwt = drf-jwt; # added 2021-07-20
+ django-sampledatahelper = throw "django-sampledatahelper was removed because it is no longer compatible to latest Django version"; # added 2022-07-18
django_2 = throw "Django 2 has reached it's projected EOL in 2022/04 and has therefore been removed."; # added 2022-03-05
django_appconf = django-appconf; # added 2022-03-03
django_environ = django-environ; # added 2021-12-25
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 223b190b43e8..4f430c6bb183 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2471,8 +2471,6 @@ in {
django-reversion = callPackage ../development/python-modules/django-reversion { };
- django-sampledatahelper = callPackage ../development/python-modules/django-sampledatahelper { };
-
django-sesame = callPackage ../development/python-modules/django-sesame { };
django_silk = callPackage ../development/python-modules/django_silk { };
@@ -9577,6 +9575,8 @@ in {
scikit-learn-extra = callPackage ../development/python-modules/scikit-learn-extra { };
+ scikit-misc = callPackage ../development/python-modules/scikit-misc { };
+
scikit-optimize = callPackage ../development/python-modules/scikit-optimize { };
scikits-odes = callPackage ../development/python-modules/scikits-odes { };