nixpkgs/pkgs/servers/web-apps/wallabag/default.nix

45 lines
1.5 KiB
Nix
Raw Normal View History

2016-10-22 15:20:49 +00:00
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "wallabag-${version}";
2017-06-20 11:30:38 +00:00
version = "2.2.3";
2016-10-22 15:20:49 +00:00
# remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
src = fetchurl {
2017-04-28 13:27:44 +00:00
url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
2017-06-20 11:30:38 +00:00
sha256 = "0myqarwny9p53g2gmwmg1mcn17jlx5ah0bri13panhf7ryvmrzhk";
2016-10-22 15:20:49 +00:00
};
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
2016-10-22 15:20:49 +00:00
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;
};
}