diff options
author | Maximilian Bosch <maximilian@mbosch.me> | 2020-02-07 16:34:48 +0100 |
---|---|---|
committer | Maximilian Bosch <maximilian@mbosch.me> | 2020-02-07 23:31:04 +0100 |
commit | 3d051f49babe518cef4a56708504efc941f56fde (patch) | |
tree | 5206c79255c42c7524b22d550f950a835b4e2b5c /pkgs/servers/grocy | |
parent | 5e307dc68d9ba72a056543fb0b9b9b8772515313 (diff) |
grocy: init at 2.6.0
Diffstat (limited to 'pkgs/servers/grocy')
-rw-r--r-- | pkgs/servers/grocy/config-locations.patch | 61 | ||||
-rw-r--r-- | pkgs/servers/grocy/default.nix | 32 |
2 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/servers/grocy/config-locations.patch b/pkgs/servers/grocy/config-locations.patch new file mode 100644 index 0000000000000..475be78ec20ef --- /dev/null +++ b/pkgs/servers/grocy/config-locations.patch @@ -0,0 +1,61 @@ +diff --git a/app.php b/app.php +index 5f91e4d..09c6010 100644 +--- a/app.php ++++ b/app.php +@@ -23,7 +23,7 @@ else + require_once __DIR__ . '/vendor/autoload.php'; + + // Load config files +-require_once GROCY_DATAPATH . '/config.php'; ++require_once getenv('GROCY_CONFIG_FILE'); + require_once __DIR__ . '/config-dist.php'; // For not in own config defined values we use the default ones + + // Definitions for dev/demo/prerelease mode +@@ -49,7 +49,7 @@ $appContainer = new \Slim\Container([ + ], + 'view' => function($container) + { +- return new \Slim\Views\Blade(__DIR__ . '/views', GROCY_DATAPATH . '/viewcache'); ++ return new \Slim\Views\Blade(__DIR__ . '/views', getenv('GROCY_CACHE_DIR')); + }, + 'LoginControllerInstance' => function($container) + { +diff --git a/services/DatabaseService.php b/services/DatabaseService.php +index 0bcf9b8..ec45e93 100644 +--- a/services/DatabaseService.php ++++ b/services/DatabaseService.php +@@ -13,7 +13,7 @@ class DatabaseService + return GROCY_DATAPATH . '/grocy_' . GROCY_CULTURE . '.db'; + } + +- return GROCY_DATAPATH . '/grocy.db'; ++ return getenv('GROCY_DB_FILE'); + } + + private $DbConnectionRaw; +diff --git a/services/FilesService.php b/services/FilesService.php +index 7933b73..f52657e 100644 +--- a/services/FilesService.php ++++ b/services/FilesService.php +@@ -12,7 +12,7 @@ class FilesService extends BaseService + { + parent::__construct(); + +- $this->StoragePath = GROCY_DATAPATH . '/storage'; ++ $this->StoragePath = getenv('GROCY_STORAGE_DIR'); + + if (!file_exists($this->StoragePath)) + { +diff --git a/services/StockService.php b/services/StockService.php +index d7482ef..d1399a7 100644 +--- a/services/StockService.php ++++ b/services/StockService.php +@@ -933,7 +933,7 @@ class StockService extends BaseService + throw new \Exception('No barcode lookup plugin defined'); + } + +- $path = GROCY_DATAPATH . "/plugins/$pluginName.php"; ++ $path = getenv('GROCY_PLUGIN_DIR'); + if (file_exists($path)) + { + require_once $path; diff --git a/pkgs/servers/grocy/default.nix b/pkgs/servers/grocy/default.nix new file mode 100644 index 0000000000000..7af59f6904c52 --- /dev/null +++ b/pkgs/servers/grocy/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "grocy"; + version = "2.6.0"; + + src = fetchurl { + url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip"; + sha256 = "1d4hy495in7p0i4fnhai1yqhjhmblv1g30siggmqpjrzdiiw3bak"; + }; + + nativeBuildInputs = [ unzip ]; + unpackPhase = '' + unzip ${src} -d . + ''; + + patches = [ ./config-locations.patch ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/ + cp -R . $out/ + ''; + + meta = with stdenv.lib; { + license = licenses.mit; + maintainers = with maintainers; [ ma27 ]; + description = "ERP beyond your fridge - grocy is a web-based self-hosted groceries & household management solution for your home"; + homepage = "https://grocy.info/"; + }; +} |