Merge branch 'master' into staging-next

; Conflicts:
;	pkgs/development/lua-modules/generated-packages.nix
;	pkgs/development/lua-modules/overrides.nix
This commit is contained in:
Jan Tojnar 2023-12-31 02:31:32 +01:00
commit 80020c7db4
162 changed files with 6794 additions and 941 deletions

View File

@ -21,16 +21,38 @@
nixosSystem = args: nixosSystem = args:
import ./nixos/lib/eval-config.nix ( import ./nixos/lib/eval-config.nix (
args // { inherit (self) lib; } // lib.optionalAttrs (! args?system) { {
lib = final;
# Allow system to be set modularly in nixpkgs.system. # Allow system to be set modularly in nixpkgs.system.
# We set it to null, to remove the "legacy" entrypoint's # We set it to null, to remove the "legacy" entrypoint's
# non-hermetic default. # non-hermetic default.
system = null; system = null;
} } // args
); );
}); });
checks.x86_64-linux.tarball = jobs.tarball; checks.x86_64-linux = {
tarball = jobs.tarball;
# Test that ensures that the nixosSystem function can accept a lib argument
# Note: prefer not to extend or modify `lib`, especially if you want to share reusable modules
# alternatives include: `import` a file, or put a custom library in an option or in `_module.args.<libname>`
nixosSystemAcceptsLib = (self.lib.nixosSystem {
lib = self.lib.extend (final: prev: {
ifThisFunctionIsMissingTheTestFails = final.id;
});
modules = [
./nixos/modules/profiles/minimal.nix
({ lib, ... }: lib.ifThisFunctionIsMissingTheTestFails {
# Define a minimal config without eval warnings
nixpkgs.hostPlatform = "x86_64-linux";
boot.loader.grub.enable = false;
fileSystems."/".device = "nodev";
# See https://search.nixos.org/options?show=system.stateVersion&query=stateversion
system.stateVersion = lib.versions.majorMinor lib.version; # DON'T do this in real configs!
})
];
}).config.system.build.toplevel;
};
htmlDocs = { htmlDocs = {
nixpkgsManual = jobs.manual; nixpkgsManual = jobs.manual;

View File

@ -1959,6 +1959,18 @@ runTests {
expr = (with types; int).description; expr = (with types; int).description;
expected = "signed integer"; expected = "signed integer";
}; };
testTypeDescriptionIntsPositive = {
expr = (with types; ints.positive).description;
expected = "positive integer, meaning >0";
};
testTypeDescriptionIntsPositiveOrEnumAuto = {
expr = (with types; either ints.positive (enum ["auto"])).description;
expected = ''positive integer, meaning >0, or value "auto" (singular enum)'';
};
testTypeDescriptionListOfPositive = {
expr = (with types; listOf ints.positive).description;
expected = "list of (positive integer, meaning >0)";
};
testTypeDescriptionListOfInt = { testTypeDescriptionListOfInt = {
expr = (with types; listOf int).description; expr = (with types; listOf int).description;
expected = "list of signed integer"; expected = "list of signed integer";

View File

@ -113,9 +113,14 @@ rec {
, # Description of the type, defined recursively by embedding the wrapped type if any. , # Description of the type, defined recursively by embedding the wrapped type if any.
description ? null description ? null
# A hint for whether or not this description needs parentheses. Possible values: # A hint for whether or not this description needs parentheses. Possible values:
# - "noun": a simple noun phrase such as "positive integer" # - "noun": a noun phrase
# - "conjunction": a phrase with a potentially ambiguous "or" connective. # Example description: "positive integer",
# - "conjunction": a phrase with a potentially ambiguous "or" connective
# Example description: "int or string"
# - "composite": a phrase with an "of" connective # - "composite": a phrase with an "of" connective
# Example description: "list of string"
# - "nonRestrictiveClause": a noun followed by a comma and a clause
# Example description: "positive integer, meaning >0"
# See the `optionDescriptionPhrase` function. # See the `optionDescriptionPhrase` function.
, descriptionClass ? null , descriptionClass ? null
, # DO NOT USE WITHOUT KNOWING WHAT YOU ARE DOING! , # DO NOT USE WITHOUT KNOWING WHAT YOU ARE DOING!
@ -338,10 +343,12 @@ rec {
unsigned = addCheck types.int (x: x >= 0) // { unsigned = addCheck types.int (x: x >= 0) // {
name = "unsignedInt"; name = "unsignedInt";
description = "unsigned integer, meaning >=0"; description = "unsigned integer, meaning >=0";
descriptionClass = "nonRestrictiveClause";
}; };
positive = addCheck types.int (x: x > 0) // { positive = addCheck types.int (x: x > 0) // {
name = "positiveInt"; name = "positiveInt";
description = "positive integer, meaning >0"; description = "positive integer, meaning >0";
descriptionClass = "nonRestrictiveClause";
}; };
u8 = unsign 8 256; u8 = unsign 8 256;
u16 = unsign 16 65536; u16 = unsign 16 65536;
@ -383,10 +390,12 @@ rec {
nonnegative = addCheck number (x: x >= 0) // { nonnegative = addCheck number (x: x >= 0) // {
name = "numberNonnegative"; name = "numberNonnegative";
description = "nonnegative integer or floating point number, meaning >=0"; description = "nonnegative integer or floating point number, meaning >=0";
descriptionClass = "nonRestrictiveClause";
}; };
positive = addCheck number (x: x > 0) // { positive = addCheck number (x: x > 0) // {
name = "numberPositive"; name = "numberPositive";
description = "positive integer or floating point number, meaning >0"; description = "positive integer or floating point number, meaning >0";
descriptionClass = "nonRestrictiveClause";
}; };
}; };
@ -463,6 +472,7 @@ rec {
passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // { passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // {
name = "passwdEntry ${entryType.name}"; name = "passwdEntry ${entryType.name}";
description = "${optionDescriptionPhrase (class: class == "noun") entryType}, not containing newlines or colons"; description = "${optionDescriptionPhrase (class: class == "noun") entryType}, not containing newlines or colons";
descriptionClass = "nonRestrictiveClause";
}; };
attrs = mkOptionType { attrs = mkOptionType {
@ -870,7 +880,13 @@ rec {
# Either value of type `t1` or `t2`. # Either value of type `t1` or `t2`.
either = t1: t2: mkOptionType rec { either = t1: t2: mkOptionType rec {
name = "either"; name = "either";
description = "${optionDescriptionPhrase (class: class == "noun" || class == "conjunction") t1} or ${optionDescriptionPhrase (class: class == "noun" || class == "conjunction" || class == "composite") t2}"; description =
if t1.descriptionClass or null == "nonRestrictiveClause"
then
# Plain, but add comma
"${t1.description}, or ${optionDescriptionPhrase (class: class == "noun" || class == "conjunction") t2}"
else
"${optionDescriptionPhrase (class: class == "noun" || class == "conjunction") t1} or ${optionDescriptionPhrase (class: class == "noun" || class == "conjunction" || class == "composite") t2}";
descriptionClass = "conjunction"; descriptionClass = "conjunction";
check = x: t1.check x || t2.check x; check = x: t1.check x || t2.check x;
merge = loc: defs: merge = loc: defs:

View File

@ -19021,7 +19021,7 @@
}; };
uakci = { uakci = {
name = "uakci"; name = "uakci";
email = "uakci@uakci.pl"; email = "git@uakci.space";
github = "uakci"; github = "uakci";
githubId = 6961268; githubId = 6961268;
}; };

View File

@ -30,6 +30,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training. - [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training.
- [ollama](https://ollama.ai), server for running large language models locally.
- [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable). - [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares. The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
@ -76,6 +78,17 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
`CONFIG_FILE_NAME` includes `bpf_pinning`, `ematch_map`, `group`, `nl_protos`, `rt_dsfield`, `rt_protos`, `rt_realms`, `rt_scopes`, and `rt_tables`. `CONFIG_FILE_NAME` includes `bpf_pinning`, `ematch_map`, `group`, `nl_protos`, `rt_dsfield`, `rt_protos`, `rt_realms`, `rt_scopes`, and `rt_tables`.
- The `systemd.oomd` module behavior is changed as:
- Raise ManagedOOMMemoryPressureLimit from 50% to 80%. This should make systemd-oomd kill things less often, and fix issues like [this](https://pagure.io/fedora-workstation/issue/358).
Reference: [commit](https://src.fedoraproject.org/rpms/systemd/c/806c95e1c70af18f81d499b24cd7acfa4c36ffd6?branch=806c95e1c70af18f81d499b24cd7acfa4c36ffd6)
- Remove swap policy. This helps prevent killing processes when user's swap is small.
- Expand the memory pressure policy to system.slice, user-.slice, and all user owned slices. Reference: [commit](https://src.fedoraproject.org/rpms/systemd/c/7665e1796f915dedbf8e014f0a78f4f576d609bb)
- `systemd.oomd.enableUserServices` is renamed to `systemd.oomd.enableUserSlices`.
## Other Notable Changes {#sec-release-24.05-notable-changes} ## Other Notable Changes {#sec-release-24.05-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
@ -91,8 +104,23 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
The `nimPackages` and `nim2Packages` sets have been removed. The `nimPackages` and `nim2Packages` sets have been removed.
See https://nixos.org/manual/nixpkgs/unstable#nim for more information. See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
- [Portunus](https://github.com/majewsky/portunus) has been updated to 2.0.
This version of Portunus supports strong password hashes, but the legacy hash SHA-256 is also still supported to ensure a smooth migration of existing user accounts.
After upgrading, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all user accounts to strong password hashes.
Support for weak password hashes will be removed in NixOS 24.11.
- `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc. - `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
- The following options of the Nextcloud module were moved into [`services.nextcloud.extraOptions`](#opt-services.nextcloud.extraOptions) and renamed to match the name from Nextcloud's `config.php`:
- `logLevel` -> [`loglevel`](#opt-services.nextcloud.extraOptions.loglevel),
- `logType` -> [`log_type`](#opt-services.nextcloud.extraOptions.log_type),
- `defaultPhoneRegion` -> [`default_phone_region`](#opt-services.nextcloud.extraOptions.default_phone_region),
- `overwriteProtocol` -> [`overwriteprotocol`](#opt-services.nextcloud.extraOptions.overwriteprotocol),
- `skeletonDirectory` -> [`skeletondirectory`](#opt-services.nextcloud.extraOptions.skeletondirectory),
- `globalProfiles` -> [`profile.enabled`](#opt-services.nextcloud.extraOptions._profile.enabled_),
- `extraTrustedDomains` -> [`trusted_domains`](#opt-services.nextcloud.extraOptions.trusted_domains) and
- `trustedProxies` -> [`trusted_proxies`](#opt-services.nextcloud.extraOptions.trusted_proxies).
- The Yama LSM is now enabled by default in the kernel, which prevents ptracing - The Yama LSM is now enabled by default in the kernel, which prevents ptracing
non-child processes. This means you will not be able to attach gdb to an non-child processes. This means you will not be able to attach gdb to an
existing process, but will need to start that process from gdb (so it is a existing process, but will need to start that process from gdb (so it is a

View File

@ -34,6 +34,7 @@ with lib;
ffmpeg_5 = super.ffmpeg_5.override { ffmpegVariant = "headless"; }; ffmpeg_5 = super.ffmpeg_5.override { ffmpegVariant = "headless"; };
# dep of graphviz, libXpm is optional for Xpm support # dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; }; gd = super.gd.override { withXorg = false; };
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
gobject-introspection = super.gobject-introspection.override { x11Support = false; }; gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; }; gpsd = super.gpsd.override { guiSupport = false; };
graphviz = super.graphviz-nox; graphviz = super.graphviz-nox;

View File

@ -723,6 +723,7 @@
./services/misc/nzbget.nix ./services/misc/nzbget.nix
./services/misc/nzbhydra2.nix ./services/misc/nzbhydra2.nix
./services/misc/octoprint.nix ./services/misc/octoprint.nix
./services/misc/ollama.nix
./services/misc/ombi.nix ./services/misc/ombi.nix
./services/misc/osrm.nix ./services/misc/osrm.nix
./services/misc/owncast.nix ./services/misc/owncast.nix

View File

@ -78,7 +78,13 @@ let
mkName = name: "kanata-${name}"; mkName = name: "kanata-${name}";
mkDevices = devices: mkDevices = devices:
optionalString ((length devices) > 0) "linux-dev ${concatStringsSep ":" devices}"; let
devicesString = pipe devices [
(map (device: "\"" + device + "\""))
(concatStringsSep " ")
];
in
optionalString ((length devices) > 0) "linux-dev (${devicesString})";
mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" '' mkConfig = name: keyboard: pkgs.writeText "${mkName name}-config.kdb" ''
(defcfg (defcfg

View File

@ -1,10 +1,14 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
cfg = config.services.matrix-synapse.sliding-sync; cfg = config.services.matrix-sliding-sync;
in in
{ {
options.services.matrix-synapse.sliding-sync = { imports = [
(lib.mkRenamedOptionModule [ "services" "matrix-synapse" "sliding-sync" ] [ "services" "matrix-sliding-sync" ])
];
options.services.matrix-sliding-sync = {
enable = lib.mkEnableOption (lib.mdDoc "sliding sync"); enable = lib.mkEnableOption (lib.mdDoc "sliding sync");
package = lib.mkPackageOption pkgs "matrix-sliding-sync" { }; package = lib.mkPackageOption pkgs "matrix-sliding-sync" { };
@ -83,6 +87,7 @@ in
systemd.services.matrix-sliding-sync = rec { systemd.services.matrix-sliding-sync = rec {
after = after =
lib.optional cfg.createDatabase "postgresql.service" lib.optional cfg.createDatabase "postgresql.service"
++ lib.optional config.services.dendrite.enable "dendrite.service"
++ lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit; ++ lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit;
wants = after; wants = after;
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -0,0 +1,42 @@
{ config, lib, pkgs, ... }: let
cfg = config.services.ollama;
in {
options = {
services.ollama = {
enable = lib.mkEnableOption (
lib.mdDoc "Server for local large language models"
);
package = lib.mkPackageOption pkgs "ollama" { };
};
};
config = lib.mkIf cfg.enable {
systemd = {
services.ollama = {
wantedBy = [ "multi-user.target" ];
description = "Server for local large language models";
after = [ "network.target" ];
environment = {
HOME = "%S/ollama";
OLLAMA_MODELS = "%S/ollama/models";
};
serviceConfig = {
ExecStart = "${lib.getExe cfg.package} serve";
WorkingDirectory = "/var/lib/ollama";
StateDirectory = [ "ollama" ];
DynamicUser = true;
};
};
};
environment.systemPackages = [ cfg.package ];
};
meta.maintainers = with lib.maintainers; [ onny ];
}

View File

@ -102,7 +102,9 @@ in
ldap = { ldap = {
package = mkOption { package = mkOption {
type = types.package; type = types.package;
# needs openldap built with a libxcrypt that support crypt sha256 until https://github.com/majewsky/portunus/issues/2 is solved # needs openldap built with a libxcrypt that support crypt sha256 until users have had time to migrate to newer hashes
# Ref: <https://github.com/majewsky/portunus/issues/2>
# TODO: remove in NixOS 24.11 (cf. same note on pkgs/servers/portunus/default.nix)
default = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }; default = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
defaultText = lib.literalExpression "pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }"; defaultText = lib.literalExpression "pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }";
description = lib.mdDoc "The OpenLDAP package to use."; description = lib.mdDoc "The OpenLDAP package to use.";

View File

@ -45,19 +45,25 @@ in
systemd.services.munged = { systemd.services.munged = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; wants = [
"network-online.target"
"time-sync.target"
];
after = [
"network-online.target"
"time-sync.target"
];
path = [ pkgs.munge pkgs.coreutils ]; path = [ pkgs.munge pkgs.coreutils ];
serviceConfig = { serviceConfig = {
ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}"; ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}";
ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}"; ExecStart = "${pkgs.munge}/bin/munged --foreground --key-file ${cfg.password}";
PIDFile = "/run/munge/munged.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
User = "munge"; User = "munge";
Group = "munge"; Group = "munge";
StateDirectory = "munge"; StateDirectory = "munge";
StateDirectoryMode = "0711"; StateDirectoryMode = "0711";
Restart = "on-failure";
RuntimeDirectory = "munge"; RuntimeDirectory = "munge";
}; };

View File

@ -23,6 +23,14 @@ in
''; '';
}; };
signingKeyFile = mkOption {
type = types.nullOr types.path;
description = lib.mdDoc ''
Optional file containing a self-managed signing key to sign uploaded store paths.
'';
default = null;
};
compressionLevel = mkOption { compressionLevel = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
description = lib.mdDoc "The compression level for ZSTD compression (between 0 and 16)"; description = lib.mdDoc "The compression level for ZSTD compression (between 0 and 16)";
@ -69,7 +77,8 @@ in
DynamicUser = true; DynamicUser = true;
LoadCredential = [ LoadCredential = [
"cachix-token:${toString cfg.cachixTokenFile}" "cachix-token:${toString cfg.cachixTokenFile}"
]; ]
++ lib.optional (cfg.signingKeyFile != null) "signing-key:${toString cfg.signingKeyFile}";
}; };
script = script =
let let
@ -80,6 +89,7 @@ in
in in
'' ''
export CACHIX_AUTH_TOKEN="$(<"$CREDENTIALS_DIRECTORY/cachix-token")" export CACHIX_AUTH_TOKEN="$(<"$CREDENTIALS_DIRECTORY/cachix-token")"
${lib.optionalString (cfg.signingKeyFile != null) ''export CACHIX_SIGNING_KEY="$(<"$CREDENTIALS_DIRECTORY/signing-key")"''}
${lib.escapeShellArgs command} ${lib.escapeShellArgs command}
''; '';
}; };

View File

@ -51,7 +51,7 @@ to ensure that changes can be applied by changing the module's options.
In case the application serves multiple domains (those are checked with In case the application serves multiple domains (those are checked with
[`$_SERVER['HTTP_HOST']`](https://www.php.net/manual/en/reserved.variables.server.php)) [`$_SERVER['HTTP_HOST']`](https://www.php.net/manual/en/reserved.variables.server.php))
it's needed to add them to it's needed to add them to
[`services.nextcloud.config.extraTrustedDomains`](#opt-services.nextcloud.config.extraTrustedDomains). [`services.nextcloud.extraOptions.trusted_domains`](#opt-services.nextcloud.extraOptions.trusted_domains).
Auto updates for Nextcloud apps can be enabled using Auto updates for Nextcloud apps can be enabled using
[`services.nextcloud.autoUpdateApps`](#opt-services.nextcloud.autoUpdateApps.enable). [`services.nextcloud.autoUpdateApps`](#opt-services.nextcloud.autoUpdateApps.enable).

View File

@ -23,6 +23,43 @@ let
catch_workers_output = "yes"; catch_workers_output = "yes";
}; };
appStores = {
# default apps bundled with pkgs.nextcloudXX, e.g. files, contacts
apps = {
enabled = true;
writable = false;
};
# apps installed via cfg.extraApps
nix-apps = {
enabled = cfg.extraApps != { };
linkTarget = pkgs.linkFarm "nix-apps"
(mapAttrsToList (name: path: { inherit name path; }) cfg.extraApps);
writable = false;
};
# apps installed via the app store.
store-apps = {
enabled = cfg.appstoreEnable == null || cfg.appstoreEnable;
linkTarget = "${cfg.home}/store-apps";
writable = true;
};
};
webroot = pkgs.runCommand
"${cfg.package.name or "nextcloud"}-with-apps"
{ }
''
mkdir $out
ln -sfv "${cfg.package}"/* "$out"
${concatStrings
(mapAttrsToList (name: store: optionalString (store.enabled && store?linkTarget) ''
if [ -e "$out"/${name} ]; then
echo "Didn't expect ${name} already in $out!"
exit 1
fi
ln -sfTv ${store.linkTarget} "$out"/${name}
'') appStores)}
'';
inherit (cfg) datadir; inherit (cfg) datadir;
phpPackage = cfg.phpPackage.buildEnv { phpPackage = cfg.phpPackage.buildEnv {
@ -45,7 +82,7 @@ let
occ = pkgs.writeScriptBin "nextcloud-occ" '' occ = pkgs.writeScriptBin "nextcloud-occ" ''
#! ${pkgs.runtimeShell} #! ${pkgs.runtimeShell}
cd ${cfg.package} cd ${webroot}
sudo=exec sudo=exec
if [[ "$USER" != nextcloud ]]; then if [[ "$USER" != nextcloud ]]; then
sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR --preserve-env=OC_PASS' sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR --preserve-env=OC_PASS'
@ -94,6 +131,22 @@ in {
(mkRemovedOptionModule [ "services" "nextcloud" "disableImagemagick" ] '' (mkRemovedOptionModule [ "services" "nextcloud" "disableImagemagick" ] ''
Use services.nextcloud.enableImagemagick instead. Use services.nextcloud.enableImagemagick instead.
'') '')
(mkRenamedOptionModule
[ "services" "nextcloud" "logLevel" ] [ "services" "nextcloud" "extraOptions" "loglevel" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "logType" ] [ "services" "nextcloud" "extraOptions" "log_type" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "config" "defaultPhoneRegion" ] [ "services" "nextcloud" "extraOptions" "default_phone_region" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "config" "overwriteProtocol" ] [ "services" "nextcloud" "extraOptions" "overwriteprotocol" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "skeletonDirectory" ] [ "services" "nextcloud" "extraOptions" "skeletondirectory" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "config" "globalProfiles" ] [ "services" "nextcloud" "extraOptions" "profile.enabled" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "config" "extraTrustedDomains" ] [ "services" "nextcloud" "extraOptions" "trusted_domains" ])
(mkRenamedOptionModule
[ "services" "nextcloud" "config" "trustedProxies" ] [ "services" "nextcloud" "extraOptions" "trusted_proxies" ])
]; ];
options.services.nextcloud = { options.services.nextcloud = {
@ -157,32 +210,6 @@ in {
Set this to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting. Set this to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
''; '';
}; };
logLevel = mkOption {
type = types.ints.between 0 4;
default = 2;
description = lib.mdDoc ''
Log level value between 0 (DEBUG) and 4 (FATAL).
- 0 (debug): Log all activity.
- 1 (info): Log activity such as user logins and file activities, plus warnings, errors, and fatal errors.
- 2 (warn): Log successful operations, as well as warnings of potential problems, errors and fatal errors.
- 3 (error): Log failed operations and fatal errors.
- 4 (fatal): Log only fatal errors that cause the server to stop.
'';
};
logType = mkOption {
type = types.enum [ "errorlog" "file" "syslog" "systemd" ];
default = "syslog";
description = lib.mdDoc ''
Logging backend to use.
systemd requires the php-systemd package to be added to services.nextcloud.phpExtraExtensions.
See the [nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/logging_configuration.html) for details.
'';
};
https = mkOption { https = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -206,16 +233,6 @@ in {
''; '';
}; };
skeletonDirectory = mkOption {
default = "";
type = types.str;
description = lib.mdDoc ''
The directory where the skeleton files are located. These files will be
copied to the data directory of new users. Leave empty to not copy any
skeleton files.
'';
};
webfinger = mkOption { webfinger = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -315,7 +332,6 @@ in {
}; };
config = { config = {
dbtype = mkOption { dbtype = mkOption {
type = types.enum [ "sqlite" "pgsql" "mysql" ]; type = types.enum [ "sqlite" "pgsql" "mysql" ];
@ -380,53 +396,6 @@ in {
setup of Nextcloud by the systemd service `nextcloud-setup.service`. setup of Nextcloud by the systemd service `nextcloud-setup.service`.
''; '';
}; };
extraTrustedDomains = mkOption {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
Trusted domains from which the Nextcloud installation will be
accessible. You don't need to add
`services.nextcloud.hostname` here.
'';
};
trustedProxies = mkOption {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
Trusted proxies to provide if the Nextcloud installation is being
proxied to secure against, e.g. spoofing.
'';
};
overwriteProtocol = mkOption {
type = types.nullOr (types.enum [ "http" "https" ]);
default = null;
example = "https";
description = lib.mdDoc ''
Force Nextcloud to always use HTTP or HTTPS i.e. for link generation.
Nextcloud uses the currently used protocol by default, but when
behind a reverse-proxy, it may use `http` for everything although
Nextcloud may be served via HTTPS.
'';
};
defaultPhoneRegion = mkOption {
default = null;
type = types.nullOr types.str;
example = "DE";
description = lib.mdDoc ''
An [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
country code which replaces automatic phone-number detection
without a country code.
As an example, with `DE` set as the default phone region,
the `+49` prefix can be omitted for phone numbers.
'';
};
objectstore = { objectstore = {
s3 = { s3 = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption (lib.mdDoc ''
@ -609,30 +578,109 @@ in {
The nextcloud-occ program preconfigured to target this Nextcloud instance. The nextcloud-occ program preconfigured to target this Nextcloud instance.
''; '';
}; };
globalProfiles = mkEnableOption (lib.mdDoc "global profiles") // {
description = lib.mdDoc ''
Makes user-profiles globally available under `nextcloud.tld/u/user.name`.
Even though it's enabled by default in Nextcloud, it must be explicitly enabled
here because it has the side-effect that personal information is even accessible to
unauthenticated users by default.
By default, the following properties are set to Show to everyone
if this flag is enabled:
- About
- Full name
- Headline
- Organisation
- Profile picture
- Role
- Twitter
- Website
Only has an effect in Nextcloud 23 and later.
'';
};
extraOptions = mkOption { extraOptions = mkOption {
type = jsonFormat.type; type = types.submodule {
freeformType = jsonFormat.type;
options = {
loglevel = mkOption {
type = types.ints.between 0 4;
default = 2;
description = lib.mdDoc ''
Log level value between 0 (DEBUG) and 4 (FATAL).
- 0 (debug): Log all activity.
- 1 (info): Log activity such as user logins and file activities, plus warnings, errors, and fatal errors.
- 2 (warn): Log successful operations, as well as warnings of potential problems, errors and fatal errors.
- 3 (error): Log failed operations and fatal errors.
- 4 (fatal): Log only fatal errors that cause the server to stop.
'';
};
log_type = mkOption {
type = types.enum [ "errorlog" "file" "syslog" "systemd" ];
default = "syslog";
description = lib.mdDoc ''
Logging backend to use.
systemd requires the php-systemd package to be added to services.nextcloud.phpExtraExtensions.
See the [nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/logging_configuration.html) for details.
'';
};
skeletondirectory = mkOption {
default = "";
type = types.str;
description = lib.mdDoc ''
The directory where the skeleton files are located. These files will be
copied to the data directory of new users. Leave empty to not copy any
skeleton files.
'';
};
trusted_domains = mkOption {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
Trusted domains, from which the nextcloud installation will be
accessible. You don't need to add
`services.nextcloud.hostname` here.
'';
};
trusted_proxies = mkOption {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
Trusted proxies, to provide if the nextcloud installation is being
proxied to secure against e.g. spoofing.
'';
};
overwriteprotocol = mkOption {
type = types.enum [ "" "http" "https" ];
default = "";
example = "https";
description = lib.mdDoc ''
Force Nextcloud to always use HTTP or HTTPS i.e. for link generation.
Nextcloud uses the currently used protocol by default, but when
behind a reverse-proxy, it may use `http` for everything although
Nextcloud may be served via HTTPS.
'';
};
default_phone_region = mkOption {
default = "";
type = types.str;
example = "DE";
description = lib.mdDoc ''
An [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
country code which replaces automatic phone-number detection
without a country code.
As an example, with `DE` set as the default phone region,
the `+49` prefix can be omitted for phone numbers.
'';
};
"profile.enabled" = mkEnableOption (lib.mdDoc "global profiles") // {
description = lib.mdDoc ''
Makes user-profiles globally available under `nextcloud.tld/u/user.name`.
Even though it's enabled by default in Nextcloud, it must be explicitly enabled
here because it has the side-effect that personal information is even accessible to
unauthenticated users by default.
By default, the following properties are set to Show to everyone
if this flag is enabled:
- About
- Full name
- Headline
- Organisation
- Profile picture
- Role
- Twitter
- Website
Only has an effect in Nextcloud 23 and later.
'';
};
};
};
default = {}; default = {};
description = lib.mdDoc '' description = lib.mdDoc ''
Extra options which should be appended to Nextcloud's config.php file. Extra options which should be appended to Nextcloud's config.php file.
@ -766,11 +814,10 @@ in {
# When upgrading the Nextcloud package, Nextcloud can report errors such as # When upgrading the Nextcloud package, Nextcloud can report errors such as
# "The files of the app [all apps in /var/lib/nextcloud/apps] were not replaced correctly" # "The files of the app [all apps in /var/lib/nextcloud/apps] were not replaced correctly"
# Restarting phpfpm on Nextcloud package update fixes these issues (but this is a workaround). # Restarting phpfpm on Nextcloud package update fixes these issues (but this is a workaround).
phpfpm-nextcloud.restartTriggers = [ cfg.package ]; phpfpm-nextcloud.restartTriggers = [ webroot ];
nextcloud-setup = let nextcloud-setup = let
c = cfg.config; c = cfg.config;
writePhpArray = a: "[${concatMapStringsSep "," (val: ''"${toString val}"'') a}]";
requiresReadSecretFunction = c.dbpassFile != null || c.objectstore.s3.enable; requiresReadSecretFunction = c.dbpassFile != null || c.objectstore.s3.enable;
objectstoreConfig = let s3 = c.objectstore.s3; in optionalString s3.enable '' objectstoreConfig = let s3 = c.objectstore.s3; in optionalString s3.enable ''
'objectstore' => [ 'objectstore' => [
@ -800,6 +847,10 @@ in {
nextcloudGreaterOrEqualThan = req: versionAtLeast cfg.package.version req; nextcloudGreaterOrEqualThan = req: versionAtLeast cfg.package.version req;
mkAppStoreConfig = name: { enabled, writable, ... }: optionalString enabled ''
[ 'path' => '${webroot}/${name}', 'url' => '/${name}', 'writable' => ${boolToString writable} ],
'';
overrideConfig = pkgs.writeText "nextcloud-config.php" '' overrideConfig = pkgs.writeText "nextcloud-config.php" ''
<?php <?php
${optionalString requiresReadSecretFunction '' ${optionalString requiresReadSecretFunction ''
@ -828,17 +879,10 @@ in {
} }
$CONFIG = [ $CONFIG = [
'apps_paths' => [ 'apps_paths' => [
${optionalString (cfg.extraApps != { }) "[ 'path' => '${cfg.home}/nix-apps', 'url' => '/nix-apps', 'writable' => false ],"} ${concatStrings (mapAttrsToList mkAppStoreConfig appStores)}
[ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
[ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
], ],
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"} ${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
'datadirectory' => '${datadir}/data',
'skeletondirectory' => '${cfg.skeletonDirectory}',
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"} ${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
'log_type' => '${cfg.logType}',
'loglevel' => '${builtins.toString cfg.logLevel}',
${optionalString (c.overwriteProtocol != null) "'overwriteprotocol' => '${c.overwriteProtocol}',"}
${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"} ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"} ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"} ${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"}
@ -851,10 +895,6 @@ in {
'' ''
} }
'dbtype' => '${c.dbtype}', 'dbtype' => '${c.dbtype}',
'trusted_domains' => ${writePhpArray ([ cfg.hostName ] ++ c.extraTrustedDomains)},
'trusted_proxies' => ${writePhpArray (c.trustedProxies)},
${optionalString (c.defaultPhoneRegion != null) "'default_phone_region' => '${c.defaultPhoneRegion}',"}
${optionalString (nextcloudGreaterOrEqualThan "23") "'profile.enabled' => ${boolToString cfg.globalProfiles},"}
${objectstoreConfig} ${objectstoreConfig}
]; ];
@ -907,7 +947,7 @@ in {
(i: v: '' (i: v: ''
${occ}/bin/nextcloud-occ config:system:set trusted_domains \ ${occ}/bin/nextcloud-occ config:system:set trusted_domains \
${toString i} --value="${toString v}" ${toString i} --value="${toString v}"
'') ([ cfg.hostName ] ++ cfg.config.extraTrustedDomains)); '') ([ cfg.hostName ] ++ cfg.extraOptions.trusted_domains));
in { in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
@ -935,17 +975,16 @@ in {
exit 1 exit 1
fi fi
ln -sf ${cfg.package}/apps ${cfg.home}/ ${concatMapStrings (name: ''
if [ -d "${cfg.home}"/${name} ]; then
# Install extra apps echo "Cleaning up ${name}; these are now bundled in the webroot store-path!"
ln -sfT \ rm -r "${cfg.home}"/${name}
${pkgs.linkFarm "nix-apps" fi
(mapAttrsToList (name: path: { inherit name path; }) cfg.extraApps)} \ '') [ "nix-apps" "apps" ]}
${cfg.home}/nix-apps
# create nextcloud directories. # create nextcloud directories.
# if the directories exist already with wrong permissions, we fix that # if the directories exist already with wrong permissions, we fix that
for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps ${cfg.home}/nix-apps; do for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps; do
if [ ! -e $dir ]; then if [ ! -e $dir ]; then
install -o nextcloud -g nextcloud -d $dir install -o nextcloud -g nextcloud -d $dir
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then
@ -982,7 +1021,7 @@ in {
environment.NEXTCLOUD_CONFIG_DIR = "${datadir}/config"; environment.NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.User = "nextcloud"; serviceConfig.User = "nextcloud";
serviceConfig.ExecStart = "${phpPackage}/bin/php -f ${cfg.package}/cron.php"; serviceConfig.ExecStart = "${phpPackage}/bin/php -f ${webroot}/cron.php";
}; };
nextcloud-update-plugins = mkIf cfg.autoUpdateApps.enable { nextcloud-update-plugins = mkIf cfg.autoUpdateApps.enable {
after = [ "nextcloud-setup.service" ]; after = [ "nextcloud-setup.service" ];
@ -1043,22 +1082,25 @@ in {
user = "nextcloud"; user = "nextcloud";
}; };
services.nextcloud = lib.mkIf cfg.configureRedis { services.nextcloud = {
caching.redis = true; caching.redis = lib.mkIf cfg.configureRedis true;
extraOptions = { extraOptions = mkMerge [({
datadirectory = lib.mkDefault "${datadir}/data";
trusted_domains = [ cfg.hostName ];
}) (lib.mkIf cfg.configureRedis {
"memcache.distributed" = ''\OC\Memcache\Redis''; "memcache.distributed" = ''\OC\Memcache\Redis'';
"memcache.locking" = ''\OC\Memcache\Redis''; "memcache.locking" = ''\OC\Memcache\Redis'';
redis = { redis = {
host = config.services.redis.servers.nextcloud.unixSocket; host = config.services.redis.servers.nextcloud.unixSocket;
port = 0; port = 0;
}; };
}; })];
}; };
services.nginx.enable = mkDefault true; services.nginx.enable = mkDefault true;
services.nginx.virtualHosts.${cfg.hostName} = { services.nginx.virtualHosts.${cfg.hostName} = {
root = cfg.package; root = webroot;
locations = { locations = {
"= /robots.txt" = { "= /robots.txt" = {
priority = 100; priority = 100;
@ -1075,14 +1117,6 @@ in {
} }
''; '';
}; };
"~ ^/store-apps" = {
priority = 201;
extraConfig = "root ${cfg.home};";
};
"~ ^/nix-apps" = {
priority = 201;
extraConfig = "root ${cfg.home};";
};
"^~ /.well-known" = { "^~ /.well-known" = {
priority = 210; priority = 210;
extraConfig = '' extraConfig = ''

View File

@ -3,14 +3,18 @@
cfg = config.systemd.oomd; cfg = config.systemd.oomd;
in { in {
imports = [
(lib.mkRemovedOptionModule [ "systemd" "oomd" "enableUserServices" ] "Use systemd.oomd.enableUserSlices instead.")
];
options.systemd.oomd = { options.systemd.oomd = {
enable = lib.mkEnableOption (lib.mdDoc "the `systemd-oomd` OOM killer") // { default = true; }; enable = lib.mkEnableOption (lib.mdDoc "the `systemd-oomd` OOM killer") // { default = true; };
# Fedora enables the first and third option by default. See the 10-oomd-* files here: # Fedora enables the first and third option by default. See the 10-oomd-* files here:
# https://src.fedoraproject.org/rpms/systemd/tree/acb90c49c42276b06375a66c73673ac351025597 # https://src.fedoraproject.org/rpms/systemd/tree/806c95e1c70af18f81d499b24cd7acfa4c36ffd6
enableRootSlice = lib.mkEnableOption (lib.mdDoc "oomd on the root slice (`-.slice`)"); enableRootSlice = lib.mkEnableOption (lib.mdDoc "oomd on the root slice (`-.slice`)");
enableSystemSlice = lib.mkEnableOption (lib.mdDoc "oomd on the system slice (`system.slice`)"); enableSystemSlice = lib.mkEnableOption (lib.mdDoc "oomd on the system slice (`system.slice`)");
enableUserServices = lib.mkEnableOption (lib.mdDoc "oomd on all user services (`user@.service`)"); enableUserSlices = lib.mkEnableOption (lib.mdDoc "oomd on all user slices (`user@.slice`) and all user owned slices");
extraConfig = lib.mkOption { extraConfig = lib.mkOption {
type = with lib.types; attrsOf (oneOf [ str int bool ]); type = with lib.types; attrsOf (oneOf [ str int bool ]);
@ -44,14 +48,23 @@ in {
users.groups.systemd-oom = { }; users.groups.systemd-oom = { };
systemd.slices."-".sliceConfig = lib.mkIf cfg.enableRootSlice { systemd.slices."-".sliceConfig = lib.mkIf cfg.enableRootSlice {
ManagedOOMSwap = "kill"; ManagedOOMMemoryPressure = "kill";
ManagedOOMMemoryPressureLimit = "80%";
}; };
systemd.slices."system".sliceConfig = lib.mkIf cfg.enableSystemSlice { systemd.slices."system".sliceConfig = lib.mkIf cfg.enableSystemSlice {
ManagedOOMSwap = "kill";
};
systemd.services."user@".serviceConfig = lib.mkIf cfg.enableUserServices {
ManagedOOMMemoryPressure = "kill"; ManagedOOMMemoryPressure = "kill";
ManagedOOMMemoryPressureLimit = "50%"; ManagedOOMMemoryPressureLimit = "80%";
};
systemd.slices."user-".sliceConfig = lib.mkIf cfg.enableUserSlices {
ManagedOOMMemoryPressure = "kill";
ManagedOOMMemoryPressureLimit = "80%";
};
systemd.user.units."slice" = lib.mkIf cfg.enableUserSlices {
text = ''
ManagedOOMMemoryPressure=kill
ManagedOOMMemoryPressureLimit=80%
'';
overrideStrategy = "asDropin";
}; };
}; };
} }

View File

@ -58,7 +58,9 @@ in {
systemd.services.lxd-agent = { systemd.services.lxd-agent = {
enable = true; enable = true;
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
before = [ "shutdown.target" ]; before = [ "shutdown.target" ] ++ lib.optionals config.services.cloud-init.enable [
"cloud-init.target" "cloud-init.service" "cloud-init-local.service"
];
conflicts = [ "shutdown.target" ]; conflicts = [ "shutdown.target" ];
path = [ path = [
pkgs.kmod pkgs.kmod
@ -78,7 +80,6 @@ in {
Description = "LXD - agent"; Description = "LXD - agent";
Documentation = "https://documentation.ubuntu.com/lxd/en/latest"; Documentation = "https://documentation.ubuntu.com/lxd/en/latest";
ConditionPathExists = "/dev/virtio-ports/org.linuxcontainers.lxd"; ConditionPathExists = "/dev/virtio-ports/org.linuxcontainers.lxd";
Before = lib.optionals config.services.cloud-init.enable [ "cloud-init.target" "cloud-init.service" "cloud-init-local.service" ];
DefaultDependencies = "no"; DefaultDependencies = "no";
StartLimitInterval = "60"; StartLimitInterval = "60";
StartLimitBurst = "10"; StartLimitBurst = "10";

View File

@ -164,7 +164,7 @@ in {
btrbk-no-timer = handleTest ./btrbk-no-timer.nix {}; btrbk-no-timer = handleTest ./btrbk-no-timer.nix {};
btrbk-section-order = handleTest ./btrbk-section-order.nix {}; btrbk-section-order = handleTest ./btrbk-section-order.nix {};
budgie = handleTest ./budgie.nix {}; budgie = handleTest ./budgie.nix {};
buildbot = handleTestOn [ "x86_64-linux" ] ./buildbot.nix {}; buildbot = handleTest ./buildbot.nix {};
buildkite-agents = handleTest ./buildkite-agents.nix {}; buildkite-agents = handleTest ./buildkite-agents.nix {};
c2fmzq = handleTest ./c2fmzq.nix {}; c2fmzq = handleTest ./c2fmzq.nix {};
caddy = handleTest ./caddy.nix {}; caddy = handleTest ./caddy.nix {};

View File

@ -32,7 +32,6 @@ in {
adminpassFile = toString (pkgs.writeText "admin-pass-file" '' adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
${adminpass} ${adminpass}
''); '');
trustedProxies = [ "::1" ];
}; };
notify_push = { notify_push = {
enable = true; enable = true;
@ -42,6 +41,7 @@ in {
extraApps = { extraApps = {
inherit (pkgs."nextcloud${lib.versions.major config.services.nextcloud.package.version}Packages".apps) notify_push; inherit (pkgs."nextcloud${lib.versions.major config.services.nextcloud.package.version}Packages".apps) notify_push;
}; };
extraOptions.trusted_proxies = [ "::1" ];
}; };
services.redis.servers."nextcloud".enable = true; services.redis.servers."nextcloud".enable = true;

View File

@ -19,7 +19,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "contrast"; pname = "contrast";
version = "0.0.8"; version = "0.0.10";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
@ -27,13 +27,13 @@ stdenv.mkDerivation rec {
owner = "design"; owner = "design";
repo = "contrast"; repo = "contrast";
rev = version; rev = version;
hash = "sha256-5OFmLsP+Xk3sKJcUG/s8KwedvfS8ri+JoinliyJSmrY="; hash = "sha256-Y0CynBvnCOBesONpxUicR7PgMJgmM0ZQX/uOwIppj7w=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-8WukhoKMyApkwqPQ6KeWMsL40sMUcD4I4l7UqXf2Ld0="; hash = "sha256-BdwY2YDJyDApGgE0Whz3xRU/0gRbkwbKUvPbWEObXE8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,5 +1,18 @@
{ lib, stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsa-lib { lib
, mpg123, releasePath ? null }: , stdenv
, alsa-lib
, fetchurl
, libjack2
, libX11
, libXcursor
, libXext
, libXinerama
, libXrandr
, libXtst
, mpg123
, pipewire
, releasePath ? null
}:
# To use the full release version: # To use the full release version:
# 1) Sign into https://backstage.renoise.com and download the release version to some stable location. # 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
@ -7,28 +20,44 @@
# Note: Renoise creates an individual build for each license which screws somewhat with the # Note: Renoise creates an individual build for each license which screws somewhat with the
# use of functions like requireFile as the hash will be different for every user. # use of functions like requireFile as the hash will be different for every user.
let let
urlVersion = lib.replaceStrings [ "." ] [ "_" ]; platforms = {
in x86_64-linux = {
archSuffix = "x86_64";
hash = "sha256-Etz6NaeLMysSkcQGC3g+IqUy9QrONCrbkyej63uLflo=";
};
aarch64-linux = {
archSuffix = "arm64";
hash = "sha256-PVpgxhJU8RY6QepydqImQnisWBjbrsuW4j49Xot3C6Y=";
};
};
stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "renoise"; pname = "renoise";
version = "3.3.2"; version = "3.4.3";
src = src = if releasePath != null then
if stdenv.hostPlatform.system == "x86_64-linux" then releasePath
if releasePath == null then else
fetchurl { let
urls = [ platform = platforms.${stdenv.system};
"https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz" urlVersion = lib.replaceStrings [ "." ] [ "_" ] version;
"https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz" in fetchurl {
]; url =
sha256 = "0d9pnrvs93d4bwbfqxwyr3lg3k6gnzmp81m95gglzwdzczxkw38k"; "https://files.renoise.com/demo/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz";
} hash = platform.hash;
else };
releasePath
else throw "Platform is not supported. Use installation native to your platform https://www.renoise.com/";
buildInputs = [ alsa-lib libjack2 libX11 libXcursor libXext libXrandr ]; buildInputs = [
alsa-lib
libjack2
libX11
libXcursor
libXext
libXinerama
libXrandr
libXtst
pipewire
];
installPhase = '' installPhase = ''
cp -r Resources $out cp -r Resources $out
@ -79,7 +108,8 @@ stdenv.mkDerivation rec {
homepage = "https://www.renoise.com/"; homepage = "https://www.renoise.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree; license = lib.licenses.unfree;
maintainers = []; maintainers = with lib.maintainers; [ uakci ];
platforms = [ "x86_64-linux" ]; platforms = lib.attrNames platforms;
mainProgram = "renoise";
}; };
} }

View File

@ -25,7 +25,7 @@ buildGoModule rec {
]; ];
preBuild = '' preBuild = ''
go generate ./runtime GOOS= GOARCH= go generate ./runtime
''; '';
postInstall = '' postInstall = ''

View File

@ -1067,12 +1067,12 @@
sniprun = sniprun =
let let
version = "1.3.9"; version = "1.3.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "michaelb"; owner = "michaelb";
repo = "sniprun"; repo = "sniprun";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-g2zPGAJIjMDWn8FCsuRPZyYHDk+ZHCd04lGlYHvb4OI="; hash = "sha256-7tDREZ8ZXYySHrXVOh+ANT23CknJQvZJ8WtU5r0pOOQ=";
}; };
sniprun-bin = rustPlatform.buildRustPackage { sniprun-bin = rustPlatform.buildRustPackage {
pname = "sniprun-bin"; pname = "sniprun-bin";
@ -1082,7 +1082,7 @@
darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.Security
]; ];
cargoHash = "sha256-h/NhDFp+Yiyx37Tlfu0W9rMnd+ZmQp5gt+qhY3PB7DE="; cargoHash = "sha256-n/HW+q4Xrme/ssS9Th5uFEUsDgkxRxKt2wSR8k08uHY=";
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -1151,8 +1151,8 @@ let
mktplcRef = { mktplcRef = {
name = "theme-dracula"; name = "theme-dracula";
publisher = "dracula-theme"; publisher = "dracula-theme";
version = "2.24.2"; version = "2.24.3";
sha256 = "sha256-YNqWEIvlEI29mfPxOQVdd4db9G2qNodhz8B0MCAAWK8="; sha256 = "sha256-3B18lEu8rXVXySdF3+xsPnAyruIuEQJDhlNw82Xm6b0=";
}; };
meta = { meta = {
changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog"; changelog = "https://marketplace.visualstudio.com/items/dracula-theme.theme-dracula/changelog";
@ -3111,8 +3111,8 @@ let
mktplcRef = { mktplcRef = {
name = "crates"; name = "crates";
publisher = "serayuzgur"; publisher = "serayuzgur";
version = "0.6.0"; version = "0.6.5";
sha256 = "080zd103vjrz86vllr1ricq2vi3hawn4534n492m7xdcry9l9dpc"; sha256 = "sha256-HgqM4PKGk3R5MLY4cVjKxv79p5KlOkVDeDbv7/6FmpM=";
}; };
meta = { meta = {
license = lib.licenses.mit; license = lib.licenses.mit;

View File

@ -28,13 +28,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "ryujinx"; pname = "ryujinx";
version = "1.1.1100"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml version = "1.1.1102"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ryujinx"; owner = "Ryujinx";
repo = "Ryujinx"; repo = "Ryujinx";
rev = "06bff0159c9eddc5111859d1ca315708152ac61b"; rev = "f11d663df73f68350820dfa65aa51a8a9b9ffd0f";
sha256 = "1fxslad3i6cbd4kcjal1pzbr472az834ahyg7k8yf34b7syljswq"; sha256 = "15yai8zwwy2537ng6iqyg2jhv0q2w1c9rahkdkbvgkwiycsl7rjy";
}; };
dotnet-sdk = dotnetCorePackages.sdk_8_0; dotnet-sdk = dotnetCorePackages.sdk_8_0;

View File

@ -14,17 +14,17 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "denaro"; pname = "denaro";
version = "2023.9.2"; version = "2023.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NickvisionApps"; owner = "NickvisionApps";
repo = "Denaro"; repo = "Denaro";
rev = version; rev = version;
hash = "sha256-3Atdi0R7OHpP1HUBWGu2Y4L8hr9jLPMIFYCEWeoEq6A="; hash = "sha256-buMoB6ZTmzGjjSCOfdUvKbJ7xJmK/zHH8sz5iO3SJXo=";
}; };
dotnet-sdk = dotnetCorePackages.sdk_7_0; dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0; dotnet-runtime = dotnetCorePackages.runtime_8_0;
projectFile = "NickvisionMoney.GNOME/NickvisionMoney.GNOME.csproj"; projectFile = "NickvisionMoney.GNOME/NickvisionMoney.GNOME.csproj";
nugetDeps = ./deps.nix; nugetDeps = ./deps.nix;
@ -44,10 +44,10 @@ buildDotnetModule rec {
# Denaro switches installation tool frequently (bash -> just -> cake) # Denaro switches installation tool frequently (bash -> just -> cake)
# For maintainability, let's do it ourselves # For maintainability, let's do it ourselves
postInstall = '' postInstall = ''
substituteInPlace NickvisionMoney.Shared/org.nickvision.money.desktop.in --replace '@EXEC@' "NickvisionMoney.GNOME" substituteInPlace NickvisionMoney.Shared/Linux/org.nickvision.money.desktop.in --replace '@EXEC@' "NickvisionMoney.GNOME"
install -Dm444 NickvisionMoney.Shared/Resources/org.nickvision.money.svg -t $out/share/icons/hicolor/scalable/apps/ install -Dm444 NickvisionMoney.Shared/Resources/org.nickvision.money.svg -t $out/share/icons/hicolor/scalable/apps/
install -Dm444 NickvisionMoney.Shared/Resources/org.nickvision.money-symbolic.svg -t $out/share/icons/hicolor/symbolic/apps/ install -Dm444 NickvisionMoney.Shared/Resources/org.nickvision.money-symbolic.svg -t $out/share/icons/hicolor/symbolic/apps/
install -Dm444 NickvisionMoney.Shared/org.nickvision.money.desktop.in -T $out/share/applications/org.nickvision.money.desktop install -Dm444 NickvisionMoney.Shared/Linux/org.nickvision.money.desktop.in -T $out/share/applications/org.nickvision.money.desktop
''; '';
runtimeDeps = [ runtimeDeps = [

View File

@ -2,48 +2,45 @@
# Please dont edit it manually, your changes might get overwritten! # Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [ { fetchNuGet }: [
(fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.1.0"; sha256 = "03rs3f71vgzk3pp0mx83rx6aqg2aq7xwk0p42mj5701m3592x49d"; }) (fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.2.0"; sha256 = "1i1rwv8z2dx0mjib7vair2w7ylngmrcpbd012sdlpvdjpx0af0bn"; })
(fetchNuGet { pname = "Cake.Tool"; version = "3.1.0"; sha256 = "1kv9zz0qsx40wiygydw5z6vkj8hfayvgy9bsii2lamdas9z0vmbc"; }) (fetchNuGet { pname = "Cake.Tool"; version = "3.2.0"; sha256 = "0jvf3r0rr15q650182c3y6a4c21k84rzl2f0nida878j6fhmk6v7"; })
(fetchNuGet { pname = "Docnet.Core"; version = "2.3.1"; sha256 = "03b39x0vlymdknwgwhsmnpw4gj3njmbl9pd57ls3rhfn9r832d44"; }) (fetchNuGet { pname = "Docnet.Core"; version = "2.6.0"; sha256 = "1b1nj984ly4zgj28fri1a6ych9sdiacxkms8pvzsclvyxkf0ri8m"; })
(fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; sha256 = "1xq3q4s9d5p1yn4j91a90hawk9wcrz1bl6zj9866y01yx9aamr8s"; }) (fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; sha256 = "1xq3q4s9d5p1yn4j91a90hawk9wcrz1bl6zj9866y01yx9aamr8s"; })
(fetchNuGet { pname = "GetText.NET"; version = "1.8.7"; sha256 = "0djn5sc7p33ayjmxmxs4hqagh51bg70wqs6mwbhlhsrc67bvgj9a"; }) (fetchNuGet { pname = "GetText.NET"; version = "1.9.14"; sha256 = "18z4cf0dldcf41z8xgj3gdlvj9w5a9ikgj72623r0i740ndnl094"; })
(fetchNuGet { pname = "GirCore.Adw-1"; version = "0.4.0"; sha256 = "1wy780mwvl7n1kr85r2icwsz9p3vsw749603x0wm3ka5ywbzv91k"; }) (fetchNuGet { pname = "GirCore.Adw-1"; version = "0.5.0-preview.3"; sha256 = "090kg5v99myd7hi49cz933cl36hk5n586ywy78gf5djn5im3v19l"; })
(fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.4.0"; sha256 = "11rg8hgran23b4m1116sfvfss0fgz874imafrv3h9w7c76f6hhci"; }) (fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.5.0-preview.3"; sha256 = "0bh1h2hr6givrq6096bvzcsg4lab1hlm7r7h4bqifbw0zmmcfb7k"; })
(fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.4.0"; sha256 = "101qr6kijslzqd6dcmpjzrbdp8nr6ibi8958frvkpxifqa4xyp4c"; }) (fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.5.0-preview.3"; sha256 = "194p44gd7r69x70j3qynv5v8awlyxmdazmzpwzgj5ayy2xpdk3hy"; })
(fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.4.0"; sha256 = "1bws3zry4awy73lwzllbdljl8wybmxfm870m175wl38c7pa18sav"; }) (fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.5.0-preview.3"; sha256 = "09p097nvs7vi7l14l024m39qyhg1gyqihanq7zv66xqys4hzim1g"; })
(fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.4.0"; sha256 = "05maiqg2qxsg56zb8zamv241gqkskli8laa7i0dxl3f93ddc78f6"; }) (fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.5.0-preview.3"; sha256 = "0lspyra1g1rd8hj3f3daxspin5dhgplzgjh4jwhlgzzn648942j0"; })
(fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.4.0"; sha256 = "1gy8gx7vy070nc2afj1zsn3d004y9d3gwn7zdj9g2fbhavbc4snk"; }) (fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.5.0-preview.3"; sha256 = "090svrddgpliks5r29yncih3572w7gdc552nl16qbviqbmhr0lbs"; })
(fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.4.0"; sha256 = "05q00p06kn97143az2xi5zhfpi30qqcds1n1zfj87gi5w0jla4ib"; }) (fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.5.0-preview.3"; sha256 = "1wxwf24gabd69yxpnhv30rn7pcv49w885jdw3nqbrakl7pvv9fza"; })
(fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.4.0"; sha256 = "06vrkjyzj4rjvlni3ixj12zpky2mah8v1q8nbbkfwca08k5hdz7p"; }) (fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.5.0-preview.3"; sha256 = "0iajydyx79f3khx0fhv8izbxlzxwn6gpps2xzmi9c4v98ly221j3"; })
(fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.4.0"; sha256 = "06b2c35ynmkknk5zbhs75081dki0zm165xa659mg8i88cyxsgrh4"; }) (fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.5.0-preview.3"; sha256 = "114fbgxils50jdy891nwj70yr43lnwgbq9fzxqzywd1kk70k7mww"; })
(fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.4.0"; sha256 = "1hwmd3j4gllzjwkqq3m4wbl3v7hh2nsa7i1d2ziw3fvgbnbnb1vi"; }) (fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.5.0-preview.3"; sha256 = "0f5s6f6pwc9vc3nm7xfaa06z2klgpg4rv5cdf0cwis3vlncd7dnj"; })
(fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.4.0"; sha256 = "1r8hkr7vm32cjmw092l67kaysqa5jzyn7v518502nljlm9ivil6f"; }) (fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.5.0-preview.3"; sha256 = "1fn0b8lwlrmjm9phjq4amqnq3q70fl214115652cap5rz4rjmpgg"; })
(fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.4.0"; sha256 = "1wyq9s18gfs73z01gaqm87i7h71ir2n0jz1dyi26hj6b3qp0p34a"; }) (fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.5.0-preview.3"; sha256 = "0xska2l44l0j38mlgmrwly1qal9wzbv2w2jjj8gn90sxbygb8zky"; })
(fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.4.0"; sha256 = "0qifms5nlljzccgzvnyx5vcdgvfdyp2q7s0zdglay5x5g4zrl8fv"; }) (fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.5.0-preview.3"; sha256 = "0ccw3bd3kl24mnxbjzhya11i0ln6g1g7q876pyy54cwh48x4mdia"; })
(fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.4.0"; sha256 = "1vn8bgi9ijnw25id5vis15gv9h0d4y03scr4jv03scisv411jrl8"; }) (fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.5.0-preview.3"; sha256 = "0lds340p5cci7sjp58nh94jxkjvzfky9cbs2h4q98hglxndjm7r9"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; }) (fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; sha256 = "1rqcmdyzxz9kc0k8594hbpksjc23mkakmjybi4b8702qycxx0lrf"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.4-preview.84"; sha256 = "1kk2ja6lsfmx00sliniyky9fimrk9pcq2ql7j72310kx3qaad45v"; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0"; sha256 = "0i9gaiyjgmcpnfn1fixbxq8shqlh4ahng7j4dxlf38zlln1f6h80"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0"; sha256 = "1b5ng37bwk75cifw7p1hzn8z6sswi8h7h510qgwlbvgmlrs5r0ga"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; }) (fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; sha256 = "1hyvmz7rfbrxbcpnwyvb64gdk1hifcpz3rln58yyb7g1pnbpnw2s"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.4-preview.84"; sha256 = "0q5nmqhvdyg112c6q5h2h407d11g7sickbrn3fc5036n7svij13z"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.3"; sha256 = "08khd2jqm8sw58ljz5srangzfm2sz3gd2q1jzc5fr80lj8rv6r74"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "2.8.2.4-preview.84"; sha256 = "1jkkjj2p8wiabc6m5m88kf1ykq5wdjihyn27279mvw8vyrp4zp5d"; })
(fetchNuGet { pname = "Hazzik.Qif"; version = "1.0.3"; sha256 = "16v6cfy3pa0qy699v843pss3418rvq5agz6n43sikzh69vzl2azy"; }) (fetchNuGet { pname = "Hazzik.Qif"; version = "1.0.3"; sha256 = "16v6cfy3pa0qy699v843pss3418rvq5agz6n43sikzh69vzl2azy"; })
(fetchNuGet { pname = "LiveChartsCore"; version = "2.0.0-beta.910"; sha256 = "0yw54yd1kp4j8js1g405m4lvv84zx4zkx4m64iiqsc765a4alvvy"; }) (fetchNuGet { pname = "LiveChartsCore"; version = "2.0.0-rc2"; sha256 = "02ywlv67525qnnx7x2xaz52gs8195zvvjlmcz7ql1gff05pkcb15"; })
(fetchNuGet { pname = "LiveChartsCore.SkiaSharpView"; version = "2.0.0-beta.910"; sha256 = "1ifhvcsa0319mip98xbmlib3k7fkn24igfxxyfi2d31rajqv970r"; }) (fetchNuGet { pname = "LiveChartsCore.SkiaSharpView"; version = "2.0.0-rc2"; sha256 = "1p35mli6wxq5jn7h27564a8dgv4qyj95isihs9lbmvs1pr7m785l"; })
(fetchNuGet { pname = "Markdig"; version = "0.31.0"; sha256 = "0iic44i47wp18jbbpl44iifhj2mfnil9gakkw3bzp7zif3rhl19m"; }) (fetchNuGet { pname = "Markdig"; version = "0.33.0"; sha256 = "1dj06wgdqmjji4nfr1dysz7hwp5bjgsrk9qjkdq82d7gk6nmhs9r"; })
(fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.2"; sha256 = "0x7xlym8jsm0zgbb75ip74gnw3fssb30phc48xf35yx6i0sfb2dh"; }) (fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.5"; sha256 = "1ikjxj6wir2jcjwlmd4q7zz0b4g40808gx59alvad31sb2aqp738"; })
(fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.5"; sha256 = "11gkdlf2apnzvwfd7bxdhjvb4qd0p2ridp4rrz44f7h76x1sb0gk"; }) (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.0"; sha256 = "05qjnzk1fxybks92y93487l3mj5nghjcwiy360xjgk3jykz3rv39"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; }) (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; })
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Nickvision.Aura"; version = "2023.9.3"; sha256 = "0j3fqjl8nskqqwmkc41h3pgnvl63nq9w443b571j154xibly5iw7"; }) (fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.3"; sha256 = "06g63k1p8maskg8hicjbi00fyyxh95fkykvv205p9vr0803bjqrd"; })
(fetchNuGet { pname = "Nickvision.GirExt"; version = "2023.7.3"; sha256 = "1ahf4mld9khk2gaja30zfcjmhclz2l2nims0q4l7jk2nm9p7rzi9"; }) (fetchNuGet { pname = "Octokit"; version = "9.0.0"; sha256 = "0kw49w1hxk4d2x9598012z9q1yr3ml5rm06fy1jnmhy44s3d3jp5"; })
(fetchNuGet { pname = "OfxSharp.NetStandard"; version = "1.0.0"; sha256 = "1v7yw2glyywb4s0y5fw306bzh2vw175bswrhi5crvd92wf93makj"; }) (fetchNuGet { pname = "OfxSharp.NetStandard"; version = "1.0.0"; sha256 = "1v7yw2glyywb4s0y5fw306bzh2vw175bswrhi5crvd92wf93makj"; })
(fetchNuGet { pname = "PdfSharpCore"; version = "1.3.56"; sha256 = "0a01b2a14gygh25rq3509rky85331l8808q052br2fzidhb2vc10"; }) (fetchNuGet { pname = "PdfSharpCore"; version = "1.3.62"; sha256 = "1wxm642fx0pgiidd5x35iifayq7nicykycpwpvs0814xfjm0zw63"; })
(fetchNuGet { pname = "QuestPDF"; version = "2023.5.1"; sha256 = "1yfjwb7aj975aars7mcp1dxvarxl8aq122bndpw808b4cx3058gl"; }) (fetchNuGet { pname = "QuestPDF"; version = "2023.10.2"; sha256 = "08jy42k8nxbkbdc2z013vk28r5ckmg7lpzvnah0shrjmwfq34v4j"; })
(fetchNuGet { pname = "ReadSharp.Ports.SgmlReader.Core"; version = "1.0.0"; sha256 = "0pcvlh0gq513vw6y12lfn90a0br56a6f26lvppcj4qb839zmh3id"; }) (fetchNuGet { pname = "ReadSharp.Ports.SgmlReader.Core"; version = "1.0.0"; sha256 = "0pcvlh0gq513vw6y12lfn90a0br56a6f26lvppcj4qb839zmh3id"; })
(fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
(fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
@ -63,21 +60,16 @@
(fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
(fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; }) (fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta17"; sha256 = "1qm8q82wzj54nbv63kx3ybln51k47sl18hia3jnzk1zrb6wdsw9a"; }) (fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta17"; sha256 = "1qm8q82wzj54nbv63kx3ybln51k47sl18hia3jnzk1zrb6wdsw9a"; })
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.3"; sha256 = "12qb0r7v2v91vw8q8ygr67y527gwhbas6d6zdvrv4ksxwjx9dzp9"; }) (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.0.2"; sha256 = "1r654m3ga9al9q4qjr1104rp6lk7j9blmf4j0104zq8893hhq727"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; }) (fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; sha256 = "0xs11zjw9ha68maw3l825kfwlrid43qwy0mswljxhpjh0y1k6k6b"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.4-preview.84"; sha256 = "1isyjmmfqzbvqiypsvvnqrwf6ifr2ypngzvzj41m5nbk1jr8nn6m"; }) (fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.6"; sha256 = "1h61vk9ibavwwrxqgclzsxmchighvfaqlcqrj0dpi2fzw57f54c2"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.3"; sha256 = "0axz2zfyg0h3zis7rr86ikrm2jbxxy0gqb3bbawpgynf1k0fsi6a"; }) (fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; sha256 = "0cg38xgddww1y93xrnbfn40sin63yl39j5zm7gm5pdgp5si0cf2n"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.4-preview.84"; sha256 = "132n0sq2fjk53mc89yx6qn20w194145sv9367s623di7ysz467br"; }) (fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; sha256 = "1fp9h8c8k6sbsh48b69dc6461isd4dajq7yw5i7j6fhkas78q4zf"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; }) (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; }) (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.6"; sha256 = "15v2x7y4k7cl47a9jccbvgbwngwi5dz6qhv0cxpcasx4v5i9aila"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.4-preview.84"; sha256 = "0vqwc2wh8brzn99cc61qgcyf3gd8vqlbdkjcmc3bcb07bc8k16v7"; }) (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; }) (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.6"; sha256 = "0dl5an15whs4yl5hm2wibzbfigzck0flah8a07k99y1bhbmv080z"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.4-preview.84"; sha256 = "0m48d87cp2kvrhxvykxnhbzgm7xrw8jkdagvma80bag5gzdiicy2"; }) (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.6"; sha256 = "1jx8d4dq5w2951b7w722gnxbfgdklwazc48kcbdzylkglwkrqgrq"; })
(fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.5"; sha256 = "0xnzpkhm9z09yay76wxgn4j8js260pansx8r10lrksxv2b4b0n4x"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.4"; sha256 = "09akxz92qipr1cj8mk2hw99i0b81wwbwx26gpk21471zh543f8ld"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.5"; sha256 = "03181hahmxv8jlaikx0nkzfc2q1l1cdp3chgx5q6780nhqyjkhhx"; })
(fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.5"; sha256 = "1chij7jlpi2mdm55chrkn8bmlda5qb3q6idkljgc3rz26n6c2l5b"; })
(fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.5"; sha256 = "11xah1nfzryh52zfwhlvfm2ra7d3an5ygff2brylp75wa685gm7g"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
@ -87,6 +79,7 @@
(fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
(fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
(fetchNuGet { pname = "System.Drawing.Common"; version = "8.0.0"; sha256 = "1j4rsm36bnwqmh5br9mzmj0ikjnc39k26q6l9skjlrnw8hlngwy4"; })
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
(fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
(fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
@ -99,6 +92,7 @@
(fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
(fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; })
(fetchNuGet { pname = "System.Memory"; version = "4.5.5"; sha256 = "08jsfwimcarfzrhlyvjjid61j02irx6xsklf32rv57x2aaikvx0h"; })
(fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
(fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
(fetchNuGet { pname = "System.Net.Requests"; version = "4.3.0"; sha256 = "0pcznmwqqk0qzp0gf4g4xw7arhb0q8v9cbzh3v8h8qp6rjcr339a"; }) (fetchNuGet { pname = "System.Net.Requests"; version = "4.3.0"; sha256 = "0pcznmwqqk0qzp0gf4g4xw7arhb0q8v9cbzh3v8h8qp6rjcr339a"; })
@ -114,7 +108,6 @@
(fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
(fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
@ -128,7 +121,6 @@
(fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
(fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; })
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
(fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })

View File

@ -76,14 +76,14 @@ let
urllib3 urllib3
]; ];
in mkDerivation rec { in mkDerivation rec {
version = "3.28.13"; version = "3.28.14";
pname = "qgis-ltr-unwrapped"; pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-5UHyRxWFqhTq97VNb8AU8QYGaY0lmGB8bo8yXp1vnFQ="; hash = "sha256-BiBrnma6HlaRF2kC/AwbdhRaZOYrJ7lzDLdJfjkDmfk=";
}; };
passthru = { passthru = {

View File

@ -77,14 +77,14 @@ let
urllib3 urllib3
]; ];
in mkDerivation rec { in mkDerivation rec {
version = "3.34.1"; version = "3.34.2";
pname = "qgis-unwrapped"; pname = "qgis-unwrapped";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-y+MATjhGUh0Qu4mNRALmP04Zd2/ozvaJnJDdM38Cy+w="; hash = "sha256-RKxIJpp0lmRqyMYJuX2U4/GJh0FTnklFOcUft6LsuHc=";
}; };
passthru = { passthru = {

View File

@ -31,11 +31,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "saga"; pname = "saga";
version = "9.2.0"; version = "9.3.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz"; url = "mirror://sourceforge/saga-gis/saga-${version}.tar.gz";
sha256 = "sha256-jHZi1c1M5WQfqBmtIvI7S9mWNXmzGUsvgJICvXbSjVc="; sha256 = "sha256-zBdp4Eyzpc21zhA2+UD6LrXNH+sSfb0avOscxCbGxjE=";
}; };
sourceRoot = "saga-${version}/saga-gis"; sourceRoot = "saga-${version}/saga-gis";

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "goxel"; pname = "goxel";
version = "0.12.0"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "guillaumechereau"; owner = "guillaumechereau";
repo = "goxel"; repo = "goxel";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-taDe5xJU6ijikHaSMDYs/XE2O66X3J7jOKWzbj7hrN0="; hash = "sha256-mB4ln2uIhK/hsX+hUpeZ8H4aumaAUl5vaFkqolJtLRg=";
}; };
nativeBuildInputs = [ scons pkg-config wrapGAppsHook ]; nativeBuildInputs = [ scons pkg-config wrapGAppsHook ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, ninja, pkg-config, m4, bash { lib, stdenv, fetchFromGitHub, makeWrapper, cmake, ninja, pkg-config, m4, perl, bash
, xdg-utils, zip, unzip, gzip, bzip2, gnutar, p7zip, xz , xdg-utils, zip, unzip, gzip, bzip2, gnutar, p7zip, xz
, IOKit, Carbon, Cocoa, AudioToolbox, OpenGL, System , IOKit, Carbon, Cocoa, AudioToolbox, OpenGL, System
, withTTYX ? true, libX11 , withTTYX ? true, libX11
@ -14,18 +14,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "far2l"; pname = "far2l";
version = "2.4.1"; version = "2.5.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elfmz"; owner = "elfmz";
repo = "far2l"; repo = "far2l";
rev = "v_${version}"; rev = "v_${version}";
sha256 = "sha256-0t1ND6LmDcivfrZ8RaEr1vjeS5JtaeWkoHkl2e7Xr5s="; sha256 = "sha256-aK6+7ChFAkeDiEYU2llBb//PBej2Its/wBeuG7ys/ew=";
}; };
patches = [ ./python_prebuild.patch ]; nativeBuildInputs = [ cmake ninja pkg-config m4 perl makeWrapper ];
nativeBuildInputs = [ cmake ninja pkg-config m4 makeWrapper ];
buildInputs = lib.optional withTTYX libX11 buildInputs = lib.optional withTTYX libX11
++ lib.optional withGUI wxGTK32 ++ lib.optional withGUI wxGTK32
@ -39,21 +37,21 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
patchShebangs python/src/prebuild.sh patchShebangs python/src/prebuild.sh
substituteInPlace far2l/src/vt/vtcompletor.cpp \ patchShebangs far2l/bootstrap/view.sh
--replace '"/bin/bash"' '"${bash}/bin/bash"'
substituteInPlace far2l/src/cfg/config.cpp \
--replace '"/bin/bash"' '"${bash}/bin/bash"'
''; '';
cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "yes" else "no"}") { cmakeFlags = [
TTYX = withTTYX; (lib.cmakeBool "TTYX" withTTYX)
USEWX = withGUI; (lib.cmakeBool "USEWX" withGUI)
USEUCD = withUCD; (lib.cmakeBool "USEUCD" withUCD)
COLORER = withColorer; (lib.cmakeBool "COLORER" withColorer)
MULTIARC = withMultiArc; (lib.cmakeBool "MULTIARC" withMultiArc)
NETROCKS = withNetRocks; (lib.cmakeBool "NETROCKS" withNetRocks)
PYTHON = withPython; (lib.cmakeBool "PYTHON" withPython)
}; ] ++ lib.optionals withPython [
(lib.cmakeFeature "VIRTUAL_PYTHON" "python")
(lib.cmakeFeature "VIRTUAL_PYTHON_VERSION" "python")
];
runtimeDeps = [ unzip zip p7zip xz gzip bzip2 gnutar ]; runtimeDeps = [ unzip zip p7zip xz gzip bzip2 gnutar ];

View File

@ -1,20 +0,0 @@
diff --git i/python/src/prebuild.sh w/python/src/prebuild.sh
index d2847ee5..aa1ecc53 100755
--- i/python/src/prebuild.sh
+++ w/python/src/prebuild.sh
@@ -12,9 +12,6 @@ mkdir -p "$DST/incpy"
if [ ! -f "$DST/python/.prepared" ]; then
echo "Preparing python virtual env at $DST/python using $PYTHON"
mkdir -p "$DST/python"
- $PYTHON -m venv --system-site-packages "$DST/python"
- "$DST/python/bin/python" -m pip install --upgrade pip || true
- "$DST/python/bin/python" -m pip install --ignore-installed cffi debugpy pcpp
$PREPROCESSOR "$SRC/python/src/consts.gen" | sh > "${DST}/incpy/consts.h"
echo "1" > "$DST/python/.prepared"
@@ -26,4 +23,4 @@ cp -f -R \
"$SRC/python/configs/plug/far2l/"* \
"$DST/incpy/"
-"$DST/python/bin/python" "$SRC/python/src/pythongen.py" "${SRC}" "${DST}/incpy"
+"python" "$SRC/python/src/pythongen.py" "${SRC}" "${DST}/incpy"

View File

@ -480,5 +480,5 @@ in
}; };
}; };
} // lib.optionalAttrs config.allowAliases { } // lib.optionalAttrs config.allowAliases {
octoprint-dashboard = self.dashboard; octoprint-dashboard = super.dashboard;
} }

View File

@ -29,13 +29,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "organicmaps"; pname = "organicmaps";
version = "2023.11.17-17"; version = "2023.12.20-4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "organicmaps"; owner = "organicmaps";
repo = "organicmaps"; repo = "organicmaps";
rev = "${version}-android"; rev = "${version}-android";
hash = "sha256-3oGcupO49+ZXyW+ii4T+wov4qweDnLO+VkXSAIh7qJ4="; hash = "sha256-9yQMBP5Jta6P/FmYL6Ek3MzU1DKtVEwlwYAkNxC5pn4=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "revanced-cli"; pname = "revanced-cli";
version = "4.3.0"; version = "4.4.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/revanced/revanced-cli/releases/download/v${version}/revanced-cli-${version}-all.jar"; url = "https://github.com/revanced/revanced-cli/releases/download/v${version}/revanced-cli-${version}-all.jar";
hash = "sha256-D/4zR5PvcZqv8yyNIzbnYnGoHDrPQAeHyrN/G4QsTB0="; hash = "sha256-ydP9iPClWNKlbBhsNC1bzqfJYRyit1WsxIgwbQQbgi8=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -2,23 +2,23 @@
buildGoModule rec { buildGoModule rec {
pname = "sqls"; pname = "sqls";
version = "0.2.22"; version = "0.2.28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lighttiger2505"; owner = "sqls-server";
repo = pname; repo = "sqls";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xtvm/NVL98dRzQL1id/WwT/NdsnB7qTRVR7jfrRsabY="; hash = "sha256-b3zLyj2n+eKOPBRooS68GfM0bsiTVXDblYKyBYKiYug=";
}; };
vendorHash = "sha256-sowzyhvNr7Ek3ex4BP415HhHSKnqPHy5EbnECDVZOGw="; vendorHash = "sha256-6IFJvdT7YLnWsg7Icd3nKXXHM6TZKZ+IG9nEBosRCwA=";
ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.revision=${src.rev}" ]; ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.revision=${src.rev}" ];
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
homepage = "https://github.com/lighttiger2505/sqls"; homepage = "https://github.com/sqls-server/sqls";
description = "SQL language server written in Go"; description = "SQL language server written in Go";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.marsam ]; maintainers = [ maintainers.marsam ];

View File

@ -1,66 +0,0 @@
{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkg-config, makeWrapper
, glib, gtk3, libappindicator-gtk3, gpgme, openshift, ostree, libselinux, btrfs-progs
, lvm2, docker-machine-kvm
}:
let
version = "1.34.3";
# Update these on version bumps according to Makefile
centOsIsoVersion = "v1.17.0";
openshiftVersion = "v3.11.0";
in buildGoPackage rec {
pname = "minishift";
inherit version;
src = fetchFromGitHub {
owner = "minishift";
repo = "minishift";
rev = "v${version}";
sha256 = "0yhln3kyc0098hbnjyxhbd915g6j7s692c0z8yrhh9gdpc5cr2aa";
};
nativeBuildInputs = [ pkg-config go-bindata makeWrapper ];
buildInputs = [ glib gtk3 libappindicator-gtk3 gpgme ostree libselinux btrfs-progs lvm2 ];
goPackagePath = "github.com/minishift/minishift";
subPackages = [ "cmd/minishift" ];
postPatch = ''
# minishift downloads openshift if not found therefore set the cache to /nix/store/...
substituteInPlace pkg/minishift/cache/oc_caching.go \
--replace 'filepath.Join(oc.MinishiftCacheDir, OC_CACHE_DIR, oc.OpenShiftVersion, runtime.GOOS)' '"${openshift}/bin"' \
--replace '"runtime"' ""
'';
ldflags = [
"-X ${goPackagePath}/pkg/version.minishiftVersion=${version}"
"-X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion}"
"-X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion}"
];
preBuild = ''
(cd go/src/github.com/minishift/minishift
mkdir -p out/bindata
go-bindata -prefix addons -o out/bindata/addon_assets.go -pkg bindata addons/...)
'';
postInstall = ''
wrapProgram "$out/bin/minishift" \
--prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm openshift ]}'
'';
meta = with lib; {
description = "Run OpenShift locally";
longDescription = ''
Minishift is a tool that helps you run OpenShift locally by running
a single-node OpenShift cluster inside a VM. You can try out OpenShift
or develop with it, day-to-day, on your local host.
'';
homepage = "https://github.com/minishift/minishift";
maintainers = with maintainers; [ vdemeester ];
platforms = platforms.linux;
license = licenses.asl20;
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "talosctl"; pname = "talosctl";
version = "1.6.0"; version = "1.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "siderolabs"; owner = "siderolabs";
repo = "talos"; repo = "talos";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-Mcc9lfnhSbVA5tNHUtBgfQEGVyen4KZ/V9OeV8PxAYQ="; hash = "sha256-xJKYnKJ0qvgVZ2I7O+qYO/ujuW03B+DykXO/ZYLgoyU=";
}; };
vendorHash = "sha256-VeUDyiJ0R27Xrf+79f0soELKvR2xaK5ocbvhCzP9eFk="; vendorHash = "sha256-CIDCUIk0QFSHM2gc1XpD6Ih11zXbCDDeSf5vf6loI9w=";
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "terragrunt"; pname = "terragrunt";
version = "0.54.10"; version = "0.54.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-0cciBPMK2ceRSyV0zt5o/SgHDUzbtMj/BmLzqsMf/7g="; hash = "sha256-fKZd4WlU011LCrh6jLyEecm5jEbX/CF5Vk0PMQbznx0=";
}; };
vendorHash = "sha256-nz/mIMLgYF2HjN0jalCqUni143VKjFUMBc/0GaEG20U="; vendorHash = "sha256-ey2PHpNK4GBE6FlXTYlbYhtG1re3OflbYnQmti9fS9k=";
doCheck = false; doCheck = false;

View File

@ -14,8 +14,8 @@ let
src-cmake = fetchFromGitHub { src-cmake = fetchFromGitHub {
owner = "zeek"; owner = "zeek";
repo = "cmake"; repo = "cmake";
rev = "b191c36167bc0d6bd9f059b01ad4c99be98488d9"; rev = "1be78cc8a889d95db047f473a0f48e0baee49f33";
hash = "sha256-h6xPCcdTnREeDsGQhWt2w4yJofpr7g4a8xCOB2e0/qQ="; hash = "sha256-zcXWP8CHx0RSDGpRTrYD99lHlqSbvaliXrtFowPfhBk=";
}; };
src-3rdparty = fetchFromGitHub { src-3rdparty = fetchFromGitHub {
owner = "zeek"; owner = "zeek";
@ -37,9 +37,9 @@ let
doCheck = false; doCheck = false;
}); });
in in
stdenv.mkDerivation { stdenv.mkDerivation rec {
pname = "zeek-broker"; pname = "zeek-broker";
version = "unstable-2023-02-01"; version = "2.7.0";
outputs = [ "out" "py" ]; outputs = [ "out" "py" ];
strictDeps = true; strictDeps = true;
@ -47,8 +47,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zeek"; owner = "zeek";
repo = "broker"; repo = "broker";
rev = "3df8d35732d51e3bd41db067260998e79e93f366"; rev = "v${version}";
hash = "sha256-37JIgbG12zd13YhfgVb4egzi80fUcZVj/s+yvsjcP7E="; hash = "sha256-fwLqw7PPYUDm+eJxDpCtY/W6XianqBDPHOhzDQoooYo=";
}; };
postUnpack = '' postUnpack = ''
rmdir $sourceRoot/cmake $sourceRoot/3rdparty rmdir $sourceRoot/cmake $sourceRoot/3rdparty
@ -64,6 +64,10 @@ stdenv.mkDerivation {
./0001-Fix-include-path-in-exported-CMake-targets.patch ./0001-Fix-include-path-in-exported-CMake-targets.patch
]; ];
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace bindings/python/CMakeLists.txt --replace " -u -r" ""
'';
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ openssl python3.pkgs.pybind11 ]; buildInputs = [ openssl python3.pkgs.pybind11 ];
propagatedBuildInputs = [ caf' ]; propagatedBuildInputs = [ caf' ];

View File

@ -26,11 +26,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zeek"; pname = "zeek";
version = "6.0.2"; version = "6.1.0";
src = fetchurl { src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz"; url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "sha256-JCGYmtzuain0io9ycvcZ7b6VTWbC6G46Uuecrhd/iHw="; sha256 = "sha256-+3VvS5eAl1W13sOJJ8SUd/8GqmR9/NK4gCWxvhtqNY4=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4d3da0c90..d37931c1b 100644 index 4d3da0c90..d37931c1b 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -503,11 +503,6 @@ if (NOT MSVC) @@ -508,11 +508,6 @@ if (NOT MSVC)
set(HAVE_SUPERVISOR true) set(HAVE_SUPERVISOR true)
endif () endif ()
@ -11,11 +11,11 @@ index 4d3da0c90..d37931c1b 100644
-install(DIRECTORY DESTINATION ${ZEEK_SPOOL_DIR}) -install(DIRECTORY DESTINATION ${ZEEK_SPOOL_DIR})
-install(DIRECTORY DESTINATION ${ZEEK_LOG_DIR}) -install(DIRECTORY DESTINATION ${ZEEK_LOG_DIR})
- -
configure_file(zeek-path-dev.in ${CMAKE_CURRENT_BINARY_DIR}/zeek-path-dev) configure_file(cmake_templates/zeek-path-dev.in ${CMAKE_CURRENT_BINARY_DIR}/zeek-path-dev)
file( file(
@@ -1198,7 +1193,7 @@ if (INSTALL_ZKG) @@ -1201,7 +1201,7 @@ if (INSTALL_ZKG)
@ONLY) ${CMAKE_CURRENT_BINARY_DIR}/zkg-config @ONLY)
install(DIRECTORY DESTINATION var/lib/zkg) install(DIRECTORY DESTINATION var/lib/zkg)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zkg-config DESTINATION ${ZEEK_ZKG_CONFIG_DIR} - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/zkg-config DESTINATION ${ZEEK_ZKG_CONFIG_DIR}
@ -37,7 +37,7 @@ index 1ebe7c2..1435509 100644
######################################################################## ########################################################################
## Dependency Configuration ## Dependency Configuration
@@ -200,38 +200,9 @@ else () @@ -186,38 +186,9 @@ else ()
set(LOGS ${VAR}/logs) set(LOGS ${VAR}/logs)
endif () endif ()

View File

@ -13,16 +13,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "webcord"; pname = "webcord";
version = "4.6.0"; version = "4.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SpacingBat3"; owner = "SpacingBat3";
repo = "WebCord"; repo = "WebCord";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-d/+ATnDh+c3Jr3VY+KrMxTuNtB9o14wn2Z5KXtk1B2c="; hash = "sha256-4ePjRs9CEnDHq9iVcQNEkefl0YP/tc1ePLhW/w9NPDs=";
}; };
npmDepsHash = "sha256-XfACVvK7nOrgduGO71pCEAXtYPqjXA9/1y+w4hahdi0="; npmDepsHash = "sha256-UzwLORlUeTMq3RyOHpvBrbxbwgpMBsbmfyXBhpB6pOQ=";
nativeBuildInputs = [ nativeBuildInputs = [
copyDesktopItems copyDesktopItems

View File

@ -18,17 +18,19 @@
, indilib , indilib
, libnova , libnova
, qttools , qttools
, exiv2
, nlopt
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "stellarium"; pname = "stellarium";
version = "23.3"; version = "23.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Stellarium"; owner = "Stellarium";
repo = "stellarium"; repo = "stellarium";
rev = "v${version}"; rev = "v${finalAttrs.version}";
hash = "sha256-bYvGmYu9jMHk2IUICz2kCVh56Ymz8JHqurdWV+xEdJY="; hash = "sha256-rDqDs6sFaZQbqJcCRhY5w8sFM2mYHHvw0Ud2Niimg4Y=";
}; };
patches = [ patches = [
@ -66,12 +68,14 @@ stdenv.mkDerivation rec {
qxlsx qxlsx
indilib indilib
libnova libnova
exiv2
nlopt
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
qtwayland qtwayland
]; ];
preConfigure = '' preConfigure = ''
export SOURCE_DATE_EPOCH=$(date -d 20${lib.versions.major version}0101 +%s) export SOURCE_DATE_EPOCH=$(date -d 20${lib.versions.major finalAttrs.version}0101 +%s)
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
export LC_ALL=en_US.UTF-8 export LC_ALL=en_US.UTF-8
''; '';
@ -89,11 +93,11 @@ stdenv.mkDerivation rec {
qtWrapperArgs+=("''${gappsWrapperArgs[@]}") qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
''; '';
meta = with lib; { meta = {
description = "Free open-source planetarium"; description = "Free open-source planetarium";
homepage = "https://stellarium.org/"; homepage = "https://stellarium.org/";
license = licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
platforms = platforms.unix; platforms = lib.platforms.unix;
maintainers = with maintainers; [ kilianar ]; maintainers = with lib.maintainers; [ kilianar ];
}; };
} })

View File

@ -18,15 +18,15 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "stgit"; pname = "stgit";
version = "2.4.1"; version = "2.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stacked-git"; owner = "stacked-git";
repo = "stgit"; repo = "stgit";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-5fMGWqvGbpRVAgarNO0zV8ID+X/RnguGHF927syCXGg="; hash = "sha256-Rdpi20FRtSYQtYfBvLr+2hghpHKSSDoUZBQqm2nxZxk=";
}; };
cargoHash = "sha256-U63r0tcxBTQMONHJp6WswqxTUH7uzw6a7Vc4Np1bATY="; cargoHash = "sha256-vd2y6XYBlFU9gxd8hNj0srWqEuJAuXTOzt9GPD9q0yc=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl

5084
pkgs/applications/video/gyroflow/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,126 @@
{ lib, rustPlatform, fetchFromGitHub, callPackage, makeDesktopItem
, clang, copyDesktopItems, patchelf, pkg-config, wrapQtAppsHook
, alsa-lib, bash, ffmpeg, mdk-sdk, ocl-icd, opencv, qtbase, qtdeclarative, qtsvg
}:
rustPlatform.buildRustPackage rec {
pname = "gyroflow";
version = "1.5.4-2023-12-25";
src = fetchFromGitHub {
owner = "gyroflow";
repo = "gyroflow";
rev = "e0869ffe648cb3fd88d81c807b1f7fa2e18d7430";
hash = "sha256-KB/uoQR43im/m5uJhheAPCqUH9oIx85JaIUwW9rhAAw=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"ahrs-0.6.0" = "sha256-CxWyX8t+BjqIyNj1p1LdkCmNrtJkudmKgZPv0MVcghY=";
"akaze-0.7.0" = "sha256-KkGXKoVRZZ7HUTtWYBerrN36a7RqsHjYQb+bwG1JagY=";
"d3d12-0.7.0" = "sha256-FqAVwW2jtDE1BV31OfrCJljGhj5iD0OfN2fANQ1wasc=";
"fc-blackbox-0.2.0" = "sha256-gL8m9DpHJPVD8vvrmuYv+biJT4PA5LmtohJwFVO+khU=";
"glow-0.13.0" = "sha256-vhPWzsm7NZx9JiRZcVoUslTGySQbASRh/wNlo1nK5jg=";
"keep-awake-0.1.0" = "sha256-EoXhK4/Aij70f73+5NBUoCXqZISG1+n2eVavNqe8mq4=";
"nshare-0.9.0" = "sha256-PAV41mMLDmhkAz4+qyf+MZnYTAdMwjk83+f+RdaJji8=";
"qmetaobject-0.2.10" = "sha256-ldmpbOYoCOaAoipfcCSwuV+fzF9gg1PTbRz2Jm4zJvA=";
"qml-video-rs-0.1.0" = "sha256-rwdci0QhGYOnCf04u61xuon06p8Zm2wKCNrW/qti9+U=";
"rs-sync-0.1.0" = "sha256-sfym7zv5SUitopqNJ6uFP6AMzAGf4Y7U0dzXAKlvuGA=";
"simplelog-0.12.0" = "sha256-NvmtLbzahSw1WMS3LY+jWiX4SxfSRwidTMvICGcmDO4=";
"system_shutdown-4.0.1" = "sha256-arJWmEjDdaig/oAfwSolVmk9s1UovrQ5LNUgTpUvoOQ=";
"telemetry-parser-0.2.8" = "sha256-Nr4SWEERKEAiZppqzjn1LIuMiZ2BTQEOKOlSnLVAXAg=";
};
};
lens-profiles = callPackage ./lens-profiles.nix { };
nativeBuildInputs = [
clang copyDesktopItems patchelf pkg-config rustPlatform.bindgenHook wrapQtAppsHook
];
buildInputs = [ alsa-lib bash ffmpeg mdk-sdk ocl-icd opencv qtbase qtdeclarative qtsvg ];
patches = [ ./no-static-zlib.patch ];
# qml-video-rs and gyroflow assume that all Qt headers are installed
# in a single (qtbase) directory. Apart form QtCore and QtGui from
# qtbase they need QtQuick and QtQml public and private headers from
# qtdeclarative:
# https://github.com/AdrianEddy/qml-video-rs/blob/bbf60090b966f0df2dd016e01da2ea78666ecea2/build.rs#L22-L40
# https://github.com/gyroflow/gyroflow/blob/v1.5.4/build.rs#L163-L186
# Additionally gyroflow needs QtQuickControls2:
# https://github.com/gyroflow/gyroflow/blob/v1.5.4/build.rs#L173
env.NIX_CFLAGS_COMPILE = toString [
"-I${qtdeclarative}/include/QtQuick"
"-I${qtdeclarative}/include/QtQuick/${qtdeclarative.version}"
"-I${qtdeclarative}/include/QtQuick/${qtdeclarative.version}/QtQuick"
"-I${qtdeclarative}/include/QtQml"
"-I${qtdeclarative}/include/QtQml/${qtdeclarative.version}"
"-I${qtdeclarative}/include/QtQml/${qtdeclarative.version}/QtQml"
"-I${qtdeclarative}/include/QtQuickControls2"
];
# FFMPEG_DIR is used by ffmpeg-sys-next/build.rs and
# gyroflow/build.rs. ffmpeg-sys-next fails to build if this dir
# does not contain ffmpeg *headers*. gyroflow assumes that it
# contains ffmpeg *libraries*, but builds fine as long as it is set
# with any value.
env.FFMPEG_DIR = ffmpeg.dev;
# These variables are needed by gyroflow/build.rs.
# OPENCV_LINK_LIBS is based on the value in gyroflow/_scripts/common.just, with opencv_dnn added to fix linking.
env.OPENCV_LINK_PATHS = "${opencv}/lib";
env.OPENCV_LINK_LIBS = "opencv_core,opencv_calib3d,opencv_dnn,opencv_features2d,opencv_imgproc,opencv_video,opencv_flann,opencv_imgcodecs,opencv_objdetect,opencv_stitching,png";
# For qml-video-rs. It concatenates "lib/" to this value so it needs a trailing "/":
env.MDK_SDK = "${mdk-sdk}/";
preCheck = ''
# qml-video-rs/build.rs wants to overwrite it:
find target -name libmdk.so.0 -exec chmod +w {} \;
'';
doCheck = false; # No tests.
postInstall = ''
mkdir -p $out/opt/Gyroflow
cp -r resources $out/opt/Gyroflow/
ln -s ${lens-profiles} $out/opt/Gyroflow/resources/camera_presets
rm -rf $out/lib
patchelf $out/bin/gyroflow --add-rpath ${mdk-sdk}/lib
mv $out/bin/gyroflow $out/opt/Gyroflow/
ln -s ../opt/Gyroflow/gyroflow $out/bin/
install -D ${./gyroflow-open.sh} $out/bin/gyroflow-open
install -Dm644 ${./gyroflow-mime.xml} $out/share/mime/packages/gyroflow.xml
install -Dm644 resources/icon.svg $out/share/icons/hicolor/scalable/apps/gyroflow.svg
'';
desktopItems = [
(makeDesktopItem (rec {
name = "gyroflow";
desktopName = "Gyroflow";
genericName = "Video stabilization using gyroscope data";
comment = meta.description;
icon = "gyroflow";
exec = "gyroflow-open %u";
terminal = false;
mimeTypes = [ "application/x-gyroflow" ];
categories = [ "AudioVideo" "Video" "AudioVideoEditing" "Qt" ];
startupNotify = true;
startupWMClass = "gyroflow";
prefersNonDefaultGPU = true;
}))
];
meta = with lib; {
description = "Advanced gyro-based video stabilization tool";
homepage = "https://gyroflow.xyz/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ orivej ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-gyroflow">
<glob pattern="*.gyroflow"/>
<comment xml:lang="en">Gyroflow project</comment>
<icon name="gyroflow"/>
</mime-type>
</mime-info>

View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
if [ "$#" -ge 1 ]; then
exec "$(dirname "$0")"/gyroflow --open "$@"
else
exec "$(dirname "$0")"/gyroflow "$@"
fi

View File

@ -0,0 +1,19 @@
{ lib, fetchFromGitHub }:
fetchFromGitHub {
pname = "gyroflow-lens-profiles";
version = "2023-12-01";
owner = "gyroflow";
repo = "lens_profiles";
rev = "3e72169ae6b8601260497d7216d5fcbbc8b67194";
hash = "sha256-18KtunSxTsJhBge+uOGBcNZRG3W26M/Osyxllu+N0UI=";
meta = with lib; {
description = "Lens profile database for Gyroflow";
homepage = "https://github.com/gyroflow/lens_profiles";
license = licenses.cc0;
maintainers = with maintainers; [ orivej ];
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,6 @@
diff --git a/build.rs b/build.rs
index 8ba86bf..f6f00a0 100644
--- a/build.rs
+++ b/build.rs
@@ -203 +202,0 @@ fn main() {
- println!("cargo:rustc-link-lib=static:+whole-archive=z");

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "obs-move-transition"; pname = "obs-move-transition";
version = "2.9.6"; version = "2.9.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "exeldro"; owner = "exeldro";
repo = "obs-move-transition"; repo = "obs-move-transition";
rev = version; rev = version;
sha256 = "sha256-A3R78JvjOdYE9/ZZ+KbZ5Ula9HC5E/u7BrqE2i6VwYs="; sha256 = "sha256-GOLmwXAK2g8IyI+DFH2sBOR2iknYdgYevytZpt3Cc7Q=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -2,7 +2,11 @@
{ lib, stdenv, emacs, texinfo, writeText, gcc }: { lib, stdenv, emacs, texinfo, writeText, gcc }:
with lib; let
handledArgs = [ "files" "fileSpecs" "meta" ];
genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };
in
{ pname { pname
, version , version
@ -11,15 +15,7 @@ with lib;
, ... , ...
}@args: }@args:
let genericBuild ({
defaultMeta = {
homepage = args.src.meta.homepage or "https://elpa.gnu.org/packages/${pname}.html";
};
in
import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
dontUnpack = true; dontUnpack = true;
@ -33,9 +29,9 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
runHook postInstall runHook postInstall
''; '';
meta = defaultMeta // meta; meta = {
homepage = args.src.meta.homepage or "https://elpa.gnu.org/packages/${pname}.html";
} // meta;
} }
// removeAttrs args [ "files" "fileSpecs" // removeAttrs args handledArgs)
"meta"
])

View File

@ -2,6 +2,26 @@
{ lib, stdenv, emacs, texinfo, writeText, gcc, ... }: { lib, stdenv, emacs, texinfo, writeText, gcc, ... }:
let
inherit (lib) optionalAttrs getLib;
handledArgs = [ "buildInputs" "packageRequires" "meta" ];
setupHook = writeText "setup-hook.sh" ''
source ${./emacs-funcs.sh}
if [[ ! -v emacsHookDone ]]; then
emacsHookDone=1
# If this is for a wrapper derivation, emacs and the dependencies are all
# run-time dependencies. If this is for precompiling packages into bytecode,
# emacs is a compile-time dependency of the package.
addEnvHooks "$hostOffset" addEmacsVars
addEnvHooks "$targetOffset" addEmacsVars
fi
'';
in
{ pname { pname
, version , version
, buildInputs ? [] , buildInputs ? []
@ -10,15 +30,6 @@
, ... , ...
}@args: }@args:
let
defaultMeta = {
broken = false;
platforms = emacs.meta.platforms;
} // lib.optionalAttrs ((args.src.meta.homepage or "") != "") {
homepage = args.src.meta.homepage;
};
in
stdenv.mkDerivation (finalAttrs: ({ stdenv.mkDerivation (finalAttrs: ({
name = "emacs-${pname}-${finalAttrs.version}"; name = "emacs-${pname}-${finalAttrs.version}";
@ -42,28 +53,21 @@ stdenv.mkDerivation (finalAttrs: ({
propagatedBuildInputs = packageRequires; propagatedBuildInputs = packageRequires;
propagatedUserEnvPkgs = packageRequires; propagatedUserEnvPkgs = packageRequires;
setupHook = writeText "setup-hook.sh" '' inherit setupHook;
source ${./emacs-funcs.sh}
if [[ ! -v emacsHookDone ]]; then
emacsHookDone=1
# If this is for a wrapper derivation, emacs and the dependencies are all
# run-time dependencies. If this is for precompiling packages into bytecode,
# emacs is a compile-time dependency of the package.
addEnvHooks "$hostOffset" addEmacsVars
addEnvHooks "$targetOffset" addEmacsVars
fi
'';
doCheck = false; doCheck = false;
meta = defaultMeta // meta; meta = {
broken = false;
platforms = emacs.meta.platforms;
} // optionalAttrs ((args.src.meta.homepage or "") != "") {
homepage = args.src.meta.homepage;
} // meta;
} }
// lib.optionalAttrs (emacs.withNativeCompilation or false) { // optionalAttrs (emacs.withNativeCompilation or false) {
LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; LIBRARY_PATH = "${getLib stdenv.cc.libc}/lib";
nativeBuildInputs = [ gcc ]; nativeBuildInputs = [ gcc ];
@ -83,4 +87,4 @@ stdenv.mkDerivation (finalAttrs: ({
''; '';
} }
// removeAttrs args [ "buildInputs" "packageRequires" "meta" ])) // removeAttrs args handledArgs))

View File

@ -3,37 +3,8 @@
{ lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }: { lib, stdenv, fetchFromGitHub, emacs, texinfo, writeText, gcc }:
with lib;
{ /*
pname: Nix package name without special symbols and without version or
"emacs-" prefix.
*/
pname
/*
ename: Original Emacs package name, possibly containing special symbols.
*/
, ename ? null
, version
, recipe
, meta ? {}
, ...
}@args:
let let
genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };
defaultMeta = {
homepage = args.src.meta.homepage or "https://melpa.org/#/${pname}";
};
in
import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
ename =
if ename == null
then pname
else ename;
packageBuild = stdenv.mkDerivation { packageBuild = stdenv.mkDerivation {
name = "package-build"; name = "package-build";
@ -55,9 +26,35 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
"; ";
}; };
in
{ /*
pname: Nix package name without special symbols and without version or
"emacs-" prefix.
*/
pname
/*
ename: Original Emacs package name, possibly containing special symbols.
*/
, ename ? null
, version
, recipe
, meta ? {}
, ...
}@args:
genericBuild ({
ename =
if ename == null
then pname
else ename;
elpa2nix = ./elpa2nix.el; elpa2nix = ./elpa2nix.el;
melpa2nix = ./melpa2nix.el; melpa2nix = ./melpa2nix.el;
inherit packageBuild;
preUnpack = '' preUnpack = ''
mkdir -p "$NIX_BUILD_TOP/recipes" mkdir -p "$NIX_BUILD_TOP/recipes"
if [ -n "$recipe" ]; then if [ -n "$recipe" ]; then
@ -104,7 +101,9 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
runHook postInstall runHook postInstall
''; '';
meta = defaultMeta // meta; meta = {
homepage = args.src.meta.homepage or "https://melpa.org/#/${pname}";
} // meta;
} }
// removeAttrs args [ "meta" ]) // removeAttrs args [ "meta" ])

View File

@ -2,8 +2,6 @@
{ callPackage, lib, ... }@envargs: { callPackage, lib, ... }@envargs:
with lib;
args: args:
callPackage ./generic.nix envargs ({ callPackage ./generic.nix envargs ({

View File

@ -289,7 +289,8 @@ let
disallowedReferences = lib.optional (!allowGoReference) go; disallowedReferences = lib.optional (!allowGoReference) go;
passthru = passthru // { inherit go goModules vendorHash; } // { inherit (args') vendorSha256; }; passthru = passthru // { inherit go goModules vendorHash; }
// lib.optionalAttrs (args' ? vendorSha256 ) { inherit (args') vendorSha256; };
meta = { meta = {
# Add default meta information # Add default meta information

View File

@ -15,11 +15,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bruno"; pname = "bruno";
version = "1.5.0"; version = "1.5.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb"; url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb";
hash = "sha256-ptrayWDnRXGUC/mgSnQ/8sIEdey+6uoa3LGBGPQYuY8="; hash = "sha256-kJfS3yORwvh7rMGgDV5Bn2L7+7ZMa8ZBpRI1P5y+ShQ=";
}; };
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ]; nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ];
@ -52,10 +52,11 @@ stdenv.mkDerivation rec {
passthru.updateScript = nix-update-script { }; passthru.updateScript = nix-update-script { };
meta = with lib; { meta = with lib; {
description = "Open-source IDE For exploring and testing APIs."; description = "Open-source IDE For exploring and testing APIs";
homepage = "https://www.usebruno.com"; homepage = "https://www.usebruno.com";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ water-sucks lucasew kashw2 ]; maintainers = with maintainers; [ water-sucks lucasew kashw2 ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };
} }

View File

@ -0,0 +1,26 @@
{ lib
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "htmx-lsp";
version = "0.1.0";
src = fetchFromGitHub {
owner = "ThePrimeagen";
repo = "htmx-lsp";
rev = version;
hash = "sha256-CvQ+vgo3+qUOj0SS6/NrapzXkP98tpiZbGhRHJxEqeo=";
};
cargoHash = "sha256-qKiFUnNUOBakfK3Vplr/bLR+4L/vIViHJYgw9+RoRZQ=";
meta = with lib; {
description = "Language server implementation for htmx";
homepage = "https://github.com/ThePrimeagen/htmx-lsp";
license = licenses.mit;
maintainers = with maintainers; [ vinnymeller ];
mainProgram = "htmx-lsp";
};
}

View File

@ -11,18 +11,18 @@
buildGoModule rec { buildGoModule rec {
pname = "usql"; pname = "usql";
version = "0.17.0"; version = "0.17.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xo"; owner = "xo";
repo = "usql"; repo = "usql";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-AcxtIdPflMT2SGM2dgbbiFx5S+NlM7neMuXrIhysFPo="; hash = "sha256-lGdFxbD8O5kmiMdM0EPJF1jmnyVs1WkK4Y+qC71t4EY=";
}; };
buildInputs = [ unixODBC icu ]; buildInputs = [ unixODBC icu ];
vendorHash = "sha256-UsYEhqsQUhRROe9HX4WIyi0OeMLHE87JOfp6vwbVMMo="; vendorHash = "sha256-2s6DLVUpizFQpOOs0jBinBlIhIRVzLxveUcWCuSgW68=";
proxyVendor = true; proxyVendor = true;
# Exclude broken genji, hive & impala drivers (bad group) # Exclude broken genji, hive & impala drivers (bad group)

View File

@ -35,10 +35,6 @@ stdenv.mkDerivation rec {
# TODO: switch to substituteAll with placeholder # TODO: switch to substituteAll with placeholder
# https://github.com/NixOS/nix/issues/1846 # https://github.com/NixOS/nix/issues/1846
postPatch = '' postPatch = ''
substituteInPlace src/gnome-shell/extension.js \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
substituteInPlace src/gnome-shell/prefs.js \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \ substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \
--subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"} --subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}
''; '';
@ -69,6 +65,20 @@ stdenv.mkDerivation rec {
"-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user" "-Dsystemd-user-unit-dir=${placeholder "out"}/etc/systemd/user"
]; ];
postInstall = ''
# We do not have central location to install typelibs to,
# lets ensure GNOME Shell can still find them.
extensionDir="$out/share/gnome-shell/extensions/GPaste@gnome-shell-extensions.gnome.org"
mv "$extensionDir/"{extension,.extension-wrapped}.js
mv "$extensionDir/"{prefs,.prefs-wrapped}.js
substitute "${./wrapper.js}" "$extensionDir/extension.js" \
--subst-var-by originalName "extension" \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
substitute "${./wrapper.js}" "$extensionDir/prefs.js" \
--subst-var-by originalName "prefs" \
--subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/Keruspe/GPaste"; homepage = "https://github.com/Keruspe/GPaste";
description = "Clipboard management system with GNOME 3 integration"; description = "Clipboard management system with GNOME 3 integration";

View File

@ -1,48 +1,3 @@
diff --git a/src/gnome-shell/__nix-prepend-search-paths.js b/src/gnome-shell/__nix-prepend-search-paths.js
new file mode 100644
index 00000000..e8e20c67
--- /dev/null
+++ b/src/gnome-shell/__nix-prepend-search-paths.js
@@ -0,0 +1,3 @@
+import GIRepository from 'gi://GIRepository';
+
+GIRepository.Repository.prepend_search_path('@typelibDir@');
diff --git a/src/gnome-shell/extension.js b/src/gnome-shell/extension.js
index cb862a30..980767c9 100644
--- a/src/gnome-shell/extension.js
+++ b/src/gnome-shell/extension.js
@@ -4,6 +4,8 @@
* Copyright (c) 2010-2023, Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
*/
+import './__nix-prepend-search-paths.js';
+
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
diff --git a/src/gnome-shell/meson.build b/src/gnome-shell/meson.build
index 86cbb0b2..80fc4d67 100644
--- a/src/gnome-shell/meson.build
+++ b/src/gnome-shell/meson.build
@@ -1,4 +1,5 @@
shell_extension_files = [
+ '__nix-prepend-search-paths.js',
'aboutItem.js',
'actionButton.js',
'actionButtonActor.js',
diff --git a/src/gnome-shell/prefs.js b/src/gnome-shell/prefs.js
index 4c0d9bde..58f54f9a 100644
--- a/src/gnome-shell/prefs.js
+++ b/src/gnome-shell/prefs.js
@@ -4,6 +4,8 @@
* Copyright (c) 2010-2023, Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
*/
+import './__nix-prepend-search-paths.js';
+
import { ExtensionPreferences, gettext as _ } from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
import GPasteGtk from 'gi://GPasteGtk?version=4';
diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpaste-settings.c diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpaste-settings.c
index 830f5e0b..c8df0e11 100644 index 830f5e0b..c8df0e11 100644
--- a/src/libgpaste/gpaste/gpaste-settings.c --- a/src/libgpaste/gpaste/gpaste-settings.c

View File

@ -0,0 +1,5 @@
import GIRepository from 'gi://GIRepository';
GIRepository.Repository.prepend_search_path('@typelibDir@');
export default (await import('./.@originalName@-wrapped.js')).default;

View File

@ -21,9 +21,9 @@
let unwrapped = mkXfceDerivation { let unwrapped = mkXfceDerivation {
category = "xfce"; category = "xfce";
pname = "thunar"; pname = "thunar";
version = "4.18.8"; version = "4.18.9";
sha256 = "sha256-+VS8Mn9J8VySNEKUMq4xUXXvVgMpWkNVdpv5dzxhZ/M="; sha256 = "sha256-FiJAxELdt/1g5ThTBshTSFK54f9Ncqhn/C+rWQ+zrig=";
nativeBuildInputs = [ nativeBuildInputs = [
docbook_xsl docbook_xsl

View File

@ -0,0 +1,61 @@
{ stdenv
, hare
, scdoc
, lib
, fetchFromGitea
, fetchpatch
, nix-update-script
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hare-toml";
version = "0.1.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lunacb";
repo = "hare-toml";
rev = "v${finalAttrs.version}";
hash = "sha256-JKK5CcDmAW7FH7AzFwgsr9i13eRSXDUokWfZix7f4yY=";
};
patches = [
# Remove `abort()` calls from never returning expressions.
(fetchpatch {
name = "remove-abort-from-never-returning-expressions.patch";
url = "https://codeberg.org/lunacb/hare-toml/commit/f26e7cdfdccd2e82c9fce7e9fca8644b825b40f1.patch";
hash = "sha256-DFbrxiaV4lQlFmMzo5GbMubIQ4hU3lXgsJqoyeFWf2g=";
})
# Fix make's install target to install the correct files
(fetchpatch {
name = "install-correct-files-with-install-target.patch";
url = "https://codeberg.org/lunacb/hare-toml/commit/b79021911fe7025a8f5ddd97deb2c4d18c67b25e.patch";
hash = "sha256-IL+faumX6BmdyePXTzsSGgUlgDBqOXXzShupVAa7jlQ=";
})
];
nativeBuildInputs = [
scdoc
hare
];
makeFlags = [
"HARECACHE=.harecache"
"PREFIX=${builtins.placeholder "out"}"
];
checkTarget = "check_local";
doCheck = true;
dontConfigure = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "A TOML implementation for Hare";
homepage = "https://codeberg.org/lunacb/hare-toml";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ onemoresuza ];
inherit (hare.meta) platforms badPlatforms;
};
})

View File

@ -60,8 +60,8 @@ let
passthru = lua.passthru // { passthru = lua.passthru // {
interpreter = "${env}/bin/lua"; interpreter = "${env}/bin/lua";
inherit lua; inherit lua;
luaPath = lua.pkgs.lib.genLuaPathAbsStr env; luaPath = lua.pkgs.luaLib.genLuaPathAbsStr env;
luaCpath = lua.pkgs.lib.genLuaCPathAbsStr env; luaCpath = lua.pkgs.luaLib.genLuaCPathAbsStr env;
env = stdenv.mkDerivation { env = stdenv.mkDerivation {
name = "interactive-${lua.name}-environment"; name = "interactive-${lua.name}-environment";
nativeBuildInputs = [ env ]; nativeBuildInputs = [ env ];

View File

@ -1,20 +1,18 @@
{ lib, stdenv, fetchFromGitHub, unstableGitUpdater }: { lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zuo"; pname = "zuo";
version = "unstable-2023-11-23"; version = "1.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "racket"; owner = "racket";
repo = "zuo"; repo = "zuo";
rev = "4d85edb4f221de8a1748ee38dcc6963d8d2da33a"; rev = "v${version}";
hash = "sha256-pFEXkByZpVnQgXK1DeFSEnalvhCTwOy75WrRojBM78U="; hash = "sha256-F7ba/4VVVhNDK/wqk+kgJKYxETS2pR9ZiDh0O0aOWn0=";
}; };
doCheck = true; doCheck = true;
passthru.updateScript = unstableGitUpdater { };
meta = with lib; { meta = with lib; {
description = "A Tiny Racket for Scripting"; description = "A Tiny Racket for Scripting";
homepage = "https://github.com/racket/zuo"; homepage = "https://github.com/racket/zuo";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jna"; pname = "jna";
version = "5.13.0"; version = "5.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "java-native-access"; owner = "java-native-access";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-EIOVmzQcnbL1NmxAaUVCMDvs9wpKqhP5iHAPoBVs3ho="; hash = "sha256-a5l9khKLWfvTHv53utfbw344/UNQOnIU93+wZNQ0ji4=";
}; };
nativeBuildInputs = [ ant jdk8 ]; nativeBuildInputs = [ ant jdk8 ];

View File

@ -5,10 +5,33 @@ import multiprocessing
import subprocess import subprocess
import sys import sys
import toml import toml
from urllib.parse import urlparse
import yaml import yaml
import dag import dag
# This should match the behavior of the default unpackPhase.
# See https://github.com/NixOS/nixpkgs/blob/59fa082abdbf462515facc8800d517f5728c909d/pkgs/stdenv/generic/setup.sh#L1044
archive_extensions = [
# xz extensions
".tar.xz",
".tar.lzma",
".txz",
# *.tar or *.tar.*
".tar",
".tar.Z",
".tar.bz2",
".tar.gz",
# Other tar extensions
".tgz",
".tbz2",
".tbz",
".zip"
]
dependencies_path = Path(sys.argv[1]) dependencies_path = Path(sys.argv[1])
closure_yaml_path = Path(sys.argv[2]) closure_yaml_path = Path(sys.argv[2])
julia_path = Path(sys.argv[3]) julia_path = Path(sys.argv[3])
@ -33,6 +56,42 @@ with open(closure_yaml_path, "r") as f:
if contents.get("depends_on"): if contents.get("depends_on"):
closure_dependencies_dag.add_node(uuid, dependencies=contents["depends_on"].values()) closure_dependencies_dag.add_node(uuid, dependencies=contents["depends_on"].values())
def get_archive_derivation(uuid, artifact_name, url, sha256):
depends_on = set()
if closure_dependencies_dag.has_node(uuid):
depends_on = set(closure_dependencies_dag.get_dependencies(uuid)).intersection(dependency_uuids)
other_libs = extra_libs.get(uuid, [])
fixup = f"""fixupPhase = let
libs = lib.concatMap (lib.mapAttrsToList (k: v: v.path))
[{" ".join(["uuid-" + x for x in depends_on])}];
in ''
find $out -type f -executable -exec \
patchelf --set-rpath \$ORIGIN:\$ORIGIN/../lib:${{lib.makeLibraryPath (["$out" glibc] ++ libs ++ (with pkgs; [{" ".join(other_libs)}]))}} {{}} \;
find $out -type f -executable -exec \
patchelf --set-interpreter ${{glibc}}/lib/ld-linux-x86-64.so.2 {{}} \;
''"""
return f"""stdenv.mkDerivation {{
name = "{artifact_name}";
src = fetchurl {{
url = "{url}";
sha256 = "{sha256}";
}};
sourceRoot = ".";
dontConfigure = true;
dontBuild = true;
installPhase = "cp -r . $out";
{fixup};
}}"""
def get_plain_derivation(url, sha256):
return f"""fetchurl {{
url = "{url}";
sha256 = "{sha256}";
}}"""
with open(out_path, "w") as f: with open(out_path, "w") as f:
f.write("{ lib, fetchurl, glibc, pkgs, stdenv }:\n\n") f.write("{ lib, fetchurl, glibc, pkgs, stdenv }:\n\n")
f.write("rec {\n") f.write("rec {\n")
@ -53,38 +112,15 @@ with open(out_path, "w") as f:
git_tree_sha1 = details["git-tree-sha1"] git_tree_sha1 = details["git-tree-sha1"]
depends_on = set() parsed_url = urlparse(url)
if closure_dependencies_dag.has_node(uuid): if any(parsed_url.path.endswith(x) for x in archive_extensions):
depends_on = set(closure_dependencies_dag.get_dependencies(uuid)).intersection(dependency_uuids) derivation = get_archive_derivation(uuid, artifact_name, url, sha256)
else:
other_libs = extra_libs.get(uuid, []) derivation = get_plain_derivation(url, sha256)
fixup = f"""fixupPhase = let
libs = lib.concatMap (lib.mapAttrsToList (k: v: v.path))
[{" ".join(["uuid-" + x for x in depends_on])}];
in ''
find $out -type f -executable -exec \
patchelf --set-rpath \$ORIGIN:\$ORIGIN/../lib:${{lib.makeLibraryPath (["$out" glibc] ++ libs ++ (with pkgs; [{" ".join(other_libs)}]))}} {{}} \;
find $out -type f -executable -exec \
patchelf --set-interpreter ${{glibc}}/lib/ld-linux-x86-64.so.2 {{}} \;
''"""
derivation = f"""{{
name = "{artifact_name}";
src = fetchurl {{
url = "{url}";
sha256 = "{sha256}";
}};
sourceRoot = ".";
dontConfigure = true;
dontBuild = true;
installPhase = "cp -r . $out";
{fixup};
}}"""
lines.append(f""" "{artifact_name}" = {{ lines.append(f""" "{artifact_name}" = {{
sha1 = "{git_tree_sha1}"; sha1 = "{git_tree_sha1}";
path = stdenv.mkDerivation {derivation}; path = {derivation};
}};\n""") }};\n""")
lines.append(' };\n') lines.append(' };\n')

View File

@ -7,23 +7,31 @@
, maeparser , maeparser
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "coordgenlibs"; pname = "coordgenlibs";
version = "3.0.2"; version = "3.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "schrodinger"; owner = "schrodinger";
repo = pname; repo = "coordgenlibs";
rev = "v${version}"; rev = "v${finalAttrs.version}";
sha256 = "sha256-casFPNbPv9mkKpzfBENW7INClypuCO1L7clLGBXvSvI="; hash = "sha256-casFPNbPv9mkKpzfBENW7INClypuCO1L7clLGBXvSvI=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ boost zlib maeparser ]; buildInputs = [ boost zlib maeparser ];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-unused-but-set-variable";
};
doCheck = true;
meta = with lib; { meta = with lib; {
description = "Schrodinger-developed 2D Coordinate Generation"; description = "Schrodinger-developed 2D Coordinate Generation";
homepage = "https://github.com/schrodinger/coordgenlibs";
changelog = "https://github.com/schrodinger/coordgenlibs/releases/tag/${finalAttrs.version}";
maintainers = [ maintainers.rmcgibbo ]; maintainers = [ maintainers.rmcgibbo ];
license = licenses.bsd3; license = licenses.bsd3;
}; };
} })

View File

@ -36,5 +36,6 @@ ffmpeg_6-full.overrideAttrs (old: rec {
homepage = "https://github.com/jellyfin/jellyfin-ffmpeg"; homepage = "https://github.com/jellyfin/jellyfin-ffmpeg";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ justinas ]; maintainers = with maintainers; [ justinas ];
pkgConfigModules = [ "libavutil" ];
}; };
}) })

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "level-zero"; pname = "level-zero";
version = "1.15.1"; version = "1.15.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "oneapi-src"; owner = "oneapi-src";
repo = "level-zero"; repo = "level-zero";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-jf1sKFfUmeNbLtmawKISmLQK2/95XvSg40se9IEKMT0="; hash = "sha256-n1dcsI2sLeB68HpI5oQ5p3zdAcSvnSY+qpHL9vp6FOk=";
}; };
nativeBuildInputs = [ cmake addOpenGLRunpath ]; nativeBuildInputs = [ cmake addOpenGLRunpath ];

View File

@ -0,0 +1,44 @@
{ lib, stdenv, fetchurl, autoPatchelfHook
, alsa-lib, gcc-unwrapped, libX11, libcxx, libdrm, libglvnd, libpulseaudio, libxcb, mesa, wayland, xz, zlib
, libva, libvdpau, addOpenGLRunpath
}:
stdenv.mkDerivation rec {
pname = "mdk-sdk";
version = "0.23.1";
src = fetchurl {
url = "https://github.com/wang-bin/mdk-sdk/releases/download/v${version}/mdk-sdk-linux-x64.tar.xz";
hash = "sha256-qC6FL76MJZ2XrrYePQFpWk5VPLTeoRd5ns93AK3iZjw=";
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
alsa-lib gcc-unwrapped libX11 libcxx libdrm libglvnd libpulseaudio libxcb mesa wayland xz zlib
];
appendRunpaths = lib.makeLibraryPath [
libva libvdpau addOpenGLRunpath.driverLink
];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp -r include $out
cp -d lib/amd64/libmdk* $out/lib
ln -s . $out/lib/amd64
cp -r lib/cmake $out/lib
runHook postInstall
'';
meta = with lib; {
description = "multimedia development kit";
homepage = "https://github.com/wang-bin/mdk-sdk";
license = licenses.unfree;
maintainers = with maintainers; [ orivej ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -472,7 +472,13 @@ effectiveStdenv.mkDerivation {
postInstall = '' postInstall = ''
sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \ sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \
"$out/lib/pkgconfig/opencv4.pc" "$out/lib/pkgconfig/opencv4.pc"
mkdir $cxxdev mkdir "$cxxdev"
''
# fix deps not progagating from opencv4.cxxdev if cuda is disabled
# see https://github.com/NixOS/nixpkgs/issues/276691
+ lib.optionalString (!enableCuda) ''
mkdir -p "$cxxdev/nix-support"
echo "''${!outputDev}" >> "$cxxdev/nix-support/propagated-build-inputs"
'' ''
# install python distribution information, so other packages can `import opencv` # install python distribution information, so other packages can `import opencv`
+ lib.optionalString enablePython '' + lib.optionalString enablePython ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "thepeg"; pname = "thepeg";
version = "2.2.3"; version = "2.3.0";
src = fetchurl { src = fetchurl {
url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2"; url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
hash = "sha256-8hRzGXp2H8MpF7CKjSTSv6+T/1fzRB/WBdqZrJ3l1Qs="; hash = "sha256-rDWXmuicKWCMqSwVakn/aKrOeloSoMkvCgGoM9LTRXI=";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -19,9 +19,9 @@ checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.6.4" version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]] [[package]]
name = "regex" name = "regex"

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tdlib"; pname = "tdlib";
version = "1.8.22"; version = "1.8.23";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tdlib"; owner = "tdlib";
@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
# The tdlib authors do not set tags for minor versions, but # The tdlib authors do not set tags for minor versions, but
# external programs depending on tdlib constrain the minor # external programs depending on tdlib constrain the minor
# version, hence we set a specific commit with a known version. # version, hence we set a specific commit with a known version.
rev = "24893faf75d84b2b885f3f7aeb9d5a3c056fa7be"; rev = "27c3eaeb4964bd5f18d8488e354abde1a4383e49";
hash = "sha256-4cfnre71+rQSuPrtFJMzIEPYVCZH/W142b4Pn2NxvqI="; hash = "sha256-TxgzZn/OF5b5FWzwnOWIozH+1d7O0RG3h+WKV10rxpE=";
}; };
buildInputs = [ gperf openssl readline zlib ]; buildInputs = [ gperf openssl readline zlib ];

View File

@ -3326,11 +3326,11 @@ buildLuarocksPackage {
}).outPath; }).outPath;
src = fetchgit ( removeAttrs (builtins.fromJSON ''{ src = fetchgit ( removeAttrs (builtins.fromJSON ''{
"url": "https://github.com/vhyrro/toml-edit.lua", "url": "https://github.com/vhyrro/toml-edit.lua",
"rev": "dfb3524f94a39c3b7c704b1d8bd866078bf16b39", "rev": "34f072d8ff054b3124d9d2efc0263028d7425525",
"date": "2023-11-23T17:25:02+01:00", "date": "2023-12-29T15:53:36+01:00",
"path": "/nix/store/xi3d022yk8rvaavlnk5c7vj2wx290c44-toml-edit.lua", "path": "/nix/store/z1gn59hz9ypk3icn3gmafaa19nzx7a1v-toml-edit.lua",
"sha256": "0gfc481hhsq36bhdb3ym81szj31lgqs8rszbgybmzraycn9vbj9n", "sha256": "0jzzp4sd48haq1kmh2k85gkygfq39i10kvgjyqffcrv3frdihxvx",
"hash": "sha256-Nsm1k2Ve5V+Xf+vrjDR+NAz5dUDVj9XgMgNrCAMizD0=", "hash": "sha256-fXcYW3ZjZ+Yc9vLtCUJMA7vn5ytoClhnwAoi0jS5/0s=",
"fetchLFS": false, "fetchLFS": false,
"fetchSubmodules": true, "fetchSubmodules": true,
"deepClone": false, "deepClone": false,

View File

@ -649,7 +649,7 @@ with prev;
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
src = oa.src; src = oa.src;
hash = "sha256-m1TQC2D9fiAMOOYhKpDGF1zyMzZ9AOTmyr1L/mFNpLc="; hash = "sha256-gvUqkLOa0WvAK4GcTkufr0lC2BOs2FQ2bgFpB0qa47k=";
}; };
nativeBuildInputs = oa.nativeBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ]; nativeBuildInputs = oa.nativeBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ];

View File

@ -2,7 +2,7 @@
, stdenv , stdenv
, cmake , cmake
, fetchFromGitHub , fetchFromGitHub
, static ? stdenv.hostPlatform.isStatic , withFilters ? false
}: }:
let let
@ -18,16 +18,19 @@ let
inherit hash; inherit hash;
}; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
cmakeFlags = [ cmakeFlags = [
"-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_BENCHMARKS=OFF" "-DBUILD_BENCHMARKS=OFF"
"-DBUILD_FUZZERS=OFF" "-DBUILD_FUZZERS=OFF"
"-DBUILD_GENERATORS=OFF" "-DBUILD_GENERATORS=OFF"
"-DENABLE_COVERAGE=OFF" "-DENABLE_COVERAGE=OFF"
"-DENABLE_FORMAT=OFF" "-DENABLE_FORMAT=OFF"
"-DENABLE_LINTING=OFF" "-DENABLE_LINTING=OFF"
(lib.cmakeBool "BUILD_FILTERS" withFilters)
]; ];
meta = with lib; { meta = with lib; {

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioairzone-cloud"; pname = "aioairzone-cloud";
version = "0.3.7"; version = "0.3.8";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "Noltari"; owner = "Noltari";
repo = "aioairzone-cloud"; repo = "aioairzone-cloud";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-7QFtWAgLnVX9bS4u/2mV0pga/72G237AWxga6V3vLXY="; hash = "sha256-h9WUHehTXg73qqpw+sMxoQMzOV+io2GvjwXlr4gF2ns=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,8 +1,6 @@
{ lib { lib
, stdenv
, aiohttp , aiohttp
, buildPythonPackage , buildPythonPackage
, cpufeature
, fetchFromGitHub , fetchFromGitHub
, poetry-core , poetry-core
, pytestCheckHook , pytestCheckHook
@ -12,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiohttp-zlib-ng"; pname = "aiohttp-zlib-ng";
version = "0.1.2"; version = "0.1.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -21,7 +19,7 @@ buildPythonPackage rec {
owner = "bdraco"; owner = "bdraco";
repo = "aiohttp-zlib-ng"; repo = "aiohttp-zlib-ng";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-lSzBmEgYrWKthpgceFn9LjsNw/ByPOrdPwVI8WU0Cvo="; hash = "sha256-t7T3KIGId5CoBciSkwu/sejW45i2EYtq1fHvNKNXlhA=";
}; };
postPatch = '' postPatch = ''
@ -36,7 +34,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
aiohttp aiohttp
zlib-ng zlib-ng
] ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform cpufeature) cpufeature; ];
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook

View File

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiounifi"; pname = "aiounifi";
version = "67"; version = "68";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "Kane610"; owner = "Kane610";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-bad9wDV8kGEXjdjQ8GKhUsdMHqTohLjJJWH+gJCvuIo="; hash = "sha256-fMTkk2+4RQzE8V4Nemkh2/0Keum+3eMKO5LlPQB9kOU=";
}; };
postPatch = '' postPatch = ''

View File

@ -2,6 +2,7 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pythonOlder , pythonOlder
, setuptools
# build inputs # build inputs
, jsonref , jsonref
, jsonschema , jsonschema
@ -20,8 +21,8 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bravado-core"; pname = "bravado-core";
version = "6.1.0"; version = "6.6.1";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -29,12 +30,16 @@ buildPythonPackage rec {
owner = "Yelp"; owner = "Yelp";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-/ePs3znbwamMHHzb/PD4UHq+7v0j1r1X3J3Bnb4S2VU="; hash = "sha256-kyHmZNPl5lLKmm5i3TSi8Tfi96mQHqaiyBfceBJcOdw=";
}; };
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
jsonref jsonref
jsonschema # with optional dependencies for format jsonschema # jsonschema[format-nongpl]
python-dateutil python-dateutil
pyyaml pyyaml
requests requests
@ -43,7 +48,7 @@ buildPythonPackage rec {
swagger-spec-validator swagger-spec-validator
pytz pytz
msgpack msgpack
] ++ jsonschema.optional-dependencies.format; ] ++ jsonschema.optional-dependencies.format-nongpl;
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "casbin"; pname = "casbin";
version = "1.33.0"; version = "1.34.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "casbin"; owner = "casbin";
repo = "pycasbin"; repo = "pycasbin";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-/0yYU33zMtC6Pjm4yyQNavMDoI+5uC2zZci5IL/EY7Q="; hash = "sha256-SlXM97rLRGZvqpzkYlrL+SClWYtw6xAKotaeQ7kVpjM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -48,7 +48,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "flask-security-too"; pname = "flask-security-too";
version = "5.3.2"; version = "5.3.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -56,7 +56,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "Flask-Security-Too"; pname = "Flask-Security-Too";
inherit version; inherit version;
hash = "sha256-wLUHXfDWSp7zWwTIjTH79AWlkkNzb21tChpLSEWr8+U="; hash = "sha256-we2TquU28qP/ir4eE67J0Nlft/8IL8w7Ny3ypSE5cNk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -50,7 +50,7 @@ buildPythonPackage rec {
prePatch = prePatch =
let let
cmakeCommands = '' cmakeCommands = ''
include_directories(${h3}/include/h3) include_directories(${lib.getDev h3}/include/h3)
link_directories(${h3}/lib) link_directories(${h3}/lib)
''; '';
in '' in ''

View File

@ -0,0 +1,50 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, poetry-core
, pyudev
, pytestCheckHook
, voluptuous
}:
buildPythonPackage rec {
pname = "monitorcontrol";
version = "3.1.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "newAM";
repo = "monitorcontrol";
rev = "refs/tags/${version}";
hash = "sha256-fu0Lm7Tcw7TCCBDXTTY20JBAM7oeesyeHQFFILeZxX0=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
pyudev
];
nativeCheckInputs = [
pytestCheckHook
voluptuous
];
pythonImportsCheck = [
pname
];
meta = with lib; {
description = "Python monitor controls using DDC-CI";
homepage = "https://github.com/newAM/monitorcontrol";
changelog = "https://github.com/newAM/monitorcontrol/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ newam ];
};
}

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "nsz"; pname = "nsz";
version = "4.6.0"; version = "4.6.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "nicoboss"; owner = "nicoboss";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-2Df+xvfDHtZt3XW4ShKZFsjsFigW+3Avz8uStVtC1i4="; hash = "sha256-ch4HzQFa95o3HMsi7R0LpPWmhN/Z9EYfrmCdUZLwPSE=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -47,7 +47,7 @@ buildPythonPackage rec {
transformers transformers
# diffusers # diffusers
soundfile soundfile
] ++ transformers.agents; ];
full = passthru.optional-dependencies.grpc ++ passthru.optional-dependencies.agents; full = passthru.optional-dependencies.grpc ++ passthru.optional-dependencies.agents;
}; };

View File

@ -82,9 +82,12 @@ buildPythonPackage rec {
transformers transformers
# trl # trl
] ++ transformers.optional-dependencies.torch ] ++ transformers.optional-dependencies.torch
++ transformers.optional-dependencies.tokenizers ++ transformers.optional-dependencies.tokenizers;
++ transformers.optional-dependencies.accelerate; full = with passthru.optional-dependencies; (
full = with passthru.optional-dependencies; ( vllm ++ bentoml ++ fine-tune ); vllm
# use absolute path to disambiguate with derivbation argument
++ passthru.optional-dependencies.bentoml
++ fine-tune );
}; };
# there is no tests # there is no tests

View File

@ -2,20 +2,22 @@
, aiohttp , aiohttp
, async-timeout , async-timeout
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchFromGitHub
, pythonOlder , pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "opensensemap-api"; pname = "opensensemap-api";
version = "0.3.1"; version = "0.3.2";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "home-assistant-ecosystem";
hash = "sha256-UrgQjZYw7TlFvhnaI7wFUpuUYeVKO5hsnx8h1OKfV8w="; repo = "python-opensensemap-api";
rev = "refs/tags/${version}";
hash = "sha256-iUSdjU41JOT7k044EI2XEvJiSo6V4mO6S51EcIughEM=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -44,13 +44,13 @@ let
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "OpenSfM"; pname = "OpenSfM";
version = "unstable-2022-03-10"; version = "unstable-2023-12-09";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mapillary"; owner = "mapillary";
repo = pname; repo = pname;
rev = "536b6e1414c8a93f0815dbae85d03749daaa5432"; rev = "7f170d0dc352340295ff480378e3ac37d0179f8e";
sha256 = "Nfl20dFF2PKOkIvHbRxu1naU+qhz4whLXJvX5c5Wnwo="; sha256 = "sha256-l/HTVenC+L+GpMNnDgnSGZ7+Qd2j8b8cuTs3SmORqrg=";
}; };
patches = [ patches = [
./0002-cmake-find-system-distributed-gtest.patch ./0002-cmake-find-system-distributed-gtest.patch
@ -67,6 +67,8 @@ buildPythonPackage rec {
# where segfaults might be introduced in future # where segfaults might be introduced in future
echo 'feature_type: SIFT' >> data/berlin/config.yaml echo 'feature_type: SIFT' >> data/berlin/config.yaml
echo 'feature_type: HAHOG' >> data/lund/config.yaml echo 'feature_type: HAHOG' >> data/lund/config.yaml
sed -i -e 's/^.*BuildDoc.*$//' setup.py
''; '';
nativeBuildInputs = [ cmake pkg-config sphinx ]; nativeBuildInputs = [ cmake pkg-config sphinx ];
@ -85,7 +87,7 @@ buildPythonPackage rec {
numpy numpy
scipy scipy
pyyaml pyyaml
opencv4 opencv4.cxxdev
networkx networkx
pillow pillow
matplotlib matplotlib
@ -107,7 +109,9 @@ buildPythonPackage rec {
"-Sopensfm/src" "-Sopensfm/src"
]; ];
disabledTests = lib.optionals stdenv.isDarwin [ disabledTests = [
"test_run_all" # Matplotlib issues. Broken integration is less useless than a broken build
] ++ lib.optionals stdenv.isDarwin [
"test_reconstruction_incremental" "test_reconstruction_incremental"
"test_reconstruction_triangulation" "test_reconstruction_triangulation"
]; ];

View File

@ -1,19 +1,22 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, importlib-metadata
, isPy3k , isPy3k
, cryptography , cryptography
, charset-normalizer , charset-normalizer
, pythonOlder , pythonOlder
, typing-extensions , typing-extensions
, pytestCheckHook , pytestCheckHook
, setuptools
, substituteAll
, ocrmypdf , ocrmypdf
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pdfminer-six"; pname = "pdfminer-six";
version = "20221105"; version = "20231228";
format = "setuptools"; pyproject = true;
disabled = !isPy3k; disabled = !isPy3k;
@ -21,13 +24,27 @@ buildPythonPackage rec {
owner = "pdfminer"; owner = "pdfminer";
repo = "pdfminer.six"; repo = "pdfminer.six";
rev = version; rev = version;
hash = "sha256-OyEeQBuYfj4iEcRt2/daSaUfTOjCVSCyHW2qffal+Bk="; hash = "sha256-LXPECQQojD3IY9zRkrDBufy4A8XUuYiRpryqUx/I3qo=";
}; };
patches = [
(substituteAll {
src = ./disable-setuptools-git-versioning.patch;
inherit version;
})
];
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
charset-normalizer charset-normalizer
cryptography cryptography
] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ]; ] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
typing-extensions
];
postInstall = '' postInstall = ''
for file in $out/bin/*.py; do for file in $out/bin/*.py; do
@ -35,12 +52,6 @@ buildPythonPackage rec {
done done
''; '';
postPatch = ''
# Version is not stored in repo, gets added by a GitHub action after tag is created
# https://github.com/pdfminer/pdfminer.six/pull/727
substituteInPlace pdfminer/__init__.py --replace "__VERSION__" ${version}
'';
pythonImportsCheck = [ pythonImportsCheck = [
"pdfminer" "pdfminer"
"pdfminer.high_level" "pdfminer.high_level"

View File

@ -0,0 +1,14 @@
--- a/setup.py
+++ b/setup.py
@@ -7,10 +7,7 @@
setup(
name="pdfminer.six",
- setuptools_git_versioning={
- "enabled": True,
- },
- setup_requires=["setuptools-git-versioning<2"],
+ version="@version@",
packages=["pdfminer"],
package_data={"pdfminer": ["cmap/*.pickle.gz", "py.typed"]},
install_requires=[

View File

@ -13,6 +13,7 @@
# tests # tests
, pytestCheckHook , pytestCheckHook
, pytest-subtests , pytest-subtests
, pytest-benchmark
, numpy , numpy
, matplotlib , matplotlib
, uncertainties , uncertainties
@ -20,7 +21,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pint"; pname = "pint";
version = "0.22"; version = "0.23";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -28,7 +29,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit version; inherit version;
pname = "Pint"; pname = "Pint";
hash = "sha256-LROfarvPMBbK19POwFcH/pCKxPmc9Zrt/W7mZ7emRDM="; hash = "sha256-4VCbkWBtvFJSfGAKTvdP+sEv/3Boiv8g6QckCTRuybQ=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -43,6 +44,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook
pytest-subtests pytest-subtests
pytest-benchmark
numpy numpy
matplotlib matplotlib
uncertainties uncertainties
@ -53,8 +55,8 @@ buildPythonPackage rec {
''; '';
disabledTests = [ disabledTests = [
# https://github.com/hgrecco/pint/issues/1825 # https://github.com/hgrecco/pint/issues/1898
"test_equal_zero_nan_NP" "test_load_definitions_stage_2"
]; ];
meta = with lib; { meta = with lib; {

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "plexapi"; pname = "plexapi";
version = "4.15.6"; version = "4.15.7";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "pkkid"; owner = "pkkid";
repo = "python-plexapi"; repo = "python-plexapi";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-VU1HVAxAOraTd4VQIqG/MLkw77xciCICIh1zbzGn/dQ="; hash = "sha256-jI/yQuyPfZNZf6yG35rdIYmnJmRuNYUNpEJBNzDMnrY=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pycrdt-websocket"; pname = "pycrdt-websocket";
version = "0.12.5"; version = "0.12.6";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "jupyter-server"; owner = "jupyter-server";
repo = "pycrdt-websocket"; repo = "pycrdt-websocket";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-dTjWujRMYpg8XZ0OkEG49OLIAPj8qnZl+W7713NKVaA="; hash = "sha256-VYD1OrerqwzjaT1Eb6q+kryf15iHCMSHJZbon225bio=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -134,16 +134,16 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.70" version = "1.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "pycrdt" name = "pycrdt"
version = "0.7.2" version = "0.8.2"
dependencies = [ dependencies = [
"pyo3", "pyo3",
"yrs", "yrs",
@ -297,7 +297,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.42", "syn 2.0.43",
] ]
[[package]] [[package]]
@ -339,9 +339,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.42" version = "2.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8" checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -356,22 +356,22 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.51" version = "1.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7" checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.51" version = "1.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df" checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.42", "syn 2.0.43",
] ]
[[package]] [[package]]
@ -413,7 +413,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.42", "syn 2.0.43",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -435,7 +435,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.42", "syn 2.0.43",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]

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