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:
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.
# We set it to null, to remove the "legacy" entrypoint's
# non-hermetic default.
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 = {
nixpkgsManual = jobs.manual;

View file

@ -1959,6 +1959,18 @@ runTests {
expr = (with types; int).description;
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 = {
expr = (with types; listOf int).description;
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 ? null
# A hint for whether or not this description needs parentheses. Possible values:
# - "noun": a simple noun phrase such as "positive integer"
# - "conjunction": a phrase with a potentially ambiguous "or" connective.
# - "noun": a noun phrase
# 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
# 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.
, descriptionClass ? null
, # DO NOT USE WITHOUT KNOWING WHAT YOU ARE DOING!
@ -338,10 +343,12 @@ rec {
unsigned = addCheck types.int (x: x >= 0) // {
name = "unsignedInt";
description = "unsigned integer, meaning >=0";
descriptionClass = "nonRestrictiveClause";
};
positive = addCheck types.int (x: x > 0) // {
name = "positiveInt";
description = "positive integer, meaning >0";
descriptionClass = "nonRestrictiveClause";
};
u8 = unsign 8 256;
u16 = unsign 16 65536;
@ -383,10 +390,12 @@ rec {
nonnegative = addCheck number (x: x >= 0) // {
name = "numberNonnegative";
description = "nonnegative integer or floating point number, meaning >=0";
descriptionClass = "nonRestrictiveClause";
};
positive = addCheck number (x: x > 0) // {
name = "numberPositive";
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)) // {
name = "passwdEntry ${entryType.name}";
description = "${optionDescriptionPhrase (class: class == "noun") entryType}, not containing newlines or colons";
descriptionClass = "nonRestrictiveClause";
};
attrs = mkOptionType {
@ -870,7 +880,13 @@ rec {
# Either value of type `t1` or `t2`.
either = t1: t2: mkOptionType rec {
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";
check = x: t1.check x || t2.check x;
merge = loc: defs:

View file

@ -19021,7 +19021,7 @@
};
uakci = {
name = "uakci";
email = "uakci@uakci.pl";
email = "git@uakci.space";
github = "uakci";
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.
- [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).
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`.
- 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}
<!-- 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.
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.
- 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
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

View file

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

View file

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

View file

@ -78,7 +78,13 @@ let
mkName = name: "kanata-${name}";
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" ''
(defcfg

View file

@ -1,10 +1,14 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.matrix-synapse.sliding-sync;
cfg = config.services.matrix-sliding-sync;
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");
package = lib.mkPackageOption pkgs "matrix-sliding-sync" { };
@ -83,6 +87,7 @@ in
systemd.services.matrix-sliding-sync = rec {
after =
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;
wants = after;
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 = {
package = mkOption {
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; };
defaultText = lib.literalExpression "pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }";
description = lib.mdDoc "The OpenLDAP package to use.";

View file

@ -45,19 +45,25 @@ in
systemd.services.munged = {
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 ];
serviceConfig = {
ExecStartPre = "+${pkgs.coreutils}/bin/chmod 0400 ${cfg.password}";
ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}";
PIDFile = "/run/munge/munged.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStart = "${pkgs.munge}/bin/munged --foreground --key-file ${cfg.password}";
User = "munge";
Group = "munge";
StateDirectory = "munge";
StateDirectoryMode = "0711";
Restart = "on-failure";
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 {
type = types.nullOr types.int;
description = lib.mdDoc "The compression level for ZSTD compression (between 0 and 16)";
@ -69,7 +77,8 @@ in
DynamicUser = true;
LoadCredential = [
"cachix-token:${toString cfg.cachixTokenFile}"
];
]
++ lib.optional (cfg.signingKeyFile != null) "signing-key:${toString cfg.signingKeyFile}";
};
script =
let
@ -80,6 +89,7 @@ in
in
''
export CACHIX_AUTH_TOKEN="$(<"$CREDENTIALS_DIRECTORY/cachix-token")"
${lib.optionalString (cfg.signingKeyFile != null) ''export CACHIX_SIGNING_KEY="$(<"$CREDENTIALS_DIRECTORY/signing-key")"''}
${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
[`$_SERVER['HTTP_HOST']`](https://www.php.net/manual/en/reserved.variables.server.php))
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
[`services.nextcloud.autoUpdateApps`](#opt-services.nextcloud.autoUpdateApps.enable).

View file

@ -23,6 +23,43 @@ let
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;
phpPackage = cfg.phpPackage.buildEnv {
@ -45,7 +82,7 @@ let
occ = pkgs.writeScriptBin "nextcloud-occ" ''
#! ${pkgs.runtimeShell}
cd ${cfg.package}
cd ${webroot}
sudo=exec
if [[ "$USER" != nextcloud ]]; then
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" ] ''
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 = {
@ -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.
'';
};
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 {
type = types.bool;
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 {
type = types.bool;
default = false;
@ -315,7 +332,6 @@ in {
};
config = {
dbtype = mkOption {
type = types.enum [ "sqlite" "pgsql" "mysql" ];
@ -380,53 +396,6 @@ in {
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 = {
s3 = {
enable = mkEnableOption (lib.mdDoc ''
@ -609,30 +578,109 @@ in {
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 {
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 = {};
description = lib.mdDoc ''
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
# "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).
phpfpm-nextcloud.restartTriggers = [ cfg.package ];
phpfpm-nextcloud.restartTriggers = [ webroot ];
nextcloud-setup = let
c = cfg.config;
writePhpArray = a: "[${concatMapStringsSep "," (val: ''"${toString val}"'') a}]";
requiresReadSecretFunction = c.dbpassFile != null || c.objectstore.s3.enable;
objectstoreConfig = let s3 = c.objectstore.s3; in optionalString s3.enable ''
'objectstore' => [
@ -800,6 +847,10 @@ in {
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" ''
<?php
${optionalString requiresReadSecretFunction ''
@ -828,17 +879,10 @@ in {
}
$CONFIG = [
'apps_paths' => [
${optionalString (cfg.extraApps != { }) "[ 'path' => '${cfg.home}/nix-apps', 'url' => '/nix-apps', 'writable' => false ],"}
[ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
[ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
${concatStrings (mapAttrsToList mkAppStoreConfig appStores)}
],
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
'datadirectory' => '${datadir}/data',
'skeletondirectory' => '${cfg.skeletonDirectory}',
${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.dbhost != null) "'dbhost' => '${c.dbhost}',"}
${optionalString (c.dbport != null) "'dbport' => '${toString c.dbport}',"}
@ -851,10 +895,6 @@ in {
''
}
'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}
];
@ -907,7 +947,7 @@ in {
(i: v: ''
${occ}/bin/nextcloud-occ config:system:set trusted_domains \
${toString i} --value="${toString v}"
'') ([ cfg.hostName ] ++ cfg.config.extraTrustedDomains));
'') ([ cfg.hostName ] ++ cfg.extraOptions.trusted_domains));
in {
wantedBy = [ "multi-user.target" ];
@ -935,17 +975,16 @@ in {
exit 1
fi
ln -sf ${cfg.package}/apps ${cfg.home}/
# Install extra apps
ln -sfT \
${pkgs.linkFarm "nix-apps"
(mapAttrsToList (name: path: { inherit name path; }) cfg.extraApps)} \
${cfg.home}/nix-apps
${concatMapStrings (name: ''
if [ -d "${cfg.home}"/${name} ]; then
echo "Cleaning up ${name}; these are now bundled in the webroot store-path!"
rm -r "${cfg.home}"/${name}
fi
'') [ "nix-apps" "apps" ]}
# create nextcloud directories.
# 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
install -o nextcloud -g nextcloud -d $dir
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then
@ -982,7 +1021,7 @@ in {
environment.NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
serviceConfig.Type = "oneshot";
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 {
after = [ "nextcloud-setup.service" ];
@ -1043,22 +1082,25 @@ in {
user = "nextcloud";
};
services.nextcloud = lib.mkIf cfg.configureRedis {
caching.redis = true;
extraOptions = {
services.nextcloud = {
caching.redis = lib.mkIf cfg.configureRedis true;
extraOptions = mkMerge [({
datadirectory = lib.mkDefault "${datadir}/data";
trusted_domains = [ cfg.hostName ];
}) (lib.mkIf cfg.configureRedis {
"memcache.distributed" = ''\OC\Memcache\Redis'';
"memcache.locking" = ''\OC\Memcache\Redis'';
redis = {
host = config.services.redis.servers.nextcloud.unixSocket;
port = 0;
};
};
})];
};
services.nginx.enable = mkDefault true;
services.nginx.virtualHosts.${cfg.hostName} = {
root = cfg.package;
root = webroot;
locations = {
"= /robots.txt" = {
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" = {
priority = 210;
extraConfig = ''

View file

@ -3,14 +3,18 @@
cfg = config.systemd.oomd;
in {
imports = [
(lib.mkRemovedOptionModule [ "systemd" "oomd" "enableUserServices" ] "Use systemd.oomd.enableUserSlices instead.")
];
options.systemd.oomd = {
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:
# 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`)");
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 {
type = with lib.types; attrsOf (oneOf [ str int bool ]);
@ -44,14 +48,23 @@ in {
users.groups.systemd-oom = { };
systemd.slices."-".sliceConfig = lib.mkIf cfg.enableRootSlice {
ManagedOOMSwap = "kill";
ManagedOOMMemoryPressure = "kill";
ManagedOOMMemoryPressureLimit = "80%";
};
systemd.slices."system".sliceConfig = lib.mkIf cfg.enableSystemSlice {
ManagedOOMSwap = "kill";
};
systemd.services."user@".serviceConfig = lib.mkIf cfg.enableUserServices {
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 = {
enable = true;
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" ];
path = [
pkgs.kmod
@ -78,7 +80,6 @@ in {
Description = "LXD - agent";
Documentation = "https://documentation.ubuntu.com/lxd/en/latest";
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";
StartLimitInterval = "60";
StartLimitBurst = "10";

View file

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

View file

@ -32,7 +32,6 @@ in {
adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
${adminpass}
'');
trustedProxies = [ "::1" ];
};
notify_push = {
enable = true;
@ -42,6 +41,7 @@ in {
extraApps = {
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;

View file

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

View file

@ -1,5 +1,18 @@
{ lib, stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsa-lib
, mpg123, releasePath ? null }:
{ lib
, stdenv
, alsa-lib
, fetchurl
, libjack2
, libX11
, libXcursor
, libXext
, libXinerama
, libXrandr
, libXtst
, mpg123
, pipewire
, releasePath ? null
}:
# To use the full release version:
# 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
# use of functions like requireFile as the hash will be different for every user.
let
urlVersion = lib.replaceStrings [ "." ] [ "_" ];
in
platforms = {
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";
version = "3.3.2";
version = "3.4.3";
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
if releasePath == null then
fetchurl {
urls = [
"https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
"https://web.archive.org/web/https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_Linux.tar.gz"
];
sha256 = "0d9pnrvs93d4bwbfqxwyr3lg3k6gnzmp81m95gglzwdzczxkw38k";
}
else
releasePath
else throw "Platform is not supported. Use installation native to your platform https://www.renoise.com/";
src = if releasePath != null then
releasePath
else
let
platform = platforms.${stdenv.system};
urlVersion = lib.replaceStrings [ "." ] [ "_" ] version;
in fetchurl {
url =
"https://files.renoise.com/demo/Renoise_${urlVersion}_Demo_Linux_${platform.archSuffix}.tar.gz";
hash = platform.hash;
};
buildInputs = [ alsa-lib libjack2 libX11 libXcursor libXext libXrandr ];
buildInputs = [
alsa-lib
libjack2
libX11
libXcursor
libXext
libXinerama
libXrandr
libXtst
pipewire
];
installPhase = ''
cp -r Resources $out
@ -79,7 +108,8 @@ stdenv.mkDerivation rec {
homepage = "https://www.renoise.com/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
maintainers = [];
platforms = [ "x86_64-linux" ];
maintainers = with lib.maintainers; [ uakci ];
platforms = lib.attrNames platforms;
mainProgram = "renoise";
};
}

View file

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

View file

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

View file

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

View file

@ -28,13 +28,13 @@
buildDotnetModule rec {
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 {
owner = "Ryujinx";
repo = "Ryujinx";
rev = "06bff0159c9eddc5111859d1ca315708152ac61b";
sha256 = "1fxslad3i6cbd4kcjal1pzbr472az834ahyg7k8yf34b7syljswq";
rev = "f11d663df73f68350820dfa65aa51a8a9b9ffd0f";
sha256 = "15yai8zwwy2537ng6iqyg2jhv0q2w1c9rahkdkbvgkwiycsl7rjy";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;

View file

@ -14,17 +14,17 @@
buildDotnetModule rec {
pname = "denaro";
version = "2023.9.2";
version = "2023.11.0";
src = fetchFromGitHub {
owner = "NickvisionApps";
repo = "Denaro";
rev = version;
hash = "sha256-3Atdi0R7OHpP1HUBWGu2Y4L8hr9jLPMIFYCEWeoEq6A=";
hash = "sha256-buMoB6ZTmzGjjSCOfdUvKbJ7xJmK/zHH8sz5iO3SJXo=";
};
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
projectFile = "NickvisionMoney.GNOME/NickvisionMoney.GNOME.csproj";
nugetDeps = ./deps.nix;
@ -44,10 +44,10 @@ buildDotnetModule rec {
# Denaro switches installation tool frequently (bash -> just -> cake)
# For maintainability, let's do it ourselves
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-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 = [

View file

@ -2,48 +2,45 @@
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.1.0"; sha256 = "03rs3f71vgzk3pp0mx83rx6aqg2aq7xwk0p42mj5701m3592x49d"; })
(fetchNuGet { pname = "Cake.Tool"; version = "3.1.0"; sha256 = "1kv9zz0qsx40wiygydw5z6vkj8hfayvgy9bsii2lamdas9z0vmbc"; })
(fetchNuGet { pname = "Docnet.Core"; version = "2.3.1"; sha256 = "03b39x0vlymdknwgwhsmnpw4gj3njmbl9pd57ls3rhfn9r832d44"; })
(fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.2.0"; sha256 = "1i1rwv8z2dx0mjib7vair2w7ylngmrcpbd012sdlpvdjpx0af0bn"; })
(fetchNuGet { pname = "Cake.Tool"; version = "3.2.0"; sha256 = "0jvf3r0rr15q650182c3y6a4c21k84rzl2f0nida878j6fhmk6v7"; })
(fetchNuGet { pname = "Docnet.Core"; version = "2.6.0"; sha256 = "1b1nj984ly4zgj28fri1a6ych9sdiacxkms8pvzsclvyxkf0ri8m"; })
(fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; sha256 = "1xq3q4s9d5p1yn4j91a90hawk9wcrz1bl6zj9866y01yx9aamr8s"; })
(fetchNuGet { pname = "GetText.NET"; version = "1.8.7"; sha256 = "0djn5sc7p33ayjmxmxs4hqagh51bg70wqs6mwbhlhsrc67bvgj9a"; })
(fetchNuGet { pname = "GirCore.Adw-1"; version = "0.4.0"; sha256 = "1wy780mwvl7n1kr85r2icwsz9p3vsw749603x0wm3ka5ywbzv91k"; })
(fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.4.0"; sha256 = "11rg8hgran23b4m1116sfvfss0fgz874imafrv3h9w7c76f6hhci"; })
(fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.4.0"; sha256 = "101qr6kijslzqd6dcmpjzrbdp8nr6ibi8958frvkpxifqa4xyp4c"; })
(fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.4.0"; sha256 = "1bws3zry4awy73lwzllbdljl8wybmxfm870m175wl38c7pa18sav"; })
(fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.4.0"; sha256 = "05maiqg2qxsg56zb8zamv241gqkskli8laa7i0dxl3f93ddc78f6"; })
(fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.4.0"; sha256 = "1gy8gx7vy070nc2afj1zsn3d004y9d3gwn7zdj9g2fbhavbc4snk"; })
(fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.4.0"; sha256 = "05q00p06kn97143az2xi5zhfpi30qqcds1n1zfj87gi5w0jla4ib"; })
(fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.4.0"; sha256 = "06vrkjyzj4rjvlni3ixj12zpky2mah8v1q8nbbkfwca08k5hdz7p"; })
(fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.4.0"; sha256 = "06b2c35ynmkknk5zbhs75081dki0zm165xa659mg8i88cyxsgrh4"; })
(fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.4.0"; sha256 = "1hwmd3j4gllzjwkqq3m4wbl3v7hh2nsa7i1d2ziw3fvgbnbnb1vi"; })
(fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.4.0"; sha256 = "1r8hkr7vm32cjmw092l67kaysqa5jzyn7v518502nljlm9ivil6f"; })
(fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.4.0"; sha256 = "1wyq9s18gfs73z01gaqm87i7h71ir2n0jz1dyi26hj6b3qp0p34a"; })
(fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.4.0"; sha256 = "0qifms5nlljzccgzvnyx5vcdgvfdyp2q7s0zdglay5x5g4zrl8fv"; })
(fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.4.0"; sha256 = "1vn8bgi9ijnw25id5vis15gv9h0d4y03scr4jv03scisv411jrl8"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.3"; sha256 = "115aybicqs9ijjlcv6k6r5v0agkjm1bm1nkd0rj3jglv8s0xvmp2"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "2.8.2.4-preview.84"; sha256 = "1kk2ja6lsfmx00sliniyky9fimrk9pcq2ql7j72310kx3qaad45v"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "2.8.2.3"; sha256 = "1f18ahwkaginrg0vwsi6s56lvnqvvxv7pzklfs5lnknasxy1a76z"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "2.8.2.3"; sha256 = "052d8frpkj4ijs6fm6xp55xbv95b1s9biqwa0w8zp3rgm88m9236"; })
(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 = "GetText.NET"; version = "1.9.14"; sha256 = "18z4cf0dldcf41z8xgj3gdlvj9w5a9ikgj72623r0i740ndnl094"; })
(fetchNuGet { pname = "GirCore.Adw-1"; version = "0.5.0-preview.3"; sha256 = "090kg5v99myd7hi49cz933cl36hk5n586ywy78gf5djn5im3v19l"; })
(fetchNuGet { pname = "GirCore.Cairo-1.0"; version = "0.5.0-preview.3"; sha256 = "0bh1h2hr6givrq6096bvzcsg4lab1hlm7r7h4bqifbw0zmmcfb7k"; })
(fetchNuGet { pname = "GirCore.FreeType2-2.0"; version = "0.5.0-preview.3"; sha256 = "194p44gd7r69x70j3qynv5v8awlyxmdazmzpwzgj5ayy2xpdk3hy"; })
(fetchNuGet { pname = "GirCore.Gdk-4.0"; version = "0.5.0-preview.3"; sha256 = "09p097nvs7vi7l14l024m39qyhg1gyqihanq7zv66xqys4hzim1g"; })
(fetchNuGet { pname = "GirCore.GdkPixbuf-2.0"; version = "0.5.0-preview.3"; sha256 = "0lspyra1g1rd8hj3f3daxspin5dhgplzgjh4jwhlgzzn648942j0"; })
(fetchNuGet { pname = "GirCore.Gio-2.0"; version = "0.5.0-preview.3"; sha256 = "090svrddgpliks5r29yncih3572w7gdc552nl16qbviqbmhr0lbs"; })
(fetchNuGet { pname = "GirCore.GLib-2.0"; version = "0.5.0-preview.3"; sha256 = "1wxwf24gabd69yxpnhv30rn7pcv49w885jdw3nqbrakl7pvv9fza"; })
(fetchNuGet { pname = "GirCore.GObject-2.0"; version = "0.5.0-preview.3"; sha256 = "0iajydyx79f3khx0fhv8izbxlzxwn6gpps2xzmi9c4v98ly221j3"; })
(fetchNuGet { pname = "GirCore.Graphene-1.0"; version = "0.5.0-preview.3"; sha256 = "114fbgxils50jdy891nwj70yr43lnwgbq9fzxqzywd1kk70k7mww"; })
(fetchNuGet { pname = "GirCore.Gsk-4.0"; version = "0.5.0-preview.3"; sha256 = "0f5s6f6pwc9vc3nm7xfaa06z2klgpg4rv5cdf0cwis3vlncd7dnj"; })
(fetchNuGet { pname = "GirCore.Gtk-4.0"; version = "0.5.0-preview.3"; sha256 = "1fn0b8lwlrmjm9phjq4amqnq3q70fl214115652cap5rz4rjmpgg"; })
(fetchNuGet { pname = "GirCore.HarfBuzz-0.0"; version = "0.5.0-preview.3"; sha256 = "0xska2l44l0j38mlgmrwly1qal9wzbv2w2jjj8gn90sxbygb8zky"; })
(fetchNuGet { pname = "GirCore.Pango-1.0"; version = "0.5.0-preview.3"; sha256 = "0ccw3bd3kl24mnxbjzhya11i0ln6g1g7q876pyy54cwh48x4mdia"; })
(fetchNuGet { pname = "GirCore.PangoCairo-1.0"; version = "0.5.0-preview.3"; sha256 = "0lds340p5cci7sjp58nh94jxkjvzfky9cbs2h4q98hglxndjm7r9"; })
(fetchNuGet { pname = "HarfBuzzSharp"; version = "7.3.0"; sha256 = "1rqcmdyzxz9kc0k8594hbpksjc23mkakmjybi4b8702qycxx0lrf"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Linux"; version = "7.3.0"; sha256 = "0i9gaiyjgmcpnfn1fixbxq8shqlh4ahng7j4dxlf38zlln1f6h80"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.macOS"; version = "7.3.0"; sha256 = "1b5ng37bwk75cifw7p1hzn8z6sswi8h7h510qgwlbvgmlrs5r0ga"; })
(fetchNuGet { pname = "HarfBuzzSharp.NativeAssets.Win32"; version = "7.3.0"; sha256 = "1hyvmz7rfbrxbcpnwyvb64gdk1hifcpz3rln58yyb7g1pnbpnw2s"; })
(fetchNuGet { pname = "Hazzik.Qif"; version = "1.0.3"; sha256 = "16v6cfy3pa0qy699v843pss3418rvq5agz6n43sikzh69vzl2azy"; })
(fetchNuGet { pname = "LiveChartsCore"; version = "2.0.0-beta.910"; sha256 = "0yw54yd1kp4j8js1g405m4lvv84zx4zkx4m64iiqsc765a4alvvy"; })
(fetchNuGet { pname = "LiveChartsCore.SkiaSharpView"; version = "2.0.0-beta.910"; sha256 = "1ifhvcsa0319mip98xbmlib3k7fkn24igfxxyfi2d31rajqv970r"; })
(fetchNuGet { pname = "Markdig"; version = "0.31.0"; sha256 = "0iic44i47wp18jbbpl44iifhj2mfnil9gakkw3bzp7zif3rhl19m"; })
(fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.2"; sha256 = "0x7xlym8jsm0zgbb75ip74gnw3fssb30phc48xf35yx6i0sfb2dh"; })
(fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "7.0.5"; sha256 = "11gkdlf2apnzvwfd7bxdhjvb4qd0p2ridp4rrz44f7h76x1sb0gk"; })
(fetchNuGet { pname = "LiveChartsCore"; version = "2.0.0-rc2"; sha256 = "02ywlv67525qnnx7x2xaz52gs8195zvvjlmcz7ql1gff05pkcb15"; })
(fetchNuGet { pname = "LiveChartsCore.SkiaSharpView"; version = "2.0.0-rc2"; sha256 = "1p35mli6wxq5jn7h27564a8dgv4qyj95isihs9lbmvs1pr7m785l"; })
(fetchNuGet { pname = "Markdig"; version = "0.33.0"; sha256 = "1dj06wgdqmjji4nfr1dysz7hwp5bjgsrk9qjkdq82d7gk6nmhs9r"; })
(fetchNuGet { pname = "Meziantou.Framework.Win32.CredentialManager"; version = "1.4.5"; sha256 = "1ikjxj6wir2jcjwlmd4q7zz0b4g40808gx59alvad31sb2aqp738"; })
(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 = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(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.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Nickvision.Aura"; version = "2023.9.3"; sha256 = "0j3fqjl8nskqqwmkc41h3pgnvl63nq9w443b571j154xibly5iw7"; })
(fetchNuGet { pname = "Nickvision.GirExt"; version = "2023.7.3"; sha256 = "1ahf4mld9khk2gaja30zfcjmhclz2l2nims0q4l7jk2nm9p7rzi9"; })
(fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.3"; sha256 = "06g63k1p8maskg8hicjbi00fyyxh95fkykvv205p9vr0803bjqrd"; })
(fetchNuGet { pname = "Octokit"; version = "9.0.0"; sha256 = "0kw49w1hxk4d2x9598012z9q1yr3ml5rm06fy1jnmhy44s3d3jp5"; })
(fetchNuGet { pname = "OfxSharp.NetStandard"; version = "1.0.0"; sha256 = "1v7yw2glyywb4s0y5fw306bzh2vw175bswrhi5crvd92wf93makj"; })
(fetchNuGet { pname = "PdfSharpCore"; version = "1.3.56"; sha256 = "0a01b2a14gygh25rq3509rky85331l8808q052br2fzidhb2vc10"; })
(fetchNuGet { pname = "QuestPDF"; version = "2023.5.1"; sha256 = "1yfjwb7aj975aars7mcp1dxvarxl8aq122bndpw808b4cx3058gl"; })
(fetchNuGet { pname = "PdfSharpCore"; version = "1.3.62"; sha256 = "1wxm642fx0pgiidd5x35iifayq7nicykycpwpvs0814xfjm0zw63"; })
(fetchNuGet { pname = "QuestPDF"; version = "2023.10.2"; sha256 = "08jy42k8nxbkbdc2z013vk28r5ckmg7lpzvnah0shrjmwfq34v4j"; })
(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.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 = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta17"; sha256 = "1qm8q82wzj54nbv63kx3ybln51k47sl18hia3jnzk1zrb6wdsw9a"; })
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.3"; sha256 = "12qb0r7v2v91vw8q8ygr67y527gwhbas6d6zdvrv4ksxwjx9dzp9"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.3"; sha256 = "1yq694myq2rhfp2hwwpyzcg1pzpxcp7j72wib8p9pw9dfj7008sv"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.4-preview.84"; sha256 = "1isyjmmfqzbvqiypsvvnqrwf6ifr2ypngzvzj41m5nbk1jr8nn6m"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.3"; sha256 = "0axz2zfyg0h3zis7rr86ikrm2jbxxy0gqb3bbawpgynf1k0fsi6a"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.4-preview.84"; sha256 = "132n0sq2fjk53mc89yx6qn20w194145sv9367s623di7ysz467br"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.3"; sha256 = "0dajvr60nwvnv7s6kcqgw1w97zxdpz1c5lb7kcq7r0hi0l05ck3q"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.3"; sha256 = "191ajgi6fnfqcvqvkayjsxasiz6l0bv3pps8vv9abbyc4b12qvph"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.4-preview.84"; sha256 = "0vqwc2wh8brzn99cc61qgcyf3gd8vqlbdkjcmc3bcb07bc8k16v7"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.3"; sha256 = "03wwfbarsxjnk70qhqyd1dw65098dncqk2m0vksx92j70i7lry6q"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.4-preview.84"; sha256 = "0m48d87cp2kvrhxvykxnhbzgm7xrw8jkdagvma80bag5gzdiicy2"; })
(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 = "SixLabors.ImageSharp"; version = "3.0.2"; sha256 = "1r654m3ga9al9q4qjr1104rp6lk7j9blmf4j0104zq8893hhq727"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; sha256 = "0xs11zjw9ha68maw3l825kfwlrid43qwy0mswljxhpjh0y1k6k6b"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.6"; sha256 = "1h61vk9ibavwwrxqgclzsxmchighvfaqlcqrj0dpi2fzw57f54c2"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; sha256 = "0cg38xgddww1y93xrnbfn40sin63yl39j5zm7gm5pdgp5si0cf2n"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; sha256 = "1fp9h8c8k6sbsh48b69dc6461isd4dajq7yw5i7j6fhkas78q4zf"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; })
(fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.6"; sha256 = "15v2x7y4k7cl47a9jccbvgbwngwi5dz6qhv0cxpcasx4v5i9aila"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
(fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.6"; sha256 = "0dl5an15whs4yl5hm2wibzbfigzck0flah8a07k99y1bhbmv080z"; })
(fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.6"; sha256 = "1jx8d4dq5w2951b7w722gnxbfgdklwazc48kcbdzylkglwkrqgrq"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(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.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
(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.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
(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.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
(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.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
(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.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
(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.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
(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.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
(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.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })

View file

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

View file

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

View file

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

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "goxel";
version = "0.12.0";
version = "0.13.0";
src = fetchFromGitHub {
owner = "guillaumechereau";
repo = "goxel";
rev = "v${version}";
hash = "sha256-taDe5xJU6ijikHaSMDYs/XE2O66X3J7jOKWzbj7hrN0=";
hash = "sha256-mB4ln2uIhK/hsX+hUpeZ8H4aumaAUl5vaFkqolJtLRg=";
};
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
, IOKit, Carbon, Cocoa, AudioToolbox, OpenGL, System
, withTTYX ? true, libX11
@ -14,18 +14,16 @@
stdenv.mkDerivation rec {
pname = "far2l";
version = "2.4.1";
version = "2.5.3";
src = fetchFromGitHub {
owner = "elfmz";
repo = "far2l";
rev = "v_${version}";
sha256 = "sha256-0t1ND6LmDcivfrZ8RaEr1vjeS5JtaeWkoHkl2e7Xr5s=";
sha256 = "sha256-aK6+7ChFAkeDiEYU2llBb//PBej2Its/wBeuG7ys/ew=";
};
patches = [ ./python_prebuild.patch ];
nativeBuildInputs = [ cmake ninja pkg-config m4 makeWrapper ];
nativeBuildInputs = [ cmake ninja pkg-config m4 perl makeWrapper ];
buildInputs = lib.optional withTTYX libX11
++ lib.optional withGUI wxGTK32
@ -39,21 +37,21 @@ stdenv.mkDerivation rec {
postPatch = ''
patchShebangs python/src/prebuild.sh
substituteInPlace far2l/src/vt/vtcompletor.cpp \
--replace '"/bin/bash"' '"${bash}/bin/bash"'
substituteInPlace far2l/src/cfg/config.cpp \
--replace '"/bin/bash"' '"${bash}/bin/bash"'
patchShebangs far2l/bootstrap/view.sh
'';
cmakeFlags = lib.mapAttrsToList (k: v: "-D${k}=${if v then "yes" else "no"}") {
TTYX = withTTYX;
USEWX = withGUI;
USEUCD = withUCD;
COLORER = withColorer;
MULTIARC = withMultiArc;
NETROCKS = withNetRocks;
PYTHON = withPython;
};
cmakeFlags = [
(lib.cmakeBool "TTYX" withTTYX)
(lib.cmakeBool "USEWX" withGUI)
(lib.cmakeBool "USEUCD" withUCD)
(lib.cmakeBool "COLORER" withColorer)
(lib.cmakeBool "MULTIARC" withMultiArc)
(lib.cmakeBool "NETROCKS" withNetRocks)
(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 ];

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 {
octoprint-dashboard = self.dashboard;
octoprint-dashboard = super.dashboard;
}

View file

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

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "revanced-cli";
version = "4.3.0";
version = "4.4.0";
src = fetchurl {
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 ];

View file

@ -2,23 +2,23 @@
buildGoModule rec {
pname = "sqls";
version = "0.2.22";
version = "0.2.28";
src = fetchFromGitHub {
owner = "lighttiger2505";
repo = pname;
owner = "sqls-server";
repo = "sqls";
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}" ];
doCheck = false;
meta = with lib; {
homepage = "https://github.com/lighttiger2505/sqls";
homepage = "https://github.com/sqls-server/sqls";
description = "SQL language server written in Go";
license = licenses.mit;
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 {
pname = "talosctl";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "talos";
rev = "v${version}";
hash = "sha256-Mcc9lfnhSbVA5tNHUtBgfQEGVyen4KZ/V9OeV8PxAYQ=";
hash = "sha256-xJKYnKJ0qvgVZ2I7O+qYO/ujuW03B+DykXO/ZYLgoyU=";
};
vendorHash = "sha256-VeUDyiJ0R27Xrf+79f0soELKvR2xaK5ocbvhCzP9eFk=";
vendorHash = "sha256-CIDCUIk0QFSHM2gc1XpD6Ih11zXbCDDeSf5vf6loI9w=";
ldflags = [ "-s" "-w" ];

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.54.10";
version = "0.54.12";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
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;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -18,15 +18,15 @@
rustPlatform.buildRustPackage rec {
pname = "stgit";
version = "2.4.1";
version = "2.4.2";
src = fetchFromGitHub {
owner = "stacked-git";
repo = "stgit";
rev = "v${version}";
hash = "sha256-5fMGWqvGbpRVAgarNO0zV8ID+X/RnguGHF927syCXGg=";
hash = "sha256-Rdpi20FRtSYQtYfBvLr+2hghpHKSSDoUZBQqm2nxZxk=";
};
cargoHash = "sha256-U63r0tcxBTQMONHJp6WswqxTUH7uzw6a7Vc4Np1bATY=";
cargoHash = "sha256-vd2y6XYBlFU9gxd8hNj0srWqEuJAuXTOzt9GPD9q0yc=";
nativeBuildInputs = [
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 {
pname = "obs-move-transition";
version = "2.9.6";
version = "2.9.8";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-move-transition";
rev = version;
sha256 = "sha256-A3R78JvjOdYE9/ZZ+KbZ5Ula9HC5E/u7BrqE2i6VwYs=";
sha256 = "sha256-GOLmwXAK2g8IyI+DFH2sBOR2iknYdgYevytZpt3Cc7Q=";
};
nativeBuildInputs = [ cmake ];

View file

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

View file

@ -2,6 +2,26 @@
{ 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
, version
, buildInputs ? []
@ -10,15 +30,6 @@
, ...
}@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: ({
name = "emacs-${pname}-${finalAttrs.version}";
@ -42,28 +53,21 @@ stdenv.mkDerivation (finalAttrs: ({
propagatedBuildInputs = packageRequires;
propagatedUserEnvPkgs = packageRequires;
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
'';
inherit setupHook;
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 ];
@ -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 }:
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
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;
genericBuild = import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; };
packageBuild = stdenv.mkDerivation {
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;
melpa2nix = ./melpa2nix.el;
inherit packageBuild;
preUnpack = ''
mkdir -p "$NIX_BUILD_TOP/recipes"
if [ -n "$recipe" ]; then
@ -104,7 +101,9 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({
runHook postInstall
'';
meta = defaultMeta // meta;
meta = {
homepage = args.src.meta.homepage or "https://melpa.org/#/${pname}";
} // meta;
}
// removeAttrs args [ "meta" ])

View file

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

View file

@ -289,7 +289,8 @@ let
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 = {
# Add default meta information

View file

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "bruno";
version = "1.5.0";
version = "1.5.1";
src = fetchurl {
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 ];
@ -52,10 +52,11 @@ stdenv.mkDerivation rec {
passthru.updateScript = nix-update-script { };
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";
license = licenses.mit;
maintainers = with maintainers; [ water-sucks lucasew kashw2 ];
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 {
pname = "usql";
version = "0.17.0";
version = "0.17.2";
src = fetchFromGitHub {
owner = "xo";
repo = "usql";
rev = "v${version}";
hash = "sha256-AcxtIdPflMT2SGM2dgbbiFx5S+NlM7neMuXrIhysFPo=";
hash = "sha256-lGdFxbD8O5kmiMdM0EPJF1jmnyVs1WkK4Y+qC71t4EY=";
};
buildInputs = [ unixODBC icu ];
vendorHash = "sha256-UsYEhqsQUhRROe9HX4WIyi0OeMLHE87JOfp6vwbVMMo=";
vendorHash = "sha256-2s6DLVUpizFQpOOs0jBinBlIhIRVzLxveUcWCuSgW68=";
proxyVendor = true;
# Exclude broken genji, hive & impala drivers (bad group)

View file

@ -35,10 +35,6 @@ stdenv.mkDerivation rec {
# TODO: switch to substituteAll with placeholder
# https://github.com/NixOS/nix/issues/1846
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 \
--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"
];
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; {
homepage = "https://github.com/Keruspe/GPaste";
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
index 830f5e0b..c8df0e11 100644
--- 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 {
category = "xfce";
pname = "thunar";
version = "4.18.8";
version = "4.18.9";
sha256 = "sha256-+VS8Mn9J8VySNEKUMq4xUXXvVgMpWkNVdpv5dzxhZ/M=";
sha256 = "sha256-FiJAxELdt/1g5ThTBshTSFK54f9Ncqhn/C+rWQ+zrig=";
nativeBuildInputs = [
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 // {
interpreter = "${env}/bin/lua";
inherit lua;
luaPath = lua.pkgs.lib.genLuaPathAbsStr env;
luaCpath = lua.pkgs.lib.genLuaCPathAbsStr env;
luaPath = lua.pkgs.luaLib.genLuaPathAbsStr env;
luaCpath = lua.pkgs.luaLib.genLuaCPathAbsStr env;
env = stdenv.mkDerivation {
name = "interactive-${lua.name}-environment";
nativeBuildInputs = [ env ];

View file

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

View file

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

View file

@ -5,10 +5,33 @@ import multiprocessing
import subprocess
import sys
import toml
from urllib.parse import urlparse
import yaml
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])
closure_yaml_path = Path(sys.argv[2])
julia_path = Path(sys.argv[3])
@ -33,6 +56,42 @@ with open(closure_yaml_path, "r") as f:
if contents.get("depends_on"):
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:
f.write("{ lib, fetchurl, glibc, pkgs, stdenv }:\n\n")
f.write("rec {\n")
@ -53,38 +112,15 @@ with open(out_path, "w") as f:
git_tree_sha1 = details["git-tree-sha1"]
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 {{}} \;
''"""
derivation = f"""{{
name = "{artifact_name}";
src = fetchurl {{
url = "{url}";
sha256 = "{sha256}";
}};
sourceRoot = ".";
dontConfigure = true;
dontBuild = true;
installPhase = "cp -r . $out";
{fixup};
}}"""
parsed_url = urlparse(url)
if any(parsed_url.path.endswith(x) for x in archive_extensions):
derivation = get_archive_derivation(uuid, artifact_name, url, sha256)
else:
derivation = get_plain_derivation(url, sha256)
lines.append(f""" "{artifact_name}" = {{
sha1 = "{git_tree_sha1}";
path = stdenv.mkDerivation {derivation};
path = {derivation};
}};\n""")
lines.append(' };\n')

View file

@ -7,23 +7,31 @@
, maeparser
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "coordgenlibs";
version = "3.0.2";
src = fetchFromGitHub {
owner = "schrodinger";
repo = pname;
rev = "v${version}";
sha256 = "sha256-casFPNbPv9mkKpzfBENW7INClypuCO1L7clLGBXvSvI=";
repo = "coordgenlibs";
rev = "v${finalAttrs.version}";
hash = "sha256-casFPNbPv9mkKpzfBENW7INClypuCO1L7clLGBXvSvI=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ boost zlib maeparser ];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-unused-but-set-variable";
};
doCheck = true;
meta = with lib; {
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 ];
license = licenses.bsd3;
};
}
})

View file

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

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "level-zero";
version = "1.15.1";
version = "1.15.8";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "level-zero";
rev = "refs/tags/v${version}";
hash = "sha256-jf1sKFfUmeNbLtmawKISmLQK2/95XvSg40se9IEKMT0=";
hash = "sha256-n1dcsI2sLeB68HpI5oQ5p3zdAcSvnSY+qpHL9vp6FOk=";
};
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 = ''
sed -i "s|{exec_prefix}/$out|{exec_prefix}|;s|{prefix}/$out|{prefix}|" \
"$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`
+ lib.optionalString enablePython ''

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -50,7 +50,7 @@ buildPythonPackage rec {
prePatch =
let
cmakeCommands = ''
include_directories(${h3}/include/h3)
include_directories(${lib.getDev h3}/include/h3)
link_directories(${h3}/lib)
'';
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 {
pname = "nsz";
version = "4.6.0";
version = "4.6.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "nicoboss";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-2Df+xvfDHtZt3XW4ShKZFsjsFigW+3Avz8uStVtC1i4=";
hash = "sha256-ch4HzQFa95o3HMsi7R0LpPWmhN/Z9EYfrmCdUZLwPSE=";
};
propagatedBuildInputs = [

View file

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

View file

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

View file

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

View file

@ -44,13 +44,13 @@ let
in
buildPythonPackage rec {
pname = "OpenSfM";
version = "unstable-2022-03-10";
version = "unstable-2023-12-09";
src = fetchFromGitHub {
owner = "mapillary";
repo = pname;
rev = "536b6e1414c8a93f0815dbae85d03749daaa5432";
sha256 = "Nfl20dFF2PKOkIvHbRxu1naU+qhz4whLXJvX5c5Wnwo=";
rev = "7f170d0dc352340295ff480378e3ac37d0179f8e";
sha256 = "sha256-l/HTVenC+L+GpMNnDgnSGZ7+Qd2j8b8cuTs3SmORqrg=";
};
patches = [
./0002-cmake-find-system-distributed-gtest.patch
@ -67,6 +67,8 @@ buildPythonPackage rec {
# where segfaults might be introduced in future
echo 'feature_type: SIFT' >> data/berlin/config.yaml
echo 'feature_type: HAHOG' >> data/lund/config.yaml
sed -i -e 's/^.*BuildDoc.*$//' setup.py
'';
nativeBuildInputs = [ cmake pkg-config sphinx ];
@ -85,7 +87,7 @@ buildPythonPackage rec {
numpy
scipy
pyyaml
opencv4
opencv4.cxxdev
networkx
pillow
matplotlib
@ -107,7 +109,9 @@ buildPythonPackage rec {
"-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_triangulation"
];

View file

@ -1,19 +1,22 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, importlib-metadata
, isPy3k
, cryptography
, charset-normalizer
, pythonOlder
, typing-extensions
, pytestCheckHook
, setuptools
, substituteAll
, ocrmypdf
}:
buildPythonPackage rec {
pname = "pdfminer-six";
version = "20221105";
format = "setuptools";
version = "20231228";
pyproject = true;
disabled = !isPy3k;
@ -21,13 +24,27 @@ buildPythonPackage rec {
owner = "pdfminer";
repo = "pdfminer.six";
rev = version;
hash = "sha256-OyEeQBuYfj4iEcRt2/daSaUfTOjCVSCyHW2qffal+Bk=";
hash = "sha256-LXPECQQojD3IY9zRkrDBufy4A8XUuYiRpryqUx/I3qo=";
};
patches = [
(substituteAll {
src = ./disable-setuptools-git-versioning.patch;
inherit version;
})
];
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
charset-normalizer
cryptography
] ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
typing-extensions
];
postInstall = ''
for file in $out/bin/*.py; do
@ -35,12 +52,6 @@ buildPythonPackage rec {
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 = [
"pdfminer"
"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
, pytestCheckHook
, pytest-subtests
, pytest-benchmark
, numpy
, matplotlib
, uncertainties
@ -20,7 +21,7 @@
buildPythonPackage rec {
pname = "pint";
version = "0.22";
version = "0.23";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -28,7 +29,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit version;
pname = "Pint";
hash = "sha256-LROfarvPMBbK19POwFcH/pCKxPmc9Zrt/W7mZ7emRDM=";
hash = "sha256-4VCbkWBtvFJSfGAKTvdP+sEv/3Boiv8g6QckCTRuybQ=";
};
nativeBuildInputs = [
@ -43,6 +44,7 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
pytest-subtests
pytest-benchmark
numpy
matplotlib
uncertainties
@ -53,8 +55,8 @@ buildPythonPackage rec {
'';
disabledTests = [
# https://github.com/hgrecco/pint/issues/1825
"test_equal_zero_nan_NP"
# https://github.com/hgrecco/pint/issues/1898
"test_load_definitions_stage_2"
];
meta = with lib; {

View file

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

View file

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

View file

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

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