aboutsummaryrefslogtreecommitdiff
path: root/flakes/mypackages/pkgs/webapps/spip/default.nix
blob: 3248066e26dfee909c3c8e15e928235edbcf64b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ siteName ? "spip"
, siteDir ? runCommand "empty" { preferLocalBuild = true; } "mkdir -p $out"
, environment ? "prod"
, ldap ? false
, varDir ? "/var/lib/${siteName}_${environment}"
, lib, fetchzip, runCommand, stdenv, php82 }:
let
  app = stdenv.mkDerivation rec {
    name = "${siteName}-${environment}-spip-${version}";
    version = "4.2.9";
    src = fetchzip {
      url = "https://files.spip.net/spip/archives/spip-v${version}.zip";
      sha256 = "sha256-eHQ0q6f8/bFtuxn5LvAtKp3OaDGRCdVUh3kug8iBIbA=";
      stripRoot = false;
    };
    paches = lib.optionals ldap [ ./spip_ldap_patch.patch ];
    buildPhase = ''
      rm -rf IMG local tmp config/remove.txt
      ln -sf ${./spip_mes_options.php} config/mes_options.php
      echo "Require all denied" > "config/.htaccess"
      ln -sf ${varDir}/{IMG,local} .
    '';
    installPhase = ''
      cp -a . $out
      cp -a ${siteDir}/* $out
    '';
    passthru = {
      php = php82;
      phpExtensions = all: [ all.curl all.xml all.gd all.sodium all.zip all.zlib all.mysqli ];
      inherit siteName siteDir environment varDir;
      webRoot = app;
      spipConfig = ./spip_mes_options.php;
    };
  };
in app