aboutsummaryrefslogblamecommitdiff
path: root/flakes/mypackages/pkgs/webapps/spip/default.nix
blob: 3248066e26dfee909c3c8e15e928235edbcf64b2 (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                                           
                                             


                                                        
                      
                    
                                                                        
                                                                     
                        












                                                             

                                                                                              





                                                  
{ 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