Merge pull request #64050 from aanderse/mercurial
nixos/httpd: drop mercurial httpd subservice
This commit is contained in:
commit
ca336ac985
2 changed files with 5 additions and 75 deletions
|
@ -313,6 +313,11 @@
|
||||||
<literal>phd</literal> service have been removed from nixpkgs due to lack of maintainer.
|
<literal>phd</literal> service have been removed from nixpkgs due to lack of maintainer.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <literal>mercurial</literal> <literal>httpd.extraSubservice</literal> has been removed from nixpkgs due to lack of maintainer.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,75 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (pkgs) mercurial;
|
|
||||||
inherit (lib) mkOption;
|
|
||||||
|
|
||||||
urlPrefix = config.urlPrefix;
|
|
||||||
|
|
||||||
cgi = pkgs.stdenv.mkDerivation {
|
|
||||||
name = "mercurial-cgi";
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out
|
|
||||||
cp -v ${mercurial}/share/cgi-bin/hgweb.cgi $out
|
|
||||||
sed -i "s|/path/to/repo/or/config|$out/hgweb.config|" $out/hgweb.cgi
|
|
||||||
echo "
|
|
||||||
[collections]
|
|
||||||
${config.dataDir} = ${config.dataDir}
|
|
||||||
[web]
|
|
||||||
style = gitweb
|
|
||||||
allow_push = *
|
|
||||||
" > $out/hgweb.config
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
RewriteEngine on
|
|
||||||
RewriteRule /(.*) ${cgi}/hgweb.cgi/$1
|
|
||||||
|
|
||||||
<Location "${urlPrefix}">
|
|
||||||
AuthType Basic
|
|
||||||
AuthName "Mercurial repositories"
|
|
||||||
AuthUserFile ${config.dataDir}/hgusers
|
|
||||||
<LimitExcept GET>
|
|
||||||
Require valid-user
|
|
||||||
</LimitExcept>
|
|
||||||
</Location>
|
|
||||||
<Directory "${cgi}">
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
AllowOverride All
|
|
||||||
Options ExecCGI
|
|
||||||
AddHandler cgi-script .cgi
|
|
||||||
PassEnv PYTHONPATH
|
|
||||||
</Directory>
|
|
||||||
'';
|
|
||||||
|
|
||||||
robotsEntries = ''
|
|
||||||
User-agent: *
|
|
||||||
Disallow: ${urlPrefix}
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraServerPath = [ pkgs.python ];
|
|
||||||
|
|
||||||
globalEnvVars = [ { name = "PYTHONPATH"; value = "${mercurial}/lib/${pkgs.python.libPrefix}/site-packages"; } ];
|
|
||||||
|
|
||||||
options = {
|
|
||||||
urlPrefix = mkOption {
|
|
||||||
default = "/hg";
|
|
||||||
description = "
|
|
||||||
The URL prefix under which the Mercurial service appears.
|
|
||||||
Use the empty string to have it appear in the server root.
|
|
||||||
";
|
|
||||||
};
|
|
||||||
|
|
||||||
dataDir = mkOption {
|
|
||||||
example = "/data/mercurial";
|
|
||||||
description = "
|
|
||||||
Path to the directory that holds the repositories.
|
|
||||||
";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in a new issue