-{ stdenv, fetchurl, writeText, env, phpPackages, php, which }:
+{ stdenv, fetchurl, writeText, env, composerEnv, phpPackages, php, which }:
let
wallabag = rec {
varDir = "/var/lib/wallabag";
ldap_name_attribute: cn
ldap_enabled_attribute: null
'';
- webappDir = stdenv.mkDerivation rec {
+ webappDir = composerEnv.buildPackage rec {
+ packages = {
+ "fr3d/ldap-bundle" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "fr3d-ldap-bundle-5a8927c11af45fa06331b97221c6da1a4a237475";
+ src = fetchurl {
+ url = https://api.github.com/repos/Maks3w/FR3DLdapBundle/zipball/5a8927c11af45fa06331b97221c6da1a4a237475;
+ sha256 = "168zkd82j200wd6h0a3lq81g5s2pifg889rv27q2g429nppsbfxc";
+ };
+ };
+ };
+ "zendframework/zend-ldap" = {
+ targetDir = "";
+ src = composerEnv.buildZipPackage {
+ name = "zendframework-zend-ldap-b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49";
+ src = fetchurl {
+ url = https://api.github.com/repos/zendframework/zend-ldap/zipball/b63c7884a08d3a6bda60ebcf7d6238cf8ad89f49;
+ sha256 = "0mn4yqnb5prqhrbbybmw1i2rx7xf4s4wagbdq9qi55fa0vk3jgw9";
+ };
+ };
+ };
+ };
+ noDev = true;
+ doRemoveVendor = false;
# Beware when upgrading, I probably messed up with the migrations table
# (due to a psql bug in wallabag)
- version = "2.3.2";
+ version = "2.3.6";
name = "wallabag-${version}";
src = fetchurl {
url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
- sha256 = "17yczdvgl43j6wa7hksxi2b51afvyd56vdya6hbbv68iiba4jyh4";
+ sha256 = "0m0dy3r94ks5pfxyb9vbgrsm0vrwdl3jd5wqwg4f5vd107lq90q1";
};
+ unpackPhase = ''
+ unpackFile "$src"
+ sourceRoot=${version}
+ src=$PWD/${version}
+ '';
patches = [ ./wallabag_ldap.patch ];
- dontBuild = "true";
- installPhase = ''
- cp -a . $out
- cd $out
- export SYMFONY_ENV=prod
- php -d memory_limit=-1 ${phpPackages.composer}/libexec/composer/composer.phar require --update-no-dev -o --prefer-dist fr3d/ldap-bundle
- rm -rf web/assets var/cache app/config/parameters.yml data
- mv var var_old
+ preInstall = ''
+ export SYMFONY_ENV="prod"
+ '';
+ postInstall = ''
+ rm -rf web/assets var/{cache,logs,sessions} app/config/parameters.yml data
ln -sf ${parameters} app/config/parameters.yml
- ln -sf ../../../../../${varDir}/var var
+ ln -sf ../../../../../../${varDir}/var/{cache,logs,sessions} var
ln -sf ../../../../../${varDir}/data data
ln -sf ../../../../../../${varDir}/assets web/assets
'';
- buildInputs = [ php phpPackages.composer ];
};
activationScript = ''
install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \
if [ ! -f "${varDir}/currentWebappDir" -o \
"${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ]; then
pushd ${webappDir} > /dev/null
- $wrapperDir/sudo -u wwwrun ./bin/console --env=prod doctrine:migrations:migrate --no-interaction
$wrapperDir/sudo -u wwwrun ./bin/console --env=prod cache:clear
+ $wrapperDir/sudo -u wwwrun ./bin/console --env=prod doctrine:migrations:migrate --no-interaction
popd > /dev/null
echo -n "${webappDir}" > ${varDir}/currentWebappDir
fi
'';
webRoot = "${webappDir}/web";
+ # Domain migration: Table wallabag_entry contains whole
+ # https://tools.immae.eu/wallabag domain name in preview_picture
apache = {
user = "wwwrun";
group = "wwwrun";
modules = [ "proxy_fcgi" ];
vhostConf = ''
- Alias /assets "${varDir}/assets"
Alias /wallabag "${webRoot}"
<Directory "${webRoot}">
AllowOverride None