grocy: 4.0.3 -> 4.2.0, build from sources
The adjusted patch have been taken from #288602. Changes: https://github.com/grocy/grocy/releases/tag/v4.1.0 https://github.com/grocy/grocy/releases/tag/v4.2.0
This commit is contained in:
parent
f98e5d632f
commit
d6c7fa914e
@ -11,7 +11,7 @@ Subject: [PATCH 1/2] Define configs with env vars
|
|||||||
4 files changed, 6 insertions(+), 6 deletions(-)
|
4 files changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/app.php b/app.php
|
diff --git a/app.php b/app.php
|
||||||
index bc5b1b39..26f7687e 100644
|
index bc5b1b3..26f7687 100644
|
||||||
--- a/app.php
|
--- a/app.php
|
||||||
+++ b/app.php
|
+++ b/app.php
|
||||||
@@ -12,7 +12,7 @@ use Slim\Views\Blade;
|
@@ -12,7 +12,7 @@ use Slim\Views\Blade;
|
||||||
@ -41,11 +41,24 @@ index bc5b1b39..26f7687e 100644
|
|||||||
|
|
||||||
ob_clean(); // No response output before here
|
ob_clean(); // No response output before here
|
||||||
$app->run();
|
$app->run();
|
||||||
|
diff --git a/controllers/BaseApiController.php b/controllers/BaseApiController.php
|
||||||
|
index 5941e348..e5b02af4 100644
|
||||||
|
--- a/controllers/BaseApiController.php
|
||||||
|
+++ b/controllers/BaseApiController.php
|
||||||
|
@@ -162,7 +162,7 @@ class BaseApiController extends BaseController
|
||||||
|
if (self::$htmlPurifierInstance == null)
|
||||||
|
{
|
||||||
|
$htmlPurifierConfig = \HTMLPurifier_Config::createDefault();
|
||||||
|
- $htmlPurifierConfig->set('Cache.SerializerPath', GROCY_DATAPATH . '/viewcache');
|
||||||
|
+ $htmlPurifierConfig->set('Cache.SerializerPath', getenv('GROCY_CACHE_DIR'));
|
||||||
|
$htmlPurifierConfig->set('HTML.Allowed', 'div,b,strong,i,em,u,a[href|title|target],iframe[src|width|height|frameborder],ul,ol,li,p[style],br,span[style],img[style|width|height|alt|src],table[border|width|style],tbody,tr,td,th,blockquote,*[style|class|id],h1,h2,h3,h4,h5,h6');
|
||||||
|
$htmlPurifierConfig->set('Attr.EnableID', true);
|
||||||
|
$htmlPurifierConfig->set('HTML.SafeIframe', true);
|
||||||
diff --git a/services/DatabaseService.php b/services/DatabaseService.php
|
diff --git a/services/DatabaseService.php b/services/DatabaseService.php
|
||||||
index 4a05bda1..ce41ed17 100644
|
index ba79a73..12a851a 100644
|
||||||
--- a/services/DatabaseService.php
|
--- a/services/DatabaseService.php
|
||||||
+++ b/services/DatabaseService.php
|
+++ b/services/DatabaseService.php
|
||||||
@@ -125,6 +125,6 @@ class DatabaseService
|
@@ -137,6 +137,6 @@ class DatabaseService
|
||||||
return GROCY_DATAPATH . '/grocy_' . $dbSuffix . '.db';
|
return GROCY_DATAPATH . '/grocy_' . $dbSuffix . '.db';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +67,7 @@ index 4a05bda1..ce41ed17 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/services/FilesService.php b/services/FilesService.php
|
diff --git a/services/FilesService.php b/services/FilesService.php
|
||||||
index 7d070350..a6dd4b08 100644
|
index 7d07035..a6dd4b0 100644
|
||||||
--- a/services/FilesService.php
|
--- a/services/FilesService.php
|
||||||
+++ b/services/FilesService.php
|
+++ b/services/FilesService.php
|
||||||
@@ -10,7 +10,7 @@ class FilesService extends BaseService
|
@@ -10,7 +10,7 @@ class FilesService extends BaseService
|
||||||
@ -67,18 +80,18 @@ index 7d070350..a6dd4b08 100644
|
|||||||
{
|
{
|
||||||
mkdir($this->StoragePath);
|
mkdir($this->StoragePath);
|
||||||
diff --git a/services/StockService.php b/services/StockService.php
|
diff --git a/services/StockService.php b/services/StockService.php
|
||||||
index 7265e82b..13af591a 100644
|
index 9f034a5..fd3c0b7 100644
|
||||||
--- a/services/StockService.php
|
--- a/services/StockService.php
|
||||||
+++ b/services/StockService.php
|
+++ b/services/StockService.php
|
||||||
@@ -1761,7 +1761,7 @@ class StockService extends BaseService
|
@@ -1707,7 +1707,7 @@ class StockService extends BaseService
|
||||||
throw new \Exception('No barcode lookup plugin defined');
|
throw new \Exception('No barcode lookup plugin defined');
|
||||||
}
|
}
|
||||||
|
|
||||||
- $path = GROCY_DATAPATH . "/plugins/$pluginName.php";
|
- $path = GROCY_DATAPATH . "/plugins/$pluginName.php";
|
||||||
+ $path = getenv('GROCY_PLUGIN_DIR') . "/$pluginName.php";
|
+ $path = getenv('GROCY_PLUGIN_DIR') . "/$pluginName.php";
|
||||||
|
|
||||||
if (file_exists($path))
|
if (file_exists($path))
|
||||||
{
|
{
|
||||||
|
require_once $path;
|
||||||
--
|
--
|
||||||
2.41.0
|
2.42.0
|
||||||
|
|
||||||
|
@ -8,10 +8,10 @@ Subject: [PATCH 2/2] Remove check for config-file as it's stored in /etc/grocy
|
|||||||
1 file changed, 1 deletion(-)
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php
|
diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php
|
||||||
index da431b4b..6b878627 100644
|
index 8e12a5c..37b433d 100644
|
||||||
--- a/helpers/PrerequisiteChecker.php
|
--- a/helpers/PrerequisiteChecker.php
|
||||||
+++ b/helpers/PrerequisiteChecker.php
|
+++ b/helpers/PrerequisiteChecker.php
|
||||||
@@ -17,7 +17,6 @@ class PrerequisiteChecker
|
@@ -18,7 +18,6 @@ class PrerequisiteChecker
|
||||||
public function checkRequirements()
|
public function checkRequirements()
|
||||||
{
|
{
|
||||||
self::checkForPhpVersion();
|
self::checkForPhpVersion();
|
||||||
@ -20,5 +20,4 @@ index da431b4b..6b878627 100644
|
|||||||
self::checkForComposer();
|
self::checkForComposer();
|
||||||
self::checkForPhpExtensions();
|
self::checkForPhpExtensions();
|
||||||
--
|
--
|
||||||
2.41.0
|
2.42.0
|
||||||
|
|
@ -1,40 +1,71 @@
|
|||||||
{ lib, stdenv, fetchurl, unzip, nixosTests }:
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchYarnDeps
|
||||||
|
, php
|
||||||
|
, yarn
|
||||||
|
, fixup-yarn-lock
|
||||||
|
, nixosTests
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
php.buildComposerProject (finalAttrs: {
|
||||||
pname = "grocy";
|
pname = "grocy";
|
||||||
version = "4.0.3";
|
version = "4.2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
|
owner = "grocy";
|
||||||
hash = "sha256-KBTsi634SolgA01eRthMuWx7DIF7rhvJSPxiHyuKSR8=";
|
repo = "grocy";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-aX3DMy9Jv8rNp1/VIvUtNXYXGBrCgBMs5GsDf4XXSj0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
vendorHash = "sha256-KaYvA0Rd4pd1s/L8QbVUgkE+SjH+jv4+6RvIaGOpews=";
|
||||||
unpackPhase = ''
|
|
||||||
unzip ${src} -d .
|
offlineCache = fetchYarnDeps {
|
||||||
'';
|
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||||
|
hash = "sha256-UvWY8+qSRvzJbm7z3CmLyeUHxemzNUB7dHYP95ZVtcI=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
yarn
|
||||||
|
fixup-yarn-lock
|
||||||
|
];
|
||||||
|
|
||||||
|
# Upstream composer.json file is missing the name, description and license fields
|
||||||
|
composerStrictValidation = false;
|
||||||
|
|
||||||
# NOTE: if patches are created from a git checkout, those should be modified
|
# NOTE: if patches are created from a git checkout, those should be modified
|
||||||
# with `unixdos` to make sure those apply here.
|
# with `unix2dos` to make sure those apply here.
|
||||||
patches = [
|
patches = [
|
||||||
./0001-Define-configs-with-env-vars.patch
|
./0001-Define-configs-with-env-vars.patch
|
||||||
./0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch
|
./0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch
|
||||||
];
|
];
|
||||||
patchFlags = [ "--binary" "-p1" ];
|
|
||||||
|
|
||||||
dontBuild = true;
|
configurePhase = ''
|
||||||
|
runHook preConfigure
|
||||||
|
|
||||||
passthru.tests = { inherit (nixosTests) grocy; };
|
export HOME=$(mktemp -d)
|
||||||
|
yarn config --offline set yarn-offline-mirror $offlineCache
|
||||||
|
fixup-yarn-lock yarn.lock
|
||||||
|
yarn install --offline --frozen-lockfile --no-progress --non-interactive
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/
|
runHook preInstall
|
||||||
cp -R . $out/
|
|
||||||
|
mv $out/share/php/grocy/* $out
|
||||||
|
rm -r $out/share
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests = { inherit (nixosTests) grocy; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ n0emis ];
|
maintainers = with maintainers; [ n0emis ];
|
||||||
description = "ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home";
|
description = "ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home";
|
||||||
homepage = "https://grocy.info/";
|
homepage = "https://grocy.info/";
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user