koillection: init at 1.5.2
This commit is contained in:
parent
4c8d7df432
commit
e5934da311
25
pkgs/by-name/ko/koillection/koillection-dirs.patch
Normal file
25
pkgs/by-name/ko/koillection/koillection-dirs.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
*** a/src/Kernel.php
|
||||||
|
--- b/src/Kernel.php
|
||||||
|
@@ -8,6 +8,21 @@ class Kernel extends BaseKernel
|
||||||
|
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
||||||
|
|
||||||
|
class Kernel extends BaseKernel
|
||||||
|
{
|
||||||
|
use MicroKernelTrait;
|
||||||
|
+
|
||||||
|
+ public function getDataDir(): string
|
||||||
|
+ {
|
||||||
|
+ return '@dataDir@';
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public function getCacheDir(): string
|
||||||
|
+ {
|
||||||
|
+ return $this->getDataDir() . '/var/cache/' . $this->getEnvironment();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public function getLogDir(): string
|
||||||
|
+ {
|
||||||
|
+ return $this->getDataDir() . '/var/logs';
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
69
pkgs/by-name/ko/koillection/package.nix
Normal file
69
pkgs/by-name/ko/koillection/package.nix
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{ lib
|
||||||
|
, dataDir ? "/var/lib/koillection"
|
||||||
|
# REVIEW: This supposed to be aliased by the caller, which means it shouldn't
|
||||||
|
# go in by-name, I think.
|
||||||
|
, php83
|
||||||
|
, fetchFromGitHub
|
||||||
|
, mkYarnPackage
|
||||||
|
, fetchYarnDeps
|
||||||
|
}:
|
||||||
|
|
||||||
|
php83.buildComposerProject (finalAttrs: {
|
||||||
|
pname = "koillection";
|
||||||
|
version = "1.5.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "benjaminjonard";
|
||||||
|
repo = "koillection";
|
||||||
|
rev = finalAttrs.version;
|
||||||
|
hash = "sha256-r2rkHhp0F5QfwJuKeu4UdPoluDXxpyhYpie1zUk1h5c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
frontend = mkYarnPackage {
|
||||||
|
inherit (finalAttrs) pname version;
|
||||||
|
|
||||||
|
src = "${finalAttrs.src}/assets";
|
||||||
|
|
||||||
|
offlineCache = fetchYarnDeps {
|
||||||
|
yarnLock = "${finalAttrs.src}/assets/yarn.lock";
|
||||||
|
hash = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./koillection-dirs.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src/Kernel.php \
|
||||||
|
--replace "@dataDir@" "${dataDir}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Lock file uses exact constraints, which Composer doesn't like.
|
||||||
|
composerStrictValidation = false;
|
||||||
|
# Actually installs plugins, i.e., Symfony.
|
||||||
|
composerNoPlugins = false;
|
||||||
|
vendorHash = "sha256-LU9ZN4qUNUpSBGH6AChw3qU4RjgsoPJmLL01FS7UKRQ=";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
local koillection_out=$out/share/php/koillection
|
||||||
|
|
||||||
|
rm -R $koillection_out/public/uploads
|
||||||
|
ln -s ${dataDir}/.env $koillection_out/.env.local
|
||||||
|
ln -s ${dataDir}/public/uploads $koillection_out/public/uploads
|
||||||
|
|
||||||
|
cp -r ${finalAttrs.frontend} assets/
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
phpPackage = php83;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Self-hosted service allowing users to manage any kind of collections";
|
||||||
|
homepage = "https://github.com/benjaminjonard/koillection";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
platforms = lib.platforms.unix;
|
||||||
|
broken = true; # Blocked on NixOS/nixpkgs#254369
|
||||||
|
};
|
||||||
|
})
|
Loading…
Reference in New Issue
Block a user