Date: Friday, October 21, 2022 @ 20:57:56
  Author: foutrelis
Revision: 1333299

Fix build with Erlang/OTP 25

Added:
  couchdb/trunk/erlang-25-snappy.patch
  couchdb/trunk/erlang-25.patch
Modified:
  couchdb/trunk/PKGBUILD

------------------------+
 PKGBUILD               |   28 +++++++++++++++++++++------
 erlang-25-snappy.patch |   19 ++++++++++++++++++
 erlang-25.patch        |   48 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 89 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-10-21 20:54:06 UTC (rev 1333298)
+++ PKGBUILD    2022-10-21 20:57:56 UTC (rev 1333299)
@@ -18,15 +18,22 @@
         etc/default/couchdb)
 options=(debug)
 
source=("https://archive.apache.org/dist/${pkgname}/source/${pkgver}/apache-${pkgname}-${pkgver}.tar.gz"{,.asc}
+        https://github.com/davisp/jiffy/archive/1.1.1/jiffy-1.1.1.tar.gz
+        erlang-25.patch
+        erlang-25-snappy.patch
         couchdb.default
         couchdb.service
         couchdb.sysusers
         couchdb.tmpfiles)
-sha256sums=(69c9fd6f80133557f68a02e92dda72a4fd646d646f429f45bb8329a30f82f20e 
SKIP
-            0d21fdd7851b3a6fa099b030cab0e96705b1d5a3a83a4ff1c871814d8742cae9
-            6ab3d362f3fcd9079036c883dc09dc597584cb627831460f2e0c68a31aa052ae
-            3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8
-            7331b9675e3668c5f0d632bee5d154c061cc3e60d451bef3dc0d0ab2dadfa006)
+sha256sums=('69c9fd6f80133557f68a02e92dda72a4fd646d646f429f45bb8329a30f82f20e'
+            'SKIP'
+            'a999351d956d3ed10c33a6dd7e9435e674e519b5b82a46d60361afdb83062fd8'
+            '59a8a92200321f670f20746848fcadae35d1818f6bdacbedaf49012866dcfc27'
+            '8a74ae8cc5c5a54cd0a65f7aeed55af257eef8912630b953bfeb8d9329228b4b'
+            '0d21fdd7851b3a6fa099b030cab0e96705b1d5a3a83a4ff1c871814d8742cae9'
+            '6ab3d362f3fcd9079036c883dc09dc597584cb627831460f2e0c68a31aa052ae'
+            '3ed1ad2a37a068ce194b03fb72eb35285d60fa7faf2d2c2bb710703d229108a8'
+            '7331b9675e3668c5f0d632bee5d154c061cc3e60d451bef3dc0d0ab2dadfa006')
 
 # https://downloads.apache.org/couchdb/KEYS
 validpgpkeys=(2EC788AE3F239FA13E82D215CDE711289384AE37  # Joan Touzet (CODE 
SIGNING KEY) <[email protected]>
@@ -36,6 +43,15 @@
 prepare() {
   cd apache-couchdb-${pkgver}
   sed -i 's|./data|/var/lib/couchdb|' configure
+
+  # force recompilation of "rebar" with current erlang
+  rm bin/rebar
+  # use newer jiffy which doesn't ship an "enc" binary
+  rm -r src/jiffy
+  mv ../jiffy-1.1.1 src/jiffy
+
+  patch -Np1 <../erlang-25.patch
+  patch -Np1 -d src/snappy <../erlang-25-snappy.patch
 }
 
 build() {
@@ -59,7 +75,7 @@
   install -Dm644 ${pkgname}.sysusers 
"${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf
 
   # Remove some cruft
-  rm -r "${pkgdir}"/usr/lib/couchdb/erts-12.3/{doc,include,lib,man,src}
+  rm -r "${pkgdir}"/usr/lib/couchdb/erts-13.1.1/{doc,include,lib,man,src}
   rm -rv "${pkgdir}"/usr/lib/couchdb/etc/
   rm -rv 
"${pkgdir}"/usr/lib/couchdb/lib/couch-${pkgver}/priv/couch_{ejson_compare,js}
 }

Added: erlang-25-snappy.patch
===================================================================
--- erlang-25-snappy.patch                              (rev 0)
+++ erlang-25-snappy.patch      2022-10-21 20:57:56 UTC (rev 1333299)
@@ -0,0 +1,19 @@
+From 7ed2207259db0ef82fa3d3ead52af3d3414ec350 Mon Sep 17 00:00:00 2001
+From: Ronny <[email protected]>
+Date: Sat, 11 Jun 2022 14:00:32 +0200
+Subject: [PATCH] Add Erlang 25 support
+
+---
+ rebar.config | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rebar.config b/rebar.config
+index a6a3b70..3b93f8a 100644
+--- a/rebar.config
++++ b/rebar.config
+@@ -1,4 +1,4 @@
+-{require_otp_vsn, "R14|R15|R16|17|18|19|20|21|22|23|24"}.
++{require_otp_vsn, "R14|R15|R16|17|18|19|20|21|22|23|24|25"}.
+ 
+ {erl_opts, [debug_info, warn_unused_vars, warn_shadow_vars, 
warn_unused_import]}.
+ {port_sources, ["c_src/*.cc", 

Added: erlang-25.patch
===================================================================
--- erlang-25.patch                             (rev 0)
+++ erlang-25.patch     2022-10-21 20:57:56 UTC (rev 1333299)
@@ -0,0 +1,48 @@
+From 592837abc8b07f9b28898fa91c31658e2beecfc4 Mon Sep 17 00:00:00 2001
+From: Ronny Berndt <[email protected]>
+Date: Sat, 11 Jun 2022 14:18:54 +0200
+Subject: [PATCH] Add Erlang 25 support
+
+Before merging this PR, PR #16 in couchdb-snappy needs to get merged and 
tagged with CouchDB-1.0.8
+---
+ rebar.config.script | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/rebar.config.script b/rebar.config.script
+index 31855098b3..44c4d61b1a 100644
+--- a/rebar.config.script
++++ b/rebar.config.script
+@@ -192,7 +192,7 @@ MakeDep = fun
+ end.
+ 
+ AddConfig = [
+-    {require_otp_vsn, "20|21|22|23|24"},
++    {require_otp_vsn, "20|21|22|23|24|25"},
+     {deps_dir, "src"},
+     {deps, lists:map(MakeDep, DepDescs ++ OptionalDeps)},
+     {sub_dirs, SubDirs},
+
+From 6da9405ff97acae745ae85f3f9ce92484a7722df Mon Sep 17 00:00:00 2001
+From: Nick Vatamaniuc <[email protected]>
+Date: Fri, 17 Jun 2022 16:47:12 -0400
+Subject: [PATCH] Erlang 25 compatibility - http_uri:parse -> uri_string:parse
+
+This fixes the replicator eunit failure:
+https://github.com/apache/couchdb/pull/4060#issuecomment-1154391783
+---
+ .../test/eunit/couch_replicator_error_reporting_tests.erl       | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git 
a/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl 
b/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
+index 7778bd77de..b0863614c3 100644
+--- 
a/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
++++ 
b/src/couch_replicator/test/eunit/couch_replicator_error_reporting_tests.erl
+@@ -165,7 +165,7 @@ mock_fail_req(Path, Return) ->
+         send_req_direct,
+         fun(W, Url, Headers, Meth, Body, Opts, TOut) ->
+             Args = [W, Url, Headers, Meth, Body, Opts, TOut],
+-            {ok, {_, _, _, _, UPath, _}} = http_uri:parse(Url),
++            #{path := UPath} = uri_string:parse(Url),
+             case lists:suffix(Path, UPath) of
+                 true -> Return;
+                 false -> meck:passthrough(Args)

Reply via email to