ejabberd: 15.11 -> 16.01

This commit is contained in:
Nikolay Amiantov 2016-02-11 02:36:09 +03:00
parent 7383abff09
commit 37e1a9c844

@ -17,154 +17,162 @@ let
ctlpath = lib.makeSearchPath "bin" [ bash gnused gnugrep coreutils utillinux procps ]; ctlpath = lib.makeSearchPath "bin" [ bash gnused gnugrep coreutils utillinux procps ];
fakegit = writeScriptBin "git" '' fakegit = writeScriptBin "git" ''
#! ${stdenv.shell} #! ${stdenv.shell} -e
exit 0 if [ "$1" = "describe" ]; then
[ -r .rev ] && cat .rev || true
fi
''; '';
# These can be extracted from `rebar.config.script` # These can be extracted from `rebar.config`
# Some dependencies are from another packages. Try commenting them out; then during build # Some dependencies are from another packages. Try commenting them out; then during build
# you'll get necessary revision information. # you'll get necessary revision information.
ejdeps = { ejdeps = {
p1_cache_tab = fetchFromGitHub { cache_tab = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "cache_tab"; repo = "cache_tab";
rev = "f7ea12b0ba962a3d2f9a406d2954cf7de4e27230"; rev = "1.0.1";
sha256 = "043rz66s6vhcbk02qjhn1r8jv8yyy4gk0gsknmk7ya6wq2v1farw"; sha256 = "1mq5vgqskb0v2pdn6i3610hzd9iyjznh8143pdbz8z57rrhxpxg4";
}; };
p1_tls = fetchFromGitHub { p1_tls = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "tls"; repo = "tls";
rev = "e56321afd974e9da33da913cd31beebc8e73e75f"; rev = "1.0.0";
sha256 = "0k8dx8mww2ilr4y5m2llhqh673l0z7r73f0lh7klyf57wfqy7hzk"; sha256 = "1q6l5drgmwj4fp4nfh0075lczplia4n40sirk9pd5x76d59qcmnj";
}; };
p1_stringprep = fetchFromGitHub { p1_stringprep = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "stringprep"; repo = "stringprep";
rev = "3c640237a3a7831dc39de6a6d329d3a9af25c579"; rev = "1.0.0";
sha256 = "0mwlkivkfj16bdv80jr8kqa0vcqglxkq90m9qn0m6zp4bjc3jm3n"; sha256 = "105xc0af61xrd4vjxrg49gxbij8x0fq4yribywa8qly303d1nwwa";
}; };
p1_xml = fetchFromGitHub { p1_xml = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "xml"; repo = "xml";
rev = "1c8b016b0ac7986efb823baf1682a43565449e65"; rev = "1.1.1";
sha256 = "192jhj0cwwypbiass3rm2449410pqyk3mgrdg7yyvqwmjzzkmh87"; sha256 = "07zxc8ky78sd2mcbhhrxha68arbbk8vyayn9gwi402avnqcic7cx";
}; };
esip = fetchFromGitHub { esip = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "p1_sip"; repo = "p1_sip";
rev = "d662d3fe7f6288b444ea321d854de0bd6d40e022"; rev = "1.0.0";
sha256 = "1mwzkkv01vr9n13h6h3100jrrlgb683ncq9jymnbxqxk6rn7xjd1"; sha256 = "02k920995b0js6srarx0rabavs428rl0dp7zz90x74l8b589zq9a";
}; };
p1_stun = fetchFromGitHub { p1_stun = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "stun"; repo = "stun";
rev = "061bdae484268cbf0457ad4797e74b8516df3ad1"; rev = "0.9.0";
sha256 = "0zaw8yq4sk7x4ybibcq93k9b6rb7fn03i0k8gb2dnlipmbcdd8cf"; sha256 = "0ghf2p6z1m55f5pm4pv5gj7h7fdcwcsyqz1wzax4w8bgs9id06dm";
}; };
p1_yaml = fetchFromGitHub { p1_yaml = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "p1_yaml"; repo = "p1_yaml";
rev = "79f756ba73a235c4d3836ec07b5f7f2b55f49638"; rev = "1.0.0";
sha256 = "05jjw02ay8v34izwgi5zizqp1mj68ypjilxn59c262xj7c169pzh"; sha256 = "0is0vr8ygh3fbiyf0jb85cfpfakxmx31fqk6s4j90gmfhlbm16f8";
}; };
p1_utils = fetchFromGitHub { p1_utils = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "p1_utils"; repo = "p1_utils";
rev = "d7800881e6702723ce58b7646b60c9e4cd25d563"; rev = "1.0.2";
sha256 = "07p47ccrdjymjmn6rn9jlcyg515bs9l0iwfbc75qsk10ddnmbvdi"; sha256 = "11b71bnc90riy1qplkpwx6l1yr9849jai3ckri35cavfsk35j687";
}; };
jiffy = fetchFromGitHub { jiffy = fetchFromGitHub {
owner = "davisp"; owner = "davisp";
repo = "jiffy"; repo = "jiffy";
rev = "cfc61a2e952dc3182e0f9b1473467563699992e2"; rev = "0.14.5";
sha256 = "1c2x71x90jlx4585znxz8fg46q3jxm80nk7v184lf4pqa1snk8kk"; sha256 = "1xs01cl4gq1x6sjj7d1qgg4iq9iwzv3cjqjrj0kr7rqrbfqx2nq3";
}; };
oauth2 = fetchFromGitHub { oauth2 = fetchFromGitHub {
owner = "prefiks"; owner = "kivra";
repo = "oauth2"; repo = "oauth2";
rev = "e6da9912e5d8f658e7e868f41a102d085bdbef59"; rev = "8d129fbf8866930b4ffa6dd84e65bd2b32b9acb8";
sha256 = "0di33bkj8xc7h17z1fs4birp8a88c1ds72jc4xz2qmz8kh7q9m3k"; sha256 = "0mbmw6668l945iqppba991793nmmkyvvf18zxgdahxcwgxg1majn";
}; };
xmlrpc = fetchFromGitHub { xmlrpc = fetchFromGitHub {
owner = "rds13"; owner = "rds13";
repo = "xmlrpc"; repo = "xmlrpc";
rev = "42e6e96a0fe7106830274feed915125feb1056f3"; rev = "1.15";
sha256 = "10dk480s6z653lr5sap4rcx3zsfmg68hgapvc4jvcyf7vgg12d3s"; sha256 = "0ihwag2hgw9rswxygallc4w1yipgpd6arw3xpr799ib7ybsn8x81";
}; };
p1_mysql = fetchFromGitHub { p1_mysql = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "mysql"; repo = "mysql";
rev = "dfa87da95f8fdb92e270741c2a53f796b682f918"; rev = "1.0.0";
sha256 = "1nw7n1xvid4yqp57s94drdjf6ffap8zpy8hkrz9yffzkhk9biz5y"; sha256 = "1v3g75hhfpv5bnrar23y7lsk3pd02xl5cy4mj13j0qxl6bc4dgss";
}; };
p1_pgsql = fetchFromGitHub { p1_pgsql = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "pgsql"; repo = "pgsql";
rev = "e72c03c60bfcb56bbb5d259342021d9cb3581dac"; rev = "1.0.0";
sha256 = "0y89995h7g8bi12qi1m4cdzcswsljbv7y8zb43rjg5ss2bcq7kb6"; sha256 = "1r7dkjzxhwplmhvgvdx990xn98gpslckah5jpkx8c2gm9nj3xi33";
}; };
sqlite3 = fetchFromGitHub { sqlite3 = fetchFromGitHub {
owner = "alexeyr"; owner = "alexeyr";
repo = "erlang-sqlite3"; repo = "erlang-sqlite3";
rev = "8350dc603804c503f99c92bfd2eab1dd6885758e"; rev = "cbc3505f7a131254265d3ef56191b2581b8cc172";
sha256 = "0d0pbqmi3hsvzjp4vjp7a6bq3pjvkfv0spszh6485x9cmxsbwfpc"; sha256 = "1xrvygv0zhslsqf8044m5ml1zr6di7znvv2zycg3amsz190w0w2g";
}; };
p1_pam = fetchFromGitHub { p1_pam = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "epam"; repo = "epam";
rev = "d3ce290b7da75d780a03e86e7a8198a80e9826a6"; rev = "1.0.0";
sha256 = "0s0czrgjvc1nw7j66x8b9rlajcap0yfnv6zqd4gs76ky6096qpb0"; sha256 = "0dlbmfwndhyg855vnhwyccxcjqzf2wcgc7522mjb9q38cva50rpr";
}; };
p1_zlib = fetchFromGitHub { p1_zlib = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "zlib"; repo = "zlib";
rev = "e3d4222b7aae616d7ef2e7e2fa0bbf451516c602"; rev = "1.0.0";
sha256 = "0z960nwva8x4lw1k91i53kpn2bjbf1v1amslkyp8sx2gc5zf0gbn"; sha256 = "1a6m7wz6cbb8526fwhmgm7mva62absmvyjm8cjnq7cs0mzp18r0m";
};
hamcrest = fetchFromGitHub {
owner = "hyperthunk";
repo = "hamcrest-erlang";
rev = "908a24fda4a46776a5135db60ca071e3d783f9f6";
sha256 = "0irxidwrb37m0xwls6q9nn2zfs3pyxrgbnjgrhnh7gm35ib51hkj";
}; };
riakc = fetchFromGitHub { riakc = fetchFromGitHub {
owner = "basho"; owner = "basho";
repo = "riak-erlang-client"; repo = "riak-erlang-client";
rev = "1.4.2"; rev = "527722d12d0433b837cdb92a60900c2cb5df8942";
sha256 = "128jz83n1990m9c2fzwsif6hyapmq46720nzfyyb4z2j75vn85zz"; sha256 = "13rkwibsjsl2gdysvf11r1hqfrf89hjgpa0x0hz2910f2ryqll3y";
}; };
# dependency of riakc # dependency of riakc
riak_pb = fetchFromGitHub { riak_pb = fetchFromGitHub {
owner = "basho"; owner = "basho";
repo = "riak_pb"; repo = "riak_pb";
rev = "1.4.4.0"; rev = "2.1.0.7";
sha256 = "054fg9gaxk4n0id0qs6k8i919qvxsvmh76m6fgfbmixyfxh5jp3w"; sha256 = "1p0qmjq069f7j1m29dv36ayvz8m0pcm94ccsnv5blykfg2c5ja0c";
}; };
# dependency of riak_pb # dependency of riak_pb
protobuffs = fetchFromGitHub { protobuffs = fetchFromGitHub {
owner = "basho"; owner = "basho";
repo = "erlang_protobuffs"; repo = "erlang_protobuffs";
rev = "0.8.1p1"; rev = "0.8.2";
sha256 = "1x75a26y1gx6pzr829i4sx2mxm5w40kb6hfd5y511him56jcczna"; sha256 = "0w4jmsnc9x2ykqh1q6b12pl8a9973dxdhqk3y0ph17n83q5xz3h7";
}; };
rebar_elixir_plugin = fetchFromGitHub { rebar_elixir_plugin = fetchFromGitHub {
owner = "yrashk"; owner = "processone";
repo = "rebar_elixir_plugin"; repo = "rebar_elixir_plugin";
rev = "7058379b7c7e017555647f6b9cecfd87cd50f884"; rev = "0.1.0";
sha256 = "1s5bvbrhal866gbp72lgp0jzphs2cmgmafmka0pylwj30im41c71"; sha256 = "0x04ff53mxwd9va8nl4m70dbamp6p4dpxs646c168iqpnpadk3sk";
}; };
elixir = fetchFromGitHub { elixir = fetchFromGitHub {
owner = "elixir-lang"; owner = "elixir-lang";
repo = "elixir"; repo = "elixir";
rev = "1d9548fd285d243721b7eba71912bde2ffd1f6c3"; rev = "v1.1.0";
sha256 = "1lxn9ly73rm797p6slfx7grsq32nn6bz15qhkbra834rj01fqzh8"; sha256 = "0r5673x2qdvfbwmvyvj8ddvzgxnkl3cv9jsf1yzsxgdifjbrzwx7";
}; };
p1_iconv = fetchFromGitHub { p1_iconv = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "eiconv"; repo = "eiconv";
rev = "8b7542b1aaf0a851f335e464956956985af6d9a2"; rev = "0.9.0";
sha256 = "1w3k41fpynqylc2vnirz0fymlidpz0nnym0070f1f1s3pd6g5906"; sha256 = "1ikccpj3aq6mip6slrq8c7w3kilpb82dr1jdy8kwajmiy9cmsq97";
}; };
lager = fetchFromGitHub { lager = fetchFromGitHub {
owner = "basho"; owner = "basho";
repo = "lager"; repo = "lager";
rev = "4d2ec8c701e1fa2d386f92f2b83b23faf8608ac3"; rev = "3.0.2";
sha256 = "03aav3cid0qpl1n8dn83hk0p70rw05nqvhq1abdh219nrlk9gfmx"; sha256 = "04l40dlqpl2y6ddpbpknmnjf537bjvrmg8r0jnmw1h60dgyb2ydk";
}; };
# dependency of lager # dependency of lager
goldrush = fetchFromGitHub { goldrush = fetchFromGitHub {
@ -176,31 +184,31 @@ let
p1_logger = fetchFromGitHub { p1_logger = fetchFromGitHub {
owner = "processone"; owner = "processone";
repo = "p1_logger"; repo = "p1_logger";
rev = "3e19507fd5606a73694917158767ecb3f5704e3f"; rev = "1.0.0";
sha256 = "0mq86gh8x3bgqcpwdjkdn7m3bj2006gbarnj7cn5dfs21m2h2mdn"; sha256 = "0z11xsr139a75w09syjws4sja6ky2l9rsrwkjr6wcl7p1jz02h4r";
}; };
meck = fetchFromGitHub { meck = fetchFromGitHub {
owner = "eproxus"; owner = "eproxus";
repo = "meck"; repo = "meck";
rev = "fc362e037f424250130bca32d6bf701f2f49dc75"; rev = "0.8.2";
sha256 = "056yca394f8mbg8vwxxlq47dbjx48ykdrg4lvnbi5gfijl786i3s"; sha256 = "0s4qbvryap46cz63awpbv5zzmlcay5pn2lixgmgvcjarqv70cbs7";
}; };
eredis = fetchFromGitHub { eredis = fetchFromGitHub {
owner = "wooga"; owner = "wooga";
repo = "eredis"; repo = "eredis";
rev = "770f828918db710d0c0958c6df63e90a4d341ed7"; rev = "v1.0.8";
sha256 = "0qv8hldn5972328pa1qz2lbblw1p2283js5y98dc8papldkicvmm"; sha256 = "10fr3kbc2nd2liggsq4y77nfirndzapcxzkjgyp06bpr9cjlvhlm";
}; };
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "15.11"; version = "16.01";
name = "ejabberd-${version}"; name = "ejabberd-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz"; url = "http://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
sha256 = "0sll1si9pd4v7yibzr8hp18hfrbxsa5nj9h7qsldvy7r4md4n101"; sha256 = "10fnsw52gxybw731yka63ma8mj39g4i0nsancwp9nlvhb2flgk72";
}; };
nativeBuildInputs = [ fakegit ]; nativeBuildInputs = [ fakegit ];
@ -216,13 +224,13 @@ in stdenv.mkDerivation rec {
LANG = "en_US.UTF-8"; LANG = "en_US.UTF-8";
depsNames = depsNames =
[ "p1_cache_tab" "p1_tls" "p1_stringprep" "p1_xml" "esip" "p1_stun" "p1_yaml" "p1_utils" "jiffy" "oauth2" "xmlrpc" ] [ "cache_tab" "p1_tls" "p1_stringprep" "p1_xml" "esip" "p1_stun" "p1_yaml" "p1_utils" "jiffy" "oauth2" "xmlrpc" ]
++ lib.optional withMysql "p1_mysql" ++ lib.optional withMysql "p1_mysql"
++ lib.optional withPgsql "p1_pgsql" ++ lib.optional withPgsql "p1_pgsql"
++ lib.optional withSqlite "sqlite3" ++ lib.optional withSqlite "sqlite3"
++ lib.optional withPam "p1_pam" ++ lib.optional withPam "p1_pam"
++ lib.optional withZlib "p1_zlib" ++ lib.optional withZlib "p1_zlib"
++ lib.optionals withRiak [ "riakc" "riak_pb" "protobuffs" ] ++ lib.optionals withRiak [ "hamcrest" "riakc" "riak_pb" "protobuffs" ]
++ lib.optionals withElixir [ "rebar_elixir_plugin" "elixir" ] ++ lib.optionals withElixir [ "rebar_elixir_plugin" "elixir" ]
++ lib.optional withIconv "p1_iconv" ++ lib.optional withIconv "p1_iconv"
++ lib.optionals withLager [ "lager" "goldrush" ] ++ lib.optionals withLager [ "lager" "goldrush" ]
@ -232,8 +240,7 @@ in stdenv.mkDerivation rec {
; ;
configureFlags = configureFlags =
[ "--enable-nif" [ (lib.enableFeature withMysql "mysql")
(lib.enableFeature withMysql "mysql")
(lib.enableFeature withPgsql "pgsql") (lib.enableFeature withPgsql "pgsql")
(lib.enableFeature withSqlite "sqlite") (lib.enableFeature withSqlite "sqlite")
(lib.enableFeature withPam "pam") (lib.enableFeature withPam "pam")
@ -247,6 +254,7 @@ in stdenv.mkDerivation rec {
] ++ lib.optional withSqlite "--with-sqlite3=${sqlite}"; ] ++ lib.optional withSqlite "--with-sqlite3=${sqlite}";
depsPaths = map (x: builtins.getAttr x ejdeps) depsNames; depsPaths = map (x: builtins.getAttr x ejdeps) depsNames;
depsRevs = map (x: x.rev) depsPaths;
enableParallelBuilding = true; enableParallelBuilding = true;
@ -254,12 +262,19 @@ in stdenv.mkDerivation rec {
mkdir deps mkdir deps
depsPathsA=( $depsPaths ) depsPathsA=( $depsPaths )
depsNamesA=( $depsNames ) depsNamesA=( $depsNames )
depsRevsA=( $depsRevs )
for i in {0..${toString (builtins.length depsNames - 1)}}; do for i in {0..${toString (builtins.length depsNames - 1)}}; do
cp -R ''${depsPathsA[$i]} deps/''${depsNamesA[$i]} path="deps/''${depsNamesA[$i]}"
cp -R ''${depsPathsA[$i]} "$path"
chmod -R +w "$path"
echo "''${depsRevsA[$i]}" > "$path/.rev"
done done
chmod -R +w deps
touch deps/.got touch deps/.got
patchShebangs . patchShebangs .
for i in deps/*; do
[ -x "$i/configure" ] && ( cd "$i"; ./configure ) || true
done
''; '';
postInstall = '' postInstall = ''