nixpkgs/pkgs/servers/web-apps/wallabag/default.nix
2017-07-10 14:52:47 +03:00

44 lines
1.5 KiB
Nix

{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "wallabag-${version}";
version = "2.2.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 = "0myqarwny9p53g2gmwmg1mcn17jlx5ah0bri13panhf7ryvmrzhk";
};
outputs = [ "out" "doc" ];
patchPhase = ''
rm Makefile # use the "shared hosting" package with bundled dependencies
substituteInPlace app/AppKernel.php \
--replace "__DIR__" "getenv('WALLABAG_DATA')"
substituteInPlace var/bootstrap.php.cache \
--replace "\$this->rootDir = \$this->getRootDir()" "\$this->rootDir = getenv('WALLABAG_DATA')"
''; # exposes $WALLABAG_DATA
installPhase = ''
mkdir -p $doc/share/doc
mv docs $doc/share/doc/wallabag
mkdir $out/
cp -R * $out/
'';
meta = with stdenv.lib; {
description = "Web page archiver";
longDescription = ''
wallabag is a self hostable application for saving web pages.
To use, point the environment variable $WALLABAG_DATA to a directory called `app` that contains the folder `config` with wallabag's configuration files. These need to be updated every package upgrade. In `app`'s parent folder, a directory called `var` containing wallabag's data will be created.
After a package upgrade, empty the `var/cache` folder.
'';
license = licenses.mit;
homepage = http://wallabag.org;
platforms = platforms.all;
};
}