From 89ea599a5478f0d4a7c025ae6c4ab2ce3666e6ae Mon Sep 17 00:00:00 2001 From: Chuang Zhu Date: Tue, 18 Jun 2024 03:01:31 +0800 Subject: [PATCH 1/5] ejabberd: 23.10 -> 24.02 --- pkgs/servers/xmpp/ejabberd/default.nix | 146 ++++++++------- pkgs/servers/xmpp/ejabberd/rebar-deps.nix | 208 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 291 insertions(+), 65 deletions(-) create mode 100644 pkgs/servers/xmpp/ejabberd/rebar-deps.nix diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix index 37830973fbe9..84d1b7de9885 100644 --- a/pkgs/servers/xmpp/ejabberd/default.nix +++ b/pkgs/servers/xmpp/ejabberd/default.nix @@ -1,7 +1,12 @@ -{ stdenv, writeScriptBin, makeWrapper, lib, fetchurl, git, cacert, libpng, libjpeg, libwebp +{ stdenv, makeWrapper, lib, fetchurl, libpng, libjpeg, libwebp , erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, util-linux, procps, gd -, flock, autoreconfHook +, autoreconfHook , gawk +, rebar3WithPlugins +, fetchFromGitHub +, fetchgit +, fetchHex +, beamPackages , nixosTests , withMysql ? false , withPgsql ? false @@ -15,13 +20,76 @@ let ctlpath = lib.makeBinPath [ bash gnused gnugrep gawk coreutils util-linux procps ]; + + provider_asn1 = beamPackages.buildRebar3 { + name = "provider_asn1"; + version = "0.3.0"; + src = fetchHex { + pkg = "provider_asn1"; + version = "0.3.0"; + sha256 = "sha256-MuelWYZi01rBut8jM6a5alMZizPGZoBE/LveSRu/+wU="; + }; + beamDeps = [ ]; + }; + rebar3_hex = beamPackages.buildRebar3 { + name = "rebar3_hex"; + version = "7.0.7"; + src = fetchHex { + pkg = "rebar3_hex"; + version = "7.0.7"; + sha256 = "sha256-1S2igSwiInATUgULZ1E6e2dK6YI5gvRffHRfF1Gg5Ok="; + }; + beamDeps = [ ]; + }; + + beamDeps = import ./rebar-deps.nix { # TODO(@chuangzhu) add updateScript + inherit fetchHex fetchgit fetchFromGitHub; + builder = lib.makeOverridable beamPackages.buildRebar3; + + overrides = final: prev: { + jiffy = prev.jiffy.override { buildPlugins = [ beamPackages.pc ]; }; + cache_tab = prev.cache_tab.override { buildPlugins = [ beamPackages.pc ]; }; + mqtree = prev.mqtree.override { buildPlugins = [ beamPackages.pc ]; }; + stringprep = prev.stringprep.override { buildPlugins = [ beamPackages.pc ]; }; + p1_acme = prev.p1_acme.override { buildPlugins = [ beamPackages.pc ]; }; + eimp = prev.eimp.override { + buildInputs = [ gd libwebp libpng libjpeg ]; + buildPlugins = [ beamPackages.pc ]; + }; + ezlib = prev.ezlib.override { + buildInputs = [ zlib ]; + buildPlugins = [ beamPackages.pc ]; + }; + fast_tls = prev.fast_tls.override { + buildInputs = [ openssl ]; + buildPlugins = [ beamPackages.pc ]; + }; + fast_xml = prev.fast_xml.override { + buildInputs = [ expat ]; + buildPlugins = [ beamPackages.pc ]; + }; + fast_yaml = prev.fast_yaml.override { + buildInputs = [ libyaml ]; + buildPlugins = [ beamPackages.pc ]; + }; + xmpp = prev.xmpp.override { + buildPlugins = [ beamPackages.pc provider_asn1 ]; + }; + }; + }; + in stdenv.mkDerivation rec { pname = "ejabberd"; - version = "23.10"; + version = "24.02"; - nativeBuildInputs = [ makeWrapper autoreconfHook ]; + nativeBuildInputs = [ + makeWrapper + autoreconfHook + (rebar3WithPlugins { plugins = [ provider_asn1 rebar3_hex ]; }) + ]; - buildInputs = [ erlang openssl expat libyaml gd ] + buildInputs = [ erlang ] + ++ builtins.attrValues beamDeps ++ lib.optional withSqlite sqlite ++ lib.optional withPam pam ++ lib.optional withZlib zlib @@ -29,63 +97,14 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://www.process-one.net/downloads/downloads-action.php?file=/${version}/ejabberd-${version}.tar.gz"; - hash = "sha256-DW5/DYLZHNqJ4lddmag1B0E9ov/eObIVGASUeioPolg="; - # remember to update the deps FOD hash & its pinned ejabberd-po commit + hash = "sha256-ttSNO/K+82jpMh41Q2OByG14REuQQmScbEqrAIk5XAc="; + # remember to update rebar-deps.nix }; passthru.tests = { inherit (nixosTests) ejabberd; }; - deps = stdenv.mkDerivation { - pname = "ejabberd-deps"; - - inherit src version; - - # pin ejabberd-po dep - # update: curl -L api.github.com/repos/processone/ejabberd-po/branches/main | jq .commit.sha -r - postPatch = '' - substituteInPlace rebar.config \ - --replace \ - '{git, "https://github.com/processone/ejabberd-po", {branch, "main"}}' \ - '{git, "https://github.com/processone/ejabberd-po", {tag, "26d6463386588d39f07027dabff3cb8dd938bf6b"}}' - ''; - - configureFlags = [ "--enable-all" "--with-sqlite3=${sqlite.dev}" ]; - - nativeBuildInputs = [ - git erlang openssl expat libyaml sqlite pam zlib autoreconfHook - ]; - - GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; - - makeFlags = [ "deps" ]; - - installPhase = '' - for i in deps/*; do - ( cd $i - git reset --hard - git clean -ffdx - git describe --always --tags > .rev - rm -rf .git .github - ) - done - # not a typo; comes from `make deps` - rm deps/.got - - cp -r deps $out - ''; - - dontPatchELF = true; - dontStrip = true; - # avoid /nix/store references in the source - dontPatchShebangs = true; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "sha256-HrLu3wTF+cUxpGX0yK3nbB57SRM2ND3Crlxs5/8FIwI="; - }; - configureFlags = [ (lib.enableFeature withMysql "mysql") (lib.enableFeature withPgsql "pgsql") @@ -99,21 +118,20 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; postPatch = '' - cp -r $deps deps - chmod -R +w deps patchShebangs . + mkdir -p _build/default/lib + touch _build/default/lib/.got + touch _build/default/lib/.built ''; + REBAR_IGNORE_DEPS = 1; + postInstall = '' sed -i \ -e '2iexport PATH=${ctlpath}:$PATH' \ - -e 's,\(^ *FLOCK=\).*,\1${flock}/bin/flock,' \ - -e 's,\(^ *JOT=\).*,\1,' \ - -e 's,\(^ *CONNLOCKDIR=\).*,\1/var/lock/ejabberdctl,' \ + -e "s,\(^ *ERL_LIBS=.*\),\1:$ERL_LIBS," \ $out/sbin/ejabberdctl - wrapProgram $out/lib/eimp-*/priv/bin/eimp --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libpng libjpeg libwebp ]}" ${lib.optionalString withImagemagick ''wrapProgram $out/lib/ejabberd-*/priv/bin/captcha.sh --prefix PATH : "${lib.makeBinPath [ imagemagick ]}"''} - rm $out/bin/{mix,iex,elixir} ''; meta = with lib; { @@ -122,6 +140,6 @@ in stdenv.mkDerivation rec { license = licenses.gpl2Plus; homepage = "https://www.ejabberd.im"; platforms = platforms.linux; - maintainers = with maintainers; [ sander abbradar ]; + maintainers = with maintainers; [ sander abbradar chuangzhu ]; }; } diff --git a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix new file mode 100644 index 000000000000..f87561d7ecb1 --- /dev/null +++ b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix @@ -0,0 +1,208 @@ +# Generated by rebar3_nix +let fetchOnly = { src, ... }: src; +in { builder ? fetchOnly, fetchHex, fetchgit, fetchFromGitHub, overrides ? (x: y: { }) }: +let + self = packages // (overrides self packages); + packages = with self; { + unicode_util_compat = builder { + name = "unicode_util_compat"; + version = "0.4.1"; + src = fetchHex { + pkg = "unicode_util_compat"; + version = "0.4.1"; + sha256 = "sha256-HRhIxASHzbCzDo7ZdeNOAlhgwC5BnLYV0lWEnzQnQ50="; + }; + beamDeps = [ ]; + }; + ezlib = builder { + name = "ezlib"; + version = "1.0.12"; + src = fetchHex { + pkg = "ezlib"; + version = "1.0.12"; + sha256 = "sha256-MOlDVftCJgqrbhJYLLDFa/IzUV5lXIrq9Idg51YeTrs="; + }; + beamDeps = [ p1_utils ]; + }; + yconf = builder { + name = "yconf"; + version = "1.0.15"; + src = fetchHex { + pkg = "yconf"; + version = "1.0.15"; + sha256 = "sha256-f/KrJNPJgzhCcWuaqqAaj5ZkGnaVy7cBsDRFxN7wERc="; + }; + beamDeps = [ fast_yaml ]; + }; + xmpp = builder { + name = "xmpp"; + version = "1.8.1"; + src = fetchHex { + pkg = "xmpp"; + version = "1.8.1"; + sha256 = "sha256-MtSjCKZhPk5BVfpOguzNyIMwltD6jZnI1CjIAGEeWdM="; + }; + beamDeps = [ ezlib fast_tls fast_xml idna p1_utils stringprep ]; + }; + stun = builder { + name = "stun"; + version = "1.2.12"; + src = fetchHex { + pkg = "stun"; + version = "1.2.12"; + sha256 = "sha256-ogVQMrbTONBFQUIAS8sS+vsMZKsfJz8dDGkj67yO3kA="; + }; + beamDeps = [ fast_tls p1_utils ]; + }; + stringprep = builder { + name = "stringprep"; + version = "1.0.29"; + src = fetchHex { + pkg = "stringprep"; + version = "1.0.29"; + sha256 = "sha256-ko66MEwwBusVEhEOvXuH2xY7AIWaCTdaHkRmFSxsRio="; + }; + beamDeps = [ p1_utils ]; + }; + pkix = builder { + name = "pkix"; + version = "1.0.9"; + src = fetchHex { + pkg = "pkix"; + version = "1.0.9"; + sha256 = "sha256-2qssCc3U7aBcm0WlwA6ZShpfJ2NJKeE3fi5ZtwcQPjo="; + }; + beamDeps = [ ]; + }; + p1_utils = builder { + name = "p1_utils"; + version = "1.0.25"; + src = fetchHex { + pkg = "p1_utils"; + version = "1.0.25"; + sha256 = "sha256-khkhRCjyxuXTGH/465qHg2lcJCdCC+miWYQOB62jKEc="; + }; + beamDeps = [ ]; + }; + p1_oauth2 = builder { + name = "p1_oauth2"; + version = "0.6.14"; + src = fetchHex { + pkg = "p1_oauth2"; + version = "0.6.14"; + sha256 = "sha256-H9OsR05Dci2dWofG34029pjth697uBy7tmNhRR2Zro8="; + }; + beamDeps = [ ]; + }; + p1_acme = builder { + name = "p1_acme"; + version = "1.0.22"; + src = fetchHex { + pkg = "p1_acme"; + version = "1.0.22"; + sha256 = "sha256-wrJaeylaQ12sTyeKc9hBf/KwAgxF4Wg1BOhpLvA+IFc="; + }; + beamDeps = [ base64url idna jiffy jose yconf ]; + }; + mqtree = builder { + name = "mqtree"; + version = "1.0.16"; + src = fetchHex { + pkg = "mqtree"; + version = "1.0.16"; + sha256 = "sha256-yH0clVddtlrym3lcnao77UP1wb+EByp0RpZZvPU1lOs="; + }; + beamDeps = [ p1_utils ]; + }; + jose = builder { + name = "jose"; + version = "1.11.5"; + src = fetchHex { + pkg = "jose"; + version = "1.11.5"; + sha256 = "sha256-3NOyFbr+Aup8WyPa/T64Bipc2PLZBP2cqjI9NwNKs4Q="; + }; + beamDeps = [ ]; + }; + jiffy = builder { + name = "jiffy"; + version = "1.1.1"; + src = fetchHex { + pkg = "jiffy"; + version = "1.1.1"; + sha256 = "sha256-YuHwWBw8GcM6clx4HfqIQQ2L/xu6/DiFolUihrR4XEw="; + }; + beamDeps = [ ]; + }; + idna = builder { + name = "idna"; + version = "6.0.0"; + src = fetchHex { + pkg = "idna"; + version = "6.0.0"; + sha256 = "sha256-S90wXrZOGLAnOGSSBpXLGNeiAh8xoRucX7zZolP5NuI="; + }; + beamDeps = [ unicode_util_compat ]; + }; + fast_yaml = builder { + name = "fast_yaml"; + version = "1.0.36"; + src = fetchHex { + pkg = "fast_yaml"; + version = "1.0.36"; + sha256 = "sha256-Gr6PdY/CqGsI7f+Au8aHz9QevBQSz+wO9KCs/NAyBS8="; + }; + beamDeps = [ p1_utils ]; + }; + fast_xml = builder { + name = "fast_xml"; + version = "1.1.51"; + src = fetchHex { + pkg = "fast_xml"; + version = "1.1.51"; + sha256 = "sha256-f85Bt9GkukOKLXoIjavnSjygc58a8qvLd+Ytr0PgQJo="; + }; + beamDeps = [ p1_utils ]; + }; + fast_tls = builder { + name = "fast_tls"; + version = "1.1.19"; + src = fetchHex { + pkg = "fast_tls"; + version = "1.1.19"; + sha256 = "sha256-2zQyLIeC1MUTnMuAcJ2OyMOAibRCYu3QwvZgrElb04k="; + }; + beamDeps = [ p1_utils ]; + }; + eimp = builder { + name = "eimp"; + version = "1.0.22"; + src = fetchHex { + pkg = "eimp"; + version = "1.0.22"; + sha256 = "sha256-s7n/sdml9KK6iKxBioGRZJMtmp06L8PTLKM4zoVcQ5I="; + }; + beamDeps = [ p1_utils ]; + }; + cache_tab = builder { + name = "cache_tab"; + version = "1.0.30"; + src = fetchHex { + pkg = "cache_tab"; + version = "1.0.30"; + sha256 = "sha256-bYpeANj4TEJidwam2+2wLjTVhJXz7WGTXIR1ygUxzaA="; + }; + beamDeps = [ p1_utils ]; + }; + base64url = builder { + name = "base64url"; + version = "1.0.1"; + src = fetchHex { + pkg = "base64url"; + version = "1.0.1"; + sha256 = "sha256-+bOt1HMaAqmwQQOYtHWzPnVmppU2Ujemve4btEdxn1w="; + }; + beamDeps = [ ]; + }; + }; +in self diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4bcad71a6425..808a3a204ed1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25330,7 +25330,7 @@ with pkgs; etcd_3_4 = callPackage ../servers/etcd/3.4.nix { }; etcd_3_5 = callPackage ../servers/etcd/3.5 { }; - ejabberd = callPackage ../servers/xmpp/ejabberd { erlang = erlang_24; }; + ejabberd = callPackage ../servers/xmpp/ejabberd { }; exhaustive = callPackage ../development/tools/exhaustive { }; From 6f5510289ed010967cb9e684ed09fd6cdf841f8c Mon Sep 17 00:00:00 2001 From: Chuang Zhu Date: Tue, 18 Jun 2024 05:17:07 +0800 Subject: [PATCH 2/5] nixos/tests/ejabberd: fix tests It seems that SASL SCRAM in ejabberd now requires TLS to work, even if disable_sasl_scram_downgrade_protection is true. The certificate generation code is copied from nixos/tests/prosody. --- nixos/tests/xmpp/ejabberd.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix index 1a807b27b6f6..a31a1b8eeab8 100644 --- a/nixos/tests/xmpp/ejabberd.nix +++ b/nixos/tests/xmpp/ejabberd.nix @@ -1,3 +1,10 @@ +let + cert = pkgs: pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } '' + openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj '/CN=example.com/CN=muc.example.com' -days 36500 + mkdir -p $out + cp key.pem cert.pem $out + ''; +in import ../make-test-python.nix ({ pkgs, ... }: { name = "ejabberd"; meta = with pkgs.lib.maintainers; { @@ -5,6 +12,7 @@ import ../make-test-python.nix ({ pkgs, ... }: { }; nodes = { client = { nodes, pkgs, ... }: { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; networking.extraHosts = '' ${nodes.server.config.networking.primaryIPAddress} example.com ''; @@ -14,6 +22,7 @@ import ../make-test-python.nix ({ pkgs, ... }: { ]; }; server = { config, pkgs, ... }: { + security.pki.certificateFiles = [ "${cert pkgs}/cert.pem" ]; networking.extraHosts = '' ${config.networking.primaryIPAddress} example.com ''; @@ -23,6 +32,7 @@ import ../make-test-python.nix ({ pkgs, ... }: { configFile = "/etc/ejabberd.yml"; }; + systemd.services.ejabberd.serviceConfig.TimeoutStartSec = "15min"; environment.etc."ejabberd.yml" = { user = "ejabberd"; mode = "0600"; @@ -40,6 +50,7 @@ import ../make-test-python.nix ({ pkgs, ... }: { max_stanza_size: 65536 shaper: c2s_shaper access: c2s + starttls: true - port: 5269 ip: "::" @@ -56,6 +67,10 @@ import ../make-test-python.nix ({ pkgs, ... }: { request_handlers: "/upload": mod_http_upload + certfiles: + - ${cert pkgs}/key.pem + - ${cert pkgs}/cert.pem + ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text ## password storage (see auth_password_format option). disable_sasl_mechanisms: "digest-md5" From 90484c7f6813e1d98eac231647fa3d31059005a0 Mon Sep 17 00:00:00 2001 From: Chuang Zhu Date: Tue, 18 Jun 2024 07:57:24 +0800 Subject: [PATCH 3/5] ejabberd: handle optional deps --- pkgs/servers/xmpp/ejabberd/default.nix | 38 ++++++++-- pkgs/servers/xmpp/ejabberd/rebar-deps.nix | 90 ++++++++++++++++++++--- 2 files changed, 110 insertions(+), 18 deletions(-) diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix index 84d1b7de9885..d5956bc5eae6 100644 --- a/pkgs/servers/xmpp/ejabberd/default.nix +++ b/pkgs/servers/xmpp/ejabberd/default.nix @@ -13,6 +13,8 @@ , withSqlite ? false, sqlite , withPam ? false, pam , withZlib ? true, zlib +, withSip ? false +, withLua ? false , withTools ? false , withRedis ? false , withImagemagick ? false, imagemagick @@ -42,7 +44,7 @@ let beamDeps = [ ]; }; - beamDeps = import ./rebar-deps.nix { # TODO(@chuangzhu) add updateScript + allBeamDeps = import ./rebar-deps.nix { # TODO(@chuangzhu) add updateScript inherit fetchHex fetchgit fetchFromGitHub; builder = lib.makeOverridable beamPackages.buildRebar3; @@ -56,10 +58,6 @@ let buildInputs = [ gd libwebp libpng libjpeg ]; buildPlugins = [ beamPackages.pc ]; }; - ezlib = prev.ezlib.override { - buildInputs = [ zlib ]; - buildPlugins = [ beamPackages.pc ]; - }; fast_tls = prev.fast_tls.override { buildInputs = [ openssl ]; buildPlugins = [ beamPackages.pc ]; @@ -75,9 +73,26 @@ let xmpp = prev.xmpp.override { buildPlugins = [ beamPackages.pc provider_asn1 ]; }; + # Optional deps + sqlite3 = prev.sqlite3.override { + buildInputs = [ sqlite ]; + buildPlugins = [ beamPackages.pc ]; + }; + p1_mysql = prev.p1_acme.override { buildPlugins = [ beamPackages.pc ]; }; + epam = prev.epam.override { + buildInputs = [ pam ]; + buildPlugins = [ beamPackages.pc ]; + }; + esip = prev.esip.override { buildPlugins = [ beamPackages.pc ]; }; + ezlib = prev.ezlib.override { + buildInputs = [ zlib ]; + buildPlugins = [ beamPackages.pc ]; + }; }; }; + beamDeps = builtins.removeAttrs allBeamDeps [ "sqlite3" "p1_pgsql" "p1_mysql" "luerl" "esip" "eredis" "epam" "ezlib" ]; + in stdenv.mkDerivation rec { pname = "ejabberd"; version = "24.02"; @@ -90,9 +105,14 @@ in stdenv.mkDerivation rec { buildInputs = [ erlang ] ++ builtins.attrValues beamDeps - ++ lib.optional withSqlite sqlite - ++ lib.optional withPam pam - ++ lib.optional withZlib zlib + ++ lib.optional withMysql allBeamDeps.p1_mysql + ++ lib.optional withPgsql allBeamDeps.p1_pgsql + ++ lib.optional withSqlite allBeamDeps.sqlite3 + ++ lib.optional withPam allBeamDeps.epam + ++ lib.optional withZlib allBeamDeps.ezlib + ++ lib.optional withSip allBeamDeps.esip + ++ lib.optional withLua allBeamDeps.luerl + ++ lib.optional withRedis allBeamDeps.eredis ; src = fetchurl { @@ -111,6 +131,8 @@ in stdenv.mkDerivation rec { (lib.enableFeature withSqlite "sqlite") (lib.enableFeature withPam "pam") (lib.enableFeature withZlib "zlib") + (lib.enableFeature withSip "sip") + (lib.enableFeature withLua "lua") (lib.enableFeature withTools "tools") (lib.enableFeature withRedis "redis") ] ++ lib.optional withSqlite "--with-sqlite3=${sqlite.dev}"; diff --git a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix index f87561d7ecb1..d82087dc9577 100644 --- a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix +++ b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix @@ -14,16 +14,6 @@ let }; beamDeps = [ ]; }; - ezlib = builder { - name = "ezlib"; - version = "1.0.12"; - src = fetchHex { - pkg = "ezlib"; - version = "1.0.12"; - sha256 = "sha256-MOlDVftCJgqrbhJYLLDFa/IzUV5lXIrq9Idg51YeTrs="; - }; - beamDeps = [ p1_utils ]; - }; yconf = builder { name = "yconf"; version = "1.0.15"; @@ -64,6 +54,16 @@ let }; beamDeps = [ p1_utils ]; }; + sqlite3 = builder { + name = "sqlite3"; + version = "1.1.14"; + src = fetchHex { + pkg = "sqlite3"; + version = "1.1.14"; + sha256 = "sha256-hQVLbKKXNDwVntZ5Skc/8sjuq9hUtv4C9xHAv9NzzoY="; + }; + beamDeps = [ ]; + }; pkix = builder { name = "pkix"; version = "1.0.9"; @@ -84,6 +84,16 @@ let }; beamDeps = [ ]; }; + p1_pgsql = builder { + name = "p1_pgsql"; + version = "1.1.25"; + src = fetchHex { + pkg = "p1_pgsql"; + version = "1.1.25"; + sha256 = "sha256-tlTB4H0+d1tia0B+dpbKz9iNF76D5xaLnYnDgy2RPec="; + }; + beamDeps = [ xmpp ]; + }; p1_oauth2 = builder { name = "p1_oauth2"; version = "0.6.14"; @@ -94,6 +104,16 @@ let }; beamDeps = [ ]; }; + p1_mysql = builder { + name = "p1_mysql"; + version = "1.0.23"; + src = fetchHex { + pkg = "p1_mysql"; + version = "1.0.23"; + sha256 = "sha256-nO+YJl+yhzdOe2S/QCLE317GYZbKMc9L7XPGfEW/gk4="; + }; + beamDeps = [ ]; + }; p1_acme = builder { name = "p1_acme"; version = "1.0.22"; @@ -114,6 +134,16 @@ let }; beamDeps = [ p1_utils ]; }; + luerl = builder { + name = "luerl"; + version = "1.1.1"; + src = fetchHex { + pkg = "luerl"; + version = "1.1.1"; + sha256 = "sha256-4X7yRqf/h27JDmh5KjlwiXlBYATU6s/op2QyBrlHB3M="; + }; + beamDeps = [ ]; + }; jose = builder { name = "jose"; version = "1.11.5"; @@ -174,6 +204,46 @@ let }; beamDeps = [ p1_utils ]; }; + ezlib = builder { + name = "ezlib"; + version = "1.0.12"; + src = fetchHex { + pkg = "ezlib"; + version = "1.0.12"; + sha256 = "sha256-MOlDVftCJgqrbhJYLLDFa/IzUV5lXIrq9Idg51YeTrs="; + }; + beamDeps = [ p1_utils ]; + }; + esip = builder { + name = "esip"; + version = "1.0.52"; + src = fetchHex { + pkg = "esip"; + version = "1.0.52"; + sha256 = "sha256-bwAWU5WQBQCqJizgKXFi2Tkxx4wUZNif0O3G49a8AR8="; + }; + beamDeps = [ fast_tls p1_utils stun ]; + }; + eredis = builder { + name = "eredis"; + version = "1.2.0"; + src = fetchHex { + pkg = "eredis"; + version = "1.2.0"; + sha256 = "sha256-2bWr7ywsirqPMqoBggPgs9yLEVd3OyVKsdTCACMX8eE="; + }; + beamDeps = [ ]; + }; + epam = builder { + name = "epam"; + version = "1.0.14"; + src = fetchHex { + pkg = "epam"; + version = "1.0.14"; + sha256 = "sha256-LzRJ5yiFpypsKoQ/VhrdD8L3DXoh9hRWkwpUdHPU2Yk="; + }; + beamDeps = [ ]; + }; eimp = builder { name = "eimp"; version = "1.0.22"; From 845ef6049853b4d483ef85efed25ae50444e4549 Mon Sep 17 00:00:00 2001 From: Chuang Zhu Date: Fri, 28 Jun 2024 20:29:40 +0800 Subject: [PATCH 4/5] ejabberd: 24.02 -> 24.06 --- pkgs/servers/xmpp/ejabberd/default.nix | 4 +- pkgs/servers/xmpp/ejabberd/rebar-deps.nix | 99 ++++++++++++----------- 2 files changed, 54 insertions(+), 49 deletions(-) diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix index d5956bc5eae6..c6e1d0bec3fe 100644 --- a/pkgs/servers/xmpp/ejabberd/default.nix +++ b/pkgs/servers/xmpp/ejabberd/default.nix @@ -95,7 +95,7 @@ let in stdenv.mkDerivation rec { pname = "ejabberd"; - version = "24.02"; + version = "24.06"; nativeBuildInputs = [ makeWrapper @@ -117,7 +117,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://www.process-one.net/downloads/downloads-action.php?file=/${version}/ejabberd-${version}.tar.gz"; - hash = "sha256-ttSNO/K+82jpMh41Q2OByG14REuQQmScbEqrAIk5XAc="; + hash = "sha256-NO9WNw05vcmjxY13daZaLB1OjFLmqoDneoQ11BTdqB4="; # remember to update rebar-deps.nix }; diff --git a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix index d82087dc9577..116647d563b3 100644 --- a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix +++ b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix @@ -6,11 +6,21 @@ let packages = with self; { unicode_util_compat = builder { name = "unicode_util_compat"; - version = "0.4.1"; + version = "0.7.0"; src = fetchHex { pkg = "unicode_util_compat"; - version = "0.4.1"; - sha256 = "sha256-HRhIxASHzbCzDo7ZdeNOAlhgwC5BnLYV0lWEnzQnQ50="; + version = "0.7.0"; + sha256 = "sha256-Je7m1n32GWDPanlCOVZlmbCeF+Zo03ACR7xJhjgVJSE="; + }; + beamDeps = [ ]; + }; + base64url = builder { + name = "base64url"; + version = "1.0.1"; + src = fetchHex { + pkg = "base64url"; + version = "1.0.1"; + sha256 = "sha256-+bOt1HMaAqmwQQOYtHWzPnVmppU2Ujemve4btEdxn1w="; }; beamDeps = [ ]; }; @@ -26,11 +36,12 @@ let }; xmpp = builder { name = "xmpp"; - version = "1.8.1"; - src = fetchHex { - pkg = "xmpp"; - version = "1.8.1"; - sha256 = "sha256-MtSjCKZhPk5BVfpOguzNyIMwltD6jZnI1CjIAGEeWdM="; + version = "git"; + src = fetchFromGitHub { + owner = "processone"; + repo = "xmpp"; + rev = "a1fb778bd385d832f913e564558152ea507dac37"; + sha256 = "1k4rbn9nxb94md1amdi58svxmdr16iqka885ahn3nb1kl1q49g6d"; }; beamDeps = [ ezlib fast_tls fast_xml idna p1_utils stringprep ]; }; @@ -66,11 +77,12 @@ let }; pkix = builder { name = "pkix"; - version = "1.0.9"; - src = fetchHex { - pkg = "pkix"; - version = "1.0.9"; - sha256 = "sha256-2qssCc3U7aBcm0WlwA6ZShpfJ2NJKeE3fi5ZtwcQPjo="; + version = "git"; + src = fetchFromGitHub { + owner = "processone"; + repo = "pkix"; + rev = "03be27c7168449bdfeb8c5b6cc0f800f71f8cfe9"; + sha256 = "0m83jjdvs37989qf8hami1g9sq2j1wx0idj75l68610viqxx5f93"; }; beamDeps = [ ]; }; @@ -86,11 +98,12 @@ let }; p1_pgsql = builder { name = "p1_pgsql"; - version = "1.1.25"; - src = fetchHex { - pkg = "p1_pgsql"; - version = "1.1.25"; - sha256 = "sha256-tlTB4H0+d1tia0B+dpbKz9iNF76D5xaLnYnDgy2RPec="; + version = "git"; + src = fetchFromGitHub { + owner = "processone"; + repo = "p1_pgsql"; + rev = "fe0bb2a2a2ae21cd9fc48b81520cfce508520a56"; + sha256 = "0cn36n6sjfirgpl3lflsa1k1awhvynjshvvkq9h801rpg3gvwcnj"; }; beamDeps = [ xmpp ]; }; @@ -106,21 +119,23 @@ let }; p1_mysql = builder { name = "p1_mysql"; - version = "1.0.23"; - src = fetchHex { - pkg = "p1_mysql"; - version = "1.0.23"; - sha256 = "sha256-nO+YJl+yhzdOe2S/QCLE317GYZbKMc9L7XPGfEW/gk4="; + version = "git"; + src = fetchFromGitHub { + owner = "processone"; + repo = "p1_mysql"; + rev = "0dccb755a60cda61d41e7b092b344d38d1ebc802"; + sha256 = "0pdggllh9y9k57hykyi0l4zbq2w5d1c7lw8077q6jfajs80p6ajm"; }; beamDeps = [ ]; }; p1_acme = builder { name = "p1_acme"; - version = "1.0.22"; - src = fetchHex { - pkg = "p1_acme"; - version = "1.0.22"; - sha256 = "sha256-wrJaeylaQ12sTyeKc9hBf/KwAgxF4Wg1BOhpLvA+IFc="; + version = "git"; + src = fetchFromGitHub { + owner = "processone"; + repo = "p1_acme"; + rev = "176b4a8c67627c3229fbea3c05d82a5d567e6e49"; + sha256 = "1g30sc2rzfrkh5c7771z7nl79w3shq8faag437q3ca7k1jjwqf19"; }; beamDeps = [ base64url idna jiffy jose yconf ]; }; @@ -136,21 +151,21 @@ let }; luerl = builder { name = "luerl"; - version = "1.1.1"; + version = "1.2.0"; src = fetchHex { pkg = "luerl"; - version = "1.1.1"; - sha256 = "sha256-4X7yRqf/h27JDmh5KjlwiXlBYATU6s/op2QyBrlHB3M="; + version = "1.2.0"; + sha256 = "sha256-nK/U9glP8PWp0nj9gdYNPgJsggvftsrNSxvZCfIbUl0="; }; beamDeps = [ ]; }; jose = builder { name = "jose"; - version = "1.11.5"; + version = "1.11.10"; src = fetchHex { pkg = "jose"; - version = "1.11.5"; - sha256 = "sha256-3NOyFbr+Aup8WyPa/T64Bipc2PLZBP2cqjI9NwNKs4Q="; + version = "1.11.10"; + sha256 = "sha256-DWzTb/i6F02ykUj8EStYQhhraKkM6fwrPsOv52WT5hQ="; }; beamDeps = [ ]; }; @@ -166,11 +181,11 @@ let }; idna = builder { name = "idna"; - version = "6.0.0"; + version = "6.1.1"; src = fetchHex { pkg = "idna"; - version = "6.0.0"; - sha256 = "sha256-S90wXrZOGLAnOGSSBpXLGNeiAh8xoRucX7zZolP5NuI="; + version = "6.1.1"; + sha256 = "sha256-kjdut4lEEu0ZrEdeSob3tBPBufu1vRbczVeTQVeUTOo="; }; beamDeps = [ unicode_util_compat ]; }; @@ -264,15 +279,5 @@ let }; beamDeps = [ p1_utils ]; }; - base64url = builder { - name = "base64url"; - version = "1.0.1"; - src = fetchHex { - pkg = "base64url"; - version = "1.0.1"; - sha256 = "sha256-+bOt1HMaAqmwQQOYtHWzPnVmppU2Ujemve4btEdxn1w="; - }; - beamDeps = [ ]; - }; }; in self From 8fefd4d617366c10d5653516dd9a87b2910aa0ba Mon Sep 17 00:00:00 2001 From: Chuang Zhu Date: Fri, 19 Jul 2024 02:44:12 +0800 Subject: [PATCH 5/5] ejabberd: 24.06 -> 24.07 --- pkgs/servers/xmpp/ejabberd/default.nix | 4 +- pkgs/servers/xmpp/ejabberd/rebar-deps.nix | 153 +++++++++++----------- 2 files changed, 76 insertions(+), 81 deletions(-) diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix index c6e1d0bec3fe..d6dab1fef44b 100644 --- a/pkgs/servers/xmpp/ejabberd/default.nix +++ b/pkgs/servers/xmpp/ejabberd/default.nix @@ -95,7 +95,7 @@ let in stdenv.mkDerivation rec { pname = "ejabberd"; - version = "24.06"; + version = "24.07"; nativeBuildInputs = [ makeWrapper @@ -117,7 +117,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://www.process-one.net/downloads/downloads-action.php?file=/${version}/ejabberd-${version}.tar.gz"; - hash = "sha256-NO9WNw05vcmjxY13daZaLB1OjFLmqoDneoQ11BTdqB4="; + hash = "sha256-wPt0asuoGl20Hel8A5aMH2gaE7G2waiVtxguM4IMGNk="; # remember to update rebar-deps.nix }; diff --git a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix index 116647d563b3..db5899e27115 100644 --- a/pkgs/servers/xmpp/ejabberd/rebar-deps.nix +++ b/pkgs/servers/xmpp/ejabberd/rebar-deps.nix @@ -14,6 +14,16 @@ let }; beamDeps = [ ]; }; + jiffy = builder { + name = "jiffy"; + version = "1.1.2"; + src = fetchHex { + pkg = "jiffy"; + version = "1.1.2"; + sha256 = "sha256-u2G8Qqcgu9M8sJpBDki7eaYQEsdMuLPnXybZiEhc84E="; + }; + beamDeps = [ ]; + }; base64url = builder { name = "base64url"; version = "1.0.1"; @@ -26,84 +36,81 @@ let }; yconf = builder { name = "yconf"; - version = "1.0.15"; + version = "1.0.16"; src = fetchHex { pkg = "yconf"; - version = "1.0.15"; - sha256 = "sha256-f/KrJNPJgzhCcWuaqqAaj5ZkGnaVy7cBsDRFxN7wERc="; + version = "1.0.16"; + sha256 = "sha256-6UeBMnPzhxHHsuWo5KzJpRx7voVPdEo0X2AwCzhYbIk="; }; beamDeps = [ fast_yaml ]; }; xmpp = builder { name = "xmpp"; - version = "git"; - src = fetchFromGitHub { - owner = "processone"; - repo = "xmpp"; - rev = "a1fb778bd385d832f913e564558152ea507dac37"; - sha256 = "1k4rbn9nxb94md1amdi58svxmdr16iqka885ahn3nb1kl1q49g6d"; + version = "1.8.3"; + src = fetchHex { + pkg = "xmpp"; + version = "1.8.3"; + sha256 = "sha256-7XAGX5qJqBjc/0O3TAgMnn9PFBThBRvt23KA24Ca9xE="; }; beamDeps = [ ezlib fast_tls fast_xml idna p1_utils stringprep ]; }; stun = builder { name = "stun"; - version = "1.2.12"; + version = "1.2.14"; src = fetchHex { pkg = "stun"; - version = "1.2.12"; - sha256 = "sha256-ogVQMrbTONBFQUIAS8sS+vsMZKsfJz8dDGkj67yO3kA="; + version = "1.2.14"; + sha256 = "sha256-4TSAext6jf/ZTmTu/uAOZce0BC89FOFvj0NWbSA3FYM="; }; beamDeps = [ fast_tls p1_utils ]; }; stringprep = builder { name = "stringprep"; - version = "1.0.29"; + version = "1.0.30"; src = fetchHex { pkg = "stringprep"; - version = "1.0.29"; - sha256 = "sha256-ko66MEwwBusVEhEOvXuH2xY7AIWaCTdaHkRmFSxsRio="; + version = "1.0.30"; + sha256 = "sha256-9vybM4SgOHeDD4my84WAyvP0onRIpKMz1qjDl1wiC5o="; }; beamDeps = [ p1_utils ]; }; sqlite3 = builder { name = "sqlite3"; - version = "1.1.14"; + version = "1.1.15"; src = fetchHex { pkg = "sqlite3"; - version = "1.1.14"; - sha256 = "sha256-hQVLbKKXNDwVntZ5Skc/8sjuq9hUtv4C9xHAv9NzzoY="; + version = "1.1.15"; + sha256 = "sha256-PAuk4TMiwq1J3k4t3SgxE2at3lS+ro26nZ44iPadKFc="; }; beamDeps = [ ]; }; pkix = builder { name = "pkix"; - version = "git"; - src = fetchFromGitHub { - owner = "processone"; - repo = "pkix"; - rev = "03be27c7168449bdfeb8c5b6cc0f800f71f8cfe9"; - sha256 = "0m83jjdvs37989qf8hami1g9sq2j1wx0idj75l68610viqxx5f93"; + version = "1.0.10"; + src = fetchHex { + pkg = "pkix"; + version = "1.0.10"; + sha256 = "sha256-4CFk+DCUyxJMQbGrKJiKYV1Uua3DhXXwDxmll6OsXQ4="; }; beamDeps = [ ]; }; p1_utils = builder { name = "p1_utils"; - version = "1.0.25"; + version = "1.0.26"; src = fetchHex { pkg = "p1_utils"; - version = "1.0.25"; - sha256 = "sha256-khkhRCjyxuXTGH/465qHg2lcJCdCC+miWYQOB62jKEc="; + version = "1.0.26"; + sha256 = "sha256-0DeejBFWuYvWT4Epwd4CL8yk8v23SGznO/DtLDN2sEw="; }; beamDeps = [ ]; }; p1_pgsql = builder { name = "p1_pgsql"; - version = "git"; - src = fetchFromGitHub { - owner = "processone"; - repo = "p1_pgsql"; - rev = "fe0bb2a2a2ae21cd9fc48b81520cfce508520a56"; - sha256 = "0cn36n6sjfirgpl3lflsa1k1awhvynjshvvkq9h801rpg3gvwcnj"; + version = "1.1.27"; + src = fetchHex { + pkg = "p1_pgsql"; + version = "1.1.27"; + sha256 = "sha256-jk0adgLLaHgOVdidxamy4arKP08e49GiXy+MPSNk/7k="; }; beamDeps = [ xmpp ]; }; @@ -119,33 +126,31 @@ let }; p1_mysql = builder { name = "p1_mysql"; - version = "git"; - src = fetchFromGitHub { - owner = "processone"; - repo = "p1_mysql"; - rev = "0dccb755a60cda61d41e7b092b344d38d1ebc802"; - sha256 = "0pdggllh9y9k57hykyi0l4zbq2w5d1c7lw8077q6jfajs80p6ajm"; + version = "1.0.24"; + src = fetchHex { + pkg = "p1_mysql"; + version = "1.0.24"; + sha256 = "sha256-8FiGX2Qlf1B6LGpa/zabE3XbyzCz1CWNrU8bPq/7ZV8="; }; beamDeps = [ ]; }; p1_acme = builder { name = "p1_acme"; - version = "git"; - src = fetchFromGitHub { - owner = "processone"; - repo = "p1_acme"; - rev = "176b4a8c67627c3229fbea3c05d82a5d567e6e49"; - sha256 = "1g30sc2rzfrkh5c7771z7nl79w3shq8faag437q3ca7k1jjwqf19"; + version = "1.0.23"; + src = fetchHex { + pkg = "p1_acme"; + version = "1.0.23"; + sha256 = "sha256-jOGW8m49IuoQt4CRIpUEZYeMEn+Adn4yUgeu1+jQ3Vk="; }; beamDeps = [ base64url idna jiffy jose yconf ]; }; mqtree = builder { name = "mqtree"; - version = "1.0.16"; + version = "1.0.17"; src = fetchHex { pkg = "mqtree"; - version = "1.0.16"; - sha256 = "sha256-yH0clVddtlrym3lcnao77UP1wb+EByp0RpZZvPU1lOs="; + version = "1.0.17"; + sha256 = "sha256-X+i3z4+8R4PQ/OuUZUrCu/MkKljNA5fSSd7YrgIb4qM="; }; beamDeps = [ p1_utils ]; }; @@ -169,16 +174,6 @@ let }; beamDeps = [ ]; }; - jiffy = builder { - name = "jiffy"; - version = "1.1.1"; - src = fetchHex { - pkg = "jiffy"; - version = "1.1.1"; - sha256 = "sha256-YuHwWBw8GcM6clx4HfqIQQ2L/xu6/DiFolUihrR4XEw="; - }; - beamDeps = [ ]; - }; idna = builder { name = "idna"; version = "6.1.1"; @@ -191,51 +186,51 @@ let }; fast_yaml = builder { name = "fast_yaml"; - version = "1.0.36"; + version = "1.0.37"; src = fetchHex { pkg = "fast_yaml"; - version = "1.0.36"; - sha256 = "sha256-Gr6PdY/CqGsI7f+Au8aHz9QevBQSz+wO9KCs/NAyBS8="; + version = "1.0.37"; + sha256 = "sha256-jehochv34hckFPfTFI7eDzySK0lkVc1iXdXEQpUVp2k="; }; beamDeps = [ p1_utils ]; }; fast_xml = builder { name = "fast_xml"; - version = "1.1.51"; + version = "1.1.52"; src = fetchHex { pkg = "fast_xml"; - version = "1.1.51"; - sha256 = "sha256-f85Bt9GkukOKLXoIjavnSjygc58a8qvLd+Ytr0PgQJo="; + version = "1.1.52"; + sha256 = "sha256-eVGSOQ4G0rZQFqaZC7+lcn9KJtKRSAixw8mjLu3NG/0="; }; beamDeps = [ p1_utils ]; }; fast_tls = builder { name = "fast_tls"; - version = "1.1.19"; + version = "1.1.21"; src = fetchHex { pkg = "fast_tls"; - version = "1.1.19"; - sha256 = "sha256-2zQyLIeC1MUTnMuAcJ2OyMOAibRCYu3QwvZgrElb04k="; + version = "1.1.21"; + sha256 = "sha256-ExVCkTk3Al5IzYCqgfADWWhtVQG3ViHnICaoe1IpUFs="; }; beamDeps = [ p1_utils ]; }; ezlib = builder { name = "ezlib"; - version = "1.0.12"; + version = "1.0.13"; src = fetchHex { pkg = "ezlib"; - version = "1.0.12"; - sha256 = "sha256-MOlDVftCJgqrbhJYLLDFa/IzUV5lXIrq9Idg51YeTrs="; + version = "1.0.13"; + sha256 = "sha256-nuYqs/jtVaD9EalWn8uORYaD+VV1QXJyGSsGnwkqv7s="; }; beamDeps = [ p1_utils ]; }; esip = builder { name = "esip"; - version = "1.0.52"; + version = "1.0.54"; src = fetchHex { pkg = "esip"; - version = "1.0.52"; - sha256 = "sha256-bwAWU5WQBQCqJizgKXFi2Tkxx4wUZNif0O3G49a8AR8="; + version = "1.0.54"; + sha256 = "sha256-gYevgZ1yWc2t2vaXJsI572BMmwsCmKXy0+aHv14iN+4="; }; beamDeps = [ fast_tls p1_utils stun ]; }; @@ -261,21 +256,21 @@ let }; eimp = builder { name = "eimp"; - version = "1.0.22"; + version = "1.0.23"; src = fetchHex { pkg = "eimp"; - version = "1.0.22"; - sha256 = "sha256-s7n/sdml9KK6iKxBioGRZJMtmp06L8PTLKM4zoVcQ5I="; + version = "1.0.23"; + sha256 = "sha256-kHx4ACPLKJPk/Evb5qTwLDVZE4Yqxn8OzCZgXoFrYoo="; }; beamDeps = [ p1_utils ]; }; cache_tab = builder { name = "cache_tab"; - version = "1.0.30"; + version = "1.0.31"; src = fetchHex { pkg = "cache_tab"; - version = "1.0.30"; - sha256 = "sha256-bYpeANj4TEJidwam2+2wLjTVhJXz7WGTXIR1ygUxzaA="; + version = "1.0.31"; + sha256 = "sha256-hYK2CkoJskfvhjVbqeB/zp4R7cA0WndckXH5cccrY1E="; }; beamDeps = [ p1_utils ]; };