Merge branch 'staging-next' into staging

This commit is contained in:
Vladimír Čunát
2024-07-08 10:43:15 +02:00
548 changed files with 6313 additions and 9516 deletions
+1 -1
View File
@@ -34,9 +34,9 @@
- nixos/modules/services/editors/emacs.nix
- nixos/modules/services/editors/emacs.xml
- nixos/tests/emacs-daemon.nix
- pkgs/applications/editors/emacs/build-support/**/*
- pkgs/applications/editors/emacs/elisp-packages/**/*
- pkgs/applications/editors/emacs/**/*
- pkgs/build-support/emacs/**/*
- pkgs/top-level/emacs-packages.nix
"6.topic: Enlightenment DE":
+3 -3
View File
@@ -917,7 +917,7 @@ in mkLicense lset) ({
ncbiPd = {
spdxId = "NCBI-PD";
fullname = "NCBI Public Domain Notice";
fullName = "NCBI Public Domain Notice";
# Due to United States copyright law, anything with this "license" does not have a copyright in the
# jurisdiction of the United States. However, other jurisdictions may assign the United States
# government copyright to the work, and the license explicitly states that in such a case, no license
@@ -1161,7 +1161,7 @@ in mkLicense lset) ({
shortName = "TSL";
fullName = "Timescale License Agreegment";
url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE";
unfree = true;
free = false;
};
tcltk = {
@@ -1297,7 +1297,7 @@ in mkLicense lset) ({
zsh = {
url = "https://github.com/zsh-users/zsh/blob/master/LICENCE";
fulllName = "Zsh License";
fullName = "Zsh License";
};
zpl20 = {
+12 -8
View File
@@ -2604,6 +2604,11 @@
githubId = 30630233;
name = "Timo Triebensky";
};
birdee = {
name = "birdee";
github = "BirdeeHub";
githubId = 85372418;
};
birkb = {
email = "birk@batchworks.de";
github = "birkb";
@@ -15379,7 +15384,7 @@
githubId = 53442728;
};
paveloom = {
email = "paveloom@riseup.net";
email = "contact@paveloom.dev";
github = "paveloom";
githubId = 49961859;
name = "Pavel Sobolev";
@@ -21033,13 +21038,6 @@
github = "victormeriqui";
githubId = 1396008;
};
victormignot = {
email = "root@victormignot.fr";
github = "victormignot";
githubId = 58660971;
name = "Victor Mignot";
keys = [ { fingerprint = "CA5D F91A D672 683A 1F65 BBC9 0317 096D 20E0 067B"; } ];
};
vidbina = {
email = "vid@bina.me";
github = "vidbina";
@@ -22320,6 +22318,12 @@
githubId = 250877;
name = "Elmar Athmer";
};
zazedd = {
name = "Leonardo Santos";
email = "leomendesantos@gmail.com";
github = "zazedd";
githubId = 93401987;
};
zbioe = {
name = "Iury Fukuda";
email = "zbioe@protonmail.com";
+1 -1
View File
@@ -1,5 +1,5 @@
/**
Generates documentation for [nix modules](https://nix.dev/tutorials/module-system/module-system.html).
Generates documentation for [nix modules](https://nix.dev/tutorials/module-system/index.html).
It uses the declared `options` to generate documentation in various formats.
+86 -5
View File
@@ -23,6 +23,7 @@ let
isPath
isString
listToAttrs
mapAttrs
nameValuePair
optionalString
removePrefix
@@ -140,11 +141,35 @@ utils = rec {
];
} "_secret" -> { ".example[1].relevant.secret" = "/path/to/secret"; }
*/
recursiveGetAttrWithJqPrefix = item: attr:
recursiveGetAttrWithJqPrefix = item: attr: mapAttrs (_name: set: set.${attr}) (recursiveGetAttrsetWithJqPrefix item attr);
/* Similar to `recursiveGetAttrWithJqPrefix`, but returns the whole
attribute set containing `attr` instead of the value of `attr` in
the set.
Example:
recursiveGetAttrsetWithJqPrefix {
example = [
{
irrelevant = "not interesting";
}
{
ignored = "ignored attr";
relevant = {
secret = {
_secret = "/path/to/secret";
quote = true;
};
};
}
];
} "_secret" -> { ".example[1].relevant.secret" = { _secret = "/path/to/secret"; quote = true; }; }
*/
recursiveGetAttrsetWithJqPrefix = item: attr:
let
recurse = prefix: item:
if item ? ${attr} then
nameValuePair prefix item.${attr}
nameValuePair prefix item
else if isDerivation item then []
else if isAttrs item then
map (name:
@@ -206,6 +231,58 @@ utils = rec {
}
]
}
The attribute set { _secret = "/path/to/secret"; } can contain extra
options, currently it accepts the `quote = true|false` option.
If `quote = true` (default behavior), the content of the secret file will
be quoted as a string and embedded. Otherwise, if `quote = false`, the
content of the secret file will be parsed to JSON and then embedded.
Example:
If the file "/path/to/secret" contains the JSON document:
[
{ "a": "topsecretpassword1234" },
{ "b": "topsecretpassword5678" }
]
genJqSecretsReplacementSnippet {
example = [
{
irrelevant = "not interesting";
}
{
ignored = "ignored attr";
relevant = {
secret = {
_secret = "/path/to/secret";
quote = false;
};
};
}
];
} "/path/to/output.json"
would generate a snippet that, when run, outputs the following
JSON file at "/path/to/output.json":
{
"example": [
{
"irrelevant": "not interesting"
},
{
"ignored": "ignored attr",
"relevant": {
"secret": [
{ "a": "topsecretpassword1234" },
{ "b": "topsecretpassword5678" }
]
}
}
]
}
*/
genJqSecretsReplacementSnippet = genJqSecretsReplacementSnippet' "_secret";
@@ -213,7 +290,11 @@ utils = rec {
# attr which identifies the secret to be changed.
genJqSecretsReplacementSnippet' = attr: set: output:
let
secrets = recursiveGetAttrWithJqPrefix set attr;
secretsRaw = recursiveGetAttrsetWithJqPrefix set attr;
# Set default option values
secrets = mapAttrs (_name: set: {
quote = true;
} // set) secretsRaw;
stringOrDefault = str: def: if str == "" then def else str;
in ''
if [[ -h '${output}' ]]; then
@@ -227,7 +308,7 @@ utils = rec {
+ concatStringsSep
"\n"
(imap1 (index: name: ''
secret${toString index}=$(<'${secrets.${name}}')
secret${toString index}=$(<'${secrets.${name}.${attr}}')
export secret${toString index}
'')
(attrNames secrets))
@@ -236,7 +317,7 @@ utils = rec {
+ escapeShellArg (stringOrDefault
(concatStringsSep
" | "
(imap1 (index: name: ''${name} = $ENV.secret${toString index}'')
(imap1 (index: name: ''${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})'')
(attrNames secrets)))
".")
+ ''
+4 -1
View File
@@ -297,7 +297,10 @@ in
description = "Update timer for locate database";
partOf = [ "update-locatedb.service" ];
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = cfg.interval;
timerConfig = {
OnCalendar = cfg.interval;
Persistent = true;
};
};
};
@@ -21,8 +21,10 @@ in {
history-service
libusermetrics
lomiri
lomiri-calculator-app
lomiri-download-manager
lomiri-filemanager-app
lomiri-polkit-agent
lomiri-schemas # exposes some required dbus interfaces
lomiri-session # wrappers to properly launch the session
lomiri-sounds
@@ -145,6 +147,18 @@ in {
ExecStart = "${pkgs.lomiri.lomiri-url-dispatcher}/libexec/lomiri-url-dispatcher/lomiri-update-directory /run/current-system/sw/share/lomiri-url-dispatcher/urls/";
};
};
"lomiri-polkit-agent" = rec {
description = "Lomiri Polkit agent";
wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ];
after = [ "graphical-session.target" ];
partOf = wantedBy;
serviceConfig = {
Type = "simple";
Restart = "always";
ExecStart = "${pkgs.lomiri.lomiri-polkit-agent}/libexec/lomiri-polkit-agent/policykit-agent";
};
};
};
systemd.services = {
+32 -11
View File
@@ -1,14 +1,17 @@
{ config, lib, options, pkgs, ... }:
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.languagetool;
settingsFormat = pkgs.formats.javaProperties {};
in {
settingsFormat = pkgs.formats.javaProperties { };
in
{
options.services.languagetool = {
enable = mkEnableOption "the LanguageTool server, a multilingual spelling, style, and grammar checker that helps correct or paraphrase texts";
package = mkPackageOption pkgs "languagetool" { };
port = mkOption {
type = types.port;
default = 8081;
@@ -31,7 +34,7 @@ in {
'';
};
settings = lib.mkOption {
settings = mkOption {
type = types.submodule {
freeformType = settingsFormat.type;
@@ -49,11 +52,25 @@ in {
for supported settings.
'';
};
jrePackage = mkPackageOption pkgs "jre" { };
jvmOptions = mkOption {
description = ''
Extra command line options for the JVM running languagetool.
More information can be found here: https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#standard-options-for-java
'';
default = [ ];
type = types.listOf types.str;
example = [
"-Xmx512m"
];
};
};
config = mkIf cfg.enable {
systemd.services.languagetool = {
systemd.services.languagetool = {
description = "LanguageTool HTTP server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
@@ -65,13 +82,17 @@ in {
RestrictNamespaces = [ "" ];
SystemCallFilter = [ "@system-service" "~ @privileged" ];
ProtectHome = "yes";
Restart = "on-failure";
ExecStart = ''
${pkgs.languagetool}/bin/languagetool-http-server \
--port ${toString cfg.port} \
${optionalString cfg.public "--public"} \
${optionalString (cfg.allowOrigin != null) "--allow-origin ${cfg.allowOrigin}"} \
"--config" ${settingsFormat.generate "languagetool.conf" cfg.settings}
'';
${cfg.jrePackage}/bin/java \
-cp ${cfg.package}/share/languagetool-server.jar \
${toString cfg.jvmOptions} \
org.languagetool.server.HTTPServer \
--port ${toString cfg.port} \
${optionalString cfg.public "--public"} \
${optionalString (cfg.allowOrigin != null) "--allow-origin ${cfg.allowOrigin}"} \
"--config" ${settingsFormat.generate "languagetool.conf" cfg.settings}
'';
};
};
};
@@ -32,9 +32,15 @@ in
${escapeShellArgs cfg.extraFlags}
'';
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ];
DynamicUser = true;
NoNewPrivileges = true;
MemoryDenyWriteExecute = true;
LockPersonality = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
ProtectHome = "tmpfs";
@@ -43,6 +49,8 @@ in
PrivateDevices = true;
PrivateIPC = true;
ProcSubset = "pid";
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
@@ -50,7 +58,10 @@ in
ProtectKernelLogs = true;
ProtectControlGroups = true;
Restart = "on-failure";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
@@ -181,15 +181,57 @@ in {
-i "${alertmanagerYml}"
'';
serviceConfig = {
Restart = "always";
StateDirectory = "alertmanager";
DynamicUser = true; # implies PrivateTmp
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
WorkingDirectory = "/tmp";
ExecStart = "${cfg.package}/bin/alertmanager" +
optionalString (length cmdlineArgs != 0) (" \\\n " +
concatStringsSep " \\\n " cmdlineArgs);
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ];
DynamicUser = true;
NoNewPrivileges = true;
MemoryDenyWriteExecute = true;
LockPersonality = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
ProtectHome = "tmpfs";
PrivateTmp = true;
PrivateDevices = true;
PrivateIPC = true;
ProcSubset = "pid";
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
Restart = "always";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_NETLINK" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
StateDirectory = "alertmanager";
SystemCallFilter = [
"@system-service"
"~@cpu-emulation"
"~@privileged"
"~@reboot"
"~@setuid"
"~@swap"
];
WorkingDirectory = "/tmp";
};
};
})
@@ -147,12 +147,52 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Restart = "always";
DynamicUser = true;
ExecStart = "${cfg.package}/bin/pushgateway" +
optionalString (length cmdlineArgs != 0) (" \\\n " +
concatStringsSep " \\\n " cmdlineArgs);
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ];
DynamicUser = true;
NoNewPrivileges = true;
MemoryDenyWriteExecute = true;
LockPersonality = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
ProtectHome = "tmpfs";
PrivateTmp = true;
PrivateDevices = true;
PrivateIPC = true;
ProcSubset = "pid";
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
Restart = "always";
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
StateDirectory = if cfg.persistMetrics then cfg.stateDir else null;
SystemCallFilter = [
"@system-service"
"~@cpu-emulation"
"~@privileged"
"~@reboot"
"~@setuid"
"~@swap"
];
};
};
};
+1 -2
View File
@@ -101,8 +101,7 @@ in {
preStart = with cfg.settings; ''
if ! test -f ${password-file}; then
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${password-file}
chmod 0600 ${password-file}
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 | install -m 600 /dev/stdin ${password-file}
echo "Initialized ${password-file} from /dev/urandom"
fi
if [ ! -f ${data-dir}/keys/libp2p.key ]; then
+99 -93
View File
@@ -64,129 +64,135 @@ let
else
throw "Unsupported database type: ${cfg.database.type} for socket: ${cfg.database.socket}";
mediawikiConfig = pkgs.writeText "LocalSettings.php" ''
<?php
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
mediawikiConfig = pkgs.writeTextFile {
name = "LocalSettings.php";
checkPhase = ''
${php}/bin/php --syntax-check "$target"
'';
text = ''
<?php
# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
exit;
}
$wgSitename = "${cfg.name}";
$wgMetaNamespace = false;
$wgSitename = "${cfg.name}";
$wgMetaNamespace = false;
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "${lib.optionalString (cfg.webserver == "nginx") "/w"}";
## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "${lib.optionalString (cfg.webserver == "nginx") "/w"}";
## The protocol and server name to use in fully-qualified URLs
$wgServer = "${cfg.url}";
## The protocol and server name to use in fully-qualified URLs
$wgServer = "${cfg.url}";
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
${lib.optionalString (cfg.webserver == "nginx") ''
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
''}
${lib.optionalString (cfg.webserver == "nginx") ''
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
''}
## The URL path to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
## The URL path to the logo. Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
## UPO means: this is also a user preference option
## UPO means: this is also a user preference option
$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO
$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO
$wgPasswordSender = "${cfg.passwordSender}";
$wgPasswordSender = "${cfg.passwordSender}";
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;
## Database settings
$wgDBtype = "${cfg.database.type}";
$wgDBserver = "${dbAddr}";
$wgDBport = "${toString cfg.database.port}";
$wgDBname = "${cfg.database.name}";
$wgDBuser = "${cfg.database.user}";
${optionalString (cfg.database.passwordFile != null) "$wgDBpassword = file_get_contents(\"${cfg.database.passwordFile}\");"}
## Database settings
$wgDBtype = "${cfg.database.type}";
$wgDBserver = "${dbAddr}";
$wgDBport = "${toString cfg.database.port}";
$wgDBname = "${cfg.database.name}";
$wgDBuser = "${cfg.database.user}";
${optionalString (cfg.database.passwordFile != null) "$wgDBpassword = file_get_contents(\"${cfg.database.passwordFile}\");"}
${optionalString (cfg.database.type == "mysql" && cfg.database.tablePrefix != null) ''
# MySQL specific settings
$wgDBprefix = "${cfg.database.tablePrefix}";
''}
${optionalString (cfg.database.type == "mysql" && cfg.database.tablePrefix != null) ''
# MySQL specific settings
$wgDBprefix = "${cfg.database.tablePrefix}";
''}
${optionalString (cfg.database.type == "mysql") ''
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
''}
${optionalString (cfg.database.type == "mysql") ''
# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
''}
## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];
## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];
${optionalString (cfg.uploadsDir != null) ''
$wgEnableUploads = true;
$wgUploadDirectory = "${cfg.uploadsDir}";
''}
${optionalString (cfg.uploadsDir != null) ''
$wgEnableUploads = true;
$wgUploadDirectory = "${cfg.uploadsDir}";
''}
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "${pkgs.imagemagick}/bin/convert";
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "${pkgs.imagemagick}/bin/convert";
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = true;
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = true;
## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale
$wgShellLocale = "C.UTF-8";
## If you use ImageMagick (or any other shell command) on a
## Linux server, this will need to be set to the name of an
## available UTF-8 locale
$wgShellLocale = "C.UTF-8";
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
$wgCacheDirectory = "${cacheDir}";
## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
$wgCacheDirectory = "${cacheDir}";
# Site language code, should be one of the list in ./languages/data/Names.php
$wgLanguageCode = "en";
# Site language code, should be one of the list in ./languages/data/Names.php
$wgLanguageCode = "en";
$wgSecretKey = file_get_contents("${stateDir}/secret.key");
$wgSecretKey = file_get_contents("${stateDir}/secret.key");
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "";
# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "";
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "";
$wgRightsText = "";
$wgRightsIcon = "";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff = "${pkgs.diffutils}/bin/diff";
$wgDiff3 = "${pkgs.diffutils}/bin/diff3";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff = "${pkgs.diffutils}/bin/diff";
$wgDiff3 = "${pkgs.diffutils}/bin/diff3";
# Enabled skins.
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadSkin('${k}');") cfg.skins)}
# Enabled skins.
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadSkin('${k}');") cfg.skins)}
# Enabled extensions.
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadExtension('${k}');") cfg.extensions)}
# Enabled extensions.
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadExtension('${k}');") cfg.extensions)}
# End of automatically generated settings.
# Add more configuration options below.
# End of automatically generated settings.
# Add more configuration options below.
${cfg.extraConfig}
'';
${cfg.extraConfig}
'';
};
withTrailingSlash = str: if lib.hasSuffix "/" str then str else "${str}/";
in
@@ -12,7 +12,7 @@ import subprocess
import sys
import warnings
import json
from typing import NamedTuple, Dict, List
from typing import NamedTuple, Any
from dataclasses import dataclass
# These values will be replaced with actual values during the package build
@@ -21,7 +21,7 @@ BOOT_MOUNT_POINT = "@bootMountPoint@"
LOADER_CONF = f"{EFI_SYS_MOUNT_POINT}/loader/loader.conf" # Always stored on the ESP
NIXOS_DIR = "@nixosDir@"
TIMEOUT = "@timeout@"
EDITOR = "@editor@" == "1"
EDITOR = "@editor@" == "1" # noqa: PLR0133
CONSOLE_MODE = "@consoleMode@"
BOOTSPEC_TOOLS = "@bootspecTools@"
DISTRO_NAME = "@distroName@"
@@ -38,17 +38,22 @@ class BootSpec:
init: str
initrd: str
kernel: str
kernelParams: List[str]
kernelParams: list[str] # noqa: N815
label: str
system: str
toplevel: str
specialisations: Dict[str, "BootSpec"]
sortKey: str
initrdSecrets: str | None = None
specialisations: dict[str, "BootSpec"]
sortKey: str # noqa: N815
initrdSecrets: str | None = None # noqa: N815
libc = ctypes.CDLL("libc.so.6")
FILE = None | int
def run(cmd: list[str], stdout: FILE = None) -> subprocess.CompletedProcess[str]:
return subprocess.run(cmd, check=True, text=True, stdout=stdout)
class SystemIdentifier(NamedTuple):
profile: str | None
generation: int
@@ -112,17 +117,20 @@ def get_bootspec(profile: str | None, generation: int) -> BootSpec:
boot_json_f = open(boot_json_path, 'r')
bootspec_json = json.load(boot_json_f)
else:
boot_json_str = subprocess.check_output([
f"{BOOTSPEC_TOOLS}/bin/synthesize",
"--version",
"1",
system_directory,
"/dev/stdout"],
universal_newlines=True)
boot_json_str = run(
[
f"{BOOTSPEC_TOOLS}/bin/synthesize",
"--version",
"1",
system_directory,
"/dev/stdout",
],
stdout=subprocess.PIPE,
).stdout
bootspec_json = json.loads(boot_json_str)
return bootspec_from_json(bootspec_json)
def bootspec_from_json(bootspec_json: Dict) -> BootSpec:
def bootspec_from_json(bootspec_json: dict[str, Any]) -> BootSpec:
specialisations = bootspec_json['org.nixos.specialisation.v1']
specialisations = {k: bootspec_from_json(v) for k, v in specialisations.items()}
systemdBootExtension = bootspec_json.get('org.nixos.systemd-boot', {})
@@ -157,7 +165,7 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
try:
if bootspec.initrdSecrets is not None:
subprocess.check_call([bootspec.initrdSecrets, f"{BOOT_MOUNT_POINT}%s" % (initrd)])
run([bootspec.initrdSecrets, f"{BOOT_MOUNT_POINT}%s" % (initrd)])
except subprocess.CalledProcessError:
if current:
print("failed to create initrd secrets!", file=sys.stderr)
@@ -192,13 +200,17 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
gen_list = subprocess.check_output([
f"{NIX}/bin/nix-env",
"--list-generations",
"-p",
"/nix/var/nix/profiles/%s" % ("system-profiles/" + profile if profile else "system")],
universal_newlines=True)
gen_lines = gen_list.split('\n')
gen_list = run(
[
f"{NIX}/bin/nix-env",
"--list-generations",
"-p",
"/nix/var/nix/profiles/%s"
% ("system-profiles/" + profile if profile else "system"),
],
stdout=subprocess.PIPE,
).stdout
gen_lines = gen_list.split("\n")
gen_lines.pop()
configurationLimit = CONFIGURATION_LIMIT
@@ -214,8 +226,8 @@ def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
def remove_old_entries(gens: list[SystemIdentifier]) -> None:
rex_profile = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + "/loader/entries/nixos-(.*)-generation-.*\.conf$")
rex_generation = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + "/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
rex_profile = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + r"/loader/entries/nixos-(.*)-generation-.*\.conf$")
rex_generation = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + r"/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
known_paths = []
for gen in gens:
bootspec = get_bootspec(gen.profile, gen.generation)
@@ -230,10 +242,10 @@ def remove_old_entries(gens: list[SystemIdentifier]) -> None:
gen_number = int(rex_generation.sub(r"\1", path))
except ValueError:
continue
if not (prof, gen_number, None) in gens:
if (prof, gen_number, None) not in gens:
os.unlink(path)
for path in glob.iglob(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}/*"):
if not path in known_paths and not os.path.isdir(path):
if path not in known_paths and not os.path.isdir(path):
os.unlink(path)
@@ -263,9 +275,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
# be there on newly installed systems, so let's generate one so that
# bootctl can find it and we can also pass it to write_entry() later.
cmd = [f"{SYSTEMD}/bin/systemd-machine-id-setup", "--print"]
machine_id = subprocess.run(
cmd, text=True, check=True, stdout=subprocess.PIPE
).stdout.rstrip()
machine_id = run(cmd, stdout=subprocess.PIPE).stdout.rstrip()
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
@@ -288,11 +298,20 @@ def install_bootloader(args: argparse.Namespace) -> None:
if os.path.exists(LOADER_CONF):
os.unlink(LOADER_CONF)
subprocess.check_call([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"] + bootctl_flags + ["install"])
run(
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"]
+ bootctl_flags
+ ["install"]
)
else:
# Update bootloader to latest if needed
available_out = subprocess.check_output([f"{SYSTEMD}/bin/bootctl", "--version"], universal_newlines=True).split()[2]
installed_out = subprocess.check_output([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}", "status"], universal_newlines=True)
available_out = run(
[f"{SYSTEMD}/bin/bootctl", "--version"], stdout=subprocess.PIPE
).stdout.split()[2]
installed_out = run(
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}", "status"],
stdout=subprocess.PIPE,
).stdout
# See status_binaries() in systemd bootctl.c for code which generates this
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
@@ -311,7 +330,11 @@ def install_bootloader(args: argparse.Namespace) -> None:
if installed_version < available_version:
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
subprocess.check_call([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"] + bootctl_flags + ["update"])
run(
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"]
+ bootctl_flags
+ ["update"]
)
os.makedirs(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}", exist_ok=True)
os.makedirs(f"{BOOT_MOUNT_POINT}/loader/entries", exist_ok=True)
@@ -362,7 +385,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
os.makedirs(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}/.extra-files", exist_ok=True)
subprocess.check_call(COPY_EXTRA_FILES)
run([COPY_EXTRA_FILES])
def main() -> None:
@@ -370,7 +393,7 @@ def main() -> None:
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help=f"The default {DISTRO_NAME} config to boot")
args = parser.parse_args()
subprocess.check_call(CHECK_MOUNTPOINTS)
run([CHECK_MOUNTPOINTS])
try:
install_bootloader(args)
+2
View File
@@ -78,6 +78,7 @@ in rec {
nginx
nodejs
openssh
opensshTest
php
postgresql
python
@@ -139,6 +140,7 @@ in rec {
"nixos.tests.simple"
"nixpkgs.jdk"
"nixpkgs.tests-stdenv-gcc-stageCompare"
"nixpkgs.opensshTest"
])
];
};
+1
View File
@@ -524,6 +524,7 @@ in {
lxd-image-server = handleTest ./lxd-image-server.nix {};
#logstash = handleTest ./logstash.nix {};
lomiri = handleTest ./lomiri.nix {};
lomiri-calculator-app = runTest ./lomiri-calculator-app.nix;
lomiri-filemanager-app = runTest ./lomiri-filemanager-app.nix;
lomiri-system-settings = handleTest ./lomiri-system-settings.nix {};
lorri = handleTest ./lorri/default.nix {};
+59
View File
@@ -0,0 +1,59 @@
{ pkgs, lib, ... }:
{
name = "lomiri-calculator-app-standalone";
meta.maintainers = lib.teams.lomiri.members;
nodes.machine =
{ config, pkgs, ... }:
{
imports = [ ./common/x11.nix ];
services.xserver.enable = true;
environment = {
systemPackages = with pkgs.lomiri; [
suru-icon-theme
lomiri-calculator-app
];
variables = {
UITK_ICON_THEME = "suru";
};
};
i18n.supportedLocales = [ "all" ];
fonts.packages = with pkgs; [
# Intended font & helps with OCR
ubuntu_font_family
];
};
enableOCR = true;
testScript = ''
machine.wait_for_x()
with subtest("lomiri calculator launches"):
machine.execute("lomiri-calculator-app >&2 &")
machine.wait_for_text("Calculator")
machine.screenshot("lomiri-calculator")
with subtest("lomiri calculator works"):
machine.send_key("tab") # Fix focus
machine.send_chars("22*16\n")
machine.wait_for_text("352")
machine.screenshot("lomiri-calculator_caninfactdobasicmath")
machine.succeed("pkill -f lomiri-calculator-app")
with subtest("lomiri calculator localisation works"):
machine.execute("env LANG=de_DE.UTF-8 lomiri-calculator-app >&2 &")
machine.wait_for_text("Rechner")
machine.screenshot("lomiri-calculator_localised")
# History of previous run should have loaded
with subtest("lomiri calculator history works"):
machine.wait_for_text("352")
'';
}
+27 -1
View File
@@ -74,6 +74,24 @@ in {
inherit (alacritty) meta;
})
# Polkit requests eventually time out.
# Keep triggering them until we signal detection success
(writeShellApplication {
name = "lpa-check";
text = ''
while [ ! -f /tmp/lpa-checked ]; do
pkexec echo a
done
'';
})
# Signal detection success
(writeShellApplication {
name = "lpa-signal";
text = ''
touch /tmp/lpa-checked
'';
})
];
};
@@ -201,7 +219,15 @@ in {
machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
machine.send_key("ctrl-c")
machine.send_key("alt-f4")
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
with subtest("polkit agent works"):
machine.send_chars("exec lpa-check\n")
machine.wait_for_text(r"(Elevated permissions|Login)")
machine.screenshot("polkit_agent")
machine.execute("lpa-signal")
# polkit test will quit terminal when agent request times out after OCR success
machine.wait_until_fails("pgrep -u ${user} -f lomiri-terminal-app")
# We want the ability to launch applications
with subtest("starter menu works"):
+3 -3
View File
@@ -17,12 +17,12 @@ import ../make-test-python.nix {
# Start the daemon and wait until it is ready
machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout")
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stderr")
# Ping the daemon
machine.succeed("lorri internal ping shell.nix")
machine.succeed("lorri internal ping --shell-file shell.nix")
# Wait for the daemon to finish the build
machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stdout")
machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stderr")
'';
}
+1 -1
View File
@@ -1,7 +1,7 @@
import ./make-test-python.nix ({ lib, ... }:
{
name = "nzbhydra2";
meta.maintainers = with lib.maintainers; [ jamiemagee ];
meta.maintainers = with lib.maintainers; [ matteopacini ];
nodes.machine = { pkgs, ... }: { services.nzbhydra2.enable = true; };
+4
View File
@@ -144,5 +144,9 @@ import ../make-test-python.nix ({ lib, pkgs, ... }:
logger.wait_until_succeeds(
"journalctl -o cat -u alertmanager-webhook-logger.service | grep '\"alertname\":\"InstanceDown\"'"
)
logger.log(logger.succeed("systemd-analyze security alertmanager-webhook-logger.service | grep -v ''"))
alertmanager.log(alertmanager.succeed("systemd-analyze security alertmanager.service | grep -v ''"))
'';
})
+2
View File
@@ -90,5 +90,7 @@ import ../make-test-python.nix ({ lib, pkgs, ... }:
"curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | "
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
)
pushgateway.log(pushgateway.succeed("systemd-analyze security pushgateway.service | grep -v ''"))
'';
})
+4 -4
View File
@@ -1,17 +1,17 @@
{ lib, stdenv, autoreconfHook, fetchFromGitHub, fdk_aac }:
{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, fdk_aac }:
stdenv.mkDerivation rec {
pname = "fdkaac";
version = "1.0.5";
version = "1.0.6";
src = fetchFromGitHub {
owner = "nu774";
repo = pname;
rev = "v${version}";
sha256 = "sha256-GYvI9T5Bv2OcK0hMAQE7/tE6ajDyqkaak66b3Hc0Fls=";
hash = "sha256-nVVeYk7t4+n/BsOKs744stsvgJd+zNnbASk3bAgFTpk=";
};
nativeBuildInputs = [ autoreconfHook ];
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ fdk_aac ];
@@ -1,7 +1,6 @@
{ python3Packages
, lib
, fetchFromGitHub
, perlPackages
, gettext
, gtk3
, gobject-introspection
@@ -35,6 +34,7 @@ python3Packages.buildPythonApplication rec {
wrapGAppsHook3
glib
gdk-pixbuf
gobject-introspection
];
buildInputs = [
@@ -45,7 +45,6 @@ python3Packages.buildPythonApplication rec {
python3Packages.setuptools
python3Packages.pygobject3
gtk3
gobject-introspection
librsvg
libayatana-appindicator
libpulseaudio
@@ -5,13 +5,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
version = "10.72";
version = "10.74";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${
builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
hash = "sha256-vtpQhCV1hkme69liTO13vz+kxpA3zJ+U1In/4z6qLbQ=";
hash = "sha256-AxRADWS5Ka62NLj6IqX5uF39mPxoWy+zQZQ7A2+DM7Y=";
stripRoot = false;
};
nativeBuildInputs = [
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mympd";
version = "16.0.0";
version = "16.0.1";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${finalAttrs.version}";
sha256 = "sha256-LYD1qjSlwv9wGBrZUaYz6Zcvl2n6cLi2aGycr4ZJWdY=";
sha256 = "sha256-MyVGWdc9ASWWW9CikK06bFYKi1DHyjFxFlMgBLdBwbU=";
};
nativeBuildInputs = [
+4 -4
View File
@@ -28,13 +28,13 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.17";
version = "7.18";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash = if stdenv.isDarwin then "sha256-4+8MhvQ1LhfyhFCOMBgD4HHt0Oaj25y2U04++JuXxCM=" else {
x86_64-linux = "sha256-q3oTKcFSNec10kT1FlDaf2GS967y38VLq9GsquwN2Lg=";
aarch64-linux = "sha256-5mxVkppm1SjC0C0SFI7uEdPWewNZXlrNAxbaFcNzzbU=";
hash = if stdenv.isDarwin then "sha256-ETvWq+71G4v25F/iUjP7NWJ0QkPMKn7akfBOA7EKzKg=" else {
x86_64-linux = "sha256-kddqIKgTTImbDIFtPqV/6YsnfNYsDPLhcelJIBC4R8s=";
aarch64-linux = "sha256-PNFSifZwH+VzfljyrlQZKZ+NEiiINXnVecOXgn1gY/Q=";
}.${stdenv.hostPlatform.system};
};
+4 -4
View File
@@ -45,7 +45,7 @@ in
stdenv.mkDerivation rec {
pname = "touchosc";
version = "1.3.3.207";
version = "1.3.4.209";
suffix = {
aarch64-linux = "linux-arm64";
@@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
hash = {
aarch64-linux = "sha256-peEO5haVHXvCT+F48UiKdgwuccqBuZACEXnepB4dcvY=";
armv7l-linux = "sha256-uQNoEye/Jd3T6pLJY2sN7hkTQl3AAilG5Vr9G61vFRM=";
x86_64-linux = "sha256-+/r9gRK8HyynlJ1syC2VQ6VboPEzsVNqEVrQfNLeEv0=";
aarch64-linux = "sha256-dAyZ/x6ZUYst+3Hz8RL4+FW1oeb+652Zndpqp0JnGgs=";
armv7l-linux = "sha256-ub+qcWrpv+LiXbEq6YQczJN1E4c2i/ZtKbh5e2PMuH0=";
x86_64-linux = "sha256-c8hPbJo4MUqS0Ev5QzLujJJB3hqN3KMsLVdKb6MKNts=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
@@ -22,14 +22,14 @@
stdenv.mkDerivation rec {
pname = "transcribe";
version = "9.40.0";
version = "9.41.0";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchzip
{
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
sha256 = "sha256-GHTr1rk7Kh5M0UYnryUlCk/G6pW3p80GJ6Ai0zXdfNs=";
sha256 = "sha256-qf5zfnl1Dhof08vJ9FNFr6qAz5Tk6z7lO1PuVcmRua0=";
}
else throw "Platform not supported";
@@ -106,6 +106,7 @@ stdenv.mkDerivation rec {
conventional music players.
'';
homepage = "https://www.seventhstring.com/xscribe/";
changelog = "https://www.seventhstring.com/xscribe/history.html";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ iwanb ];
@@ -17,8 +17,8 @@ let
sha256Hash = "sha256-84CpZfoAvJHUCO3ZBJqDbuz9xuGE/5xJfXoetJDXju8=";
};
latestVersion = {
version = "2024.1.2.7"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 7"
sha256Hash = "sha256-opoAKslh8DqS/iS5gw8AxX6x89t2BNX7yaU88XNd2kM=";
version = "2024.1.2.8"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 8"
sha256Hash = "sha256-2wqZV0UqZHprfUFvhWh0IdA9TQcwlZtWECZVwZ47ICc=";
};
in {
# Attributes are named by their corresponding release channels
+24 -24
View File
@@ -13,11 +13,11 @@
let
platform_major = "4";
platform_minor = "31";
platform_minor = "32";
year = "2024";
month = "03"; #release month
buildmonth = "02"; #sometimes differs from release month
timestamp = "${year}${buildmonth}290520";
month = "06"; #release month
buildmonth = "06"; #sometimes differs from release month
timestamp = "${year}${buildmonth}010610";
gtk = gtk3;
arch = if stdenv.hostPlatform.isx86_64 then
"x86_64"
@@ -43,8 +43,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-lZtU/IUNx2tc6TwCFQ5WS7cO/Gui2JpeknnL+Z/mBow=";
aarch64 = "sha256-iIUOiFp0uLOzwdqBV1txRhliaE2l1kbhGv1F6h0WO+w=";
x86_64 = "sha256-yMyigXPd6BhSiyoLTFQhBrHnatgXMw1BrH7xWfoT0Zo=";
aarch64 = "sha256-YZ1MhvXWcYRgQ4ZR/hXEWNKmYji/9PyKbdnm27i8Vjs=";
}.${arch};
};
};
@@ -58,8 +58,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-gdtDI9A+sUDAFsyqEmXuIkqgd/v1WF+Euj0TSWwjeL4=";
aarch64 = "sha256-kYa+8E5KLqHdumBQiIom3eG5rM/9TFZlJyyc7HpySes=";
x86_64 = "sha256-m2kcsQicvZcIHAP0zcOGYQjS4vdiTo62o1cfDpG4Ea8=";
aarch64 = "sha256-UuMfIO6jgMpAmtGihWdJZ7RwilBVdsCaPJH3tKdwyLY=";
}.${arch};
};
};
@@ -73,8 +73,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-5g4CAX2mu1i6aMqmbgy4R3Npk1IC/W73FrIZAQwgGCc=";
aarch64 = "sha256-KcfybNDyGglULKF3HF5v50mBs69FFryCMZ+oBtjBFiw=";
x86_64 = "sha256-dpsdjBfF83B8wGwoIsT4QW/n4Qo/w+n4mNYtILdCJKw=";
aarch64 = "sha256-kDPZJbrxEBhx/KI/9SqOtOOoMVWvYJqTLLgR9YPNH5A=";
}.${arch};
};
};
@@ -88,8 +88,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-yRJWSEg0TVWpgQBSS+y8/YrjdU3PSvJoruEUwjZcrLc=";
aarch64 = "sha256-Czm8nYAkVqS8gaowDp1LrJ31iE32d6klT6JvHekL52c=";
x86_64 = "sha256-vANUS1IbYrhrpNX095XIhpaHlZhTkZe894nhrDPndJc=";
aarch64 = "sha256-ykw9Og4D3hVfUvJlbtSDUB7iOmDJ9gPVTmpXlGZX304=";
}.${arch};
};
};
@@ -103,8 +103,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-PIvJeITqftd9eHhfbF+R+SQ+MXp4OmM5xi8ZDdUvXaI=";
aarch64 = "sha256-C04AICPcb9foEai3Nk4S4zxQ3oUv+i2tckwqDscpx7I=";
x86_64 = "sha256-ow4i9sDPQUAolzBymvucqpdZrn+bggxR6BD2RnyBVns=";
aarch64 = "sha256-XZY7MQr1cCToIlEXSltxWRZbHu1Ex0wzLvL1nUhuKhw=";
}.${arch};
};
};
@@ -135,8 +135,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-omsAZSlCvggTjoAPQt0oGqRUZwyt5H2LswGpFt88L+I=";
aarch64 = "sha256-wcrYVlL5x+Wve2MAgnEFQ4H3a/gc2y8Fr5TmwHU9p6A=";
x86_64 = "sha256-zb6/AMe7ArSw1mzPIvaSVeuNly6WO7pHQAuYUT8eGkk=";
aarch64 = "sha256-jgT3BpD04ELV2+WuRw1mbDw6S1SYDo7jfrijSNs8GLM=";
}.${arch};
};
};
@@ -150,8 +150,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-8WqHFLywYQXtzUGxBVstxGqVU55WHoApZnyZ6ur4XgU=";
aarch64 = "sha256-GlD0ykJbwdbzh1K3XQQ79yBhCJQUlmt2v8c2OMYNWp4=";
x86_64 = "sha256-fXfj0PImyd2nPUkaGvOu7BGAeIHkTocKH94oM/Vd+LU=";
aarch64 = "sha256-0EZXbngXIso8fS8bvSDPyRGCre2dF0+6wyldQ6GhGmo=";
}.${arch};
};
};
@@ -165,8 +165,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-K2uo2VVL6rP9kxicJRLzsJiOFKloLD0vInSon8JsUWg=";
aarch64 = "sha256-qeEQTlFeWBag6SLXoatDeviR/NG8EcTi6VyUo9P6STM=";
x86_64 = "sha256-YIoa837bbnqm/4wuwRfx+5UNxyQJySbTX+lhL/FluS0=";
aarch64 = "sha256-0hwKU29RJdjyaF4ot0OpXt/illOsx1n38nhK5zteQBk=";
}.${arch};
};
};
@@ -180,8 +180,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-Ko4NCU9jbkjAWY7Ky5tPlhXOnzkpY4GjPi6Z0CBmzzc=";
aarch64 = "sha256-RBT+xwdQcJh+YgsuCPTWy9MM2y45bhIF9DttPm6Qz+Q=";
x86_64 = "sha256-IFQkSOs0wk7chR9Ti3WG/7WDrXBWnaRH9AqC9jTmuT8=";
aarch64 = "sha256-iiS3hZWfinHYVhZsMntXQp+OgL7kcE/2jqx2JomBdIk=";
}.${arch};
};
};
@@ -195,8 +195,8 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha256-dWwDv8cfUxnU/24ASYLvSTbS3xV5ugG98jYMhAXTfS8=";
aarch64 = "sha256-+bAKFZ4u5PvCdC4Ifj5inppWb6C8wh0tar66qryx76o=";
x86_64 = "sha256-+U3wHbUgxkqWZjZyAXAqkZHeoNp+CwL1NBO4myDdJhE=";
aarch64 = "sha256-zDLt3lOqf2HyUP/oqbff6XupF2Vab7+gxpQriztunH4=";
}.${arch};
};
};
@@ -32,7 +32,7 @@ self: let
});
};
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
elpaBuild = import ../build-support/elpa.nix {
inherit lib stdenv texinfo writeText gcc;
inherit (self) emacs;
};
@@ -32,7 +32,7 @@ self: let
});
};
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
elpaBuild = import ../build-support/elpa.nix {
inherit lib stdenv texinfo writeText gcc;
inherit (self) emacs;
};
@@ -7,17 +7,17 @@
}:
let
rev = "99067dba625db3ac54ca4d3a3c811c41de207309";
rev = "a6c849619abcdd80dc82ec5417195414ad438fa3";
in
melpaBuild {
pname = "edraw";
version = "20240612.1012";
version = "20240701.444";
src = fetchFromGitHub {
owner = "misohena";
repo = "el-easydraw";
inherit rev;
hash = "sha256-32N8kXGFCvB6IHKwUsBGpdtAAf/p3nlq8mAdZrxLt0c=";
hash = "sha256-CbcI1mmghc3HObg80bjScVDcJ1DHx9aX1WP2HlhAshs=";
};
commit = rev;
@@ -7,8 +7,8 @@
let
pname = "ligo-mode";
version = "20230302.1616";
commit = "d1073474efc9e0a020a4bcdf5e0c12a217265a3a";
version = "1.7.1-unstable-2024-06-28";
commit = "a62dff504867c4c4d9e0047114568a6e6b1eb291";
in
melpaBuild {
inherit pname version commit;
@@ -17,7 +17,7 @@ melpaBuild {
owner = "ligolang";
repo = "ligo";
rev = commit;
hash = "sha256-wz9DF9mqi8WUt1Ebd+ueUTA314rKkdbjmoWF8cKuS8I=";
hash = "sha256-YnI2sZCE5rStWsQYY/D+Am1rep4UdK28rlmPMmJeY50=";
};
packageRequires = [ ];
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "lite-xl";
version = "2.1.4";
version = "2.1.5";
src = fetchFromGitHub {
owner = "lite-xl";
repo = "lite-xl";
rev = "v${version}";
hash = "sha256-TqrFI5TFb2hnnlHYUjLDUTDK3/Wgg1gOxIP8owLi/yo=";
hash = "sha256-awXcmYAvQUdFUr2vFlnBt8WTLrACREfB7J8HoSyVPTs=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
+2 -2
View File
@@ -19,11 +19,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "poke";
version = "4.1";
version = "4.2";
src = fetchurl {
url = "mirror://gnu/poke/poke-${finalAttrs.version}.tar.gz";
hash = "sha256-COyupB9zdKzUI44Su/l+jNXlctWRfpVrc7nUMCbp10A=";
hash = "sha256-iq825h42elMUDqQOJVnp7FEud5xCvuNOesJLNLoRm94=";
};
outputs = [ "out" "dev" "info" "lib" ]
@@ -10610,8 +10610,8 @@ final: prev:
src = fetchFromGitHub {
owner = "godlygeek";
repo = "tabular";
rev = "29a6b21dd991477a9e137fe8891947e2f2e8bb45";
sha256 = "0q76w0xj443fn5a22wksp14f3s55ll2xq0rbdaj37xdd8kddlg8s";
rev = "12437cd1b53488e24936ec4b091c9324cafee311";
sha256 = "1cnh21yhcn2f4fajdr2b6hrclnhf1sz4abra4nw7b5yk1mvfjq5a";
};
meta.homepage = "https://github.com/godlygeek/tabular/";
};
@@ -1167,11 +1167,16 @@
inherit (old) version src;
sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-ZBlxJjkHb2buvXK6VGP6FMnSFk8RUX7IgHjNofnGDAs=";
cargoHash = "sha256-SqbU9YwZ5pvdFUr7XBAkkfoqiLHI0JwJRwH7Wj1JDNg=";
preCheck = ''
mkdir tests/tmp/
'';
checkFlags = [
# Flaky test (https://github.com/nvim-pack/nvim-spectre/issues/244)
"--skip=tests::test_replace_simple"
];
};
in
{
@@ -389,8 +389,8 @@ let
mktplcRef = {
name = "astro-vscode";
publisher = "astro-build";
version = "2.8.3";
hash = "sha256-A6m31eZMlOHF0yr9MjXmsFyXgH8zmq6WLRd/w85hGw0=";
version = "2.10.2";
hash = "sha256-lmqbZnCpkNN+i877hURRkPuRtuxRKD29bDppGBAEMGs=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/astro-build.astro-vscode/changelog";
@@ -664,10 +664,14 @@ let
mktplcRef = {
name = "markdown-mermaid";
publisher = "bierner";
version = "1.17.7";
hash = "sha256-WKe7XxBeYyzmjf/gnPH+5xNOHNhMPAKjtLorYyvT76U=";
version = "1.23.1";
hash = "sha256-hYWSeBXhqMcMxs+Logl5zRs4MlzBeHgCC07Eghmp0OM=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-mermaid/changelog";
description = "Adds Mermaid diagram and flowchart support to VS Code's builtin markdown preview";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid";
homepage = "https://github.com/mjbvz/vscode-markdown-mermaid";
license = lib.licenses.mit;
};
};
@@ -775,8 +779,8 @@ let
mktplcRef = {
name = "vscode-tailwindcss";
publisher = "bradlc";
version = "0.11.30";
hash = "sha256-1CxyvQu7WQJw87sTcpnILztt1WeSpWOgij0dEIXebPU=";
version = "0.13.17";
hash = "sha256-hcFBMYfexNB7NMf3C7BQVTps1CBesEOxU3mW2cKXDHc=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bradlc.vscode-tailwindcss/changelog";
@@ -853,13 +857,15 @@ let
mktplcRef = {
name = "catppuccin-vsc";
publisher = "catppuccin";
version = "2.6.1";
hash = "sha256-B56b7PeuVnkxEqvd4vL9TYO7s8fuA+LOCTbJQD9e7wY=";
version = "3.14.0";
hash = "sha256-kNQFR1ghdFJF4XLWCFgVpeXCZ/XiHGr/O1iJyWTT3Bg=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc/changelog";
description = "Soothing pastel theme for VSCode";
license = lib.licenses.mit;
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc";
homepage = "https://github.com/catppuccin/vscode";
license = lib.licenses.mit;
maintainers = [ ];
};
};
@@ -867,14 +873,15 @@ let
mktplcRef = {
name = "catppuccin-vsc-icons";
publisher = "catppuccin";
version = "1.10.0";
hash = "sha256-6klrnMHAIr+loz7jf7l5EZPLBhgkJODFHL9fzl1MqFI=";
version = "1.13.0";
hash = "sha256-4gsblUMcN7a7UgoklBjc+2uiaSERq1vmi0exLht+Xi0=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc-icons/changelog";
description = "Soothing pastel icon theme for VSCode";
license = lib.licenses.mit;
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc-icons";
homepage = "https://github.com/catppuccin/vscode-icons";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.laurent-f1z1 ];
};
};
@@ -1279,8 +1286,8 @@ let
mktplcRef = {
name = "vscode-deno";
publisher = "denoland";
version = "3.17.0";
hash = "sha256-ETwpUrYbPXHSkEBq2oM1aCBwt9ItLcXMYc3YWjHLiJE=";
version = "3.38.0";
hash = "sha256-wmcMkX1gmFhE6JukvOI3fez05dP7ZFAZz1OxmV8uu4k=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog";
@@ -2064,8 +2071,8 @@ let
mktplcRef = {
name = "vscode-github-actions";
publisher = "github";
version = "0.26.2";
hash = "sha256-sEc6Fbn4XpK8vNK32R4fjnx/R+1xYOwcuhKlo7sPd5o=";
version = "0.26.3";
hash = "sha256-tHUpYK6RmLl1s1J+N5sd9gyxTJSNGT1Md/CqapXs5J4=";
};
meta = {
description = "Visual Studio Code extension for GitHub Actions workflows and runs for github.com hosted repositories";
@@ -2129,8 +2136,8 @@ let
mktplcRef = {
name = "Go";
publisher = "golang";
version = "0.40.0";
hash = "sha256-otAq6ul2l64zpRJdekCb7XZiE2vgpLUfM4NUdRPZX8w=";
version = "0.41.4";
hash = "sha256-ntrEI/l+UjzqGJmtyfVf/+sZJstZy3fm/PSWKTd7/Q0=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/golang.Go/changelog";
@@ -2177,8 +2184,8 @@ let
mktplcRef = {
name = "vscode-graphql-syntax";
publisher = "GraphQL";
version = "1.1.0";
hash = "sha256-qazU0UyZ9de6Huj2AYZqqBo4jVW/ZQmFJhV7XXAblxo=";
version = "1.3.6";
hash = "sha256-74Y/LpOhAj3TSplohhJqBwJDT87nCAiKrWsF90bc8jU=";
};
meta = {
description = "Adds full GraphQL syntax highlighting and language support such as bracket matching";
@@ -2779,8 +2786,8 @@ let
mktplcRef = {
name = "vscode-publint";
publisher = "Kravets";
version = "0.0.1";
hash = "sha256-6nG5Yqi8liumQ2K9ynV8mNXiXGaGo/cp4Cib1kqdp1c=";
version = "0.0.3";
hash = "sha256-1KVqfCVyCn5LJOdazp3W6FECRGOviVC4+FHn6vTn5DI=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Kravets.vscode-publint/changelog";
@@ -2987,10 +2994,14 @@ let
mktplcRef = {
name = "rainbow-csv";
publisher = "mechatroner";
version = "3.6.0";
hash = "sha256-bvxMnT6oSjflAwWQZkNnEoEsVlVg86T0TMYi8tNsbdQ=";
version = "3.12.0";
hash = "sha256-pnHaszLa4a4ptAubDUY+FQX3F6sQQUQ/sHAxyZsbhcQ=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/mechatroner.rainbow-csv/changelog";
description = "Rainbow syntax higlighting for CSV and TSV files in Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemname=mechatroner.rainbow-csv";
homepage = "https://github.com/mechatroner/vscode_rainbow_csv";
license = lib.licenses.mit;
};
};
@@ -3029,8 +3040,6 @@ let
};
};
mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { };
mhutchie.git-graph = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "git-graph";
@@ -5181,8 +5190,8 @@ let
mktplcRef = {
name = "pretty-ts-errors";
publisher = "yoavbls";
version = "0.5.3";
hash = "sha256-JSCyTzz10eoUNu76wNUuvPVVKq4KaVKobS1CAPqgXUA=";
version = "0.5.4";
hash = "sha256-SMEqbpKYNck23zgULsdnsw4PS20XMPUpJ5kYh1fpd14=";
};
meta = {
description = "Make TypeScript errors prettier and human-readable in VSCode";
@@ -5353,6 +5362,7 @@ let
jakebecker.elixir-ls = throw "jakebecker.elixir-ls is deprecated in favor of elixir-lsp.vscode-elixir-ls"; # Added 2024-05-29
jpoissonnier.vscode-styled-components = throw "jpoissonnier.vscode-styled-components is deprecated in favor of styled-components.vscode-styled-components"; # Added 2024-05-29
matklad.rust-analyzer = throw "matklad.rust-analyzer is deprecated in favor of rust-lang.rust-analyzer"; # Added 2024-05-29
mgt19937.typst-preview = throw "The features of 'typst-preview' have been consolidated to 'tinymist', an all-in-one language server for typst"; # Added 2024-07-07
ms-vscode.go = throw "ms-vscode.go is deprecated in favor of golang.go"; # Added 2024-05-29
ms-vscode.PowerShell = throw "ms-vscode.PowerShell is deprecated in favor of super.ms-vscode.powershell"; # Added 2024-05-29
rioj7.commandOnAllFiles = throw "rioj7.commandOnAllFiles is deprecated in favor of rioj7.commandonallfiles"; # Added 2024-05-29
@@ -28,6 +28,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
homepage = "https://github.com/qjebbs/vscode-plantuml";
changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.victormignot ];
maintainers = [ ];
};
}
@@ -1,38 +0,0 @@
# Keep pkgs/by-name/ty/typst-preview/package.nix in sync with this extension
{
vscode-utils,
lib,
jq,
moreutils,
typst-preview,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "typst-preview";
publisher = "mgt19937";
version = "0.11.7";
hash = "sha256-70dVGoSBDKCtvn7xiC/gAh4OQ8nNDiI/M900r2zlOfU=";
};
buildInputs = [ typst-preview ];
nativeBuildInputs = [
jq
moreutils
];
postInstall = ''
cd "$out/$installPrefix"
jq '.contributes.configuration.properties."typst-preview.executable".default = "${lib.getExe typst-preview}"' package.json | sponge package.json
'';
meta = {
description = "Typst Preview is an extension for previewing your Typst files in vscode instantly";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=mgt19937.typst-preview";
homepage = "https://github.com/Enter-tainer/typst-preview-vscode";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.drupol ];
};
}
@@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
name = "tinymist";
publisher = "myriad-dreamin";
inherit (tinymist) version;
hash = "sha256-rRopyjZsQ3N/qPE/r+0ZLfNqcYYMrcY124H3kSx4loE=";
hash = "sha256-e/7HAvaohATDet7ynYc34e5cbOzBL5Rcjvimggs68c4=";
};
nativeBuildInputs = [
@@ -49,12 +49,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pixinsight";
version = "1.8.9-3";
version = "1.8.9-3-20240625";
src = requireFile rec {
name = "PI-linux-x64-${finalAttrs.version}-20240619-c.tar.xz";
name = "PI-linux-x64-${finalAttrs.version}-c.tar.xz";
url = "https://pixinsight.com/";
hash = "sha256-WZrD+X7zE1i29+YsGJ+wbIXmlVon9bczHvvRAkQXz6M=";
hash = "sha256-jqp5pt+fC7QvENCwRjr7ENQiCZpwNhC5q76YdzRBJis=";
message = ''
PixInsight is available from ${url} and requires a commercial (or trial) license.
After a license has been obtained, PixInsight can be downloaded from the software distribution
+3 -3
View File
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cobalt";
version = "0.19.3";
version = "0.19.5";
src = fetchFromGitHub {
owner = "cobalt-org";
repo = "cobalt.rs";
rev = "v${version}";
sha256 = "sha256-aAhceExz5SENL+FhPHyx8HmaNOWjNsynv81Rj2cS5M8=";
sha256 = "sha256-a9fo6qSLTVK6vC40nKwrpCvEvw1iIxQFmngkA3ttAdQ=";
};
cargoHash = "sha256-vw7fGsTSEVO8s1LzilKJN5lGzOfQcms1h7rnTOyE4Kw=";
cargoHash = "sha256-vr4G0L74qzsjpPKteV7wrW+pJGmbUVDLyc9MhSB1HfQ=";
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
@@ -1,8 +1,8 @@
{ lib, stdenv, appimageTools, fetchurl, makeWrapper, undmg }:
{ lib, stdenv, appimageTools, fetchurl, makeWrapper, _7zz }:
let
pname = "joplin-desktop";
version = "2.14.17";
version = "3.0.12";
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
@@ -16,9 +16,9 @@ let
src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}${suffix}";
sha256 = {
x86_64-linux = "sha256-u4wEchyljurmwVZsRnmUBITZUR6SxDxyGczZjXNsJkg=";
x86_64-darwin = "sha256-KjNwAnJZGX/DvHDPw15vGlSbJ47s6YT59EalARt1mx4=";
aarch64-darwin = "sha256-OYpsHPI+7riMVNAp2JpBlmdFdJUSNqNvBmeYHDw6yzY=";
x86_64-linux = "sha256-vMz+ZeBHP+9Ugy8KO8lbp8zqC8VHtf1TWw10YytQFSs=";
x86_64-darwin = "sha256-XZN1jTv/FhJXuFxZ6D6h/vFMdKi84Z9UWfj2CrMgBBA=";
aarch64-darwin = "sha256-lsODOBkZ4+x5D6Er2/paTzAMKZvqIBVkKrWHh5iRvrk=";
}.${system} or throwSystem;
};
@@ -39,7 +39,7 @@ let
homepage = "https://joplinapp.org";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ hugoreeves qjoly ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin"];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
};
linux = appimageTools.wrapType2 rec {
@@ -64,7 +64,7 @@ let
darwin = stdenv.mkDerivation {
inherit pname version src meta;
nativeBuildInputs = [ undmg ];
nativeBuildInputs = [ _7zz ];
sourceRoot = "Joplin.app";
+2 -1
View File
@@ -157,8 +157,9 @@ python3.pkgs.buildPythonApplication rec {
--replace '"killall",' '"${procps}/bin/pkill", "-x",'
'';
# setuptools to get distutils with python 3.12
installPhase = ''
${python3.interpreter} setup.py install --prefix="$out"
${(python3.withPackages (p: [ p.setuptools ])).interpreter} setup.py install --prefix="$out"
cp onboard-default-settings.gschema.override.example $out/share/glib-2.0/schemas/10_onboard-default-settings.gschema.override
glib-compile-schemas $out/share/glib-2.0/schemas/
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
install -Dm755 stepreduce $out/bin/stepreduce
runHook prostInstall
runHook postInstall
'';
meta = with lib; {
+13 -4
View File
@@ -4,9 +4,10 @@
, nix-update-script
, imagemagick
, makeWrapper
, installShellFiles
}:
let
version = "2.10.0";
version = "3.0.0-beta";
in
rustPlatform.buildRustPackage {
pname = "wallust";
@@ -17,12 +18,20 @@ rustPlatform.buildRustPackage {
owner = "explosion-mental";
repo = "wallust";
rev = version;
hash = "sha256-0kPmr7/2uVncpCGVOeIkYlm2M0n9+ypVl7bQ9HnqLb4=";
hash = "sha256-gGyxRdv2I/3TQWrTbUjlJGsaRv4SaNE+4Zo9LMWmxk8";
};
cargoHash = "sha256-p1NKEppBYLdCsTY7FHPzaGladLv5HqIVNJxSoFJOx50=";
cargoHash = "sha256-dkHS8EOzmn5VLiKP3SMT0ZGAsk2wzvQeioG7NuGGUzA=";
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper installShellFiles ];
postInstall = ''
installManPage man/wallust*
installShellCompletion --cmd wallust \
--bash completions/wallust.bash \
--zsh completions/_wallust \
--fish completions/wallust.fish
'';
postFixup = ''
wrapProgram $out/bin/wallust \
@@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "helm-git";
version = "0.16.1";
version = "0.17.0";
src = fetchFromGitHub {
owner = "aslafy-z";
repo = pname;
rev = "v${version}";
sha256 = "sha256-XM51pbi3BZWzdGEiQAbGlZcMJYjLEeIiexqlmSR0+AI=";
sha256 = "sha256-vzDSuWaq3ShKz1ckv3BxQtu8tR3QKl0xhcO5IZDbgps=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubelogin";
version = "0.1.3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "Azure";
repo = pname;
rev = "v${version}";
sha256 = "sha256-5Y+xu84iNVFkrBc1qoTg8vMswvlflF9SobMy/Aw4mCA=";
sha256 = "sha256-DRXvnIOETNlZ50oa8PbLSwmq6VJJcerUe1Ir7s4/7Kw=";
};
vendorHash = "sha256-sVySHSj8vJEarQlhAR3vLdgysJNbmA2IAZ3ET2zRyAM=";
vendorHash = "sha256-K/GfRJ0KbizsVmKa6V3/ZLDKivJttEsqA3Q84S0S4KI=";
ldflags = [
"-X main.version=${version}"
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "kubeone";
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "kubermatic";
repo = "kubeone";
rev = "v${version}";
hash = "sha256-BYfnHgTiHMmKdW25XymP2nDYQDOEHSIUOjrtwaoc1JU=";
hash = "sha256-P/x6HigXnAhpUnycm9B8TO33hdPzREiM8kwL+/GedZY=";
};
vendorHash = "sha256-tAThtZJ5DRzveJRG58VPxJWrZjB+dnXhX/50lZEHUGc=";
@@ -15,17 +15,17 @@
buildGoModule rec {
inherit pname;
version = "2.7.3";
version = "2.8.0";
tags = lib.optionals enableGateway [ "gateway" ];
src = fetchFromGitHub {
owner = "kumahq";
repo = "kuma";
rev = version;
hash = "sha256-b3qQ3lFaQvkmP3HYPwQi2TxSeKmWzGbp01OCnjULJ4k=";
hash = "sha256-RMgokVN/VTri7LiPwHX/elR2oEal9pzEkzSy0tUJMsU=";
};
vendorHash = "sha256-ne62twZXac5GfQ8JcWElIMqc+Vpvn0Y9XSNgAtF62q0=";
vendorHash = "sha256-FEdDOpz6C89OlzU3Pl4Uu6P0WgM4QsuccQ9vAHnb4xI=";
# no test files
doCheck = false;
@@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "24.6.4";
sha256 = "0pic9jncnal93g4kd8c02yl00jm0s11rax3bzz37l0iljjppxr6c";
vendorHash = "sha256-oNEXVyNvdDsEws+8WklYxpxeTOykLEvmvyY8FAIB6HU=";
version = "24.7.1";
sha256 = "0l4ni88xzh5yylb0m9mn32wiqs3fbiqzz4ll54f9zh72ff89bpjb";
vendorHash = "sha256-q43WqEBQAtcLikqDwxkMPdVDQOCZ5x7SMmIKsmuDWa4=";
}
@@ -17,16 +17,16 @@ let
tctl-next = buildGoModule rec {
pname = "tctl-next";
version = "0.13.0";
version = "0.13.1";
src = fetchFromGitHub {
owner = "temporalio";
repo = "cli";
rev = "v${version}";
hash = "sha256-2zk+B+GomLZwep5LNRpWJj8JjFC0OxAl1XhAv+8b2kc=";
hash = "sha256-bh0UsXA5yHtvP9femOwEzVzmu1VLz2uZwoIHL/kI7kM=";
};
vendorHash = "sha256-NLteuVOswIw2ModdE0Ak4XmApkHLoYDt6SDAZGsgwBk=";
vendorHash = "sha256-ziCJG722c32QAh9QmoC2E7TcLiC2InKwfdC9mkanTsU=";
inherit overrideModAttrs;
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "deck";
version = "1.38.1";
version = "1.39.2";
src = fetchFromGitHub {
owner = "Kong";
repo = "deck";
rev = "v${version}";
hash = "sha256-9n8XAeSZn2HD8Vg2B8YmBUQ+VPBglgjN+QjrSOgn65Y=";
hash = "sha256-8Z2JBxVUoJKzxdMvyZg5SxHyIFW9lyA71GU7R6S27Rs=";
};
nativeBuildInputs = [ installShellFiles ];
@@ -21,7 +21,7 @@ buildGoModule rec {
];
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-2lR2/jHOFmKm3s+EPNRFLlgJHIs+33YDt1YeHBWRin0=";
vendorHash = "sha256-SXpY6FokcrxWZu0LybGKN3tw8GwbntV3ZQ+T2dhGDqY=";
postInstall = ''
installShellCompletion --cmd deck \
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "alfaview";
version = "9.12.0";
version = "9.13.0";
src = fetchurl {
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
hash = "sha256-nzSgJrlTRN4LDcdjvCIBwjBJTRRoch376R4PIbvcajQ=";
hash = "sha256-ENd3ozRi47vszgHZIX63nQu7wZz6Zf4HdmCsNvkcLOo=";
};
nativeBuildInputs = [
@@ -10,10 +10,10 @@
}:
let
pname = "beeper";
version = "3.106.2";
version = "3.107.2";
src = fetchurl {
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.106.2-build-240604xwl5q01pr-x86_64.AppImage";
hash = "sha256-WbAWJJzk58UVmRN3RHmU/V6zPiLWAb7m7hns4gmP55M=";
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.107.2-build-240624c0qmp116e-x86_64.AppImage";
hash = "sha256-DFzPPVw8OCM7K6COQcC68ZntEZiqBW58IpiD4rpgguc=";
};
appimage = appimageTools.wrapType2 {
inherit version pname src;
@@ -48,23 +48,23 @@ let
# and often with different versions. We write them on three lines
# like this (rather than using {}) so that the updater script can
# find where to edit them.
versions.aarch64-darwin = "6.1.0.35886";
versions.x86_64-darwin = "6.1.0.35886";
versions.x86_64-linux = "6.1.0.198";
versions.aarch64-darwin = "6.1.1.36333";
versions.x86_64-darwin = "6.1.1.36333";
versions.x86_64-linux = "6.1.1.443";
srcs = {
aarch64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
name = "zoomusInstallerFull.pkg";
hash = "sha256-jAH/3r2AM8WAzfHE8CvKBrr53sM/9DH624C+EiJIdXs=";
hash = "sha256-CBBJAa7hnz0I2ctEn7DMdzeXEs4x+aEmEr+L42ddqXE=";
};
x86_64-darwin = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
hash = "sha256-nKJPZQbyVG+P974hP4+4eAtupEQOf5Kl64Zp+jV/Ka0=";
hash = "sha256-CHtyL/BdyBVCQOGWjP0H/5GJiq67hPNQxELlvzzUuts=";
};
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
hash = "sha256-R4f0dnwqkODFeo8mPBecAI/AGQLwYkcNtJq6UVXCPfI=";
hash = "sha256-2FOAZ3MKusouuWvhxFEcqX+2e+PCF4N5zaz7mc9Mnq4=";
};
};
@@ -10,14 +10,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "pyrosimple";
version = "2.13.0";
version = "2.14.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "kannibalox";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-e69e1Aa10/pew1UZBCIPIH3BK7I8C3HiW59fRuSZlkc=";
hash = "sha256-lEtyt7i8MyL2VffxNFQkL9RkmGeo6Nof0AOQwf6BUSE=";
};
pythonRelaxDeps = [
@@ -33,14 +33,14 @@ let
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-yShTvGcmWwa5bhZP0QYgDtOvTAdnWsFTBnHB309ya/s=";
x86_64-linux = "sha256-u5vVM8qLm9m6VMmCV2Q3VrsqorIyOPrFCPXNh1s5mgY=";
}.${system} or throwSystem;
displayname = "XPipe";
in stdenvNoCC.mkDerivation rec {
pname = "xpipe";
version = "10.0";
version = "10.0.4";
src = fetchzip {
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
@@ -7,13 +7,13 @@
let
pname = "mendeley";
version = "2.117.0";
version = "2.118.0";
executableName = "${pname}-reference-manager";
src = fetchurl {
url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-${version}-x86_64.AppImage";
hash = "sha256-1Gwgb0oUtIjZX0f/HJmA5ihwurq9RlpMMLrTaDav0SM=";
hash = "sha256-JzA6JmjxqZC2K51NozlYeTmZkzT5OTRF3WVGY4Wrfgo=";
};
appimageContents = appimageTools.extractType2 {
+2 -2
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.36.0";
version = "0.37.0";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-YbjtN08zEj8rlRDC5tS/JsBOH70DV98wmL6pFQTehgg=";
hash = "sha256-OXE+8e8Wr2EETEfdDaI/fb+SSsRhippqPzTXTlwLP4c=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -52,13 +52,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sdrangel";
version = "7.21.3";
version = "7.21.4";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
rev = "v${finalAttrs.version}";
hash = "sha256-TeQteQ+RAnG1J0m4BEYJCrALkfplz3gO5IBi0GxTWmI=";
hash = "sha256-GINgI4u87Ns4/5aUWpeJaokb+3Liwjjibr02NGcF10c=";
};
nativeBuildInputs = [
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
homepage = "https://systemc.org/";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ victormignot amiloradovsky ];
maintainers = with maintainers; [ amiloradovsky ];
};
}
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "msieve";
version = "r1050";
version = "1056";
src = fetchsvn {
url = "svn://svn.code.sf.net/p/msieve/code/trunk";
rev = "1050";
hash = "sha256-cn6OhE4zhrpB7BFrRdOnucjATbfo5mLkK7O0Usx1quE=";
rev = version;
hash = "sha256-6ErVn4pYPMG5VFjOQURLsHNpN0pGdp55+rjY8988onU=";
};
buildInputs = [ zlib gmp ecm ];
+10 -2
View File
@@ -1,6 +1,6 @@
{ lib
, callPackage
, python3
, python311
, fetchFromGitHub
, fetchurl
, fetchpatch2
@@ -23,7 +23,7 @@ let
inherit version src;
};
python = python3.override {
python = python311.override {
packageOverrides = self: super: {
pydantic = super.pydantic_1;
@@ -71,6 +71,14 @@ python.pkgs.buildPythonApplication rec {
url = "https://github.com/blakeblackshear/frigate/commit/b65656fa8733c1c2f3d944f716d2e9493ae7c99f.patch";
hash = "sha256-taPWFV4PldBGUKAwFMKag4W/3TLMSGdKLYG8bj1Y5mU=";
})
(fetchpatch2 {
# https://github.com/blakeblackshear/frigate/pull/10097
name = "frigate-secrets-permissionerror.patch";
url = "https://github.com/blakeblackshear/frigate/commit/a1424bad6c0163e790129ade7a9784514d0bf89d.patch";
hash = "sha256-/kIy4aW9o5AKHJQfCDVY46si+DKaUb+CsZsCGIbXvUQ=";
})
# https://github.com/blakeblackshear/frigate/pull/12324
./mpl-3.9.0.patch
];
postPatch = ''
@@ -0,0 +1,42 @@
From fba8cff13186bd80ceaa06806392957598139deb Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Sun, 7 Jul 2024 14:23:29 +0200
Subject: [PATCH] Fix colormap usage with matplotlib 3.9.0
The mpl.cm toplevel registration has been removed.
https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.9.0.html#top-level-cmap-registration-and-access-functions-in-mpl-cm
---
frigate/config.py | 2 +-
frigate/detectors/detector_config.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frigate/config.py b/frigate/config.py
index 2e8b2570..af4f3263 100644
--- a/frigate/config.py
+++ b/frigate/config.py
@@ -807,7 +807,7 @@ class CameraConfig(FrigateBaseModel):
def __init__(self, **config):
# Set zone colors
if "zones" in config:
- colors = plt.cm.get_cmap("tab10", len(config["zones"]))
+ colors = plt.colormaps["tab10"].resampled(len(config["zones"]))
config["zones"] = {
name: {**z, "color": tuple(round(255 * c) for c in colors(idx)[:3])}
for idx, (name, z) in enumerate(config["zones"].items())
diff --git a/frigate/detectors/detector_config.py b/frigate/detectors/detector_config.py
index 7fc958a3..b65631eb 100644
--- a/frigate/detectors/detector_config.py
+++ b/frigate/detectors/detector_config.py
@@ -125,7 +125,7 @@ class ModelConfig(BaseModel):
def create_colormap(self, enabled_labels: set[str]) -> None:
"""Get a list of colors for enabled labels."""
- cmap = plt.cm.get_cmap("tab10", len(enabled_labels))
+ cmap = plt.colormaps["tab10"].resampled(len(enabled_labels))
for key, val in enumerate(enabled_labels):
self._colormap[val] = tuple(int(round(255 * c)) for c in cmap(key)[:3])
--
2.45.1
+3 -82
View File
@@ -1,39 +1,16 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, zlib }:
{ lib, stdenv, fetchFromGitHub, pkg-config, zlib }:
stdenv.mkDerivation rec {
version = "2.2.1";
pname = "gpac";
version = "2.4.0";
src = fetchFromGitHub {
owner = "gpac";
repo = "gpac";
rev = "v${version}";
hash = "sha256-VjA1VFMsYUJ8uJqhYgjXYtqlGWSJHr16Ck3b5stuZWw=";
hash = "sha256-RADDqc5RxNV2EfRTzJP/yz66p0riyn81zvwU3r9xncM=";
};
patches = [
(fetchpatch {
name = "CVE-2023-2837.patch";
url = "https://github.com/gpac/gpac/commit/6f28c4cd607d83ce381f9b4a9f8101ca1e79c611.patch";
hash = "sha256-HA6qMungIoh1fz1R3zUvV1Ahoa2pp861JRzYY/NNDQI=";
})
(fetchpatch {
name = "CVE-2023-2838.patch";
url = "https://github.com/gpac/gpac/commit/c88df2e202efad214c25b4e586f243b2038779ba.patch";
hash = "sha256-gIISG7pz01iVoWqlho2BL27ki87i3pGkug2Z+KKn+xs=";
})
(fetchpatch {
name = "CVE-2023-2839.patch";
url = "https://github.com/gpac/gpac/commit/047f96fb39e6bf70cb9f344093f5886e51dce0ac.patch";
hash = "sha256-i+/iFrWJ+Djc8xYtIOYvlZ98fYUdJooqUz9y/uhusL4=";
})
(fetchpatch {
name = "CVE-2023-2840.patch";
url = "https://github.com/gpac/gpac/commit/ba59206b3225f0e8e95a27eff41cb1c49ddf9a37.patch";
hash = "sha256-mwO9Qeeufq0wa57lO+LgWGjrN3CHMYK+xr2ZBalKBQo=";
})
];
# this is the bare minimum configuration, as I'm only interested in MP4Box
# For most other functionality, this should probably be extended
nativeBuildInputs = [ pkg-config ];
@@ -60,61 +37,5 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21;
maintainers = with maintainers; [ bluescreen303 mgdelacroix ];
platforms = platforms.linux;
knownVulnerabilities = [
"CVE-2023-48958"
"CVE-2023-48090"
"CVE-2023-48039"
"CVE-2023-48014"
"CVE-2023-48013"
"CVE-2023-48011"
"CVE-2023-47465"
"CVE-2023-47384"
"CVE-2023-46932"
"CVE-2023-46931"
"CVE-2023-46930"
"CVE-2023-46928"
"CVE-2023-46927"
"CVE-2023-46871"
"CVE-2023-46001"
"CVE-2023-42298"
"CVE-2023-41000"
"CVE-2023-39562"
"CVE-2023-37767"
"CVE-2023-37766"
"CVE-2023-37765"
"CVE-2023-37174"
"CVE-2023-23143"
"CVE-2023-5998"
"CVE-2023-5595"
"CVE-2023-5586"
"CVE-2023-5520"
"CVE-2023-5377"
"CVE-2023-4778"
"CVE-2023-4758"
"CVE-2023-4756"
"CVE-2023-4755"
"CVE-2023-4754"
"CVE-2023-4722"
"CVE-2023-4721"
"CVE-2023-4720"
"CVE-2023-4683"
"CVE-2023-4682"
"CVE-2023-4681"
"CVE-2023-4678"
"CVE-2023-3523"
"CVE-2023-3291"
"CVE-2023-3013"
"CVE-2023-3012"
"CVE-2023-1655"
"CVE-2023-1654"
"CVE-2023-1452"
"CVE-2023-1449"
"CVE-2023-1448"
"CVE-2023-0866"
"CVE-2023-0841"
"CVE-2023-0819"
"CVE-2023-0818"
"CVE-2023-0817"
];
};
}
@@ -2,13 +2,13 @@
buildKodiBinaryAddon rec {
pname = "pvr-hts";
namespace = "pvr.hts";
version = "21.2.3";
version = "21.2.4";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "${version}-${rel}";
sha256 = "sha256-4jHcUjGarLHsn5CjBLWB1wQNjBBw4ftMuDY5uFAHAzY=";
sha256 = "sha256-3q78rJ+LGRD/pqeWfcP2Z469HAu1T0LoidvD6mjNkwg=";
};
meta = with lib; {
@@ -8,12 +8,12 @@
buildLua rec {
pname = "manga-reader";
version = "0-unstable-2024-03-17";
version = "0-unstable-2024-07-05";
src = fetchFromGitHub {
owner = "Dudemanguy";
repo = "mpv-manga-reader";
rev = "6b65d98be7d20c8e272a4caa6c5018ed3a8bb2b3";
hash = "sha256-54n513lpn1KCErXJHqL+GKdDE1P52LolS6xDott/epY=";
rev = "fb06931eed4092fa74a98266cd04fa507ea63e13";
hash = "sha256-xtzDHv+zW/9LsLWo4Km7OQ05BVJlwqu9461i9ee94lM=";
};
passthru.updateScript = unstableGitUpdater { };
@@ -7,12 +7,12 @@
python3Packages.buildPythonApplication rec {
pname = "streamlink";
version = "6.8.1";
version = "6.8.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-TEN++sKCtN8CZRnyBp4niRFlb+LPSNcyMCu9Rm+GOZ0=";
hash = "sha256-nBtm8CRyeicPrwAm1xp+Y6vdiPEClXyhUsDSYgcXvJg=";
};
patches = [
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.24.1";
version = "1.24.4";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-niKz+F1RJtZrE8+BaJwy5bjGS3miJf5C9LttTnC+iuk=";
sha256 = "sha256-Jc8JU2tUc411AIeu6/ovN22s0ZR+vmn/I1yWhUEglrY=";
};
cargoHash = "sha256-fzG53DqZKgW6Gen+0ZO9lxgPXkxw7S6OdZWNNI+y9hU=";
cargoHash = "sha256-+bBQ3y66np7P5+FmsRTULX0VrtKrmNgGbyCFK+4vlIs=";
# skip test due FHS dependency
doCheck = false;
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, wayland-scanner
@@ -33,6 +34,15 @@ stdenv.mkDerivation (self: {
hash = "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8=";
};
patches = [
# TODO: remove on next upgrade
(fetchpatch {
name = "fix-compilation-pipewire-1.2.0.patch";
url = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/commit/c5b30938710d6c599f3f5cd99a3ffac35381fb0f.patch";
hash = "sha256-f9OgW9tLuGuHXYH6bR1Y+CEuBPHOhRiHfEPebJzlwK8=";
})
];
nativeBuildInputs = [
cmake
pkg-config
@@ -21,12 +21,12 @@
stdenv.mkDerivation rec {
pname = "phosh-mobile-settings";
version = "0.38.0";
version = "0.39.0";
src = fetchurl {
# This tarball includes the meson wrapped subproject 'gmobile'.
url = "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
hash = "sha256-WDqgVsJx5y6IlWII9fRBsAeWn/tB8BaXRtlPvA0wmMk=";
hash = "sha256-9vN4IqGoRHDJQYohycrrSj4ITJHHaSNgPjpEjRCCvUw=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -7,7 +7,7 @@
telegram-desktop.overrideAttrs (old: rec {
pname = "64gram";
version = "1.1.29";
version = "1.1.30";
src = fetchFromGitHub {
owner = "TDesktop-x64";
@@ -15,7 +15,7 @@ telegram-desktop.overrideAttrs (old: rec {
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-OJiVmmDIsijK/IHGEdsCoAwvc9JlSth+76r9O1aJbd0=";
hash = "sha256-TcgQcIv88oBViTyk47r9jstNTYWnql+oXHfZePKgMHU=";
};
passthru.updateScript = nix-update-script {};
+3 -3
View File
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ab-av1";
version = "0.7.14";
version = "0.7.15";
src = fetchFromGitHub {
owner = "alexheretic";
repo = "ab-av1";
rev = "v${version}";
hash = "sha256-cDabGXNzusVnp4exINqUitEL1HnzSgpcRtYXU5pSRhY=";
hash = "sha256-s1hE+/fj73xxHqBQ7Q295vYBGzdCeHj0odn+EPFrS6E=";
};
cargoHash = "sha256-sW/673orvK+mIUqTijpNh4YGd9ZrgSveGT6F1O5OYfI=";
cargoHash = "sha256-0Fi9b5TQeVHw8MfLdIhLybb4ppRVcPqRQz1oR+AIGY0=";
nativeBuildInputs = [ installShellFiles ];
@@ -4,7 +4,7 @@
, ncurses
, notmuch
, scdoc
, python3
, python3Packages
, w3m
, dante
, gawk
@@ -12,21 +12,21 @@
buildGoModule rec {
pname = "aerc";
version = "0.17.0";
version = "0.18.0";
src = fetchFromSourcehut {
owner = "~rjarry";
repo = "aerc";
rev = version;
hash = "sha256-XpVUUAtm6o4DXIouTKRX/8mLERb/4nA+VUGeB21mfjE=";
hash = "sha256-azIgf9kv4Pg8BW1j56D2Ta1DIQNHC9Mql3tebp+MLSY=";
};
proxyVendor = true;
vendorHash = "sha256-AHEhIWa6PP8f+hhIdY+0brLF2HYhvTal7qXfCwG9iyo=";
vendorHash = "sha256-BQ36LJFo9bQNQdwb/vygksk3ih/tVaMwfWT1f31bsbY=";
nativeBuildInputs = [
scdoc
python3.pkgs.wrapPython
python3Packages.wrapPython
];
patches = [
@@ -45,10 +45,10 @@ buildGoModule rec {
makeFlags = [ "PREFIX=${placeholder "out"}" ];
pythonPath = [
python3.pkgs.vobject
python3Packages.vobject
];
buildInputs = [ python3 notmuch gawk ];
buildInputs = [ python3Packages.python notmuch gawk ];
installPhase = ''
runHook preInstall
+60
View File
@@ -0,0 +1,60 @@
{
lib,
fetchFromGitHub,
substituteAll,
python3Packages,
testers,
ansible-cmdb,
}:
let
inherit (python3Packages)
setuptools
mako
pyyaml
jsonxs
buildPythonApplication
;
pname = "ansible-cmdb";
version = "1.31";
in
buildPythonApplication {
inherit pname version;
pyproject = true;
src = fetchFromGitHub {
owner = "fboender";
repo = "ansible-cmdb";
rev = version;
hash = "sha256-HOFLX8fiid+xJOVYNyVbz5FunrhteAUPlvS3ctclVHo=";
};
patches = [
(substituteAll {
src = ./setup.patch;
inherit version;
})
];
build-system = [ setuptools ];
dependencies = [
mako
pyyaml
jsonxs
];
passthru.tests.version = testers.testVersion {
package = ansible-cmdb;
version = "v${version}";
};
meta = {
description = "Generate host overview from ansible fact gathering output";
homepage = "https://github.com/fboender/ansible-cmdb";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.tie ];
mainProgram = "ansible-cmdb";
};
}
+41
View File
@@ -0,0 +1,41 @@
diff --git a/src/ansible-cmdb.py b/bin/ansible-cmdb
similarity index 100%
rename from src/ansible-cmdb.py
rename to bin/ansible-cmdb
diff --git a/setup.py b/setup.py
index a8db25d..c1670f1 100755
--- a/setup.py
+++ b/setup.py
@@ -42,17 +42,16 @@ setup(
package_dir={'': 'src'},
packages=find_packages('src'),
include_package_data=True,
- data_files=\
- get_data_files(
- 'src/ansiblecmdb/data',
- strip='src',
- prefix='lib'
- ) +
- [['lib/ansiblecmdb/', ['src/ansible-cmdb.py']]],
+ data_files=get_data_files(
+ 'src/ansiblecmdb/data',
+ strip='src',
+ prefix='lib',
+ ),
zip_safe=False,
- install_requires=['mako', 'pyyaml', 'ushlex', 'jsonxs'],
+ install_requires=['mako', 'pyyaml'],
+ extras_require={'jsonxs_templates': ['jsonxs']},
scripts=[
- 'src/ansible-cmdb',
+ 'bin/ansible-cmdb',
],
classifiers=[
diff --git a/src/ansiblecmdb/data/VERSION b/src/ansiblecmdb/data/VERSION
index 79d94e6..14d2ff6 100644
--- a/src/ansiblecmdb/data/VERSION
+++ b/src/ansiblecmdb/data/VERSION
@@ -1 +1 @@
-MASTER
+@version@
+2 -2
View File
@@ -18,14 +18,14 @@
}:
let
version = "3.0";
version = "3.1";
src = fetchFromGitLab {
owner = "World";
repo = "apostrophe";
domain = "gitlab.gnome.org";
rev = "v${version}";
sha256 = "sha256-wKxRCU00nSk7F8IZNWoLRtGs3m6ol3UBnArtppUOz/g=";
sha256 = "sha256-rXaz0EtLuKOBJLF81K/4qoTZtG6B8Wn+KwSiqYvxAVc=";
};
# Patches are required by upstream. Without the patches
@@ -0,0 +1,58 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
imagemagick,
qrencode,
testQR ? false,
zbar ? null,
}:
assert testQR -> zbar != false;
stdenvNoCC.mkDerivation {
pname = "asc-key-to-qr-code-gif";
version = "0-unstable-2019-01-27";
src = fetchFromGitHub {
owner = "yishilin14";
repo = "asc-key-to-qr-code-gif";
rev = "5d36a1bada8646ae0f61b04356e62ba5ef10a1aa";
sha256 = "sha256-DwxYgBsioL86WM6KBFJ+DuSJo3/1pwD1Fl156XD98RY=";
};
dontBuild = true;
postPatch =
let
substitutions =
[
''--replace-fail "convert" "${lib.getExe imagemagick}"''
''--replace-fail "qrencode" "${lib.getExe qrencode}"''
]
++ lib.optionals testQR [
''--replace-fail "hash zbarimg" "true"'' # hash does not work on NixOS
''--replace-fail "$(zbarimg --raw" "$(${zbar}/bin/zbarimg --raw"''
];
in
''
substituteInPlace asc-to-gif.sh ${lib.concatStringsSep " " substitutions}
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp asc-to-gif.sh $out/bin/asc-to-gif
runHook postInstall
'';
meta = {
homepage = "https://github.com/yishilin14/asc-key-to-qr-code-gif";
description = "Convert ASCII-armored PGP keys to animated QR code";
license = lib.licenses.unfree; # program does not have a license
mainProgram = "asc-to-gif";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
asymmetric
NotAShelf
];
};
}
+62
View File
@@ -0,0 +1,62 @@
{
lib,
stdenv,
nodejs,
pnpm_9,
fetchFromGitHub,
callPackage,
nix-update-script
}: stdenv.mkDerivation (finalAttrs: {
pname = "autoprefixer";
version = "10.4.19";
src = fetchFromGitHub {
owner = "postcss";
repo = "autoprefixer";
rev = finalAttrs.version;
hash = "sha256-Br0z573QghkYHLgF9/OFp8FL0bIW2frW92ohJnHhgHE=";
};
nativeBuildInputs = [
nodejs
pnpm_9.configHook
];
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-sGcqM87xR9XTL/MUO7fGpI1cPK7EgJNpeYwBmqVNB6I=";
};
installPhase = ''
runHook preInstall
mkdir $out
mv bin/ $out
mv lib/ $out
mv node_modules/ $out
mv data/ $out
mv package.json $out
runHook postInstall
'';
postFixup = ''
patchShebangs $out/bin/autoprefixer
'';
passthru = {
tests = {
simple-execution = callPackage ./tests/simple-execution.nix { };
};
updateScript = nix-update-script { };
};
meta = {
description = "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website";
homepage = "https://github.com/postcss/autoprefixer";
changelog = "https://github.com/postcss/autoprefixer/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "autoprefixer";
maintainers = with lib.maintainers; [ pyrox0 ];
};
})
+1
View File
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
extract the decoded AndroidManifest.xml directly from an APK file.
'';
homepage = "https://github.com/ytsutano/axmldec";
changelog = "https://github.com/ytsutano/axmldec/releases/tag/${src.rev}";
license = licenses.isc;
mainProgram = "axmldec";
maintainers = with maintainers; [ franciscod ];
+1
View File
@@ -16,6 +16,7 @@ buildGoModule {
meta = with lib; {
homepage = "https://github.com/xlab/c-for-go";
changelog = "https://github.com/xlab/c-for-go/releases/";
description = "Automatic C-Go Bindings Generator for the Go Programming Language";
license = licenses.mit;
maintainers = with maintainers; [ msanft ];
@@ -0,0 +1,61 @@
{
fetchFromGitHub,
lib,
nix,
ronn,
rustPlatform,
}:
let
blake3-src = fetchFromGitHub {
owner = "BLAKE3-team";
repo = "BLAKE3";
rev = "refs/tags/1.5.1";
hash = "sha256-STWAnJjKrtb2Xyj6i1ACwxX/gTkQo5jUHilcqcgJYxc=";
};
in
rustPlatform.buildRustPackage rec {
pname = "cached-nix-shell";
version = "0.1.6";
src = fetchFromGitHub {
owner = "xzfc";
repo = "cached-nix-shell";
rev = "refs/tags/v${version}";
hash = "sha256-LI/hecqeRg3eCzU2bASJA8VoG4nvrSeHSeaGYn7M/UI=";
};
cargoHash = "sha256-Jf0VRTGwdKxCwyb9hVKDQcdZsHHWaedrDbwq9MK1tn4=";
nativeBuildInputs = [
nix
ronn
];
# The BLAKE3 C library is intended to be built by the project depending on it
# rather than as a standalone library.
# https://github.com/BLAKE3-team/BLAKE3/blob/0.3.1/c/README.md#building
env.BLAKE3_CSRC = "${blake3-src}/c";
postBuild = ''
make -f nix/Makefile post-build
'';
postInstall = ''
make -f nix/Makefile post-install
'';
meta = {
description = "Instant startup time for nix-shell";
mainProgram = "cached-nix-shell";
homepage = "https://github.com/xzfc/cached-nix-shell";
changelog = "https://github.com/xzfc/cached-nix-shell/releases/tag/v${version}";
license = with lib.licenses; [
unlicense
# or
mit
];
maintainers = with lib.maintainers; [ xzfc ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}

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