[gentoo-commits] repo/gentoo:master commit in: net-misc/sks/, net-misc/sks/files/

2025-06-10 Thread Sam James
commit: 751445976b245a0b052f051bc0a1410d218f4ea4
Author: Sam James  gentoo  org>
AuthorDate: Tue Jun 10 09:24:12 2025 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Jun 10 09:24:12 2025 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75144597

net-misc/sks: EAPI 8, drop dev-lang/ocaml pin

Closes: https://bugs.gentoo.org/832215
Signed-off-by: Sam James  gentoo.org>

 net-misc/sks/files/0001-Makefile-drop-Werror.patch |  29 ++
 .../0002-Switch-to-caml_-prefixed-functions.patch  | 380 +
 ...e-String-Bytes-.-upper-lower-case-removal.patch |  48 +++
 ...e-compat-packages-bigarray-compat-camlp-s.patch |  27 ++
 net-misc/sks/sks-1.1.6_p20200624-r3.ebuild | 142 
 5 files changed, 626 insertions(+)

diff --git a/net-misc/sks/files/0001-Makefile-drop-Werror.patch 
b/net-misc/sks/files/0001-Makefile-drop-Werror.patch
new file mode 100644
index ..28be702a12d9
--- /dev/null
+++ b/net-misc/sks/files/0001-Makefile-drop-Werror.patch
@@ -0,0 +1,29 @@
+From 70ae53256721a3822089cfba24888c76150313a7 Mon Sep 17 00:00:00 2001
+From: Sam James 
+Date: Tue, 10 Jun 2025 10:19:04 +0100
+Subject: [PATCH 1/4] Makefile: drop -Werror
+
+See also 
https://sources.debian.org/patches/sks/1.1.6%2Bgit20210302.c3ba6d5a-4.1/0001-Do-not-error-on-warning-6-labels-omitted.patch/
+
+Bug: https://bugs.gentoo.org/832215
+Signed-off-by: Sam James 
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index c84368e..739a0b1 100644
+--- a/Makefile
 b/Makefile
+@@ -49,7 +49,7 @@ SKSVS=$(shell grep 'version_suffix = "+"' common.ml)
+ ifeq ($(strip $(SKSVS)),)
+ WARNERR=
+ else
+-WARNERR=-warn-error A
++WARNERR=
+ endif
+ 
+ CAMLINCLUDE= -package cryptokit,unix,str,bigarray,num -I bdb
+-- 
+2.49.0
+

diff --git a/net-misc/sks/files/0002-Switch-to-caml_-prefixed-functions.patch 
b/net-misc/sks/files/0002-Switch-to-caml_-prefixed-functions.patch
new file mode 100644
index ..e685442b85d1
--- /dev/null
+++ b/net-misc/sks/files/0002-Switch-to-caml_-prefixed-functions.patch
@@ -0,0 +1,380 @@
+From 5e46e59e6e403690d5e7a7ec8acbce831e5db81c Mon Sep 17 00:00:00 2001
+From: Sam James 
+Date: Tue, 10 Jun 2025 10:20:31 +0100
+Subject: [PATCH 2/4] Switch to caml_ prefixed functions
+
+This is needed w/ 5.3.0 at least.
+
+Signed-off-by: Sam James 
+---
+ bdb/bdb_stubs.c | 82 -
+ crc.c   |  8 ++---
+ 2 files changed, 45 insertions(+), 45 deletions(-)
+
+diff --git a/bdb/bdb_stubs.c b/bdb/bdb_stubs.c
+index 959ee27..87bcd5d 100644
+--- a/bdb/bdb_stubs.c
 b/bdb/bdb_stubs.c
+@@ -59,7 +59,7 @@ static void dbt_from_string(DBT *dbt, value v) {
+   zerob(dbt, sizeof(*dbt));
+ 
+   dbt->data = (void *)String_val(v);
+-  dbt->size = string_length(v);
++  dbt->size = caml_string_length(v);
+ }
+ 
+ #if OCAML_VERSION < 40600
+@@ -75,19 +75,19 @@ static value caml_alloc_initialized_string(size_t len, 
const char *p)
+ 
+ #define test_cursor_closed(cursor) \
+   if (UW_cursor_closed(cursor)) \
+-   invalid_argument("Attempt to use closed cursor")
++   caml_invalid_argument("Attempt to use closed cursor")
+ 
+ #define test_dbenv_closed(dbenv) \
+   if (UW_dbenv_closed(dbenv)) \
+-   invalid_argument("Attempt to use closed dbenv")
++   caml_invalid_argument("Attempt to use closed dbenv")
+ 
+ #define test_db_closed(db) \
+   if (UW_db_closed(db))  \
+-   invalid_argument("Attempt to use closed db")
++   caml_invalid_argument("Attempt to use closed db")
+ 
+ #define test_txn_closed(txn) \
+   if (UW_txn_closed(txn)) \
+-invalid_argument("Attempt to use closed txn")
++caml_invalid_argument("Attempt to use closed txn")
+ 
+ // comments starting with "//+" are extracted automatically to create the .ml
+ // file that forms the caml side of this interface.
+@@ -239,15 +239,15 @@ value caml_db_init(value v){
+ //+ type db
+ 
+ void raise_db(const char *msg) {
+-  raise_with_string(*caml_db_exn, msg);
++  caml_raise_with_string(*caml_db_exn, msg);
+ }
+ 
+ void raise_key_exists() {
+-  raise_constant(*caml_key_exists_exn);
++  caml_raise_constant(*caml_key_exists_exn);
+ }
+ 
+ void raise_run_recovery() {
+-  raise_constant(*caml_db_run_recovery_exn);
++  caml_raise_constant(*caml_db_run_recovery_exn);
+ }
+ 
+ // Used as callback by db infrastructure for setting errors.  As a result,
+@@ -321,7 +321,7 @@ value caml_dbenv_create(value unit){
+ 
+   dbenv->set_errcall(dbenv,raise_db_cb);
+ 
+-  rval = alloc_custom(&dbenv_custom,Camldbenv_wosize,0,1);
++  rval = caml_alloc_custom(&dbenv_custom,Camldbenv_wosize,0,1);
+   UW_dbenv(rval) = dbenv;
+   UW_dbenv_closed(rval) = False;
+   CAMLreturn (rval);
+@@ -335,7 +335,7 @@ value caml_dbenv_open(value dbenv, value vdirectory,
+   CAMLparam4(dbenv,vdirectory,vflags,vmode);
+   int err;
+   const char *directory = String_val(vdirectory);
+-  int flags = convert_flag_list(vflags,dbenv_open_flags);
++  int flags = caml_convert

[gentoo-commits] repo/gentoo:master commit in: net-misc/sks/, net-misc/sks/files/

2021-04-06 Thread Sam James
commit: ddd41714ba739d7ef77ef4b2cb5c0bfeb5386cf3
Author: Sam James  gentoo  org>
AuthorDate: Tue Apr  6 22:47:08 2021 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Apr  6 22:47:25 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddd41714

net-misc/sks: add upstream patch for DB hang

Bug: https://bugs.gentoo.org/780141
Signed-off-by: Sam James  gentoo.org>

 .../sks/files/sks-1.1.6_p20200624-r1-db-hang.patch |  32 +
 net-misc/sks/sks-1.1.6_p20200624-r1.ebuild | 133 +
 2 files changed, 165 insertions(+)

diff --git a/net-misc/sks/files/sks-1.1.6_p20200624-r1-db-hang.patch 
b/net-misc/sks/files/sks-1.1.6_p20200624-r1-db-hang.patch
new file mode 100644
index 000..a09d55c1bb8
--- /dev/null
+++ b/net-misc/sks/files/sks-1.1.6_p20200624-r1-db-hang.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/780141
+https://github.com/SKS-Keyserver/sks-keyserver/commit/c3ba6d5abb525dcb84745245631c410c11c07ec1.patch
+
+From c3ba6d5abb525dcb84745245631c410c11c07ec1 Mon Sep 17 00:00:00 2001
+From: ygrek 
+Date: Thu, 4 Feb 2021 15:31:02 -0500
+Subject: [PATCH] do not set DB_DBT_READONLY (fix #82)
+
+it is allowed only on keys, but sks is not using any bdb functions that
+might mutate keys, so it is easier to just avoid using it altogether
+---
+ bdb/bdb_stubs.c | 5 -
+ 1 file changed, 5 deletions(-)
+
+diff --git a/bdb/bdb_stubs.c b/bdb/bdb_stubs.c
+index 864f0b2..959ee27 100644
+--- a/bdb/bdb_stubs.c
 b/bdb/bdb_stubs.c
+@@ -58,13 +58,8 @@ static void dbt_from_string(DBT *dbt, value v) {
+   // uninitialized stack-allocated DBT
+   zerob(dbt, sizeof(*dbt));
+ 
+-  // Cast away the lack of const: we set DB_DBT_READONLY to
+-  // indicate to bdb that it shouldn't modify this buffer
+   dbt->data = (void *)String_val(v);
+   dbt->size = string_length(v);
+-#ifdef DB_DBT_READONLY
+-  dbt->flags = DB_DBT_READONLY;
+-#endif
+ }
+ 
+ #if OCAML_VERSION < 40600

diff --git a/net-misc/sks/sks-1.1.6_p20200624-r1.ebuild 
b/net-misc/sks/sks-1.1.6_p20200624-r1.ebuild
new file mode 100644
index 000..86789aedbe7
--- /dev/null
+++ b/net-misc/sks/sks-1.1.6_p20200624-r1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit readme.gentoo-r1 systemd toolchain-funcs
+
+COMMIT="591a7834dc9f1dff3d336d769a6561138a5befe7"
+DESCRIPTION="An OpenPGP keyserver which is decentralized with highly reliable 
synchronization"
+HOMEPAGE="https://github.com/SKS-Keyserver/sks-keyserver";
+SRC_URI="https://github.com/SKS-Keyserver/sks-keyserver/archive/${COMMIT}.tar.gz
 -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-keyserver-${COMMIT}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="optimize test"
+RESTRICT="!test? ( test )"
+
+DOC_CONTENTS="To get sks running, first build the database,
+start the database, import atleast one key, then
+run a cleandb. See the sks man page for more information
+Typical DB_CONFIG file and sksconf has been installed
+in /var/lib/sks and can be used as templates by renaming
+to remove the .typical extension. The DB_CONFIG file has
+to be in place before doing the database build, or the BDB
+environment has to be manually cleared from both KDB and PTree.
+The same applies if you are upgrading to this version with an existing 
KDB/Ptree,
+using another version of BDB than 4.8; you need to clear the environment
+using e.g. db4.6_recover -h . and db4.6_checkpoint -1h . in both KDB and PTree
+Additionally a sample web interface has been installed as
+web.typical in /var/lib/sks that can be used by renaming it to web
+Important: It is strongly recommended to set up SKS behind a
+reverse proxy. Instructions on properly configuring SKS can be
+found at https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Peering";
+
+RDEPEND="
+   acct-user/sks
+   acct-group/sks
+   >=dev-lang/ocaml-4.0:=
+   dev-ml/camlp4:=
+   dev-ml/cryptokit:=
+   dev-ml/num:=
+   sys-libs/db:5.3
+"
+DEPEND="${RDEPEND}
+   dev-ml/findlib"
+
+PATCHES=(
+   "${FILESDIR}"/${PN}-1.1.6_p20200624-respect-CFLAGS-CXXFLAGS.patch
+   "${FILESDIR}"/${PN}-1.1.6_p20200624-QA-fixups.patch
+   "${FILESDIR}"/${PN}-1.1.6_p20200624-r1-db-hang.patch
+)
+
+QA_FLAGS_IGNORED=(
+   /usr/bin/sks_add_mail
+)
+
+src_prepare() {
+   cp Makefile.local.unused Makefile.local || die
+   sed -i \
+   -e "s:^BDBLIB=.*$:BDBLIB=-L/usr/$(get_libdir):g" \
+   -e "s:^BDBINCLUDE=.*$:BDBINCLUDE=-I/usr/include/db5.3/:g" \
+   -e "s:^LIBDB=.*$:LIBDB=-ldb-5.3:g" \
+   -e "s:^PREFIX=.*$:PREFIX=${D}/usr:g" \
+   -e "s:^MANDIR=.*$:MANDIR=${D}/usr/share/man:g" \
+   Makefile.local || die
+   sed -i \
+   -e 's:/usr/sbin/sks:/usr/bin/sks:g' \
+   sks_build.sh || die
+
+   dosym sks_build.sh /usr/bin/sks_build.bc.sh
+   default
+}
+
+src_compile() {
+   tc-e

[gentoo-commits] repo/gentoo:master commit in: net-misc/sks/, net-misc/sks/files/

2017-07-08 Thread Alexis Ballier
commit: e0555bdfc4695a025541918c967e3e415f026397
Author: Alexis Ballier  gentoo  org>
AuthorDate: Sat Jul  8 17:35:43 2017 +
Commit: Alexis Ballier  gentoo  org>
CommitDate: Sat Jul  8 17:36:00 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0555bdf

net-misc/sks: use ocamlfind for link and build.

Fixes build with latest cryptokit.
Improve a bit dependencies too.

Package-Manager: Portage-2.3.6, Repoman-2.3.2

 net-misc/sks/files/sks-1.1.6-use-ocamlfind.patch |  39 
 net-misc/sks/sks-1.1.6-r3.ebuild | 118 +++
 2 files changed, 157 insertions(+)

diff --git a/net-misc/sks/files/sks-1.1.6-use-ocamlfind.patch 
b/net-misc/sks/files/sks-1.1.6-use-ocamlfind.patch
new file mode 100644
index 000..c9afc259409
--- /dev/null
+++ b/net-misc/sks/files/sks-1.1.6-use-ocamlfind.patch
@@ -0,0 +1,39 @@
+Use ocamlfind for finding dependencies, esp. for doing their transitive 
closure.
+
+Ideally the build system should be converted to something more modern like
+jbuilder.
+
+Index: sks-1.1.6/Makefile
+===
+--- sks-1.1.6.orig/Makefile
 sks-1.1.6/Makefile
+@@ -21,10 +21,10 @@ CFLAGS=-O3  $(CINCLUDES) -I .
+ CXXFLAGS=-O3 $(CINCLUDES) -I .
+ 
+ ifndef OCAMLC
+-  OCAMLC=ocamlc
++  OCAMLC=ocamlfind ocamlc
+ endif
+ ifndef OCAMLOPT
+-  OCAMLOPT=ocamlopt
++  OCAMLOPT=ocamlfind ocamlopt
+ endif
+ ifndef CAMLP4O
+   CAMLP4O=camlp4o
+@@ -55,12 +55,12 @@ WARNERR=-warn-error A
+ endif
+ 
+ CAMLP4=-pp $(CAMLP4O)
+-CAMLINCLUDE= -I lib -I bdb -I +cryptokit
++CAMLINCLUDE= -package cryptokit,unix,str,bigarray -I lib -I bdb
+ COMMONCAMLFLAGS=$(CAMLINCLUDE) $(OCAMLLIB) $(CAMLLDFLAGS) -ccopt -Lbdb 
-dtypes $(WARNERR)
+ OCAMLDEP=ocamldep $(CAMLP4)
+-CAMLLIBS=unix.cma str.cma bdb.cma nums.cma bigarray.cma cryptokit.cma
+-OCAMLFLAGS=$(COMMONCAMLFLAGS) -g $(CAMLLIBS)
+-OCAMLOPTFLAGS=$(COMMONCAMLFLAGS) -inline 40 $(CAMLLIBS:.cma=.cmxa)
++CAMLLIBS=bdb.cma nums.cma
++OCAMLFLAGS=$(COMMONCAMLFLAGS) -linkpkg -g $(CAMLLIBS)
++OCAMLOPTFLAGS=$(COMMONCAMLFLAGS) -linkpkg -inline 40 $(CAMLLIBS:.cma=.cmxa)
+ 
+ EXE=sks sks_add_mail
+ ALL=$(EXE) sks.8.gz

diff --git a/net-misc/sks/sks-1.1.6-r3.ebuild b/net-misc/sks/sks-1.1.6-r3.ebuild
new file mode 100644
index 000..a830d01e828
--- /dev/null
+++ b/net-misc/sks/sks-1.1.6-r3.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib user readme.gentoo-r1 systemd
+
+DESCRIPTION="An OpenPGP keyserver which is decentralized with highly reliable 
synchronization"
+HOMEPAGE="https://bitbucket.org/skskeyserver/sks-keyserver";
+SRC_URI="https://bitbucket.org/skskeyserver/sks-keyserver/downloads/${P}.tgz";
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="optimize test"
+DOC_CONTENTS="To get sks running, first build the database,
+start the database, import atleast one key, then
+run a cleandb. See the sks man page for more information
+Typical DB_CONFIG file and sksconf has been installed
+in /var/lib/sks and can be used as templates by renaming
+to remove the .typical extension. The DB_CONFIG file has
+to be in place before doing the database build, or the BDB
+environment has to be manually cleared from both KDB and PTree.
+The same applies if you are upgrading to this version with an existing 
KDB/Ptree,
+using another version of BDB than 4.8; you need to clear the environment
+using e.g. db4.6_recover -h . and db4.6_checkpoint -1h . in both KDB and PTree
+Additionally a sample web interface has been installed as
+web.typical in /var/lib/sks that can be used by renaming it to web
+Important: It is strongly recommended to set up SKS behind a
+reverse proxy. Instructions on properly configuring SKS can be
+found at https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Peering";
+
+RDEPEND=">=dev-lang/ocaml-4.0:=
+   dev-ml/camlp4:=
+   dev-ml/cryptokit:=
+   sys-libs/db:5.3"
+DEPEND="${RDEPEND}
+   dev-ml/findlib"
+
+pkg_setup() {
+   ebegin "Creating named group and user"
+   enewgroup sks
+   enewuser sks -1 -1 /var/lib/sks sks
+}
+
+src_prepare() {
+   eapply "${FILESDIR}/${P}-unbundle-cryptokit.patch" \
+  "${FILESDIR}/${P}-use-ocamlfind.patch"
+   cp Makefile.local.unused Makefile.local || die
+   sed -i \
+   -e "s:^BDBLIB=.*$:BDBLIB=-L/usr/$(get_libdir):g" \
+   -e "s:^BDBINCLUDE=.*$:BDBINCLUDE=-I/usr/include/db5.3/:g" \
+   -e "s:^LIBDB=.*$:LIBDB=-ldb-5.3:g" \
+   -e "s:^PREFIX=.*$:PREFIX=${D}/usr:g" \
+   -e "s:^MANDIR=.*$:MANDIR=${D}/usr/share/man:g" \
+   Makefile.local || die
+   sed -i \
+   -e 's:^CAMLINCLUDE= -I lib -I bdb$:CAMLINCLUDE= -I lib -I bdb 
-I +cryptokit:g' \
+   -e 's:-Werror-implicit-function-declaration::g' \
+   Makefile bdb/