4a7f99d55d
Part of: https://github.com/NixOS/nixpkgs/issues/108938 meta = with stdenv.lib; is a widely used pattern. We want to slowly remove the `stdenv.lib` indirection and encourage people to use `lib` directly. Thus let’s start with the meta field. This used a rewriting script to mostly automatically replace all occurances of this pattern, and add the `lib` argument to the package header if it doesn’t exist yet. The script in its current form is available at https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
52 lines
2.0 KiB
Nix
52 lines
2.0 KiB
Nix
{ lib, stdenv, fetchurl, home ? "/var/lib/crowd"
|
|
, port ? 8092, proxyUrl ? null, openidPassword ? "WILL_NEVER_BE_SET" }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "atlassian-crowd";
|
|
version = "4.2.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.atlassian.com/software/crowd/downloads/binary/${pname}-${version}.tar.gz";
|
|
sha256 = "1gg4jcwvk4za6j4260dx1vz2dprrnqv8paqf6z86s7ka3y1nx1aj";
|
|
};
|
|
|
|
phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
|
|
|
|
buildPhase = ''
|
|
mv apache-tomcat/conf/server.xml apache-tomcat/conf/server.xml.dist
|
|
ln -s /run/atlassian-crowd/server.xml apache-tomcat/conf/server.xml
|
|
|
|
rm -rf apache-tomcat/{logs,work}
|
|
ln -s /run/atlassian-crowd/logs apache-tomcat/logs
|
|
ln -s /run/atlassian-crowd/work apache-tomcat/work
|
|
|
|
ln -s /run/atlassian-crowd/database database
|
|
|
|
substituteInPlace apache-tomcat/bin/startup.sh --replace start run
|
|
|
|
echo "crowd.home=${home}" > crowd-webapp/WEB-INF/classes/crowd-init.properties
|
|
substituteInPlace build.properties \
|
|
--replace "openidserver.url=http://localhost:8095/openidserver" \
|
|
"openidserver.url=http://localhost:${toString port}/openidserver"
|
|
substituteInPlace crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
|
|
--replace "http://localhost:8095/" \
|
|
"http://localhost:${toString port}/"
|
|
sed -r -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
|
|
-e 's,application.password\s+password,application.password ${openidPassword},'
|
|
'' + stdenv.lib.optionalString (proxyUrl != null) ''
|
|
sed -i crowd-openidserver-webapp/WEB-INF/classes/crowd.properties \
|
|
-e 's,http://localhost:${toString port}/openidserver,${proxyUrl}/openidserver,'
|
|
'';
|
|
|
|
installPhase = ''
|
|
cp -rva . $out
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Single sign-on and identity management tool";
|
|
homepage = "https://www.atlassian.com/software/crowd";
|
|
license = licenses.unfree;
|
|
maintainers = with maintainers; [ fpletz globin ];
|
|
};
|
|
}
|