mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-23 00:50:59 +00:00
[25.05] immich: 2.2.3 -> 2.3.1 (#464249)
This commit is contained in:
@@ -404,7 +404,7 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
inherit (cfg.machine-learning) environment;
|
||||
serviceConfig = commonServiceConfig // {
|
||||
ExecStart = lib.getExe (cfg.package.machine-learning.override { immich = cfg.package; });
|
||||
ExecStart = lib.getExe cfg.package.machine-learning;
|
||||
Slice = "system-immich.slice";
|
||||
CacheDirectory = "immich";
|
||||
User = cfg.user;
|
||||
|
||||
74
pkgs/by-name/ex/extism-js/package.nix
Normal file
74
pkgs/by-name/ex/extism-js/package.nix
Normal file
@@ -0,0 +1,74 @@
|
||||
# Building this from source requires cross-compiling Rust to wasm32-wasip1.
|
||||
# An attempt to do so was made in https://github.com/NixOS/nixpkgs/pull/463349.
|
||||
# FIXME revisit once https://github.com/NixOS/nixpkgs/pull/463720 is merged
|
||||
|
||||
{
|
||||
autoPatchelfHook,
|
||||
fetchurl,
|
||||
lib,
|
||||
libgcc,
|
||||
stdenvNoCC,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.5.1";
|
||||
tag = "v${version}";
|
||||
system = lib.replaceStrings [ "darwin" ] [ "macos" ] stdenvNoCC.hostPlatform.system;
|
||||
hashes = {
|
||||
aarch64-darwin = "sha256-BHld8Dwwd6fexc05oHOIawa5PtGZAI61wQGWE8T+iMs=";
|
||||
aarch64-linux = "sha256-KM3/y31OdLmEAcc48TSLmXei2GD6FhOHYlD7W/ErP+I=";
|
||||
x86_64-darwin = "sha256-cE0JJK92pTJyGnHEZ7wA6+dpMvVOTMzFM2Mkwfy5kbQ=";
|
||||
x86_64-linux = "sha256-9qSjqPFmUaUnpGQ/ldIpyFSgTWbUYozcckpYxpm5PJU=";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "extism-js";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/extism/js-pdk/releases/download/${tag}/extism-js-${system}-${tag}.gz";
|
||||
hash = hashes.${stdenvNoCC.hostPlatform.system};
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
gunzip -cf "$src" > extism-js
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
|
||||
libgcc
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dt $out/bin extism-js
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/extism/js-pdk/releases/tag/${tag}";
|
||||
description = "Write Extism plugins in JavaScript & TypeScript";
|
||||
homepage = "https://github.com/extism/js-pdk";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "extism-js";
|
||||
maintainers = [ lib.maintainers.dotlambda ];
|
||||
platforms = lib.attrNames hashes;
|
||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
@@ -12,7 +12,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "immich-cli";
|
||||
version = "2.2.101";
|
||||
version = "2.2.103";
|
||||
inherit (immich) src pnpmDeps;
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -12,8 +12,10 @@
|
||||
# build-time deps
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
binaryen,
|
||||
curl,
|
||||
cacert,
|
||||
extism-js,
|
||||
unzip,
|
||||
# runtime deps
|
||||
cairo,
|
||||
@@ -34,7 +36,6 @@
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
version = "2.2.3";
|
||||
|
||||
esbuild' = buildPackages.esbuild.override {
|
||||
buildGoModule =
|
||||
@@ -103,54 +104,25 @@ let
|
||||
unzip ./cities500.zip -d $out/
|
||||
echo "${date}" > $out/geodata-date.txt
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "immich";
|
||||
version = "2.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "immich-app";
|
||||
repo = "immich";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-OoToTRDPXWOa7d1j1xvkZt+vKWBX4eHDiIsFs3bIlvw=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-K/E5bQraTlvNx1Cd0bKyY6ZhesafGccqVZ9Mu6Q0pZ0=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
pname = "immich";
|
||||
inherit version src;
|
||||
inherit (finalAttrs) version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-igkO0ID0/9uPtFAXL2v5bcFbCpZK2lcYEctWBKtFKdU=";
|
||||
hash = "sha256-i0JHKjsQcdDUrDLK0hJGOvVRh/aOyvms/k+6WEPbyh8=";
|
||||
};
|
||||
|
||||
web = stdenv.mkDerivation {
|
||||
pname = "immich-web";
|
||||
inherit version src pnpmDeps;
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
pnpm
|
||||
pnpm.configHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm --filter @immich/sdk build
|
||||
pnpm --filter immich-web build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd web
|
||||
cp -r build $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "immich";
|
||||
inherit version src pnpmDeps;
|
||||
|
||||
postPatch = ''
|
||||
# pg_dumpall fails without database root access
|
||||
# see https://github.com/immich-app/immich/issues/13971
|
||||
@@ -219,7 +191,8 @@ stdenv.mkDerivation {
|
||||
\) -exec rm -r {} +
|
||||
|
||||
mkdir -p "$packageOut/build"
|
||||
ln -s '${web}' "$packageOut/build/www"
|
||||
ln -s '${finalAttrs.passthru.plugins}' "$packageOut/build/corePlugin"
|
||||
ln -s '${finalAttrs.passthru.web}' "$packageOut/build/www"
|
||||
ln -s '${geodata}' "$packageOut/build/geodata"
|
||||
|
||||
echo '${builtins.toJSON buildLock}' > "$packageOut/build/build-lock.json"
|
||||
@@ -248,18 +221,78 @@ stdenv.mkDerivation {
|
||||
inherit (nixosTests) immich immich-vectorchord-migration;
|
||||
};
|
||||
|
||||
machine-learning = immich-machine-learning;
|
||||
machine-learning = immich-machine-learning.override {
|
||||
immich = finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
plugins = stdenv.mkDerivation {
|
||||
pname = "immich-plugins";
|
||||
inherit (finalAttrs) version src pnpmDeps;
|
||||
|
||||
nativeBuildInputs = [
|
||||
binaryen
|
||||
extism-js
|
||||
nodejs
|
||||
pnpm
|
||||
pnpm.configHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm --filter plugins build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd plugins
|
||||
mkdir $out
|
||||
cp -r dist manifest.json $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
web = stdenv.mkDerivation {
|
||||
pname = "immich-web";
|
||||
inherit (finalAttrs) version src pnpmDeps;
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
pnpm
|
||||
pnpm.configHook
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm --filter @immich/sdk build
|
||||
pnpm --filter immich-web build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd web
|
||||
cp -r build $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
|
||||
inherit
|
||||
src
|
||||
web
|
||||
geodata
|
||||
pnpm
|
||||
;
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/immich-app/immich/releases/tag/${src.tag}";
|
||||
changelog = "https://github.com/immich-app/immich/releases/tag/${finalAttrs.src.tag}";
|
||||
description = "Self-hosted photo and video backup solution";
|
||||
homepage = "https://immich.app/";
|
||||
license = with lib.licenses; [
|
||||
@@ -275,4 +308,4 @@ stdenv.mkDerivation {
|
||||
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
|
||||
mainProgram = "server";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user