blob: e5a591017d24dbfb45fa7386a70f47847fb8dd5b (
plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{ lib, pkgs }:
let
inherit (builtins) elemAt;
inherit (lib) splitString concatMapStrings;
bundled = [
"Cite" "ConfirmEdit" "Gadgets" "ImageMap" "InputBox" "Interwiki"
"LocalisationUpdate" "Nuke" "ParserFunctions" "PdfHandler" "Poem"
"Renameuser" "SpamBlacklist" "SyntaxHighlight_GeSHi" "TitleBlacklist"
"WikiEditor"
];
in pkgs.stdenv.mkDerivation rec {
version = "1.23.17";
name = "mediawiki-${version}";
src = let
v = splitString "." version;
minor = "${elemAt v 0}.${elemAt v 1}";
in pkgs.fetchurl {
url = "https://releases.wikimedia.org/mediawiki/${minor}/${name}.tar.gz";
sha256 = "1fxymqirjj2sfbrgcgxig9k6ik5ndw9qq9qn91xm9cnpjksc079x";
};
patches = [
./T122487.patch
./file-backend-default-mode.patch
];
outputs = [ "out" ] ++ bundled;
installPhase = ''
cp -a . $out
rm -rf $out/tests
rm -rf $out/mw-config
rm -rf $out/maintenance/dev
rm -rf $out/maintenance/hiphop
sed -i \
-e 's|/bin/bash|${pkgs.bash}/bin/bash|g' \
-e 's|/usr/bin/timeout|${pkgs.coreutils}/bin/timeout|g' \
$out/includes/limit.sh \
$out/includes/GlobalFunctions.php
cat <<'EOF' > $out/LocalSettings.php
<?php
$MEDIAWIKI_LOCAL_SETTINGS = getenv('MEDIAWIKI_LOCAL_SETTINGS');
if (isset($MEDIAWIKI_LOCAL_SETTINGS)) {
require_once ($MEDIAWIKI_LOCAL_SETTINGS);
};
?>
EOF
${concatMapStrings (e: ''
mv $out/extensions/${e} ''${${e}}
'') bundled}
'';
}
|