about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/web-apps/wallabag
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/web-apps/wallabag')
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wallabag/default.nix41
-rw-r--r--nixpkgs/pkgs/servers/web-apps/wallabag/wallabag-data.patch26
2 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/web-apps/wallabag/default.nix b/nixpkgs/pkgs/servers/web-apps/wallabag/default.nix
new file mode 100644
index 000000000000..ed399f58bcf1
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/wallabag/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "wallabag-${version}";
+  version = "2.3.3";
+
+  # remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
+
+  src = fetchurl {
+    url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
+    sha256 = "12q5daigqn4xqp9pyfzac881qm9ywrflm8sivhl3spczyh41gwpg";
+  };
+
+  outputs = [ "out" ];
+
+  patches = [ ./wallabag-data.patch ]; # exposes $WALLABAG_DATA
+
+  prePatch = ''
+    rm Makefile # use the "shared hosting" package with bundled dependencies
+  '';
+
+  installPhase = ''
+    mkdir $out/
+    cp -R * $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Web page archiver";
+    longDescription = ''
+      wallabag is a self hostable application for saving web pages.
+
+      Point the environment variable $WALLABAG_DATA to a data directory that contains the folder `app/config` which must be a clone of wallabag's configuration files with your customized `parameters.yml`. These need to be updated every package upgrade.
+      After a package upgrade, empty the `var/cache` folder.
+    '';
+    license = licenses.mit;
+    homepage = http://wallabag.org;
+    maintainers = with maintainers; [ schneefux ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/servers/web-apps/wallabag/wallabag-data.patch b/nixpkgs/pkgs/servers/web-apps/wallabag/wallabag-data.patch
new file mode 100644
index 000000000000..086e93959800
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/wallabag/wallabag-data.patch
@@ -0,0 +1,26 @@
+diff --git a/app/AppKernel.php b/app/AppKernel.php
+index 40726f05..7d44e600 100644
+--- a/app/AppKernel.php
++++ b/app/AppKernel.php
+@@ -58,14 +58,19 @@ class AppKernel extends Kernel
+         return $bundles;
+     }
+ 
++    public function getProjectDir()
++    {
++        return getenv('WALLABAG_DATA') ?: dirname(__DIR__);
++    }
++
+     public function getCacheDir()
+     {
+-        return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
++        return $this->getProjectDir() . '/var/cache/' . $this->getEnvironment();
+     }
+ 
+     public function getLogDir()
+     {
+-        return dirname(__DIR__) . '/var/logs';
++        return $this->getProjectDir() . '/var/logs';
+     }
+ 
+     public function registerContainerConfiguration(LoaderInterface $loader)