Merge staging-next into staging
This commit is contained in:
@@ -251,6 +251,9 @@
|
||||
- `services.paperless` now installs `paperless-manage` as a normal system package instead of creating a symlink in `/var/lib/paperless`.
|
||||
`paperless-manage` now also changes to the appropriate user when being executed.
|
||||
|
||||
- The `gotenberg` package has been updated to 8.16.0, which brings breaking changes to the configuration from version 8.13.0. See the [upstream release notes](https://github.com/gotenberg/gotenberg/releases/tag/v8.13.0)
|
||||
for that release to get all the details. The `services.gotenberg` module has been updated appropriately to ensure your configuration is valid with this new release.
|
||||
|
||||
- `asusd` has been upgraded to version 6 which supports multiple aura devices. To account for this, the single `auraConfig` configuration option has been replaced with `auraConfigs` which is an attribute set of config options per each device. The config files may also be now specified as either source files or text strings; to account for this you will need to specify that `text` is used for your existing configs, e.g.:
|
||||
```diff
|
||||
-services.asusd.asusdConfig = '''file contents'''
|
||||
|
||||
@@ -16,14 +16,26 @@ let
|
||||
"--chromium-max-queue-size=${toString cfg.chromium.maxQueueSize}"
|
||||
"--libreoffice-restart-after=${toString cfg.libreoffice.restartAfter}"
|
||||
"--libreoffice-max-queue-size=${toString cfg.libreoffice.maxQueueSize}"
|
||||
"--pdfengines-engines=${lib.concatStringsSep "," cfg.pdfEngines}"
|
||||
"--pdfengines-merge-engines=${lib.concatStringsSep "," cfg.pdfEngines.merge}"
|
||||
"--pdfengines-convert-engines=${lib.concatStringsSep "," cfg.pdfEngines.convert}"
|
||||
"--pdfengines-read-metadata-engines=${lib.concatStringsSep "," cfg.pdfEngines.readMetadata}"
|
||||
"--pdfengines-write-metadata-engines=${lib.concatStringsSep "," cfg.pdfEngines.writeMetadata}"
|
||||
"--api-download-from-allow-list=${cfg.downloadFrom.allowList}"
|
||||
"--api-download-from-max-retry=${toString cfg.downloadFrom.maxRetries}"
|
||||
]
|
||||
++ optional cfg.enableBasicAuth "--api-enable-basic-auth"
|
||||
++ optional cfg.chromium.autoStart "--chromium-auto-start"
|
||||
++ optional cfg.chromium.disableJavascript "--chromium-disable-javascript"
|
||||
++ optional cfg.chromium.disableRoutes "--chromium-disable-routes"
|
||||
++ optional cfg.libreoffice.autoStart "--libreoffice-auto-start"
|
||||
++ optional cfg.libreoffice.disableRoutes "--libreoffice-disable-routes";
|
||||
++ optional cfg.libreoffice.disableRoutes "--libreoffice-disable-routes"
|
||||
++ optional cfg.pdfEngines.disableRoutes "--pdfengines-disable-routes"
|
||||
++ optional (
|
||||
cfg.downloadFrom.denyList != null
|
||||
) "--api-download-from-deny-list=${cfg.downloadFrom.denyList}"
|
||||
++ optional cfg.downloadFrom.disable "--api-disable-download-from"
|
||||
++ optional (cfg.bodyLimit != null) "--api-body-limit=${cfg.bodyLimit}"
|
||||
++ lib.optionals (cfg.extraArgs != [ ]) cfg.extraArgs;
|
||||
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
@@ -51,6 +63,12 @@ in
|
||||
description = "Port on which the API should listen.";
|
||||
};
|
||||
|
||||
bindIP = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = "127.0.0.1";
|
||||
description = "Port the API listener should bind to. Set to 0.0.0.0 to listen on all available IPs.";
|
||||
};
|
||||
|
||||
timeout = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = "30s";
|
||||
@@ -74,6 +92,12 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
bodyLimit = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Sets the max limit for `multipart/form-data` requests. Accepts values like '5M', '20G', etc.";
|
||||
};
|
||||
|
||||
extraFontPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
@@ -108,6 +132,29 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
downloadFrom = {
|
||||
allowList = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = ".*";
|
||||
description = "Allow these URLs to be used in the `downloadFrom` API field. Accepts a regular expression.";
|
||||
};
|
||||
denyList = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Deny accepting URLs from these domains in the `downloadFrom` API field. Accepts a regular expression.";
|
||||
};
|
||||
maxRetries = mkOption {
|
||||
type = types.int;
|
||||
default = 4;
|
||||
description = "The maximum amount of times to retry downloading a file specified with `downloadFrom`.";
|
||||
};
|
||||
disable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to disable the ability to download files for conversion from outside sources.";
|
||||
};
|
||||
};
|
||||
|
||||
libreoffice = {
|
||||
package = mkPackageOption pkgs "libreoffice" { };
|
||||
|
||||
@@ -136,28 +183,61 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
pdfEngines = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"pdftk"
|
||||
pdfEngines = {
|
||||
merge = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"qpdf"
|
||||
"pdfcpu"
|
||||
"pdftk"
|
||||
]
|
||||
);
|
||||
default = [
|
||||
"qpdf"
|
||||
"libreoffice-pdfengine"
|
||||
"exiftool"
|
||||
"pdfcpu"
|
||||
]
|
||||
);
|
||||
default = [
|
||||
"pdftk"
|
||||
"qpdf"
|
||||
"libreoffice-pdfengine"
|
||||
"exiftool"
|
||||
"pdfcpu"
|
||||
];
|
||||
description = ''
|
||||
PDF engines to enable. Each one can be used to perform a specific task.
|
||||
See [the documentation](https://gotenberg.dev/docs/configuration#pdf-engines) for more details.
|
||||
Defaults to all possible PDF engines.
|
||||
'';
|
||||
"pdftk"
|
||||
];
|
||||
description = "PDF Engines to use for merging files.";
|
||||
};
|
||||
convert = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"libreoffice-pdfengine"
|
||||
]
|
||||
);
|
||||
default = [
|
||||
"libreoffice-pdfengine"
|
||||
];
|
||||
description = "PDF Engines to use for converting files.";
|
||||
};
|
||||
readMetadata = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"exiftool"
|
||||
]
|
||||
);
|
||||
default = [
|
||||
"exiftool"
|
||||
];
|
||||
description = "PDF Engines to use for reading metadata from files.";
|
||||
};
|
||||
writeMetadata = mkOption {
|
||||
type = types.listOf (
|
||||
types.enum [
|
||||
"exiftool"
|
||||
]
|
||||
);
|
||||
default = [
|
||||
"exiftool"
|
||||
];
|
||||
description = "PDF Engines to use for writing metadata to files.";
|
||||
};
|
||||
|
||||
disableRoutes = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Disable routes related to PDF engines.";
|
||||
};
|
||||
};
|
||||
|
||||
logLevel = mkOption {
|
||||
@@ -196,6 +276,15 @@ in
|
||||
See `services.gotenberg.enableBasicAuth` for the names of those variables.
|
||||
'';
|
||||
}
|
||||
{
|
||||
assertion = !(lib.isList cfg.pdfEngines);
|
||||
message = ''
|
||||
Setting `services.gotenberg.pdfEngines` to a list is now deprecated.
|
||||
Use the new `pdfEngines.mergeEngines`, `pdfEngines.convertEngines`, `pdfEngines.readMetadataEngines`, and `pdfEngines.writeMetadataEngines` settings instead.
|
||||
|
||||
The previous option was using a method that is now deprecated by upstream.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.gotenberg = {
|
||||
@@ -209,12 +298,20 @@ in
|
||||
FONTCONFIG_FILE = pkgs.makeFontsConf {
|
||||
fontDirectories = [ pkgs.liberation_ttf_v2 ] ++ cfg.extraFontPackages;
|
||||
};
|
||||
# Needed for LibreOffice to work correctly.
|
||||
# https://github.com/NixOS/nixpkgs/issues/349123#issuecomment-2418330936
|
||||
HOME = "/run/gotenberg";
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${lib.getExe cfg.package} ${lib.escapeShellArgs args}";
|
||||
|
||||
# Needed for LibreOffice to work correctly.
|
||||
# See above issue comment.
|
||||
WorkingDirectory = "/run/gotenberg";
|
||||
RuntimeDirectory = "gotenberg";
|
||||
|
||||
# Hardening options
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
@@ -243,6 +340,7 @@ in
|
||||
SystemCallFilter = [
|
||||
"@sandbox"
|
||||
"@system-service"
|
||||
"@chown"
|
||||
];
|
||||
SystemCallArchitectures = "native";
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ in
|
||||
API_PORT = toString cfg.port;
|
||||
BASE_URL = "http://localhost:${toString cfg.port}";
|
||||
DATA_DIR = "/var/lib/mealie";
|
||||
CRF_MODEL_PATH = "/var/lib/mealie/model.crfmodel";
|
||||
NLTK_DATA = pkgs.nltk-data.averaged_perceptron_tagger_eng;
|
||||
} // (builtins.mapAttrs (_: val: toString val) cfg.settings);
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
@@ -18,19 +18,19 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
version = "1.3.17";
|
||||
version = "1.3.18";
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelb";
|
||||
repo = "sniprun";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-o8U3GXg61dfEzQxrs9zCgRDWonhr628aSPd/l+HxS70=";
|
||||
hash = "sha256-2Q7Jnt7pVCuNne442KPh2cSjA6V6WSZkgUj99UpmnOM=";
|
||||
};
|
||||
sniprun-bin = rustPlatform.buildRustPackage {
|
||||
pname = "sniprun-bin";
|
||||
inherit version src;
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-HLPTt0JCmCM4SRmP8o435ilM1yxoxpAnf8hg3+8C54I=";
|
||||
cargoHash = "sha256-cu7wn75rQcwPLjFl4v05kVMsiCD0mAlIBt49mvIaPPU=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.202.1";
|
||||
version = "0.203.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evcc-io";
|
||||
repo = "evcc";
|
||||
tag = version;
|
||||
hash = "sha256-GMKhlNZLk6R0XZn5I3YP5Eav8wD6WbEr1DM+VVtQtjo=";
|
||||
hash = "sha256-rrpYa73Rl+pLQ3FhnDF+t1uHT7SJJcrx6kjdxXsOfM8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-K9X63dTWE+dC5yo8LX86pUezm8OHwEHNXwxXHn/4AwU=";
|
||||
vendorHash = "sha256-TqtJlsT/uaqQe/mAh1hw92N3uw6GLkdwh9aIMmdNbkY=";
|
||||
|
||||
commonMeta = with lib; {
|
||||
license = licenses.mit;
|
||||
@@ -52,7 +52,7 @@ buildGo124Module rec {
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
hash = "sha256-iTrmgNmUoHQWL5tsqhUnd0t1t9qengb6ba9pxYrL9Ks=";
|
||||
hash = "sha256-LaP6Ee13OKwRoAZ7oF/nH8rE5zqFYzrhq6CwPaaF9SE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
makeFontsConf,
|
||||
liberation_ttf_v2,
|
||||
exiftool,
|
||||
pdfcpu,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
@@ -23,19 +24,21 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "gotenberg";
|
||||
version = "8.9.1";
|
||||
version = "8.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gotenberg";
|
||||
repo = "gotenberg";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-y54DtOYIzFAk05TvXFcLdStfAXim3sVHBkW+R8CrtMM=";
|
||||
hash = "sha256-m8aDhfcUa3QFr+7hzlQFL2wPfcx5RE+3dl5RHzWwau0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-BYcdqZ8TNEG6popRt+Dg5xW5Q7RmYvdlV+niUNenRG0=";
|
||||
vendorHash = "sha256-EM+Rpo4Zf+aqA56aFeuQ0tbvpTgZhmfv+B7qYI6PXWc=";
|
||||
|
||||
postPatch = ''
|
||||
find ./pkg -name '*_test.go' -exec sed -i -e 's#/tests#${src}#g' {} \;
|
||||
substituteInPlace pkg/gotenberg/fs_test.go \
|
||||
--replace-fail "/tmp" "/build"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
@@ -52,6 +55,7 @@ buildGoModule rec {
|
||||
pdftk
|
||||
qpdf
|
||||
unoconv
|
||||
pdfcpu
|
||||
mktemp
|
||||
jre'
|
||||
];
|
||||
@@ -62,6 +66,7 @@ buildGoModule rec {
|
||||
export QPDF_BIN_PATH=${getExe qpdf}
|
||||
export UNOCONVERTER_BIN_PATH=${getExe unoconv}
|
||||
export EXIFTOOL_BIN_PATH=${getExe exiftool}
|
||||
export PDFCPU_BIN_PATH=${getExe pdfcpu}
|
||||
# LibreOffice needs all of these set to work properly
|
||||
export LIBREOFFICE_BIN_PATH=${libreoffice'}
|
||||
export FONTCONFIG_FILE=${fontsConf}
|
||||
@@ -70,7 +75,14 @@ buildGoModule rec {
|
||||
'';
|
||||
|
||||
# These tests fail with a panic, so disable them.
|
||||
checkFlags = [ "-skip=^TestChromiumBrowser_(screenshot|pdf)$" ];
|
||||
checkFlags =
|
||||
let
|
||||
skippedTests = [
|
||||
"TestChromiumBrowser_(screenshot|pdf)"
|
||||
"TestNewContext"
|
||||
];
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
preFixup = ''
|
||||
wrapProgram $out/bin/gotenberg \
|
||||
@@ -78,6 +90,7 @@ buildGoModule rec {
|
||||
--set QPDF_BIN_PATH "${getExe qpdf}" \
|
||||
--set UNOCONVERTER_BIN_PATH "${getExe unoconv}" \
|
||||
--set EXIFTOOL_BIN_PATH "${getExe exiftool}" \
|
||||
--set PDFCPU_BIN_PATH "${getExe pdfcpu}" \
|
||||
--set JAVA_HOME "${jre'}"
|
||||
'';
|
||||
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
electron,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
nix-update-script,
|
||||
makeWrapper,
|
||||
ivpn-service,
|
||||
}:
|
||||
let
|
||||
version = "3.14.29";
|
||||
in
|
||||
buildNpmPackage {
|
||||
pname = "ivpn-ui";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ivpn";
|
||||
repo = "desktop-app";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-8JScty/sGyxzC2ojRpatHpCqEXZw9ksMortIhZnukoU=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/ui";
|
||||
|
||||
npmDepsHash = "sha256-2EsXYNo+rj2v+YkZT6ciEcDAirnEZ5MezFlf9zsb/os=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
env = {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
|
||||
};
|
||||
|
||||
postBuild = ''
|
||||
cp -r ${electron.dist} electron-dist
|
||||
chmod -R u+w electron-dist
|
||||
|
||||
npm exec electron-builder -- \
|
||||
--dir \
|
||||
-c.electronDist=electron-dist \
|
||||
-c.electronVersion=${electron.version} \
|
||||
--config electron-builder.config.js
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/ivpn-ui
|
||||
cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/ivpn-ui
|
||||
|
||||
install -Dm644 $src/ui/References/Linux/ui/ivpnicon.svg $out/share/icons/hicolor/scalable/apps/ivpn-ui.svg
|
||||
|
||||
makeWrapper ${lib.getExe electron} $out/bin/ivpn-ui \
|
||||
--prefix PATH : ${lib.makeBinPath [ ivpn-service ]} \
|
||||
--add-flags $out/share/ivpn-ui/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--inherit-argv0
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "ivpn-ui";
|
||||
type = "Application";
|
||||
desktopName = "IVPN";
|
||||
genericName = "VPN Client";
|
||||
comment = "UI interface for IVPN";
|
||||
icon = "ivpn-ui";
|
||||
exec = "ivpn-ui";
|
||||
categories = [ "Network" ];
|
||||
startupNotify = true;
|
||||
})
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "UI interface for IVPN";
|
||||
mainProgram = "ivpn-ui";
|
||||
homepage = "https://www.ivpn.net";
|
||||
downloadPage = "https://github.com/ivpn/desktop-app";
|
||||
changelog = "https://github.com/ivpn/desktop-app/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ blenderfreaky ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
@@ -7,15 +7,15 @@
|
||||
}:
|
||||
|
||||
let
|
||||
timestamp = "202502271238";
|
||||
timestamp = "202504011455";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jdt-language-server";
|
||||
version = "1.45.0";
|
||||
version = "1.46.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.eclipse.org/jdtls/milestones/${finalAttrs.version}/jdt-language-server-${finalAttrs.version}-${timestamp}.tar.gz";
|
||||
hash = "sha256-wJ556Vi+tc5B+ztQl67ARVKYvIihTI5BRitX7bKBJ5c=";
|
||||
hash = "sha256-9DX99ts6oNFZjvDxH4C7IOCeZwCQATgnGcMT7/B94Cw=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
scim-for-keycloak = callPackage ./scim-for-keycloak { };
|
||||
scim-keycloak-user-storage-spi = callPackage ./scim-keycloak-user-storage-spi { };
|
||||
keycloak-discord = callPackage ./keycloak-discord { };
|
||||
keycloak-magic-link = callPackage ./keycloak-magic-link { };
|
||||
keycloak-metrics-spi = callPackage ./keycloak-metrics-spi { };
|
||||
keycloak-restrict-client-auth = callPackage ./keycloak-restrict-client-auth { };
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
maven,
|
||||
nix-update-script,
|
||||
}:
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "keycloak-magic-link";
|
||||
version = "0.38";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "p2-inc";
|
||||
repo = "keycloak-magic-link";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+fhWxAUlt9UVM81Ua2Mwek3D5Kzzk/Tsugbo0fLyxiA=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-edBdooR+KqY0JKwxdwTd5AxJ0qn3MV9xLrqYukIq2oY=";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm644 target/keycloak-magic-link-${version}.jar $out/keycloak-magic-link-${version}.jar
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/p2-inc/keycloak-magic-link";
|
||||
description = "Magic Link Authentication for Keycloak";
|
||||
license = lib.licenses.elastic20;
|
||||
maintainers = with lib.maintainers; [ lykos153 ];
|
||||
};
|
||||
}
|
||||
@@ -1,46 +1,28 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
callPackage,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
nixosTests,
|
||||
python3Packages,
|
||||
nltk-data,
|
||||
writeShellScript,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.7.1";
|
||||
version = "2.8.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mealie-recipes";
|
||||
repo = "mealie";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-nN8AuSzxHjIDKc8rGN+O2/vlzkH/A5LAr4aoAlOTLlk=";
|
||||
hash = "sha256-0LUT7OdYoOZTdR/UXJO2eL2Afo2Y7GjBPIrjWUt205E=";
|
||||
};
|
||||
|
||||
frontend = callPackage (import ./mealie-frontend.nix src version) { };
|
||||
|
||||
pythonpkgs = python3Packages;
|
||||
python = pythonpkgs.python;
|
||||
|
||||
crfpp = stdenv.mkDerivation {
|
||||
pname = "mealie-crfpp";
|
||||
version = "unstable-2024-02-12";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mealie-recipes";
|
||||
repo = "crfpp";
|
||||
rev = "c56dd9f29469c8a9f34456b8c0d6ae0476110516";
|
||||
hash = "sha256-XNps3ZApU8m07bfPEnvip1w+3hLajdn9+L5+IpEaP0c=";
|
||||
};
|
||||
|
||||
# Can remove once the `register` keyword is removed from source files
|
||||
# Configure overwrites CXXFLAGS so patch it in the Makefile
|
||||
postConfigure = lib.optionalString stdenv.cc.isClang ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail "CXXFLAGS = " "CXXFLAGS = -std=c++14 "
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
pythonpkgs.buildPythonApplication rec {
|
||||
@@ -69,6 +51,7 @@ pythonpkgs.buildPythonApplication rec {
|
||||
gunicorn
|
||||
html2text
|
||||
httpx
|
||||
ingredient-parser-nlp
|
||||
itsdangerous
|
||||
jinja2
|
||||
lxml
|
||||
@@ -106,7 +89,6 @@ pythonpkgs.buildPythonApplication rec {
|
||||
${lib.getExe pythonpkgs.gunicorn} "$@" -k uvicorn.workers.UvicornWorker mealie.app:app;
|
||||
'';
|
||||
init_db = writeShellScript "init-mealie-db" ''
|
||||
${python.interpreter} $OUT/${python.sitePackages}/mealie/scripts/install_model.py
|
||||
${python.interpreter} $OUT/${python.sitePackages}/mealie/db/init_db.py
|
||||
'';
|
||||
in
|
||||
@@ -116,9 +98,7 @@ pythonpkgs.buildPythonApplication rec {
|
||||
|
||||
makeWrapper ${start_script} $out/bin/mealie \
|
||||
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
|
||||
--set LD_LIBRARY_PATH "${crfpp}/lib" \
|
||||
--set STATIC_FILES "${frontend}" \
|
||||
--set PATH "${lib.makeBinPath [ crfpp ]}"
|
||||
--set STATIC_FILES "${frontend}"
|
||||
|
||||
makeWrapper ${init_db} $out/libexec/init_db \
|
||||
--set PYTHONPATH "$out/${python.sitePackages}:${pythonpkgs.makePythonPath dependencies}" \
|
||||
@@ -127,6 +107,11 @@ pythonpkgs.buildPythonApplication rec {
|
||||
|
||||
nativeCheckInputs = with pythonpkgs; [ pytestCheckHook ];
|
||||
|
||||
# Needed for tests
|
||||
preCheck = ''
|
||||
export NLTK_DATA=${nltk-data.averaged_perceptron_tagger_eng}
|
||||
'';
|
||||
|
||||
disabledTestPaths = [
|
||||
# KeyError: 'alembic_version'
|
||||
"tests/unit_tests/services_tests/backup_v2_tests/test_backup_v2.py"
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv) hostPlatform;
|
||||
|
||||
accelIsValid = builtins.elem acceleration [
|
||||
null
|
||||
false
|
||||
@@ -67,7 +69,7 @@ let
|
||||
metalSupport =
|
||||
assert accelIsValid;
|
||||
(acceleration == "metal")
|
||||
|| (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 && (acceleration == null));
|
||||
|| (hostPlatform.isDarwin && hostPlatform.isAarch64 && (acceleration == null));
|
||||
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -119,7 +121,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
buildFeatures =
|
||||
lib.optionals cudaSupport [ "cuda" ]
|
||||
++ lib.optionals mklSupport [ "mkl" ]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && metalSupport) [ "metal" ];
|
||||
++ lib.optionals (hostPlatform.isDarwin && metalSupport) [ "metal" ];
|
||||
|
||||
env =
|
||||
{
|
||||
@@ -149,7 +151,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
CUDA_TOOLKIT_ROOT_DIR = lib.getDev cudaPackages.cuda_cudart;
|
||||
});
|
||||
|
||||
appendRunpaths = [
|
||||
appendRunpaths = lib.optionals cudaSupport [
|
||||
(lib.makeLibraryPath [
|
||||
cudaPackages.libcublas
|
||||
cudaPackages.libcurand
|
||||
@@ -159,7 +161,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
# swagger-ui will once more be copied in the target directory during the check phase
|
||||
# Not deleting the existing unpacked archive leads to a `PermissionDenied` error
|
||||
preCheck = ''
|
||||
rm -rf target/${stdenv.hostPlatform.config}/release/build/
|
||||
rm -rf target/${hostPlatform.config}/release/build/
|
||||
'';
|
||||
|
||||
# Prevent checkFeatures from inheriting buildFeatures because
|
||||
@@ -185,13 +187,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
tests = {
|
||||
version = testers.testVersion { package = mistral-rs; };
|
||||
|
||||
withMkl = lib.optionalAttrs (stdenv.hostPlatform == "x86_64-linux") (
|
||||
withMkl = lib.optionalAttrs (hostPlatform.isLinux && hostPlatform.isx86_64) (
|
||||
mistral-rs.override { acceleration = "mkl"; }
|
||||
);
|
||||
withCuda = lib.optionalAttrs stdenv.hostPlatform.isLinux (
|
||||
mistral-rs.override { acceleration = "cuda"; }
|
||||
);
|
||||
withMetal = lib.optionalAttrs (stdenv.hostPlatform == "aarch64-darwin") (
|
||||
withCuda = lib.optionalAttrs hostPlatform.isLinux (mistral-rs.override { acceleration = "cuda"; });
|
||||
withMetal = lib.optionalAttrs (hostPlatform.isDarwin && hostPlatform.isAarch64) (
|
||||
mistral-rs.override { acceleration = "metal"; }
|
||||
);
|
||||
};
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "nuclei-templates";
|
||||
version = "10.1.6";
|
||||
version = "10.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectdiscovery";
|
||||
repo = "nuclei-templates";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-4li7585M7Pp1/mzD91+tgZgsnoo/Hfy55O+7bEyxUtA=";
|
||||
hash = "sha256-wpsnxaWU3U5dxqGtgF8QyJzbi+Ft9ZHiuEF8WStiCpo=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -42,6 +42,7 @@ stdenvNoCC.mkDerivation rec {
|
||||
gtk-update-icon-cache "$theme"
|
||||
done
|
||||
'';
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Oranchelo icon theme";
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "prefect";
|
||||
version = "3.3.3";
|
||||
version = "3.3.4";
|
||||
pyproject = true;
|
||||
|
||||
# Trying to install from source is challenging
|
||||
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
|
||||
# Source will be missing sdist, uv.lock, ui artefacts ...
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-4cJoOD7wdmwL+56VMh01JqzyC6817FnLrbIf0Ydaz/g=";
|
||||
hash = "sha256-ii5AqUeo2asSY3oA2PYqGhRev42KInSrn/plDp4Q90Q=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -169,7 +169,7 @@ python3Packages.buildPythonApplication rec {
|
||||
extraArgs = [
|
||||
# avoid pre‐releases
|
||||
"--version-regex"
|
||||
''^\d+\.\d+\.\d+$''
|
||||
"^(\\d+\\.\\d+\\.\\d+)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "readest";
|
||||
version = "0.9.32";
|
||||
version = "0.9.33";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "readest";
|
||||
repo = "readest";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-EdEjRKBrWGIwJbmNLDvJl/1Hq+Cs6w815ND6yH3/+TI=";
|
||||
hash = "sha256-amGOtA2dOFjECCI5IAb9qL98XAvd+QAW4QQD41F8BG4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -38,14 +38,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-6JFBw/jktEQBXum7Cb4TrntbrnVQM36jE6sby2bmIlw=";
|
||||
hash = "sha256-+fJbQmoa89WSfA4dteUSRoEfgEN38tsHZiuWyOvuvhw=";
|
||||
};
|
||||
|
||||
pnpmRoot = "../..";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
|
||||
cargoHash = "sha256-2XYfcYjrg7RUXuI0B4i9DVNr0i0bYNYHj1peAi77QaE=";
|
||||
cargoHash = "sha256-uMm/X4MKu71MxjofRN/HR5d1yzkJhmVt9W5kHDryEtc=";
|
||||
|
||||
cargoRoot = "../..";
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/main.rs \
|
||||
--replace "/bin/rm" "${coreutils}/bin/rm"
|
||||
--replace-fail "/bin/rm" "${coreutils}/bin/rm"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -10,14 +10,14 @@ let
|
||||
platform =
|
||||
if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system;
|
||||
hash = builtins.getAttr platform {
|
||||
"universal-macos" = "sha256-HTKfTNdGBUWX5QTHdSvflwPX0ytmsb5AEbb1XcJz1/k=";
|
||||
"x86_64-linux" = "sha256-cIfia5bdwqGURd9JocZYssxQwhonFFNEJbS+gcaPdTk=";
|
||||
"aarch64-linux" = "sha256-mTkaMP9Xo/U/oveuZBT4kXU7P/6zg7RUnKof/5VpxoQ=";
|
||||
"universal-macos" = "sha256-ryYQyt+qjNKiT3XQuAwaG65I8KIMrkM2QeL9WvFkyik=";
|
||||
"x86_64-linux" = "sha256-VgV+K6DDtoX5CjqGUlSAZYVakAs4GWX6+8Fi9v29HjY=";
|
||||
"aarch64-linux" = "sha256-euyfFe9iXnAnePYd1u4ymtWqKGrf7vNuOeS0jFtChCA=";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tigerbeetle";
|
||||
version = "0.16.33";
|
||||
version = "0.16.35";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip";
|
||||
|
||||
+30
-9
@@ -1,20 +1,32 @@
|
||||
{
|
||||
squashfsTools,
|
||||
fetchurl,
|
||||
lib,
|
||||
squashfsTools,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
# This derivation roughly follows the update-ffmpeg script that ships with the official Vivaldi
|
||||
# downloads at https://vivaldi.com/download/
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chromium-codecs-ffmpeg-extra";
|
||||
version = "115541";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/XXzVIXswXKHqlUATPqGCj2w2l7BxosS8_41.snap";
|
||||
hash = "sha256-a1peHhku+OaGvPyChvLdh6/7zT+v8OHNwt60QUq7VvU=";
|
||||
let
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/XXzVIXswXKHqlUATPqGCj2w2l7BxosS8_73.snap";
|
||||
hash = "sha256-YsAYQ/fKlrvu7IbIxLO0oVhWOtZZzUmA00lrU+z/0+s=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/XXzVIXswXKHqlUATPqGCj2w2l7BxosS8_74.snap";
|
||||
hash = "sha256-zwCbaFeVmeHQLEp7nmD8VlEjSY9PqSVt6CdW4wPtw9o=";
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "chromium-codecs-ffmpeg-extra";
|
||||
|
||||
version = "119293";
|
||||
|
||||
src = sources."${stdenv.hostPlatform.system}";
|
||||
|
||||
buildInputs = [ squashfsTools ];
|
||||
|
||||
@@ -26,8 +38,13 @@ stdenv.mkDerivation rec {
|
||||
install -vD chromium-ffmpeg-${version}/chromium-ffmpeg/libffmpeg.so $out/lib/libffmpeg.so
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit sources;
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Additional support for proprietary codecs for Vivaldi";
|
||||
description = "Additional support for proprietary codecs for Vivaldi and other chromium based tools";
|
||||
homepage = "https://ffmpeg.org/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.lgpl21;
|
||||
@@ -35,7 +52,11 @@ stdenv.mkDerivation rec {
|
||||
betaboon
|
||||
cawilliamson
|
||||
fptje
|
||||
sarahec
|
||||
];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts coreutils grep jq squashfsTools
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
RELEASES=$(curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/chromium-ffmpeg)
|
||||
STABLE_RELEASES=$(echo $RELEASES | jq '."channel-map" | .[] | select(.channel.risk=="stable")')
|
||||
|
||||
function max_version() {
|
||||
local versions=$(echo $1 | jq -r '.version')
|
||||
echo "$(echo $versions | grep -E -o '^[0-9]+')"
|
||||
}
|
||||
|
||||
function update_source() {
|
||||
local platform=$1
|
||||
local selectedRelease=$2
|
||||
local version=$3
|
||||
local url=$(echo $selectedRelease | jq -r '.download.url')
|
||||
source="$(nix-prefetch-url "$url")"
|
||||
hash=$(nix-hash --to-sri --type sha256 "$source")
|
||||
update-source-version vivaldi-ffmpeg-codecs "$version" "$hash" "$url" --ignore-same-version --system=$platform --source-key="sources.$platform"
|
||||
}
|
||||
|
||||
x86Release="$(echo $STABLE_RELEASES | jq 'select(.channel.architecture=="amd64")')"
|
||||
x86CodecVersion=$(max_version "$x86Release")
|
||||
arm64Release="$(echo $STABLE_RELEASES | jq -r 'select(.channel.architecture=="arm64")')"
|
||||
arm64CodecVersion=$(max_version "$arm64Release")
|
||||
|
||||
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; vivaldi-ffmpeg-codecs.version or (lib.getVersion vivaldi-ffmpeg-codecs)" | tr -d '"')
|
||||
|
||||
if [[ "$currentVersion" == "$x86CodecVersion" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If this fails too often, consider finding the max common version between the two architectures
|
||||
if [[ "$x86CodecVersion" != "$arm64CodecVersion" ]]; then
|
||||
>&2 echo "Multiple chromium versions found: $x86CodecVersion (intel) and $arm64CodecVersion (arm); no update"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
update_source "x86_64-linux" "$x86Release" "$x86CodecVersion"
|
||||
update_source "aarch64-linux" "$arm64Release" "$arm64CodecVersion"
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-shell-extension-EasyScreenCast";
|
||||
version = "1.11.0";
|
||||
version = "1.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EasyScreenCast";
|
||||
repo = "EasyScreenCast";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-CK9ta+2Kf7IFKb+uQhI1AtdNkJZpBgIL7JDM3JqsV4c=";
|
||||
hash = "sha256-G4JDxaUfipn9asOXGw+OPVULOdV+OmzeK5aE/FSPGes=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -38,11 +38,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru.extensionUuid = "EasyScreenCast@iacopodeenosee.gmail.com";
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Simplifies the use of the video recording function integrated in gnome shell";
|
||||
homepage = "https://github.com/EasyScreenCast/EasyScreenCast";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
platforms = platforms.linux;
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
stdenv,
|
||||
jdk,
|
||||
jdkOnBuild, # must provide jlink
|
||||
lib,
|
||||
callPackage,
|
||||
modules ? [ "java.base" ],
|
||||
@@ -11,7 +12,9 @@ let
|
||||
pname = "${jdk.pname}-minimal-jre";
|
||||
version = jdk.version;
|
||||
|
||||
nativeBuildInputs = [ jdkOnBuild ];
|
||||
buildInputs = [ jdk ];
|
||||
strictDeps = true;
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
|
||||
setuptools,
|
||||
|
||||
nltk,
|
||||
python-crfsuite,
|
||||
pint,
|
||||
floret,
|
||||
|
||||
pytestCheckHook,
|
||||
nltk-data,
|
||||
}:
|
||||
buildPythonPackage rec {
|
||||
pname = "ingredient-parser-nlp";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strangetom";
|
||||
repo = "ingredient-parser";
|
||||
tag = version;
|
||||
hash = "sha256-i14RKBcvU56pDNGxNVBvvpQ65FCbitMIfvN5eLLJCWU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
nltk
|
||||
python-crfsuite
|
||||
pint
|
||||
floret
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ingredient_parser"
|
||||
];
|
||||
|
||||
# Needed for tests
|
||||
preCheck = ''
|
||||
export NLTK_DATA=${nltk-data.averaged_perceptron_tagger_eng}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Parse structured information from recipe ingredient sentences";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://github.com/strangetom/ingredient-parser/";
|
||||
changelog = "https://github.com/strangetom/ingredient-parser/releases/tag/${version}";
|
||||
maintainers = with lib.maintainers; [ antonmosich ];
|
||||
};
|
||||
}
|
||||
@@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "particle";
|
||||
version = "0.25.2";
|
||||
version = "0.25.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-H6S77ji/6u8IpAsnebTDDFzk+ihloQwCrP6QZ5tOYek=";
|
||||
hash = "sha256-eM9+VuniEYOF+/uJCNg5XnomerXwWWqq/rrbCMsERSs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "check_ssl_cert";
|
||||
version = "2.89.0";
|
||||
version = "2.92.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matteocorti";
|
||||
repo = "check_ssl_cert";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-kL89lNPuFd1ozWYNJEnZ0vcWUXIEnDS6LABTXxtjvmE=";
|
||||
hash = "sha256-00zJt/MQ4uU/JvJfJ70mtCqtL63w2NRfUgDNmhTF8w8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
# server, and the FHS userenv and corresponding NixOS module should
|
||||
# automatically pick up the changes.
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.41.5.9522-a96edc606";
|
||||
version = "1.41.6.9685-d301f511a";
|
||||
pname = "plexmediaserver";
|
||||
|
||||
# Fetch the source
|
||||
@@ -22,12 +22,12 @@ stdenv.mkDerivation rec {
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then
|
||||
fetchurl {
|
||||
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
|
||||
sha256 = "sha256-ugN1y3V1HE/IBhnvzlOYIL/5LyEa33IRPuj6903vPaA=";
|
||||
sha256 = "sha256-w0xngKbrUVZXA9Hc6/Doq365Kt/sbZmmcHR/sWujVzw=";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
|
||||
sha256 = "sha256-3bGmsa2OLBt587YnZDNpSjWHdQ1ubwSNocLPW6A6kQU=";
|
||||
sha256 = "sha256-4ZbSGQGdkXCCZZ00w0/BwRHju4DJUQQBGid0gBFK0Ck=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -598,6 +598,10 @@ assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check
|
||||
# Use libiconvReal with gettext to break an infinite recursion.
|
||||
gettext = super.gettext.override { libiconv = super.libiconvReal; };
|
||||
|
||||
# Disable grep’s tests for now due to impure locale updates in
|
||||
# macOS 15.4 breaking them in the bootstrap.
|
||||
gnugrep = super.gnugrep.overrideAttrs { doCheck = false; };
|
||||
|
||||
# Disable tests because they use dejagnu, which fails to run.
|
||||
libffi = super.libffi.override { doCheck = false; };
|
||||
|
||||
|
||||
@@ -356,10 +356,10 @@ let
|
||||
);
|
||||
inherit (ceph-python-env.python) sitePackages;
|
||||
|
||||
version = "19.2.1";
|
||||
version = "19.2.2";
|
||||
src = fetchurl {
|
||||
url = "https://download.ceph.com/tarballs/ceph-${version}.tar.gz";
|
||||
hash = "sha256-QEX3LHxySVgLBg21iQga1DnyQsXFi6593e+WSjgT/h8=";
|
||||
hash = "sha256-7FD9LJs25VzUCRIBm01Cm3ss1YLTN9YLwPZnHSMd8rs=";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nix-eval-jobs";
|
||||
version = "2.28.0";
|
||||
version = "2.28.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-v5n6t49X7MOpqS9j0FtI6TWOXvxuZMmGsp2OfUK5QfA=";
|
||||
hash = "sha256-QuSt8PsB1huFQVXeSASfbXX0r5hmEFLNgYX4dpKewWs=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -235,7 +235,7 @@ lib.makeExtensible (
|
||||
) (lib.range 4 23)
|
||||
)
|
||||
// {
|
||||
nixComponents_2_27 = throw "nixComponents_2_27 has been removed. use nixComponents_2_28.";
|
||||
nixComponents_2_27 = throw "nixComponents_2_27 has been removed. use nixComponents_git.";
|
||||
nix_2_27 = throw "nix_2_27 has been removed. use nix_2_28.";
|
||||
nix_2_25 = throw "nix_2_25 has been removed. use nix_2_28.";
|
||||
|
||||
|
||||
@@ -67,6 +67,11 @@ lib.makeScope newScope (self: {
|
||||
location = "taggers";
|
||||
hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
|
||||
};
|
||||
averaged_perceptron_tagger_eng = makeNltkDataPackage {
|
||||
pname = "averaged_perceptron_tagger_eng";
|
||||
location = "taggers";
|
||||
hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
|
||||
};
|
||||
snowball_data = makeNltkDataPackage {
|
||||
pname = "snowball_data";
|
||||
location = "stemmers";
|
||||
|
||||
@@ -6611,11 +6611,15 @@ with pkgs;
|
||||
|
||||
jre17_minimal = callPackage ../development/compilers/openjdk/jre.nix {
|
||||
jdk = jdk17;
|
||||
jdkOnBuild = buildPackages.jdk17;
|
||||
};
|
||||
jre21_minimal = callPackage ../development/compilers/openjdk/jre.nix {
|
||||
jdk = jdk21;
|
||||
jdkOnBuild = buildPackages.jdk21;
|
||||
};
|
||||
jre_minimal = callPackage ../development/compilers/openjdk/jre.nix {
|
||||
jdkOnBuild = buildPackages.jdk;
|
||||
};
|
||||
jre_minimal = callPackage ../development/compilers/openjdk/jre.nix { };
|
||||
|
||||
openjdk = jdk;
|
||||
openjdk_headless = jdk_headless;
|
||||
@@ -15661,10 +15665,6 @@ with pkgs;
|
||||
|
||||
vivaldi = callPackage ../applications/networking/browsers/vivaldi { };
|
||||
|
||||
vivaldi-ffmpeg-codecs =
|
||||
callPackage ../applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
|
||||
{ };
|
||||
|
||||
openrazer-daemon = python3Packages.toPythonApplication python3Packages.openrazer-daemon;
|
||||
|
||||
orpie = callPackage ../applications/misc/orpie {
|
||||
|
||||
@@ -6669,6 +6669,8 @@ self: super: with self; {
|
||||
|
||||
inform = callPackage ../development/python-modules/inform { };
|
||||
|
||||
ingredient-parser-nlp = callPackage ../development/python-modules/ingredient-parser-nlp { };
|
||||
|
||||
iniconfig = callPackage ../development/python-modules/iniconfig { };
|
||||
|
||||
inifile = callPackage ../development/python-modules/inifile { };
|
||||
|
||||
Reference in New Issue
Block a user