ejabberd: replaced by upstream
This commit is contained in:
parent
b1dfd4b493
commit
8f6dc4a131
@ -1,122 +0,0 @@
|
|||||||
{ stdenv, writeScriptBin, lib, fetchurl, git, cacert
|
|
||||||
, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd
|
|
||||||
, withMysql ? false
|
|
||||||
, withPgsql ? false
|
|
||||||
, withSqlite ? false, sqlite
|
|
||||||
, withPam ? false, pam
|
|
||||||
, withZlib ? true, zlib
|
|
||||||
, withRiak ? false
|
|
||||||
, withElixir ? false, elixir
|
|
||||||
, withIconv ? true
|
|
||||||
, withTools ? false
|
|
||||||
, withRedis ? false
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
fakegit = writeScriptBin "git" ''
|
|
||||||
#! ${stdenv.shell} -e
|
|
||||||
if [ "$1" = "describe" ]; then
|
|
||||||
[ -r .rev ] && cat .rev || true
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
|
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
version = "18.01";
|
|
||||||
name = "ejabberd-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
|
|
||||||
sha256 = "01i2n8mlgw293jdf4172f9q8ca8m35vysjws791p7nynpfdb4cn6";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ fakegit ];
|
|
||||||
|
|
||||||
buildInputs = [ erlang openssl expat libyaml gd ]
|
|
||||||
++ lib.optional withSqlite sqlite
|
|
||||||
++ lib.optional withPam pam
|
|
||||||
++ lib.optional withZlib zlib
|
|
||||||
++ lib.optional withElixir elixir
|
|
||||||
;
|
|
||||||
|
|
||||||
# Apparently needed for Elixir
|
|
||||||
LANG = "en_US.UTF-8";
|
|
||||||
|
|
||||||
deps = stdenv.mkDerivation {
|
|
||||||
name = "ejabberd-deps-${version}";
|
|
||||||
|
|
||||||
inherit src;
|
|
||||||
|
|
||||||
configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ git erlang openssl expat libyaml sqlite pam zlib elixir ];
|
|
||||||
|
|
||||||
GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
|
||||||
|
|
||||||
makeFlags = [ "deps" ];
|
|
||||||
|
|
||||||
phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
for i in deps/*; do
|
|
||||||
( cd $i
|
|
||||||
git reset --hard
|
|
||||||
git clean -ffdx
|
|
||||||
git describe --always --tags > .rev
|
|
||||||
rm -rf .git
|
|
||||||
)
|
|
||||||
done
|
|
||||||
rm deps/.got
|
|
||||||
|
|
||||||
cp -r deps $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
outputHashMode = "recursive";
|
|
||||||
outputHashAlgo = "sha256";
|
|
||||||
outputHash = "1v3h0c7kfifb6wsfxyv5j1wc7rlxbb7r0pgd4s340wiyxnllzzhk";
|
|
||||||
};
|
|
||||||
|
|
||||||
configureFlags =
|
|
||||||
[ (lib.enableFeature withMysql "mysql")
|
|
||||||
(lib.enableFeature withPgsql "pgsql")
|
|
||||||
(lib.enableFeature withSqlite "sqlite")
|
|
||||||
(lib.enableFeature withPam "pam")
|
|
||||||
(lib.enableFeature withZlib "zlib")
|
|
||||||
(lib.enableFeature withRiak "riak")
|
|
||||||
(lib.enableFeature withElixir "elixir")
|
|
||||||
(lib.enableFeature withIconv "iconv")
|
|
||||||
(lib.enableFeature withTools "tools")
|
|
||||||
(lib.enableFeature withRedis "redis")
|
|
||||||
] ++ lib.optional withSqlite "--with-sqlite3=${sqlite.dev}";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./ejabberdctl.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
cp -r $deps deps
|
|
||||||
chmod -R +w deps
|
|
||||||
patchShebangs deps
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
sed -i \
|
|
||||||
-e '2iexport PATH=${ctlpath}:$PATH' \
|
|
||||||
-e 's,\(^ *FLOCK=\).*,\1${utillinux}/bin/flock,' \
|
|
||||||
-e 's,\(^ *JOT=\).*,\1,' \
|
|
||||||
-e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \
|
|
||||||
$out/sbin/ejabberdctl
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "Open-source XMPP application server written in Erlang";
|
|
||||||
license = licenses.gpl2;
|
|
||||||
homepage = http://www.ejabberd.im;
|
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ sander abbradar ];
|
|
||||||
broken = withElixir;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
--- a/ejabberdctl.template 1970-01-01 01:00:01.000000000 +0100
|
|
||||||
+++ b/ejabberdctl.template 2018-04-24 23:06:54.127715441 +0200
|
|
||||||
@@ -42,19 +42,18 @@
|
|
||||||
esac
|
|
||||||
|
|
||||||
# parse command line parameters
|
|
||||||
-for arg; do
|
|
||||||
- case $arg in
|
|
||||||
- -n|--node) ERLANG_NODE_ARG=$2; shift;;
|
|
||||||
- -s|--spool) SPOOL_DIR=$2; shift;;
|
|
||||||
- -l|--logs) LOGS_DIR=$2; shift;;
|
|
||||||
- -f|--config) EJABBERD_CONFIG_PATH=$2; shift;;
|
|
||||||
- -c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift;;
|
|
||||||
- -d|--config-dir) ETC_DIR=$2; shift;;
|
|
||||||
- -t|--no-timeout) NO_TIMEOUT="--no-timeout";;
|
|
||||||
- --) :;;
|
|
||||||
+while test $# -gt 0; do
|
|
||||||
+ case $1 in
|
|
||||||
+ -n|--node) ERLANG_NODE_ARG=$2; shift 2;;
|
|
||||||
+ -s|--spool) SPOOL_DIR=$2; shift 2;;
|
|
||||||
+ -l|--logs) LOGS_DIR=$2; shift 2;;
|
|
||||||
+ -f|--config) EJABBERD_CONFIG_PATH=$2; shift 2;;
|
|
||||||
+ -c|--ctl-config) EJABBERDCTL_CONFIG_PATH=$2; shift 2;;
|
|
||||||
+ -d|--config-dir) ETC_DIR=$2; shift 2;;
|
|
||||||
+ -t|--no-timeout) NO_TIMEOUT="--no-timeout"; shift 1;;
|
|
||||||
+ # --) :;; what is this for?
|
|
||||||
*) break;;
|
|
||||||
esac
|
|
||||||
- shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# define ejabberd variables if not already defined from the command line
|
|
@ -87,7 +87,6 @@ in /* yaml */ ''
|
|||||||
mod_configure: {}
|
mod_configure: {}
|
||||||
mod_disco: {}
|
mod_disco: {}
|
||||||
mod_echo: {}
|
mod_echo: {}
|
||||||
mod_irc: {}
|
|
||||||
mod_bosh: {}
|
mod_bosh: {}
|
||||||
mod_last: {}
|
mod_last: {}
|
||||||
mod_offline:
|
mod_offline:
|
||||||
|
@ -87,7 +87,6 @@ in /* yaml */ ''
|
|||||||
mod_configure: {}
|
mod_configure: {}
|
||||||
mod_disco: {}
|
mod_disco: {}
|
||||||
mod_echo: {}
|
mod_echo: {}
|
||||||
mod_irc: {}
|
|
||||||
mod_bosh: {}
|
mod_bosh: {}
|
||||||
mod_last: {}
|
mod_last: {}
|
||||||
mod_offline:
|
mod_offline:
|
||||||
|
Loading…
Reference in New Issue
Block a user