Sunday, December 31, 2023

Re: Any change updating ocserv to latest

On Sun 31/12/2023 23:05, Dylan D'Silva wrote:
> Hello Bjorn,
>
> Any change of getting a update to ocserv?
> Latest is 1.2.3.
>
> Thanks
> Dylan

(CC'ed to ports@ for some exposure)

Diff below updates ocserv to 1.2.3. Overview on changes can be found on
https://gitlab.com/openconnect/ocserv/-/blob/0f5ba83f762bed11815d1dd37c37dcc6d1cd26d1/NEWS

Synced patches (several did not apply cleanly), and changed
AUTOCONF_VERSION to 2.71 to get rid of a warning. No new failing tests
while running 'make test'.

I stopped using ocserv some time ago so testing is limited to building
and running 'make test'. Before committing this it would be helpful if
actual users test this update, and report back.

Comments?


diff --git Makefile Makefile
index 3e6077b19b1..1041430bb21 100644
--- Makefile
+++ Makefile
@@ -1,8 +1,7 @@
COMMENT= server implementing the AnyConnect SSL VPN protocol

-DISTNAME= ocserv-1.1.6
+DISTNAME= ocserv-1.2.3
EXTRACT_SUFX= .tar.xz
-REVISION= 2

CATEGORIES= net

@@ -46,7 +45,7 @@ CONFIGURE_ARGS= --disable-namespaces \
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"

-AUTOCONF_VERSION= 2.69
+AUTOCONF_VERSION= 2.71

post-extract:
find ${WRKSRC}/tests -type f -perm -+x -exec \
@@ -65,7 +64,7 @@ post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/ocserv
cd ${WRKSRC}/doc; ${INSTALL_DATA} profile.xml sample.passwd \
${PREFIX}/share/examples/ocserv/
- mv ${PREFIX}/bin/ocserv-fw ${PREFIX}/share/examples/ocserv/
+ mv ${PREFIX}/libexec/ocserv-fw ${PREFIX}/share/examples/ocserv/
${SUBST_CMD} -c -m ${SHAREMODE} -o ${SHAREOWN} -g ${SHAREGRP} \
${WRKSRC}/doc/sample.config \
${PREFIX}/share/examples/ocserv/sample.config
diff --git distinfo distinfo
index 16c7a6c526b..5af47ccb0fe 100644
--- distinfo
+++ distinfo
@@ -1,2 +1,2 @@
-SHA256 (ocserv-1.1.6.tar.xz) = amy+kiEuMigEJqUcY0rcPUgDV53QSc/bfgFHFMyCxpM=
-SIZE (ocserv-1.1.6.tar.xz) = 839744
+SHA256 (ocserv-1.2.3.tar.xz) = Bs4Py1moszuNZdblUd4rXvd7fqZBuHyqZUpe6cSfG78=
+SIZE (ocserv-1.2.3.tar.xz) = 757484
diff --git patches/patch-configure_ac patches/patch-configure_ac
index 57995c43ca3..2ebaa85895b 100644
--- patches/patch-configure_ac
+++ patches/patch-configure_ac
@@ -1,7 +1,7 @@
Index: configure.ac
--- configure.ac.orig
+++ configure.ac
-@@ -222,7 +222,7 @@ if test "$test_for_geoip" = yes && test "$have_maxmind
+@@ -219,7 +219,7 @@ if test "$test_for_geoip" = yes && test "$have_maxmind
fi

have_readline=no
diff --git patches/patch-doc_sample_config patches/patch-doc_sample_config
index e509136066d..60a4aea8589 100644
--- patches/patch-doc_sample_config
+++ patches/patch-doc_sample_config
@@ -52,14 +52,14 @@ Index: doc/sample.config
### failures during the reloading time.


--# Whether to enable seccomp/Linux namespaces worker isolation. That restricts the number of
+-# Whether to enable seccomp/Linux namespaces worker isolation. That restricts the number of
-# system calls allowed to a worker process, in order to reduce damage from a
-# bug in the worker process. It is available on Linux systems at a performance cost.
-# The performance cost is roughly 2% overhead at transfer time (tested on a Linux 3.17.8).
-# Note however, that process isolation is restricted to the specific libc versions
-# the isolation was tested at. If you get random failures on worker processes, try
-# disabling that option and report the failures you, along with system and debugging
--# information at: https://gitlab.com/ocserv/ocserv/issues
+-# information at: https://gitlab.com/openconnect/ocserv/issues
-isolate-workers = true
-
# A banner to be displayed on clients after connection
@@ -94,11 +94,11 @@ Index: doc/sample.config
-pid-file = /var/run/ocserv.pid
+pid-file = ${LOCALSTATEDIR}/run/ocserv.pid

- # Log Level. It can be overridden in the command line with the -d option.
- # All messages at the configure level and lower will be displayed.
-@@ -563,6 +540,11 @@ no-route = 192.168.5.0/255.255.255.0
+ # Log Level. Ocserv sends the logging messages to standard error
+ # as well as the system log. The log level can be overridden in the
+@@ -568,6 +545,11 @@ no-route = 192.168.5.0/255.255.255.0
# any other routes. In case of defaultroute, the no-routes are restricted.
- # All the routes applied by ocserv can be reverted using /etc/ocserv/ocserv-fw
+ # All the routes applied by ocserv can be reverted using /usr/libexec/ocserv-fw
# --removeall. This option can be set globally or in the per-user configuration.
+#
+# OpenBSD package notes:
@@ -108,7 +108,7 @@ Index: doc/sample.config
#restrict-user-to-routes = true

# This option implies restrict-user-to-routes set to true. If set, the
-@@ -635,23 +617,6 @@ no-route = 192.168.5.0/255.255.255.0
+@@ -640,23 +622,6 @@ no-route = 192.168.5.0/255.255.255.0
# and '%{G}', if present will be replaced by the username and group name.
#proxy-url = http://example.com/
#proxy-url = http://example.com/%{U}/
@@ -123,7 +123,7 @@ Index: doc/sample.config
-# }
-# In some distributions the krb5-k5tls plugin of kinit is required.
-#
--# The following option is available in ocserv, when compiled with GSSAPI support.
+-# The following option is available in ocserv, when compiled with GSSAPI support.
-
-#kkdcp = "SERVER-PATH KERBEROS-REALM PROTOCOL@SERVER:PORT"
-#kkdcp = "/KdcProxy KERBEROS.REALM udp@127.0.0.1:88"
diff --git patches/patch-src_main-ban_c patches/patch-src_main-ban_c
index 1a26d4a0ef9..04fb867bbbb 100644
--- patches/patch-src_main-ban_c
+++ patches/patch-src_main-ban_c
@@ -1,21 +1,14 @@
Index: src/main-ban.c
--- src/main-ban.c.orig
+++ src/main-ban.c
-@@ -408,8 +408,8 @@ static bool test_local_ipv6(struct sockaddr_in6 * remo
+@@ -407,8 +407,8 @@ static bool test_local_ipv6(struct sockaddr_in6 * remo
unsigned index = 0;
-
+
for (index = 0; index < 4; index ++) {
- uint32_t l = local->sin6_addr.s6_addr32[index] & network->sin6_addr.s6_addr32[index];
- uint32_t r = remote->sin6_addr.s6_addr32[index] & network->sin6_addr.s6_addr32[index];
+ uint32_t l = local->sin6_addr.__u6_addr.__u6_addr32[index] & network->sin6_addr.__u6_addr.__u6_addr32[index];
+ uint32_t r = remote->sin6_addr.__u6_addr.__u6_addr32[index] & network->sin6_addr.__u6_addr.__u6_addr32[index];
- if (l != r)
+ if (l != r)
return false;
}
-@@ -448,4 +448,4 @@ void if_address_cleanup(main_server_st * s)
-
- s->if_addresses = NULL;
- s->if_addresses_count = 0;
--}
-\ No newline at end of file
-+}
diff --git patches/patch-src_occtl_occtl_c patches/patch-src_occtl_occtl_c
index 9f3ef714c77..42aef789566 100644
--- patches/patch-src_occtl_occtl_c
+++ patches/patch-src_occtl_occtl_c
@@ -1,7 +1,7 @@
Index: src/occtl/occtl.c
--- src/occtl/occtl.c.orig
+++ src/occtl/occtl.c
-@@ -264,7 +264,7 @@ static int handle_help_cmd(CONN_TYPE * conn, const cha
+@@ -260,7 +260,7 @@ static int handle_help_cmd(CONN_TYPE * conn, const cha
static int handle_reset_cmd(CONN_TYPE * conn, const char *arg, cmd_params_st *params)
{
rl_reset_terminal(NULL);
diff --git patches/patch-src_occtl_time_c patches/patch-src_occtl_time_c
index 43ff537f893..afd8eb16800 100644
--- patches/patch-src_occtl_time_c
+++ patches/patch-src_occtl_time_c
@@ -1,19 +1,20 @@
time_t is 64 bits on all OpenBSD (and NetBSD) arch; cast time values
to a specific-width type to avoid problems on 32-bit arch

---- src/occtl/time.c.orig Sun Mar 6 09:44:05 2016
-+++ src/occtl/time.c Sat Mar 19 14:25:48 2016
+Index: src/occtl/time.c
+--- src/occtl/time.c.orig
++++ src/occtl/time.c
@@ -36,7 +36,7 @@ void print_time_ival7(char output[MAX_TMPSTR_SIZE], ti
{
time_t t = t1 - t2;

-- if ((long)t < (long)0) {
-+ if ((long long)t < (long long)0) {
+- if ((long)t < 0) {
++ if ((long long)t < 0) {
/* system clock changed? */
snprintf(output, MAX_TMPSTR_SIZE, " ? ");
return;
@@ -44,17 +44,17 @@ void print_time_ival7(char output[MAX_TMPSTR_SIZE], ti
-
+
if (t >= 48 * 60 * 60)
/* 2 days or more */
- snprintf(output, MAX_TMPSTR_SIZE, _("%2ludays"), (long)t / (24 * 60 * 60));
diff --git patches/patch-src_ocpasswd_ocpasswd_c patches/patch-src_ocpasswd_ocpasswd_c
index f0a0398ce8f..7f44b7711c7 100644
--- patches/patch-src_ocpasswd_ocpasswd_c
+++ patches/patch-src_ocpasswd_ocpasswd_c
@@ -4,18 +4,15 @@ support SHA2 ($5$ hashes) and has removed support for MD5 ($1$).
Index: src/ocpasswd/ocpasswd.c
--- src/ocpasswd/ocpasswd.c.orig
+++ src/ocpasswd/ocpasswd.c
-@@ -26,6 +26,10 @@
- #ifndef _XOPEN_SOURCE
- # define _XOPEN_SOURCE
-

Re: lang/rust: roadmap for using SYSTEM_VERSION

Hi,

With the hint from espie@, it is possible to have a proper inclusion of
lang/rust module from devel/cargo module. So it is possible to have a
more simple usage of devel/cargo.

I would introduce a new lang/rust module (with just SYSTEM_VERSION-rust,
BUILD_DEPENDS+=lang/rust, and MODRUST_WANTLIB definition)

And keep the devel/cargo module to:
- use lang/rust MODULE
- reexport MODCARGO_WANTLIB=${MODRUST_WANTLIB}

So there is basically no changes in usage of devel/cargo module, and all
rust ports using lang/rust module will gain SYSTEM_VERSION-rust.


Regarding the diffs.

arch-defines.mk could be like the following:

Index: infrastructure/mk/arch-defines.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/arch-defines.mk,v
retrieving revision 1.100
diff -u -p -r1.100 arch-defines.mk
--- infrastructure/mk/arch-defines.mk 20 Nov 2023 19:20:32 -0000 1.100
+++ infrastructure/mk/arch-defines.mk 1 Jan 2024 06:19:53 -0000
@@ -105,6 +105,10 @@ _SYSTEM_VERSION-clang = 2
_SYSTEM_VERSION-go = ${_MODGO_SYSTEM_VERSION}
.endif

+# defined in rust.port.mk; added to version for all rust arches so that
+# rust-compiled packages can be updated easily for a new rust compiler/stdlib
+_SYSTEM_VERSION-rust ?= 0
+
# @version = ${_SYSTEM_VERSION} + ${_SYSTEM_VERSION-${MACHINE_ARCH}}
_PKG_ARGS_VERSION += -V ${_SYSTEM_VERSION} -V ${_SYSTEM_VERSION-${MACHINE_ARCH}}
.if ${ARCH} != ${MACHINE_ARCH}




It means that, by default, it will add a `-V 0' to _PKG_ARGS_VERSION,
which is a nop.

In lang/rust module, the variable would be defined to something else (1,
2, 3...). So a port using the lang/rust module will have `-V N' instead
of the default `-V 0'.


The full rust.port.mk diff is:

Index: lang/rust/rust.port.mk
===================================================================
RCS file: lang/rust/rust.port.mk
diff -N lang/rust/rust.port.mk
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lang/rust/rust.port.mk 1 Jan 2024 06:19:30 -0000
@@ -0,0 +1,29 @@
+# increment after rust compiler update to trigger updates of
+# all compiled rust packages (see arch-defines.mk)
+_SYSTEM_VERSION-rust = 1
+
+CATEGORIES += lang/rust
+
+# WANTLIB for Rust compiled code
+# it should be kept in sync with lang/rust code
+# - c/pthread : all syscalls
+# - c++abi / libgcc.a : unwind
+MODRUST_WANTLIB += c pthread
+
+.if "${MACHINE_ARCH}" != "sparc64"
+MODRUST_WANTLIB += c++abi
+.else
+# libgcc.a is static
+MODRUST_WANTLIB +=
+.endif
+
+CHECK_LIB_DEPENDS_ARGS += -S MODRUST_WANTLIB="${MODRUST_WANTLIB}"
+
+MODRUST_BUILDDEP ?= Yes
+.if ${MODRUST_BUILDDEP:L} == "yes"
+BUILD_DEPENDS += lang/rust
+.endif
+
+# Location of rustc/rustdoc binaries
+MODRUST_RUSTC_BIN = ${LOCALBASE}/bin/rustc
+MODRUST_RUSTDOC_BIN = ${LOCALBASE}/bin/rustdoc



And regarding devel/cargo module, it could just use lang/rust module,
and re-export the MODRUST_WANTLIB definition under MODCARGO_WANTLIB
name to keep to compat. (The diff includes also few cleanup).

Index: devel/cargo/cargo.port.mk
===================================================================
RCS file: /cvs/ports/devel/cargo/cargo.port.mk,v
retrieving revision 1.41
diff -u -p -r1.41 cargo.port.mk
--- devel/cargo/cargo.port.mk 6 Nov 2023 20:44:36 -0000 1.41
+++ devel/cargo/cargo.port.mk 1 Jan 2024 06:20:26 -0000
@@ -1,4 +1,4 @@
-CATEGORIES += lang/rust
+MODULES += lang/rust

# List of static dependencies. The format is cratename-version.
# MODCARGO_CRATES will be downloaded from SITES_CRATESIO.
@@ -24,20 +24,8 @@ MODCARGO_VENDOR_DIR ?= ${WRKSRC}/modcarg
MODCARGO_CARGOTOML ?= ${WRKSRC}/Cargo.toml

# WANTLIB for Rust compiled code
-# it should be kept in sync with lang/rust code
-# - c/pthread : all syscalls
-# - c++abi / libgcc.a : unwind
-MODCARGO_WANTLIB = c pthread
-
-.if "${MARCHINE_ARCH}" != "sparc64"
-MODCARGO_WANTLIB += c++abi
-.else
-# libgcc.a is static
-MODCARGO_WANTLIB +=
-.endif
-
+MODCARGO_WANTLIB = ${MODRUST_WANTLIB}
CHECK_LIB_DEPENDS_ARGS += -S MODCARGO_WANTLIB="${MODCARGO_WANTLIB}"
-CHECK_LIB_DEPENDS_ARGS += -F c++abi

# Define SITES_CRATESIO for crates.io
SITES.cargo = https://crates.io/api/v1/crates/
@@ -274,16 +262,9 @@ MODCARGO_configure += ;
.endif

# Build dependencies.
-MODCARGO_BUILD_DEPENDS = lang/rust
-
# devel/cargo-generate-vendor is mandatory for hooks.
BUILD_DEPENDS += devel/cargo-generate-vendor

-MODCARGO_BUILDDEP ?= Yes
-.if ${MODCARGO_BUILDDEP:L} == "yes"
-BUILD_DEPENDS += ${MODCARGO_BUILD_DEPENDS}
-.endif
-
# Location of cargo binary (default to devel/cargo binary)
MODCARGO_CARGO_BIN ?= ${LOCALBASE}/bin/cargo

@@ -305,8 +286,8 @@ MODCARGO_ENV += \
CARGO_BUILD_JOBS=${MAKE_JOBS} \
CARGO_TARGET_DIR=${MODCARGO_TARGET_DIR} \
RUST_BACKTRACE=full \
- RUSTC=${LOCALBASE}/bin/rustc \
- RUSTDOC=${LOCALBASE}/bin/rustdoc \
+ RUSTC=${MODRUST_RUSTC_BIN} \
+ RUSTDOC=${MODRUST_RUSTDOC_BIN} \
RUSTFLAGS="${MODCARGO_RUSTFLAGS}"

# Helper to shorten cargo calls.



The downside of the approch is the transition needs to be more in
one-time, as there is no more "old way" and "new way": both can't
coexist. As soon devel/cargo is modified to use lang/rust module, things
are bumped so there are expected to be right which, after review, isn't
the case at all.

The current status of rust ports is that on 78 ports, 33 ports has wrong
WANTLIB (not using MODCARGO_WANTLIB and hardcoding c++abi).

In a first time, I will correct that (by abusing a typo in the current
devel/cargo module which made MODCARGO_WANTLIB is "c pthread c++abi" in
all cases even on sparc64). And once the tree would be more clean,
add the lang/rust module and modify devel/cargo to use it.

I add below a full diff I have for now. I will see with some MAINTAINER
before changing ports.

Any comments ?
--
Sebastien Marie


? ports.diff
Index: databases/influxdb/Makefile
===================================================================
RCS file: /cvs/ports/databases/influxdb/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- databases/influxdb/Makefile 3 Dec 2023 16:57:35 -0000 1.29
+++ databases/influxdb/Makefile 1 Jan 2024 06:12:01 -0000
@@ -17,22 +17,25 @@ PERMIT_PACKAGE = Yes
MODULES = lang/go \
devel/cargo

-BUILD_DEPENDS = ${MODCARGO_BUILD_DEPENDS} \
- textproc/xmlto \
+BUILD_DEPENDS = textproc/xmlto \
textproc/asciidoc

#some dists have -w
FIX_CLEANUP_PERMISSIONS = Yes
-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

COMPILER = base-clang ports-gcc
MODCARGO_BUILD = No
MODCARGO_INSTALL = No
MODCARGO_CARGOTOML = ${WRKDIR}/go/pkg/mod/github.com/influxdata/flux@v0.194.3/libflux/Cargo.toml
MODCARGO_TARGET_DIR = ${WRKDIR}/go/pkg/mod/github.com/influxdata/flux@v0.194.3/libflux/target
+
+.if ${MACHINE_ARCH} != "sparc64"
# needed to make sure unwind* symbols are found
MODCARGO_RUSTFLAGS +=-C link-arg=-lc++abi
CGO_LDFLAGS=-lc++abi
+.endif
+
MAKE_ENV += ${MODCARGO_ENV} CGO_LDFLAGS=${CGO_LDFLAGS}
MAKE_ENV += PKG_CONFIG=${WRKSRC}/scripts/pkg-config.sh
.include "crates.inc"
Index: devel/cargo/cargo.port.mk
===================================================================
RCS file: /cvs/ports/devel/cargo/cargo.port.mk,v
retrieving revision 1.41
diff -u -p -r1.41 cargo.port.mk
--- devel/cargo/cargo.port.mk 6 Nov 2023 20:44:36 -0000 1.41
+++ devel/cargo/cargo.port.mk 1 Jan 2024 06:12:01 -0000
@@ -1,4 +1,4 @@
-CATEGORIES += lang/rust
+MODULES += lang/rust

# List of static dependencies. The format is cratename-version.
# MODCARGO_CRATES will be downloaded from SITES_CRATESIO.
@@ -24,20 +24,8 @@ MODCARGO_VENDOR_DIR ?= ${WRKSRC}/modcarg
MODCARGO_CARGOTOML ?= ${WRKSRC}/Cargo.toml

# WANTLIB for Rust compiled code
-# it should be kept in sync with lang/rust code
-# - c/pthread : all syscalls
-# - c++abi / libgcc.a : unwind
-MODCARGO_WANTLIB = c pthread
-
-.if "${MARCHINE_ARCH}" != "sparc64"
-MODCARGO_WANTLIB += c++abi
-.else
-# libgcc.a is static
-MODCARGO_WANTLIB +=
-.endif
-
+MODCARGO_WANTLIB = ${MODRUST_WANTLIB}
CHECK_LIB_DEPENDS_ARGS += -S MODCARGO_WANTLIB="${MODCARGO_WANTLIB}"
-CHECK_LIB_DEPENDS_ARGS += -F c++abi

# Define SITES_CRATESIO for crates.io
SITES.cargo = https://crates.io/api/v1/crates/
@@ -274,16 +262,9 @@ MODCARGO_configure += ;
.endif

# Build dependencies.
-MODCARGO_BUILD_DEPENDS = lang/rust
-
# devel/cargo-generate-vendor is mandatory for hooks.
BUILD_DEPENDS += devel/cargo-generate-vendor

-MODCARGO_BUILDDEP ?= Yes
-.if ${MODCARGO_BUILDDEP:L} == "yes"
-BUILD_DEPENDS += ${MODCARGO_BUILD_DEPENDS}
-.endif
-
# Location of cargo binary (default to devel/cargo binary)
MODCARGO_CARGO_BIN ?= ${LOCALBASE}/bin/cargo

@@ -305,8 +286,8 @@ MODCARGO_ENV += \
CARGO_BUILD_JOBS=${MAKE_JOBS} \
CARGO_TARGET_DIR=${MODCARGO_TARGET_DIR} \
RUST_BACKTRACE=full \
- RUSTC=${LOCALBASE}/bin/rustc \
- RUSTDOC=${LOCALBASE}/bin/rustdoc \
+ RUSTC=${MODRUST_RUSTC_BIN} \
+ RUSTDOC=${MODRUST_RUSTDOC_BIN} \
RUSTFLAGS="${MODCARGO_RUSTFLAGS}"

# Helper to shorten cargo calls.
Index: devel/cargo-audit/Makefile
===================================================================
RCS file: /cvs/ports/devel/cargo-audit/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- devel/cargo-audit/Makefile 21 Sep 2023 09:49:49 -0000 1.8
+++ devel/cargo-audit/Makefile 1 Jan 2024 06:12:01 -0000
@@ -17,7 +17,7 @@ HOMEPAGE = https://github.com/RustSec/r
# Apache 2/MIT
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi crypto git2 m pthread ssh2 ssl
+WANTLIB += ${MODCARGO_WANTLIB} crypto git2 m ssh2 ssl

LIB_DEPENDS = devel/libgit2/libgit2 \
security/libssh2
Index: devel/cbindgen/Makefile
===================================================================
RCS file: /cvs/ports/devel/cbindgen/Makefile,v
retrieving revision 1.46
diff -u -p -r1.46 Makefile
--- devel/cbindgen/Makefile 14 Sep 2023 11:42:28 -0000 1.46
+++ devel/cbindgen/Makefile 1 Jan 2024 06:12:01 -0000
@@ -15,7 +15,7 @@ MODULES = devel/cargo

CONFIGURE_STYLE = cargo

-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

TEST_ENV = CC=${CC} CXX=${CXX}

Index: devel/elfcat/Makefile
===================================================================
RCS file: /cvs/ports/devel/elfcat/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- devel/elfcat/Makefile 1 Mar 2023 12:06:26 -0000 1.6
+++ devel/elfcat/Makefile 1 Jan 2024 06:12:01 -0000
@@ -10,9 +10,9 @@ CATEGORIES = devel
# zlib
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

-MODULES = devel/cargo
+MODULES = devel/cargo

CONFIGURE_STYLE = cargo

Index: devel/sccache/Makefile
===================================================================
RCS file: /cvs/ports/devel/sccache/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- devel/sccache/Makefile 17 Dec 2023 06:06:10 -0000 1.4
+++ devel/sccache/Makefile 1 Jan 2024 06:12:01 -0000
@@ -19,8 +19,7 @@ PERMIT_PACKAGE = Yes
WANTLIB += crypto m ssl zstd ${MODCARGO_WANTLIB}

MODULES = devel/cargo
-BUILD_DEPENDS = lang/rust \
- security/rust-ring
+BUILD_DEPENDS = security/rust-ring

SEPARATE_BUILD = Yes

Index: devel/snare/Makefile
===================================================================
RCS file: /cvs/ports/devel/snare/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- devel/snare/Makefile 21 Sep 2023 09:50:06 -0000 1.15
+++ devel/snare/Makefile 1 Jan 2024 06:12:01 -0000
@@ -14,7 +14,7 @@ MAINTAINER = Laurence Tratt <
# Apache-2.0/MIT
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

DISTFILES += ${DISTNAME}${EXTRACT_SUFX}
MODULES = devel/cargo
Index: devel/spidermonkey115/Makefile
===================================================================
RCS file: /cvs/ports/devel/spidermonkey115/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- devel/spidermonkey115/Makefile 20 Dec 2023 13:58:42 -0000 1.3
+++ devel/spidermonkey115/Makefile 1 Jan 2024 06:12:01 -0000
@@ -30,9 +30,10 @@ EXTRACT_SUFX = .tar.xz
PERMIT_PACKAGE= Yes

WANTLIB += curses ffi icudata icui18n icuuc m nspr4 plc4 plds4 z
-WANTLIB += ${COMPILER_LIBCXX}
+WANTLIB += ${COMPILER_LIBCXX} ${MODRUST_WANTLIB}

-MODULES = lang/python
+MODULES = lang/python \
+ lang/rust

MODPY_RUNDEP = No

@@ -47,8 +48,7 @@ LIB_DEPENDS = devel/libffi \

DEBUG_PACKAGES = ${BUILD_PACKAGES}

-BUILD_DEPENDS = devel/cbindgen \
- lang/rust
+BUILD_DEPENDS = devel/cbindgen

SEPARATE_BUILD = Yes
WRKDIST = ${WRKDIR}/firefox-${V}
Index: games/0ad/base/Makefile
===================================================================
RCS file: /cvs/ports/games/0ad/base/Makefile,v
retrieving revision 1.47
diff -u -p -r1.47 Makefile
--- games/0ad/base/Makefile 16 Nov 2023 21:54:16 -0000 1.47
+++ games/0ad/base/Makefile 1 Jan 2024 06:12:01 -0000
@@ -10,13 +10,12 @@ USE_NOBTCFI = Yes
SO_VERSION = 0.0
SHARED_LIBS += mozjs78-ps-release ${SO_VERSION}

-WANTLIB += ${COMPILER_LIBCXX} SDL2 X11 boost_filesystem
-WANTLIB += boost_system c crypto curl enet execinfo fmt freetype gloox iconv
+WANTLIB += ${MODRUST_WANTLIB} ${COMPILER_LIBCXX} SDL2 X11 boost_filesystem
+WANTLIB += boost_system crypto curl enet execinfo fmt freetype gloox iconv
WANTLIB += icudata icui18n icuuc idn m miniupnpc ogg openal
WANTLIB += png sodium ssl vorbis vorbisfile xml2 z

BUILD_DEPENDS = archivers/zip \
- lang/rust,-main \
shells/bash
LIB_DEPENDS = audio/libvorbis \
audio/openal \
@@ -34,7 +33,8 @@ LIB_DEPENDS = audio/libvorbis \
textproc/libxml
RUN_DEPENDS = devel/desktop-file-utils \
games/0ad/data=${V}
-MODULES = lang/python
+MODULES = lang/python \
+ lang/rust

# gnu++17
COMPILER = base-clang ports-gcc
Index: infrastructure/mk/arch-defines.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/arch-defines.mk,v
retrieving revision 1.100
diff -u -p -r1.100 arch-defines.mk
--- infrastructure/mk/arch-defines.mk 20 Nov 2023 19:20:32 -0000 1.100
+++ infrastructure/mk/arch-defines.mk 1 Jan 2024 06:12:02 -0000
@@ -105,6 +105,10 @@ _SYSTEM_VERSION-clang = 2
_SYSTEM_VERSION-go = ${_MODGO_SYSTEM_VERSION}
.endif

+# defined in rust.port.mk; added to version for all rust arches so that
+# rust-compiled packages can be updated easily for a new rust compiler/stdlib
+_SYSTEM_VERSION-rust ?= 0
+
# @version = ${_SYSTEM_VERSION} + ${_SYSTEM_VERSION-${MACHINE_ARCH}}
_PKG_ARGS_VERSION += -V ${_SYSTEM_VERSION} -V ${_SYSTEM_VERSION-${MACHINE_ARCH}}
.if ${ARCH} != ${MACHINE_ARCH}
Index: lang/ruby/3.2/Makefile
===================================================================
RCS file: /cvs/ports/lang/ruby/3.2/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- lang/ruby/3.2/Makefile 27 Dec 2023 20:06:42 -0000 1.7
+++ lang/ruby/3.2/Makefile 1 Jan 2024 06:12:02 -0000
@@ -15,7 +15,7 @@ FLAVOR?=

.if ${MACHINE_ARCH:Mamd64} || ${MACHINE_ARCH:Maarch64}
# Support YJIT JIT compiler on arches Ruby supports
-BUILD_DEPENDS += lang/rust
+MODULES += lang/rust
WANTLIB-main += c++abi
MAKE_ENV += LIBRUBY_DLDFLAGS="-lc++abi"
.endif
Index: lang/ruby/3.3/Makefile
===================================================================
RCS file: /cvs/ports/lang/ruby/3.3/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- lang/ruby/3.3/Makefile 27 Dec 2023 20:04:59 -0000 1.1.1.1
+++ lang/ruby/3.3/Makefile 1 Jan 2024 06:12:02 -0000
@@ -16,7 +16,7 @@ FLAVOR?=

.if ${MACHINE_ARCH:Mamd64} || ${MACHINE_ARCH:Maarch64}
# Support YJIT JIT compiler on arches Ruby supports
-BUILD_DEPENDS += lang/rust
+MODULES += lang/rust
WANTLIB-main += c++abi
MAKE_ENV += LIBRUBY_DLDFLAGS="-lc++abi"
.endif
Index: lang/rust/rust.port.mk
===================================================================
RCS file: lang/rust/rust.port.mk
diff -N lang/rust/rust.port.mk
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lang/rust/rust.port.mk 1 Jan 2024 06:12:02 -0000
@@ -0,0 +1,29 @@
+# increment after rust compiler update to trigger updates of
+# all compiled rust packages (see arch-defines.mk)
+_SYSTEM_VERSION-rust = 1
+
+CATEGORIES += lang/rust
+
+# WANTLIB for Rust compiled code
+# it should be kept in sync with lang/rust code
+# - c/pthread : all syscalls
+# - c++abi / libgcc.a : unwind
+MODRUST_WANTLIB += c pthread
+
+.if "${MACHINE_ARCH}" != "sparc64"
+MODRUST_WANTLIB += c++abi
+.else
+# libgcc.a is static
+MODRUST_WANTLIB +=
+.endif
+
+CHECK_LIB_DEPENDS_ARGS += -S MODRUST_WANTLIB="${MODRUST_WANTLIB}"
+
+MODRUST_BUILDDEP ?= Yes
+.if ${MODRUST_BUILDDEP:L} == "yes"
+BUILD_DEPENDS += lang/rust
+.endif
+
+# Location of rustc/rustdoc binaries
+MODRUST_RUSTC_BIN = ${LOCALBASE}/bin/rustc
+MODRUST_RUSTDOC_BIN = ${LOCALBASE}/bin/rustdoc
Index: mail/meli/Makefile
===================================================================
RCS file: /cvs/ports/mail/meli/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- mail/meli/Makefile 3 Nov 2023 11:30:32 -0000 1.13
+++ mail/meli/Makefile 1 Jan 2024 06:12:02 -0000
@@ -30,7 +30,7 @@ LIB_DEPENDS = devel/pcre2 \
net/curl \
databases/sqlite3

-WANTLIB += c c++abi crypto curl m pcre2-8 pthread sqlite3 ssl
+WANTLIB += ${MODCARGO_WANTLIB} crypto curl m pcre2-8 sqlite3 ssl
PORTHOME = ${WRKDIR}

post-install:
Index: mail/stalwart/cli/Makefile
===================================================================
RCS file: /cvs/ports/mail/stalwart/cli/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- mail/stalwart/cli/Makefile 4 Sep 2023 14:01:49 -0000 1.7
+++ mail/stalwart/cli/Makefile 1 Jan 2024 06:12:02 -0000
@@ -6,6 +6,6 @@ REVISION = 1

.include "crates.inc"

-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

.include <bsd.port.mk>
Index: mail/stalwart/imap/Makefile
===================================================================
RCS file: /cvs/ports/mail/stalwart/imap/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- mail/stalwart/imap/Makefile 4 Sep 2023 14:01:51 -0000 1.7
+++ mail/stalwart/imap/Makefile 1 Jan 2024 06:12:02 -0000
@@ -13,7 +13,7 @@ MODCARGO_CRATES += jmap-client 0.2.0 # A
MODCARGO_CRATES += mail-parser 0.7.0 # Apache-2.0 OR MIT
MODCARGO_CRATES += reqwest 0.11.11 # MIT/Apache-2.0

-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/stalwart/imap
Index: mail/stalwart/jmap/Makefile
===================================================================
RCS file: /cvs/ports/mail/stalwart/jmap/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- mail/stalwart/jmap/Makefile 6 Dec 2023 09:48:55 -0000 1.10
+++ mail/stalwart/jmap/Makefile 1 Jan 2024 06:12:02 -0000
@@ -29,7 +29,7 @@ MAKE_ENV += DEP_BZIP2_INCLUDE=${LOCALBAS
LIB_DEPENDS += archivers/zstd \
archivers/bzip2

-WANTLIB += ${COMPILER_LIBCXX} bz2 c m zstd
+WANTLIB += ${MODCARGO_WANTLIB} ${COMPILER_LIBCXX} bz2 m zstd

post-install:
mv ${PREFIX}/bin/export ${PREFIX}/bin/stalwart-export
Index: mail/stalwart/smtp/Makefile
===================================================================
RCS file: /cvs/ports/mail/stalwart/smtp/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- mail/stalwart/smtp/Makefile 4 Sep 2023 14:01:54 -0000 1.4
+++ mail/stalwart/smtp/Makefile 1 Jan 2024 06:12:02 -0000
@@ -22,7 +22,7 @@ MODCARGO_CRATES_KEEP += libsqlite3-sys
BUILD_DEPENDS = devel/protobuf
LIB_DEPENDS = archivers/zstd \
archivers/bzip2
-WANTLIB += bz2 c c++abi m pthread zstd
+WANTLIB += ${MOCARGO_WANTLIB} bz2 m zstd

post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/stalwart/smtp
Index: net/bore/Makefile
===================================================================
RCS file: /cvs/ports/net/bore/Makefile,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile
--- net/bore/Makefile 27 Sep 2023 14:18:01 -0000 1.8
+++ net/bore/Makefile 1 Jan 2024 06:12:02 -0000
@@ -10,7 +10,7 @@ MAINTAINER = Delan Azabani <delan@azaba
PERMIT_PACKAGE = Yes

# uses pledge(2)
-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

SITES = https://bitbucket.org/delan/nonymous/get/

Index: net/dog/Makefile
===================================================================
RCS file: /cvs/ports/net/dog/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- net/dog/Makefile 27 Sep 2023 14:18:05 -0000 1.10
+++ net/dog/Makefile 1 Jan 2024 06:12:02 -0000
@@ -10,7 +10,7 @@ CATEGORIES = net
# EUPL
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi crypto pthread ssl
+WANTLIB += ${MODCARGO_WANTLIB} crypto ssl

MODULES = devel/cargo

Index: net/routinator/Makefile
===================================================================
RCS file: /cvs/ports/net/routinator/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- net/routinator/Makefile 22 Sep 2023 10:21:48 -0000 1.43
+++ net/routinator/Makefile 1 Jan 2024 06:12:02 -0000
@@ -27,7 +27,7 @@ CATEGORIES = net
PERMIT_PACKAGE = Yes
PERMIT_DISTFILES = includes bundled ARIN TAL which requires agreement with https://www.arin.net/resources/manage/rpki/rpa.pdf

-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

MODULES = devel/cargo

Index: net/synapse/Makefile
===================================================================
RCS file: /cvs/ports/net/synapse/Makefile,v
retrieving revision 1.68
diff -u -p -r1.68 Makefile
--- net/synapse/Makefile 13 Dec 2023 08:06:50 -0000 1.68
+++ net/synapse/Makefile 1 Jan 2024 06:12:02 -0000
@@ -17,7 +17,7 @@ PERMIT_PACKAGE = Yes
MODULES = devel/cargo \
lang/python

-WANTLIB += ${COMPILER_LIBCXX}
+WANTLIB += ${MODCARGO_WANTLIB}

MODPY_PYBUILD = poetry-core

Index: security/clamav/Makefile
===================================================================
RCS file: /cvs/ports/security/clamav/Makefile,v
retrieving revision 1.166
diff -u -p -r1.166 Makefile
--- security/clamav/Makefile 26 Oct 2023 06:40:00 -0000 1.166
+++ security/clamav/Makefile 1 Jan 2024 06:12:02 -0000
@@ -21,7 +21,6 @@ WANTLIB += mspack pcre2-8 ssl util xml2

COMPILER= base-clang ports-gcc

-BUILD_DEPENDS= lang/rust
LIB_DEPENDS= archivers/bzip2 \
archivers/libmspack \
devel/json-c \
@@ -33,7 +32,8 @@ TEST_DEPENDS= security/clamav

SITES= https://www.clamav.net/downloads/production/

-MODULES= devel/cmake
+MODULES= devel/cmake \
+ lang/rust
CONFIGURE_ARGS= -DCLAMAV_USER=_clamav \
-DCLAMAV_GROUP=_clamav \
-DENABLE_EXTERNAL_MSPACK=ON \
Index: security/py-cryptography/Makefile
===================================================================
RCS file: /cvs/ports/security/py-cryptography/Makefile,v
retrieving revision 1.78
diff -u -p -r1.78 Makefile
--- security/py-cryptography/Makefile 30 Nov 2023 13:43:59 -0000 1.78
+++ security/py-cryptography/Makefile 1 Jan 2024 06:12:03 -0000
@@ -14,7 +14,7 @@ HOMEPAGE= https://cryptography.io/
# dual: BSD or Apache 2
PERMIT_PACKAGE= Yes

-WANTLIB= ${MODPY_WANTLIB} c crypto c++abi pthread ssl
+WANTLIB= ${MODPY_WANTLIB} ${MODCARGO_WANTLIB} crypto ssl

FLAVORS= python3
FLAVOR= python3
Index: security/rbw/Makefile
===================================================================
RCS file: /cvs/ports/security/rbw/Makefile,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile
--- security/rbw/Makefile 23 Dec 2023 18:18:33 -0000 1.20
+++ security/rbw/Makefile 1 Jan 2024 06:12:03 -0000
@@ -15,7 +15,7 @@ SITES = https://git.tozt.net/rbw/snapsh
# MIT X11
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi crypto m pthread ssl
+WANTLIB += ${MODCARGO_WANTLIB} crypto m ssl

DISTFILES += ${DISTNAME}${EXTRACT_SUFX}

Index: security/sn0int/Makefile
===================================================================
RCS file: /cvs/ports/security/sn0int/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- security/sn0int/Makefile 4 Sep 2023 13:02:47 -0000 1.22
+++ security/sn0int/Makefile 1 Jan 2024 06:12:03 -0000
@@ -17,7 +17,7 @@ PERMIT_PACKAGE = Yes

# uses pledge()
LIB_DEPENDS = databases/sqlite3 security/libsodium ${MODLUA_LIB_DEPENDS}
-WANTLIB += c c++abi m pthread sqlite3 sodium ${MODLUA_WANTLIB}
+WANTLIB += m sqlite3 sodium ${MODLUA_WANTLIB} ${MODCARGO_WANTLIB}

MODLUA_VERSION = 5.2
MODLUA_SA = Yes
Index: security/suricata/Makefile
===================================================================
RCS file: /cvs/ports/security/suricata/Makefile,v
retrieving revision 1.63
diff -u -p -r1.63 Makefile
--- security/suricata/Makefile 17 Dec 2023 15:29:06 -0000 1.63
+++ security/suricata/Makefile 1 Jan 2024 06:12:03 -0000
@@ -21,15 +21,15 @@ PERMIT_PACKAGE= Yes
SITES = https://www.openinfosecfoundation.org/download/

# uses pledge()
-WANTLIB += ${COMPILER_LIBCXX} c elf iconv jansson lz4 m magic maxminddb
+WANTLIB += ${MODRUST_WANTLIB} ${COMPILER_LIBCXX} elf iconv jansson lz4 m magic maxminddb
WANTLIB += net pcap pcre2-8 yaml-0 z

-MODULES = lang/python
+MODULES = lang/python \
+ lang/rust

BUILD_DEPENDS = devel/py-setuptools${MODPY_FLAVOR} \
textproc/py-sphinx${MODPY_FLAVOR} \
- textproc/py-yaml${MODPY_FLAVOR} \
- lang/rust
+ textproc/py-yaml${MODPY_FLAVOR}

RUN_DEPENDS = textproc/py-yaml${MODPY_FLAVOR}

Index: sysutils/bat/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/bat/Makefile,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile
--- sysutils/bat/Makefile 13 Nov 2023 07:33:55 -0000 1.20
+++ sysutils/bat/Makefile 1 Jan 2024 06:12:03 -0000
@@ -13,7 +13,7 @@ MODULES = devel/cargo
# for riscv64 and powerpc64, please keep: cc >= 1.0.73 and libc >= 0.2.113
MODCARGO_CRATES_UPDATE = cc

-WANTLIB += c c++abi git2 m onig pthread
+WANTLIB += ${MODCARGO_WANTLIB} git2 m onig

CONFIGURE_STYLE = cargo
SEPARATE_BUILD = Yes
Index: sysutils/broot/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/broot/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- sysutils/broot/Makefile 9 Dec 2023 16:16:33 -0000 1.17
+++ sysutils/broot/Makefile 1 Jan 2024 06:12:03 -0000
@@ -11,7 +11,7 @@ HOMEPAGE = https://dystroy.org/broot/
# MIT
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi m onig pthread z
+WANTLIB += ${MODCARGO_WANTLIB} m onig z

MODULES = devel/cargo
MODCARGO_CRATES_KEEP += libgit2-sys
Index: sysutils/fclones/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/fclones/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- sysutils/fclones/Makefile 13 Nov 2023 18:54:44 -0000 1.1.1.1
+++ sysutils/fclones/Makefile 1 Jan 2024 06:12:03 -0000
@@ -9,7 +9,7 @@ MAINTAINER = Frederic Cambus <fcambus@o
# MIT
PERMIT_PACKAGE = Yes

-WANTLIB += ${MODCARGO_WANTLIB} m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

MODULES = devel/cargo

Index: textproc/amber/Makefile
===================================================================
RCS file: /cvs/ports/textproc/amber/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- textproc/amber/Makefile 30 Jan 2023 13:28:40 -0000 1.5
+++ textproc/amber/Makefile 1 Jan 2024 06:12:03 -0000
@@ -11,7 +11,7 @@ MAINTAINER = Edd Barrett <edd@openbsd.o
# MIT
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

MODULES = devel/cargo
CONFIGURE_STYLE = cargo
Index: textproc/jless/Makefile
===================================================================
RCS file: /cvs/ports/textproc/jless/Makefile,v
retrieving revision 1.9
diff -u -p -r1.9 Makefile
--- textproc/jless/Makefile 18 Sep 2023 23:13:30 -0000 1.9
+++ textproc/jless/Makefile 1 Jan 2024 06:12:03 -0000
@@ -10,7 +10,7 @@ CATEGORIES = textproc
# BSD
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi pthread xcb
+WANTLIB += ${MODCARGO_WANTLIB} xcb

HOMEPAGE = https://jless.io/

Index: textproc/mdbook/Makefile
===================================================================
RCS file: /cvs/ports/textproc/mdbook/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- textproc/mdbook/Makefile 30 Jan 2023 13:28:40 -0000 1.13
+++ textproc/mdbook/Makefile 1 Jan 2024 06:12:03 -0000
@@ -12,7 +12,7 @@ MAINTAINER = Edd Barrett <edd@openbsd.o
# MPL-2.0 + dependencies below.
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

MODULES = devel/cargo

Index: www/castor/Makefile
===================================================================
RCS file: /cvs/ports/www/castor/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- www/castor/Makefile 27 Sep 2023 19:13:01 -0000 1.14
+++ www/castor/Makefile 1 Jan 2024 06:12:03 -0000
@@ -13,7 +13,7 @@ HOMEPAGE= https://git.sr.ht/~julienxx/c
# MIT
PERMIT_PACKAGE= Yes

-WANTLIB += c c++abi crypto gdk-3 glib-2.0 gobject-2.0 gtk-3 pthread
+WANTLIB += ${MODCARGO_WANTLIB} crypto gdk-3 glib-2.0 gobject-2.0 gtk-3
WANTLIB += ssl

SITES= https://git.sr.ht/~julienxx/
Index: www/geckodriver/Makefile
===================================================================
RCS file: /cvs/ports/www/geckodriver/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- www/geckodriver/Makefile 30 Jan 2023 13:28:40 -0000 1.13
+++ www/geckodriver/Makefile 1 Jan 2024 06:12:03 -0000
@@ -18,6 +18,6 @@ SEPARATE_BUILD = Yes
.include "modules.inc"

LIB_DEPENDS += archivers/bzip2
-WANTLIB += c c++abi m pthread bz2
+WANTLIB += ${MODCARGO_WANTLIB} m bz2

.include <bsd.port.mk>
Index: www/mozilla/mozilla.port.mk
===================================================================
RCS file: /cvs/ports/www/mozilla/mozilla.port.mk,v
retrieving revision 1.171
diff -u -p -r1.171 mozilla.port.mk
--- www/mozilla/mozilla.port.mk 19 Dec 2023 14:23:43 -0000 1.171
+++ www/mozilla/mozilla.port.mk 1 Jan 2024 06:12:03 -0000
@@ -112,7 +112,7 @@ MODMOZ_BUILD_DEPENDS += devel/nasm
.endif

# 53 needs rust
-MODMOZ_BUILD_DEPENDS += lang/rust
+MODULES += lang/rust
#1670807
MODMOZ_BUILD_DEPENDS += devel/m4

@@ -120,7 +120,7 @@ MODMOZ_WANTLIB += X11 X11-xcb Xcomposite
atk-1.0 c cairo fontconfig freetype gdk_pixbuf-2.0 \
gio-2.0 glib-2.0 gobject-2.0 harfbuzz intl m \
pango-1.0 pangocairo-1.0 sndio z xcb xcb-shm
-MODMOZ_WANTLIB += ${COMPILER_LIBCXX}
+MODMOZ_WANTLIB += ${COMPILER_LIBCXX} ${MODRUST_WANTLIB}

WANTLIB += ${MODMOZ_WANTLIB}
BUILD_DEPENDS +=${MODMOZ_BUILD_DEPENDS}
Index: www/newsboat/Makefile
===================================================================
RCS file: /cvs/ports/www/newsboat/Makefile,v
retrieving revision 1.41
diff -u -p -r1.41 Makefile
--- www/newsboat/Makefile 27 Sep 2023 19:13:04 -0000 1.41
+++ www/newsboat/Makefile 1 Jan 2024 06:12:03 -0000
@@ -12,7 +12,7 @@ MAINTAINER = Frederic Cambus <fcambus@op
# MIT
PERMIT_PACKAGE = Yes

-WANTLIB += ${COMPILER_LIBCXX} c crypto curl curses iconv intl
+WANTLIB += ${COMPILER_LIBCXX} ${MODCARGO_WANTLIB} crypto curl curses iconv intl
WANTLIB += json-c m sqlite3 ssl stfl xml2

SITES = https://www.newsboat.org/releases/$V/
Index: www/nextcloud_notify_push/Makefile
===================================================================
RCS file: /cvs/ports/www/nextcloud_notify_push/Makefile,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile
--- www/nextcloud_notify_push/Makefile 16 Dec 2023 10:14:35 -0000 1.27
+++ www/nextcloud_notify_push/Makefile 1 Jan 2024 06:12:03 -0000
@@ -27,7 +27,7 @@ MODULES = devel/cargo
.include "crates.inc"

MODCARGO_CRATES_KEEP += libsqlite3-sys
-WANTLIB += c c++abi m pthread
+WANTLIB += ${MODCARGO_WANTLIB} m

CONFIGURE_STYLE = cargo
SEPARATE_BUILD = Yes
Index: www/py-adblock/Makefile
===================================================================
RCS file: /cvs/ports/www/py-adblock/Makefile,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile
--- www/py-adblock/Makefile 22 Dec 2023 14:19:27 -0000 1.26
+++ www/py-adblock/Makefile 1 Jan 2024 06:12:03 -0000
@@ -18,7 +18,7 @@ CATEGORIES = www
# MIT
PERMIT_PACKAGE =Yes

-WANTLIB += c c++abi pthread
+WANTLIB += ${MODCARGO_WANTLIB}

MODULES = devel/cargo \
lang/python
Index: x11/alacritty/Makefile
===================================================================
RCS file: /cvs/ports/x11/alacritty/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- x11/alacritty/Makefile 3 Nov 2023 12:55:05 -0000 1.16
+++ x11/alacritty/Makefile 1 Jan 2024 06:12:03 -0000
@@ -12,7 +12,7 @@ HOMEPAGE = https://alacritty.org/
# Apache 2.0
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi fontconfig freetype m pthread util
+WANTLIB += ${MODCARGO_WANTLIB} fontconfig freetype m util
# xcb is dlopen()'d
WANTLIB += xcb

Index: x11/gnome/librsvg/Makefile
===================================================================
RCS file: /cvs/ports/x11/gnome/librsvg/Makefile,v
retrieving revision 1.216
diff -u -p -r1.216 Makefile
--- x11/gnome/librsvg/Makefile 16 Dec 2023 12:38:06 -0000 1.216
+++ x11/gnome/librsvg/Makefile 1 Jan 2024 06:12:03 -0000
@@ -27,12 +27,11 @@ MODCARGO_BUILD= No
MODCARGO_INSTALL= No
MODCARGO_TEST= No
MODPY_RUNDEP= No
-BUILD_DEPENDS= lang/rust \
- textproc/py-docutils${MODPY_FLAVOR}
+BUILD_DEPENDS= textproc/py-docutils${MODPY_FLAVOR}
PKG_ARGS= -Dold=0 -Dstable=1
MAKE_ENV += ${MODCARGO_ENV}
MAKE_FLAGS += V=1
-WANTLIB += ${COMPILER_LIBCXX} Xau Xdmcp cairo-gobject jpeg
+WANTLIB += ${MODCARGO_WANTLIB} ${COMPILER_LIBCXX} Xau Xdmcp cairo-gobject jpeg
.else
### old
REVISION= 5
Index: x11/gnome/tour/Makefile
===================================================================
RCS file: /cvs/ports/x11/gnome/tour/Makefile,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile
--- x11/gnome/tour/Makefile 8 Nov 2023 18:49:09 -0000 1.14
+++ x11/gnome/tour/Makefile 1 Jan 2024 06:12:03 -0000
@@ -13,15 +13,14 @@ DISTFILES= ${GNOME_PROJECT}-${GNOME_VER
# gnome-tour source code results in effective GPLv3+ for the resulting binary
PERMIT_PACKAGE= Yes

-WANTLIB += adwaita-1 c c++abi gio-2.0 glib-2.0 gobject-2.0 gtk-4
-WANTLIB += intl m pthread
+WANTLIB += ${MODRUST_WANTLIB} adwaita-1 gio-2.0 glib-2.0 gobject-2.0 gtk-4
+WANTLIB += intl m

MODULES= devel/meson \
+ lang/rust \
x11/gnome

MODGNOME_TOOLS= desktop-file-utils gtk-update-icon-cache
-
-BUILD_DEPENDS= lang/rust

LIB_DEPENDS= x11/gnome/libadwaita

Index: x11/xcolor/Makefile
===================================================================
RCS file: /cvs/ports/x11/xcolor/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- x11/xcolor/Makefile 30 Jan 2023 13:28:40 -0000 1.13
+++ x11/xcolor/Makefile 1 Jan 2024 06:12:03 -0000
@@ -16,7 +16,7 @@ MAINTAINER = Laurence Tratt <laurie@trat
# MIT
PERMIT_PACKAGE = Yes

-WANTLIB += c c++abi m pthread xcb xcb-shape X11 X11-xcb Xcursor
+WANTLIB += ${MODCARGO_WANTLIB} m xcb xcb-shape X11 X11-xcb Xcursor

MODULES = devel/cargo \
lang/python

Index: share/man/man5/cargo-module.5
===================================================================
RCS file: /cvs/src/share/man/man5/cargo-module.5,v
retrieving revision 1.7
diff -u -p -r1.7 cargo-module.5
--- share/man/man5/cargo-module.5 18 Aug 2023 08:22:29 -0000 1.7
+++ share/man/man5/cargo-module.5 1 Jan 2024 06:12:13 -0000
@@ -40,6 +40,7 @@ tree.
.Pp
Automates download and compilation of dependencies of a Rust project using
.Xr cargo 1 .
+.Pp
During
.Cm fetch ,
static dependencies ("crates") listed in
@@ -48,6 +49,7 @@ are downloaded using
.Ev MODCARGO_DIST_SUBDIR
as
.Ev DIST_SUBDIR .
+.Pp
During
.Cm post-extract ,
crates defined in
@@ -55,10 +57,12 @@ crates defined in
are moved to the
.Ev MODCARGO_VENDOR_DIR
directory.
+.Pp
During
.Cm post-patch ,
crate-metadata are generated using
.Pa devel/cargo-generate-vendor .
+.Pp
With
.Ev CONFIGURE_STYLE
set to
@@ -69,20 +73,19 @@ instead of the standard crates-io networ
Finally, any crates listed in
.Ev MODCARGO_CRATES_UPDATE
are updated.
+.Pp
.Ev MODCARGO_RUSTFLAGS
can be used to pass custom flags to all
.Xr rustc 1
invocations.
.Pp
-.Pa lang/rust ,
-.Pa devel/cargo
+.Pa lang/rust
+is added to
+.Ev MODULES ,
and
.Pa devel/cargo-generate-vendor
-are added to
+is added to
.Ev BUILD_DEPENDS .
-By default
-.Ev MASTER_SITES9
-is used to download the crates.
.Pp
This module defines:
.Bl -tag -width MODCARGO_INSTALL_TARGET_PATH
@@ -110,11 +113,9 @@ Defaults to
Architecture-specific
.Ev WANTLIB
entries required by all Rust code.
-Should be used instead of explicit entries for
-.Dq c ,
-.Dq pthread ,
-and
-.Dq c++abi .
+It is a copy of
+.Ev MODRUST_WANTLIB
+provided for simplicity.
.El
.Pp
This module adds three
Index: share/man/man5/port-modules.5
===================================================================
RCS file: /cvs/src/share/man/man5/port-modules.5,v
retrieving revision 1.266
diff -u -p -r1.266 port-modules.5
--- share/man/man5/port-modules.5 14 Sep 2023 03:53:26 -0000 1.266
+++ share/man/man5/port-modules.5 1 Jan 2024 06:12:13 -0000
@@ -978,6 +978,20 @@ See
.It lang/ruby
See
.Xr ruby-module 5 .
+.It lang/rust
+Ports using Rust must use this module so a rebuild can be triggered via
+.Ev SYSTEM_VERSION-rust
+on updates of the lang/rust port or changes to the Rust standard library.
+Sets
+.Ev MODRUST_WANTLIB
+as appropriate for the architecture so it can be added to
+.Ev WANTLIB .
+It adds lang/rust to the
+.Ev BUILD_DEPENDS
+unless
+.Ev MODRUST_BUILDDEP
+is set to anything but
+.Dq yes .
.It lang/tcl
Sets
.Ev MODTCL_VERSION ,

Cannot PXE Boot PC Engines APU.1D4

Note: trying to boot/install from OpenBSD 7.4 PXE.

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.

PS Having great difficulty signing up and posting to the mailing list. Just not working.

ProtectLi.com

> I used these now because they support Core Boot.
> https://ProtectLi.com/

Which model?
Does the VP2420 model work well with OpenBSD?

Re: Cannot PXE Boot PC Engines APU.1D4

Note: trying to boot/install from OpenBSD 7.4 PXE.

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.

PS Having great difficulty signing up and posting to the mailing list. Just not working.

Cannot PXE Boot PC Engines APU.1D4

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.


PS Having great difficulty signing up and posting to the mailing list. Just not working.

Re: Cannot PXE Boot PC Engines APU.1D4

I don't have any problem with many of my pc engine.

But if you want something else I used these now because they support
Core Boot.

https://protectli.com/

I am not going back to BIOS that are not right and not supported after a
year.

No thanks!



On 12/31/23 8:56 PM, Kenneth Hendrickson wrote:
> Cannot PXE Boot PC Engines APU.1D4
>
> Have tried both i386 and amd64.
> Verified that my tftpd server is working.
>
> This used to work. Now fails.
> Hardware is about 10 years old.
> Do I need new hardware??
>
> What is recommended?
> Need minimum of 3 ethernet ports.
>
> Thanks in advance.
>

Cannot PXE Boot PC Engines APU.1D4

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.

PS Having great difficulty signing up and posting to the mailing list. Just not working.

Cannot PXE Boot PC Engines APU.1D4

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.

subscribe misc@openbsd.org

subscribe misc@openbsd.org

ocaml 4.12.1 -> 4.13.1

Hi Anil,

Here is an update of ocaml to 4.13.1. I've tested that all ocaml ports
still build and the ones I use still seem to work ok.

ok for the below?

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/ocaml/Makefile,v
diff -u -p -u -r1.99 Makefile
--- Makefile 26 Sep 2023 12:02:03 -0000 1.99
+++ Makefile 1 Jan 2024 01:50:22 -0000
@@ -2,8 +2,7 @@ COMMENT = ML language with complete c

# XXX Don't even think of updating ocaml alone.
# Do check that the ports that depend on it still work, or repair them.
-VERSION= 4.12.1
-REVISION= 4
+VERSION= 4.13.1

# if the ocaml compiler gains support for BTI, as well as
# removing USE_NOBTCFI here (or changing to an arch-dependent
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/ocaml/distinfo,v
diff -u -p -u -r1.29 distinfo
--- distinfo 10 Dec 2021 04:10:59 -0000 1.29
+++ distinfo 1 Jan 2024 01:50:22 -0000
@@ -1,4 +1,4 @@
-SHA256 (ocaml-4.12-refman-html.tar.gz) = eLtzsc6LiAUty+m1n97k/amUzCl46ll4gx8if3fagvs=
-SHA256 (ocaml-4.12.1.tar.gz) = bWHsE6fRtS7uc1r6xhZVK1btEt2hmBxNRBBX5S2RD9c=
-SIZE (ocaml-4.12-refman-html.tar.gz) = 1444139
-SIZE (ocaml-4.12.1.tar.gz) = 5181551
+SHA256 (ocaml-4.13-refman-html.tar.gz) = USFfRQrR9NfGr0CWeBnIqSEPJyh8FDFkhV6x8+IEh1A=
+SHA256 (ocaml-4.13.1.tar.gz) = ZqU1PF57M6iYFEboV2V6rUWjuCCA6lxn1LqkNOrPz18=
+SIZE (ocaml-4.13-refman-html.tar.gz) = 1893145
+SIZE (ocaml-4.13.1.tar.gz) = 5327797
Index: patches/patch-Makefile_config_in
===================================================================
RCS file: patches/patch-Makefile_config_in
diff -N patches/patch-Makefile_config_in
--- patches/patch-Makefile_config_in 3 Sep 2023 14:57:19 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-Respect LDFLAGS, see upstream PR
-https://github.com/ocaml/ocaml/pull/10091
-
-Index: Makefile.config.in
---- Makefile.config.in.orig
-+++ Makefile.config.in
-@@ -76,6 +76,8 @@ AS_HAS_DEBUG_PREFIX_MAP=@as_has_debug_prefix_map@
- # our own symbols):
- OC_LDFLAGS=@oc_ldflags@
-
-+LDFLAGS?=@LDFLAGS@
-+
- ### How to invoke the C preprocessor through the C compiler
- CPP=@CPP@
-
-@@ -249,9 +251,10 @@ ifeq "$(TOOLCHAIN)" "msvc"
- || mt -nologo -outputresource:$(1) -manifest $(1).manifest \
- && rm -f $(1).manifest
- MKEXE_BOOT=$(CC) $(OC_CFLAGS) $(CFLAGS) $(OUTPUTEXE)$(1) $(2) \
-- /link /subsystem:console $(OC_LDFLAGS) && ($(MERGEMANIFESTEXE))
-+ /link /subsystem:console $(OC_LDFLAGS) $(LDFLAGS) && ($(MERGEMANIFESTEXE))
- else
-- MKEXE_BOOT=$(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_LDFLAGS) $(OUTPUTEXE)$(1) $(2)
-+ MKEXE_BOOT=$(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_LDFLAGS) $(LDFLAGS) \
-+ $(OUTPUTEXE)$(1) $(2)
- endif # ifeq "$(TOOLCHAIN)" "msvc"
-
- # The following variables were defined only in the Windows-specific makefiles.
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- patches/patch-configure_ac 3 Sep 2023 14:57:19 -0000 1.13
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,59 +0,0 @@
-Respect LDFLAGS, see upstream PR
-https://github.com/ocaml/ocaml/pull/10091
-
-Index: configure.ac
---- configure.ac.orig
-+++ configure.ac
-@@ -41,7 +41,7 @@ libraries_man_section=3
- # ($OC_CFLAGS and $CFLAGS), but at the moment they are not taken into
- # account on Windows, because flexlink, which is used to build
- # executables on this platform, can not handle them.
--mkexe="\$(CC) \$(OC_CFLAGS) \$(CFLAGS) \$(OC_LDFLAGS)"
-+mkexe="\$(CC) \$(OC_CFLAGS) \$(CFLAGS) \$(OC_LDFLAGS) \$(LDFLAGS)"
-
- # Flags for building executable files with debugging symbols
- mkexedebugflag="-g"
-@@ -735,6 +735,11 @@ AS_CASE([$CC,$host],
- )
-
-
-+# Respect LDFLAGS and CFLAGS
-+common_cflags="$common_cflags $CFLAGS"
-+oc_ldflags="$oc_ldflags $LDFLAGS"
-+
-+
- ## Program to use to install files
- AC_PROG_INSTALL
-
-@@ -867,10 +872,11 @@ AS_IF([test x"$enable_shared" != "xno"],
- [[*-*-linux*|*-*-freebsd[3-9]*|*-*-freebsd[1-9][0-9]*\
- |*-*-openbsd*|*-*-netbsd*|*-*-dragonfly*|*-*-gnu*|*-*-haiku*]],
- [sharedlib_cflags="-fPIC"
-- AS_CASE([$CC,$host],
-- [gcc*,powerpc-*-linux*], [mksharedlib="$CC -shared -mbss-plt"],
-- [mksharedlib="$CC -shared"])
- oc_ldflags="$oc_ldflags -Wl,-E"
-+ AS_CASE([$CC,$host],
-+ [gcc*,powerpc-*-linux*],
-+ [mksharedlib="$CC -shared -mbss-plt \$(LDFLAGS)"],
-+ [mksharedlib="$CC -shared $oc_ldflags \$(LDFLAGS)"])
- rpath="-Wl,-rpath,"
- mksharedlibrpath="-Wl,-rpath,"
- natdynlinkopts="-Wl,-E"
-@@ -912,6 +918,7 @@ AS_IF([test x"$enable_shared" != "xno"],
- [earm*-*-netbsd*], [natdynlink=true],
- [aarch64-*-linux*], [natdynlink=true],
- [aarch64-*-freebsd*], [natdynlink=true],
-+ [aarch64-*-openbsd*], [natdynlink=true],
- [riscv*-*-linux*], [natdynlink=true])])
-
- # Try to work around the Skylake/Kaby Lake processor bug.
-@@ -1013,6 +1020,8 @@ AS_CASE([$host],
- [arch=arm64; system=linux],
- [aarch64-*-freebsd*],
- [arch=arm64; system=freebsd],
-+ [aarch64-*-openbsd*],
-+ [arch=arm64; system=openbsd],
- [x86_64-*-cygwin*],
- [arch=amd64; system=cygwin],
- [riscv64-*-linux*],
Index: pkg/PFRAG.native
===================================================================
RCS file: /cvs/ports/lang/ocaml/pkg/PFRAG.native,v
diff -u -p -u -r1.22 PFRAG.native
--- pkg/PFRAG.native 11 Mar 2022 19:29:08 -0000 1.22
+++ pkg/PFRAG.native 1 Jan 2024 01:50:22 -0000
@@ -78,11 +78,6 @@ lib/ocaml/compiler-libs/augment_speciali
lib/ocaml/compiler-libs/augment_specialised_args.cmti
lib/ocaml/compiler-libs/augment_specialised_args.cmx
lib/ocaml/compiler-libs/augment_specialised_args.mli
-lib/ocaml/compiler-libs/available_regs.cmi
-lib/ocaml/compiler-libs/available_regs.cmt
-lib/ocaml/compiler-libs/available_regs.cmti
-lib/ocaml/compiler-libs/available_regs.cmx
-lib/ocaml/compiler-libs/available_regs.mli
lib/ocaml/compiler-libs/backend_intf.cmi
lib/ocaml/compiler-libs/backend_intf.cmti
lib/ocaml/compiler-libs/backend_intf.mli
@@ -177,6 +172,11 @@ lib/ocaml/compiler-libs/cmm_helpers.cmt
lib/ocaml/compiler-libs/cmm_helpers.cmti
lib/ocaml/compiler-libs/cmm_helpers.cmx
lib/ocaml/compiler-libs/cmm_helpers.mli
+lib/ocaml/compiler-libs/cmm_invariants.cmi
+lib/ocaml/compiler-libs/cmm_invariants.cmt
+lib/ocaml/compiler-libs/cmm_invariants.cmti
+lib/ocaml/compiler-libs/cmm_invariants.cmx
+lib/ocaml/compiler-libs/cmm_invariants.mli
lib/ocaml/compiler-libs/cmmgen.cmi
lib/ocaml/compiler-libs/cmmgen.cmt
lib/ocaml/compiler-libs/cmmgen.cmti
@@ -213,14 +213,6 @@ lib/ocaml/compiler-libs/compilenv.cmti
lib/ocaml/compiler-libs/compilenv.cmx
lib/ocaml/compiler-libs/compilenv.mli
lib/ocaml/compiler-libs/compmisc.cmx
-lib/ocaml/compiler-libs/compute_ranges.cmi
-lib/ocaml/compiler-libs/compute_ranges.cmt
-lib/ocaml/compiler-libs/compute_ranges.cmti
-lib/ocaml/compiler-libs/compute_ranges.cmx
-lib/ocaml/compiler-libs/compute_ranges.mli
-lib/ocaml/compiler-libs/compute_ranges_intf.cmi
-lib/ocaml/compiler-libs/compute_ranges_intf.cmt
-lib/ocaml/compiler-libs/compute_ranges_intf.cmx
lib/ocaml/compiler-libs/config.cmx
lib/ocaml/compiler-libs/consistbl.cmx
lib/ocaml/compiler-libs/convert_primitives.cmi
@@ -229,6 +221,11 @@ lib/ocaml/compiler-libs/convert_primitiv
lib/ocaml/compiler-libs/convert_primitives.cmx
lib/ocaml/compiler-libs/convert_primitives.mli
lib/ocaml/compiler-libs/ctype.cmx
+lib/ocaml/compiler-libs/dataflow.cmi
+lib/ocaml/compiler-libs/dataflow.cmt
+lib/ocaml/compiler-libs/dataflow.cmti
+lib/ocaml/compiler-libs/dataflow.cmx
+lib/ocaml/compiler-libs/dataflow.mli
lib/ocaml/compiler-libs/datarepr.cmx
lib/ocaml/compiler-libs/deadcode.cmi
lib/ocaml/compiler-libs/deadcode.cmt
@@ -237,6 +234,7 @@ lib/ocaml/compiler-libs/deadcode.cmx
lib/ocaml/compiler-libs/deadcode.mli
lib/ocaml/compiler-libs/debuginfo.cmx
lib/ocaml/compiler-libs/depend.cmx
+lib/ocaml/compiler-libs/diffing.cmx
lib/ocaml/compiler-libs/dll.cmx
lib/ocaml/compiler-libs/docstrings.cmx
lib/ocaml/compiler-libs/domainstate.cmx
@@ -259,6 +257,7 @@ lib/ocaml/compiler-libs/emitcode.cmx
lib/ocaml/compiler-libs/env.cmx
lib/ocaml/compiler-libs/envaux.cmx
lib/ocaml/compiler-libs/errors.cmx
+lib/ocaml/compiler-libs/errortrace.cmx
lib/ocaml/compiler-libs/export_id.cmi
lib/ocaml/compiler-libs/export_id.cmt
lib/ocaml/compiler-libs/export_id.cmti
@@ -334,6 +333,7 @@ lib/ocaml/compiler-libs/import_approx.ml
lib/ocaml/compiler-libs/includeclass.cmx
lib/ocaml/compiler-libs/includecore.cmx
lib/ocaml/compiler-libs/includemod.cmx
+lib/ocaml/compiler-libs/includemod_errorprinter.cmx
lib/ocaml/compiler-libs/inconstant_idents.cmi
lib/ocaml/compiler-libs/inconstant_idents.cmt
lib/ocaml/compiler-libs/inconstant_idents.cmti
@@ -405,6 +405,7 @@ lib/ocaml/compiler-libs/invariant_params
lib/ocaml/compiler-libs/invariant_params.cmx
lib/ocaml/compiler-libs/invariant_params.mli
lib/ocaml/compiler-libs/lambda.cmx
+lib/ocaml/compiler-libs/lazy_backtrack.cmx
lib/ocaml/compiler-libs/lexer.cmx
lib/ocaml/compiler-libs/lift_code.cmi
lib/ocaml/compiler-libs/lift_code.cmt
@@ -518,6 +519,11 @@ lib/ocaml/compiler-libs/pass_wrapper.mli
lib/ocaml/compiler-libs/path.cmx
lib/ocaml/compiler-libs/patterns.cmx
lib/ocaml/compiler-libs/persistent_env.cmx
+lib/ocaml/compiler-libs/polling.cmi
+lib/ocaml/compiler-libs/polling.cmt
+lib/ocaml/compiler-libs/polling.cmti
+lib/ocaml/compiler-libs/polling.cmx
+lib/ocaml/compiler-libs/polling.mli
lib/ocaml/compiler-libs/pparse.cmx
lib/ocaml/compiler-libs/pprintast.cmx
lib/ocaml/compiler-libs/predef.cmx
@@ -575,16 +581,6 @@ lib/ocaml/compiler-libs/reg.cmt
lib/ocaml/compiler-libs/reg.cmti
lib/ocaml/compiler-libs/reg.cmx
lib/ocaml/compiler-libs/reg.mli
-lib/ocaml/compiler-libs/reg_availability_set.cmi
-lib/ocaml/compiler-libs/reg_availability_set.cmt
-lib/ocaml/compiler-libs/reg_availability_set.cmti
-lib/ocaml/compiler-libs/reg_availability_set.cmx
-lib/ocaml/compiler-libs/reg_availability_set.mli
-lib/ocaml/compiler-libs/reg_with_debug_info.cmi
-lib/ocaml/compiler-libs/reg_with_debug_info.cmt
-lib/ocaml/compiler-libs/reg_with_debug_info.cmti
-lib/ocaml/compiler-libs/reg_with_debug_info.cmx
-lib/ocaml/compiler-libs/reg_with_debug_info.mli
lib/ocaml/compiler-libs/reload.cmi
lib/ocaml/compiler-libs/reload.cmt
lib/ocaml/compiler-libs/reload.cmti
@@ -656,6 +652,7 @@ lib/ocaml/compiler-libs/share_constants.
lib/ocaml/compiler-libs/share_constants.cmti
lib/ocaml/compiler-libs/share_constants.cmx
lib/ocaml/compiler-libs/share_constants.mli
+lib/ocaml/compiler-libs/signature_group.cmx
lib/ocaml/compiler-libs/simple_value_approx.cmi
lib/ocaml/compiler-libs/simple_value_approx.cmt
lib/ocaml/compiler-libs/simple_value_approx.cmti
@@ -866,61 +863,61 @@ lib/ocaml/std_exit.o
lib/ocaml/stdlib.a
lib/ocaml/stdlib.cmx
lib/ocaml/stdlib.cmxa
-lib/ocaml/stdlib__arg.cmx
-lib/ocaml/stdlib__array.cmx
-lib/ocaml/stdlib__arrayLabels.cmx
-lib/ocaml/stdlib__atomic.cmx
-lib/ocaml/stdlib__bigarray.cmx
-lib/ocaml/stdlib__bool.cmx
-lib/ocaml/stdlib__buffer.cmx
-lib/ocaml/stdlib__bytes.cmx
-lib/ocaml/stdlib__bytesLabels.cmx
-lib/ocaml/stdlib__callback.cmx
-lib/ocaml/stdlib__char.cmx
-lib/ocaml/stdlib__complex.cmx
-lib/ocaml/stdlib__digest.cmx
-lib/ocaml/stdlib__either.cmx
-lib/ocaml/stdlib__ephemeron.cmx
-lib/ocaml/stdlib__filename.cmx
-lib/ocaml/stdlib__float.cmx
-lib/ocaml/stdlib__format.cmx
-lib/ocaml/stdlib__fun.cmx
-lib/ocaml/stdlib__gc.cmx
-lib/ocaml/stdlib__genlex.cmx
-lib/ocaml/stdlib__hashtbl.cmx
-lib/ocaml/stdlib__int.cmx
-lib/ocaml/stdlib__int32.cmx
-lib/ocaml/stdlib__int64.cmx
-lib/ocaml/stdlib__lazy.cmx
-lib/ocaml/stdlib__lexing.cmx
-lib/ocaml/stdlib__list.cmx
-lib/ocaml/stdlib__listLabels.cmx
-lib/ocaml/stdlib__map.cmx
-lib/ocaml/stdlib__marshal.cmx
-lib/ocaml/stdlib__moreLabels.cmx
-lib/ocaml/stdlib__nativeint.cmx
-lib/ocaml/stdlib__obj.cmx
-lib/ocaml/stdlib__oo.cmx
-lib/ocaml/stdlib__option.cmx
-lib/ocaml/stdlib__parsing.cmx
-lib/ocaml/stdlib__pervasives.cmx
-lib/ocaml/stdlib__printexc.cmx
-lib/ocaml/stdlib__printf.cmx
-lib/ocaml/stdlib__queue.cmx
-lib/ocaml/stdlib__random.cmx
-lib/ocaml/stdlib__result.cmx
-lib/ocaml/stdlib__scanf.cmx
-lib/ocaml/stdlib__seq.cmx
-lib/ocaml/stdlib__set.cmx
-lib/ocaml/stdlib__stack.cmx
-lib/ocaml/stdlib__stdLabels.cmx
-lib/ocaml/stdlib__stream.cmx
-lib/ocaml/stdlib__string.cmx
-lib/ocaml/stdlib__stringLabels.cmx
-lib/ocaml/stdlib__sys.cmx
-lib/ocaml/stdlib__uchar.cmx
-lib/ocaml/stdlib__unit.cmx
-lib/ocaml/stdlib__weak.cmx
+lib/ocaml/stdlib__Arg.cmx
+lib/ocaml/stdlib__Array.cmx
+lib/ocaml/stdlib__ArrayLabels.cmx
+lib/ocaml/stdlib__Atomic.cmx
+lib/ocaml/stdlib__Bigarray.cmx
+lib/ocaml/stdlib__Bool.cmx
+lib/ocaml/stdlib__Buffer.cmx
+lib/ocaml/stdlib__Bytes.cmx
+lib/ocaml/stdlib__BytesLabels.cmx
+lib/ocaml/stdlib__Callback.cmx
+lib/ocaml/stdlib__Char.cmx
+lib/ocaml/stdlib__Complex.cmx
+lib/ocaml/stdlib__Digest.cmx
+lib/ocaml/stdlib__Either.cmx
+lib/ocaml/stdlib__Ephemeron.cmx
+lib/ocaml/stdlib__Filename.cmx
+lib/ocaml/stdlib__Float.cmx
+lib/ocaml/stdlib__Format.cmx
+lib/ocaml/stdlib__Fun.cmx
+lib/ocaml/stdlib__Gc.cmx
+lib/ocaml/stdlib__Genlex.cmx
+lib/ocaml/stdlib__Hashtbl.cmx
+lib/ocaml/stdlib__Int.cmx
+lib/ocaml/stdlib__Int32.cmx
+lib/ocaml/stdlib__Int64.cmx
+lib/ocaml/stdlib__Lazy.cmx
+lib/ocaml/stdlib__Lexing.cmx
+lib/ocaml/stdlib__List.cmx
+lib/ocaml/stdlib__ListLabels.cmx
+lib/ocaml/stdlib__Map.cmx
+lib/ocaml/stdlib__Marshal.cmx
+lib/ocaml/stdlib__MoreLabels.cmx
+lib/ocaml/stdlib__Nativeint.cmx
+lib/ocaml/stdlib__Obj.cmx
+lib/ocaml/stdlib__Oo.cmx
+lib/ocaml/stdlib__Option.cmx
+lib/ocaml/stdlib__Parsing.cmx
+lib/ocaml/stdlib__Pervasives.cmx
+lib/ocaml/stdlib__Printexc.cmx
+lib/ocaml/stdlib__Printf.cmx
+lib/ocaml/stdlib__Queue.cmx
+lib/ocaml/stdlib__Random.cmx
+lib/ocaml/stdlib__Result.cmx
+lib/ocaml/stdlib__Scanf.cmx
+lib/ocaml/stdlib__Seq.cmx
+lib/ocaml/stdlib__Set.cmx
+lib/ocaml/stdlib__Stack.cmx
+lib/ocaml/stdlib__StdLabels.cmx
+lib/ocaml/stdlib__Stream.cmx
+lib/ocaml/stdlib__String.cmx
+lib/ocaml/stdlib__StringLabels.cmx
+lib/ocaml/stdlib__Sys.cmx
+lib/ocaml/stdlib__Uchar.cmx
+lib/ocaml/stdlib__Unit.cmx
+lib/ocaml/stdlib__Weak.cmx
lib/ocaml/str.a
lib/ocaml/str.cmx
lib/ocaml/str.cmxa
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/lang/ocaml/pkg/PLIST,v
diff -u -p -u -r1.32 PLIST
--- pkg/PLIST 24 Jul 2023 12:09:40 -0000 1.32
+++ pkg/PLIST 1 Jan 2024 01:50:22 -0000
@@ -289,6 +289,10 @@ lib/ocaml/compiler-libs/depend.cmi
lib/ocaml/compiler-libs/depend.cmt
lib/ocaml/compiler-libs/depend.cmti
lib/ocaml/compiler-libs/depend.mli
+lib/ocaml/compiler-libs/diffing.cmi
+lib/ocaml/compiler-libs/diffing.cmt
+lib/ocaml/compiler-libs/diffing.cmti
+lib/ocaml/compiler-libs/diffing.mli
lib/ocaml/compiler-libs/dll.cmi
lib/ocaml/compiler-libs/dll.cmt
lib/ocaml/compiler-libs/dll.cmti
@@ -305,6 +309,9 @@ lib/ocaml/compiler-libs/emitcode.cmi
lib/ocaml/compiler-libs/emitcode.cmt
lib/ocaml/compiler-libs/emitcode.cmti
lib/ocaml/compiler-libs/emitcode.mli
+lib/ocaml/compiler-libs/emitenv.cmi
+lib/ocaml/compiler-libs/emitenv.cmti
+lib/ocaml/compiler-libs/emitenv.mli
lib/ocaml/compiler-libs/env.cmi
lib/ocaml/compiler-libs/env.cmt
lib/ocaml/compiler-libs/env.cmti
@@ -317,6 +324,10 @@ lib/ocaml/compiler-libs/errors.cmi
lib/ocaml/compiler-libs/errors.cmt
lib/ocaml/compiler-libs/errors.cmti
lib/ocaml/compiler-libs/errors.mli
+lib/ocaml/compiler-libs/errortrace.cmi
+lib/ocaml/compiler-libs/errortrace.cmt
+lib/ocaml/compiler-libs/errortrace.cmti
+lib/ocaml/compiler-libs/errortrace.mli
lib/ocaml/compiler-libs/expunge.cmi
lib/ocaml/compiler-libs/expunge.cmt
lib/ocaml/compiler-libs/genprintval.cmi
@@ -343,6 +354,10 @@ lib/ocaml/compiler-libs/includemod.cmi
lib/ocaml/compiler-libs/includemod.cmt
lib/ocaml/compiler-libs/includemod.cmti
lib/ocaml/compiler-libs/includemod.mli
+lib/ocaml/compiler-libs/includemod_errorprinter.cmi
+lib/ocaml/compiler-libs/includemod_errorprinter.cmt
+lib/ocaml/compiler-libs/includemod_errorprinter.cmti
+lib/ocaml/compiler-libs/includemod_errorprinter.mli
lib/ocaml/compiler-libs/instruct.cmi
lib/ocaml/compiler-libs/instruct.cmt
lib/ocaml/compiler-libs/instruct.cmti
@@ -355,6 +370,10 @@ lib/ocaml/compiler-libs/lambda.cmi
lib/ocaml/compiler-libs/lambda.cmt
lib/ocaml/compiler-libs/lambda.cmti
lib/ocaml/compiler-libs/lambda.mli
+lib/ocaml/compiler-libs/lazy_backtrack.cmi
+lib/ocaml/compiler-libs/lazy_backtrack.cmt
+lib/ocaml/compiler-libs/lazy_backtrack.cmti
+lib/ocaml/compiler-libs/lazy_backtrack.mli
lib/ocaml/compiler-libs/lexer.cmi
lib/ocaml/compiler-libs/lexer.cmt
lib/ocaml/compiler-libs/lexer.cmti
@@ -426,9 +445,6 @@ lib/ocaml/compiler-libs/oprint.mli
lib/ocaml/compiler-libs/optcompile.mli
lib/ocaml/compiler-libs/opterrors.mli
lib/ocaml/compiler-libs/optmaindriver.mli
-lib/ocaml/compiler-libs/opttopdirs.mli
-lib/ocaml/compiler-libs/opttoploop.mli
-lib/ocaml/compiler-libs/opttopmain.mli
lib/ocaml/compiler-libs/outcometree.cmi
lib/ocaml/compiler-libs/outcometree.cmti
lib/ocaml/compiler-libs/outcometree.mli
@@ -511,6 +527,10 @@ lib/ocaml/compiler-libs/runtimedef.cmi
lib/ocaml/compiler-libs/runtimedef.cmt
lib/ocaml/compiler-libs/runtimedef.cmti
lib/ocaml/compiler-libs/runtimedef.mli
+lib/ocaml/compiler-libs/signature_group.cmi
+lib/ocaml/compiler-libs/signature_group.cmt
+lib/ocaml/compiler-libs/signature_group.cmti
+lib/ocaml/compiler-libs/signature_group.mli
lib/ocaml/compiler-libs/simplif.cmi
lib/ocaml/compiler-libs/simplif.cmt
lib/ocaml/compiler-libs/simplif.cmti
@@ -555,10 +575,18 @@ lib/ocaml/compiler-libs/terminfo.cmi
lib/ocaml/compiler-libs/terminfo.cmt
lib/ocaml/compiler-libs/terminfo.cmti
lib/ocaml/compiler-libs/terminfo.mli
+lib/ocaml/compiler-libs/topcommon.cmi
+lib/ocaml/compiler-libs/topcommon.cmt
+lib/ocaml/compiler-libs/topcommon.cmti
+lib/ocaml/compiler-libs/topcommon.mli
lib/ocaml/compiler-libs/topdirs.cmi
lib/ocaml/compiler-libs/topdirs.cmt
lib/ocaml/compiler-libs/topdirs.cmti
lib/ocaml/compiler-libs/topdirs.mli
+lib/ocaml/compiler-libs/topeval.cmi
+lib/ocaml/compiler-libs/topeval.cmt
+lib/ocaml/compiler-libs/topeval.cmti
+lib/ocaml/compiler-libs/topeval.mli
lib/ocaml/compiler-libs/toploop.cmi
lib/ocaml/compiler-libs/toploop.cmt
lib/ocaml/compiler-libs/toploop.cmti
@@ -819,170 +847,170 @@ lib/ocaml/stdlib.cmt
lib/ocaml/stdlib.cmti
lib/ocaml/stdlib.ml
lib/ocaml/stdlib.mli
-lib/ocaml/stdlib__arg.cmi
-lib/ocaml/stdlib__arg.cmt
-lib/ocaml/stdlib__arg.cmti
-lib/ocaml/stdlib__array.cmi
-lib/ocaml/stdlib__array.cmt
-lib/ocaml/stdlib__array.cmti
-lib/ocaml/stdlib__arrayLabels.cmi
-lib/ocaml/stdlib__arrayLabels.cmt
-lib/ocaml/stdlib__arrayLabels.cmti
-lib/ocaml/stdlib__atomic.cmi
-lib/ocaml/stdlib__atomic.cmt
-lib/ocaml/stdlib__atomic.cmti
-lib/ocaml/stdlib__bigarray.cmi
-lib/ocaml/stdlib__bigarray.cmt
-lib/ocaml/stdlib__bigarray.cmti
-lib/ocaml/stdlib__bool.cmi
-lib/ocaml/stdlib__bool.cmt
-lib/ocaml/stdlib__bool.cmti
-lib/ocaml/stdlib__buffer.cmi
-lib/ocaml/stdlib__buffer.cmt
-lib/ocaml/stdlib__buffer.cmti
-lib/ocaml/stdlib__bytes.cmi
-lib/ocaml/stdlib__bytes.cmt
-lib/ocaml/stdlib__bytes.cmti
-lib/ocaml/stdlib__bytesLabels.cmi
-lib/ocaml/stdlib__bytesLabels.cmt
-lib/ocaml/stdlib__bytesLabels.cmti
-lib/ocaml/stdlib__callback.cmi
-lib/ocaml/stdlib__callback.cmt
-lib/ocaml/stdlib__callback.cmti
-lib/ocaml/stdlib__char.cmi
-lib/ocaml/stdlib__char.cmt
-lib/ocaml/stdlib__char.cmti
-lib/ocaml/stdlib__complex.cmi
-lib/ocaml/stdlib__complex.cmt
-lib/ocaml/stdlib__complex.cmti
-lib/ocaml/stdlib__digest.cmi
-lib/ocaml/stdlib__digest.cmt
-lib/ocaml/stdlib__digest.cmti
-lib/ocaml/stdlib__either.cmi
-lib/ocaml/stdlib__either.cmt
-lib/ocaml/stdlib__either.cmti
-lib/ocaml/stdlib__ephemeron.cmi
-lib/ocaml/stdlib__ephemeron.cmt
-lib/ocaml/stdlib__ephemeron.cmti
-lib/ocaml/stdlib__filename.cmi
-lib/ocaml/stdlib__filename.cmt
-lib/ocaml/stdlib__filename.cmti
-lib/ocaml/stdlib__float.cmi
-lib/ocaml/stdlib__float.cmt
-lib/ocaml/stdlib__float.cmti
-lib/ocaml/stdlib__format.cmi
-lib/ocaml/stdlib__format.cmt
-lib/ocaml/stdlib__format.cmti
-lib/ocaml/stdlib__fun.cmi
-lib/ocaml/stdlib__fun.cmt
-lib/ocaml/stdlib__fun.cmti
-lib/ocaml/stdlib__gc.cmi
-lib/ocaml/stdlib__gc.cmt
-lib/ocaml/stdlib__gc.cmti
-lib/ocaml/stdlib__genlex.cmi
-lib/ocaml/stdlib__genlex.cmt
-lib/ocaml/stdlib__genlex.cmti
-lib/ocaml/stdlib__hashtbl.cmi
-lib/ocaml/stdlib__hashtbl.cmt
-lib/ocaml/stdlib__hashtbl.cmti
-lib/ocaml/stdlib__int.cmi
-lib/ocaml/stdlib__int.cmt
-lib/ocaml/stdlib__int.cmti
-lib/ocaml/stdlib__int32.cmi
-lib/ocaml/stdlib__int32.cmt
-lib/ocaml/stdlib__int32.cmti
-lib/ocaml/stdlib__int64.cmi
-lib/ocaml/stdlib__int64.cmt
-lib/ocaml/stdlib__int64.cmti
-lib/ocaml/stdlib__lazy.cmi
-lib/ocaml/stdlib__lazy.cmt
-lib/ocaml/stdlib__lazy.cmti
-lib/ocaml/stdlib__lexing.cmi
-lib/ocaml/stdlib__lexing.cmt
-lib/ocaml/stdlib__lexing.cmti
-lib/ocaml/stdlib__list.cmi
-lib/ocaml/stdlib__list.cmt
-lib/ocaml/stdlib__list.cmti
-lib/ocaml/stdlib__listLabels.cmi
-lib/ocaml/stdlib__listLabels.cmt
-lib/ocaml/stdlib__listLabels.cmti
-lib/ocaml/stdlib__map.cmi
-lib/ocaml/stdlib__map.cmt
-lib/ocaml/stdlib__map.cmti
-lib/ocaml/stdlib__marshal.cmi
-lib/ocaml/stdlib__marshal.cmt
-lib/ocaml/stdlib__marshal.cmti
-lib/ocaml/stdlib__moreLabels.cmi
-lib/ocaml/stdlib__moreLabels.cmt
-lib/ocaml/stdlib__moreLabels.cmti
-lib/ocaml/stdlib__nativeint.cmi
-lib/ocaml/stdlib__nativeint.cmt
-lib/ocaml/stdlib__nativeint.cmti
-lib/ocaml/stdlib__obj.cmi
-lib/ocaml/stdlib__obj.cmt
-lib/ocaml/stdlib__obj.cmti
-lib/ocaml/stdlib__oo.cmi
-lib/ocaml/stdlib__oo.cmt
-lib/ocaml/stdlib__oo.cmti
-lib/ocaml/stdlib__option.cmi
-lib/ocaml/stdlib__option.cmt
-lib/ocaml/stdlib__option.cmti
-lib/ocaml/stdlib__parsing.cmi
-lib/ocaml/stdlib__parsing.cmt
-lib/ocaml/stdlib__parsing.cmti
-lib/ocaml/stdlib__pervasives.cmi
-lib/ocaml/stdlib__pervasives.cmt
-lib/ocaml/stdlib__printexc.cmi
-lib/ocaml/stdlib__printexc.cmt
-lib/ocaml/stdlib__printexc.cmti
-lib/ocaml/stdlib__printf.cmi
-lib/ocaml/stdlib__printf.cmt
-lib/ocaml/stdlib__printf.cmti
-lib/ocaml/stdlib__queue.cmi
-lib/ocaml/stdlib__queue.cmt
-lib/ocaml/stdlib__queue.cmti
-lib/ocaml/stdlib__random.cmi
-lib/ocaml/stdlib__random.cmt
-lib/ocaml/stdlib__random.cmti
-lib/ocaml/stdlib__result.cmi
-lib/ocaml/stdlib__result.cmt
-lib/ocaml/stdlib__result.cmti
-lib/ocaml/stdlib__scanf.cmi
-lib/ocaml/stdlib__scanf.cmt
-lib/ocaml/stdlib__scanf.cmti
-lib/ocaml/stdlib__seq.cmi
-lib/ocaml/stdlib__seq.cmt
-lib/ocaml/stdlib__seq.cmti
-lib/ocaml/stdlib__set.cmi
-lib/ocaml/stdlib__set.cmt
-lib/ocaml/stdlib__set.cmti
-lib/ocaml/stdlib__stack.cmi
-lib/ocaml/stdlib__stack.cmt
-lib/ocaml/stdlib__stack.cmti
-lib/ocaml/stdlib__stdLabels.cmi
-lib/ocaml/stdlib__stdLabels.cmt
-lib/ocaml/stdlib__stdLabels.cmti
-lib/ocaml/stdlib__stream.cmi
-lib/ocaml/stdlib__stream.cmt
-lib/ocaml/stdlib__stream.cmti
-lib/ocaml/stdlib__string.cmi
-lib/ocaml/stdlib__string.cmt
-lib/ocaml/stdlib__string.cmti
-lib/ocaml/stdlib__stringLabels.cmi
-lib/ocaml/stdlib__stringLabels.cmt
-lib/ocaml/stdlib__stringLabels.cmti
-lib/ocaml/stdlib__sys.cmi
-lib/ocaml/stdlib__sys.cmt
-lib/ocaml/stdlib__sys.cmti
-lib/ocaml/stdlib__uchar.cmi
-lib/ocaml/stdlib__uchar.cmt
-lib/ocaml/stdlib__uchar.cmti
-lib/ocaml/stdlib__unit.cmi
-lib/ocaml/stdlib__unit.cmt
-lib/ocaml/stdlib__unit.cmti
-lib/ocaml/stdlib__weak.cmi
-lib/ocaml/stdlib__weak.cmt
-lib/ocaml/stdlib__weak.cmti
+lib/ocaml/stdlib__Arg.cmi
+lib/ocaml/stdlib__Arg.cmt
+lib/ocaml/stdlib__Arg.cmti
+lib/ocaml/stdlib__Array.cmi
+lib/ocaml/stdlib__Array.cmt
+lib/ocaml/stdlib__Array.cmti
+lib/ocaml/stdlib__ArrayLabels.cmi
+lib/ocaml/stdlib__ArrayLabels.cmt
+lib/ocaml/stdlib__ArrayLabels.cmti
+lib/ocaml/stdlib__Atomic.cmi
+lib/ocaml/stdlib__Atomic.cmt
+lib/ocaml/stdlib__Atomic.cmti
+lib/ocaml/stdlib__Bigarray.cmi
+lib/ocaml/stdlib__Bigarray.cmt
+lib/ocaml/stdlib__Bigarray.cmti
+lib/ocaml/stdlib__Bool.cmi
+lib/ocaml/stdlib__Bool.cmt
+lib/ocaml/stdlib__Bool.cmti
+lib/ocaml/stdlib__Buffer.cmi
+lib/ocaml/stdlib__Buffer.cmt
+lib/ocaml/stdlib__Buffer.cmti
+lib/ocaml/stdlib__Bytes.cmi
+lib/ocaml/stdlib__Bytes.cmt
+lib/ocaml/stdlib__Bytes.cmti
+lib/ocaml/stdlib__BytesLabels.cmi
+lib/ocaml/stdlib__BytesLabels.cmt
+lib/ocaml/stdlib__BytesLabels.cmti
+lib/ocaml/stdlib__Callback.cmi
+lib/ocaml/stdlib__Callback.cmt
+lib/ocaml/stdlib__Callback.cmti
+lib/ocaml/stdlib__Char.cmi
+lib/ocaml/stdlib__Char.cmt
+lib/ocaml/stdlib__Char.cmti
+lib/ocaml/stdlib__Complex.cmi
+lib/ocaml/stdlib__Complex.cmt
+lib/ocaml/stdlib__Complex.cmti
+lib/ocaml/stdlib__Digest.cmi
+lib/ocaml/stdlib__Digest.cmt
+lib/ocaml/stdlib__Digest.cmti
+lib/ocaml/stdlib__Either.cmi
+lib/ocaml/stdlib__Either.cmt
+lib/ocaml/stdlib__Either.cmti
+lib/ocaml/stdlib__Ephemeron.cmi
+lib/ocaml/stdlib__Ephemeron.cmt
+lib/ocaml/stdlib__Ephemeron.cmti
+lib/ocaml/stdlib__Filename.cmi
+lib/ocaml/stdlib__Filename.cmt
+lib/ocaml/stdlib__Filename.cmti
+lib/ocaml/stdlib__Float.cmi
+lib/ocaml/stdlib__Float.cmt
+lib/ocaml/stdlib__Float.cmti
+lib/ocaml/stdlib__Format.cmi
+lib/ocaml/stdlib__Format.cmt
+lib/ocaml/stdlib__Format.cmti
+lib/ocaml/stdlib__Fun.cmi
+lib/ocaml/stdlib__Fun.cmt
+lib/ocaml/stdlib__Fun.cmti
+lib/ocaml/stdlib__Gc.cmi
+lib/ocaml/stdlib__Gc.cmt
+lib/ocaml/stdlib__Gc.cmti
+lib/ocaml/stdlib__Genlex.cmi
+lib/ocaml/stdlib__Genlex.cmt
+lib/ocaml/stdlib__Genlex.cmti
+lib/ocaml/stdlib__Hashtbl.cmi
+lib/ocaml/stdlib__Hashtbl.cmt
+lib/ocaml/stdlib__Hashtbl.cmti
+lib/ocaml/stdlib__Int.cmi
+lib/ocaml/stdlib__Int.cmt
+lib/ocaml/stdlib__Int.cmti
+lib/ocaml/stdlib__Int32.cmi
+lib/ocaml/stdlib__Int32.cmt
+lib/ocaml/stdlib__Int32.cmti
+lib/ocaml/stdlib__Int64.cmi
+lib/ocaml/stdlib__Int64.cmt
+lib/ocaml/stdlib__Int64.cmti
+lib/ocaml/stdlib__Lazy.cmi
+lib/ocaml/stdlib__Lazy.cmt
+lib/ocaml/stdlib__Lazy.cmti
+lib/ocaml/stdlib__Lexing.cmi
+lib/ocaml/stdlib__Lexing.cmt
+lib/ocaml/stdlib__Lexing.cmti
+lib/ocaml/stdlib__List.cmi
+lib/ocaml/stdlib__List.cmt
+lib/ocaml/stdlib__List.cmti
+lib/ocaml/stdlib__ListLabels.cmi
+lib/ocaml/stdlib__ListLabels.cmt
+lib/ocaml/stdlib__ListLabels.cmti
+lib/ocaml/stdlib__Map.cmi
+lib/ocaml/stdlib__Map.cmt
+lib/ocaml/stdlib__Map.cmti
+lib/ocaml/stdlib__Marshal.cmi
+lib/ocaml/stdlib__Marshal.cmt
+lib/ocaml/stdlib__Marshal.cmti
+lib/ocaml/stdlib__MoreLabels.cmi
+lib/ocaml/stdlib__MoreLabels.cmt
+lib/ocaml/stdlib__MoreLabels.cmti
+lib/ocaml/stdlib__Nativeint.cmi
+lib/ocaml/stdlib__Nativeint.cmt
+lib/ocaml/stdlib__Nativeint.cmti
+lib/ocaml/stdlib__Obj.cmi
+lib/ocaml/stdlib__Obj.cmt
+lib/ocaml/stdlib__Obj.cmti
+lib/ocaml/stdlib__Oo.cmi
+lib/ocaml/stdlib__Oo.cmt
+lib/ocaml/stdlib__Oo.cmti
+lib/ocaml/stdlib__Option.cmi
+lib/ocaml/stdlib__Option.cmt
+lib/ocaml/stdlib__Option.cmti
+lib/ocaml/stdlib__Parsing.cmi
+lib/ocaml/stdlib__Parsing.cmt
+lib/ocaml/stdlib__Parsing.cmti
+lib/ocaml/stdlib__Pervasives.cmi
+lib/ocaml/stdlib__Pervasives.cmt
+lib/ocaml/stdlib__Printexc.cmi
+lib/ocaml/stdlib__Printexc.cmt
+lib/ocaml/stdlib__Printexc.cmti
+lib/ocaml/stdlib__Printf.cmi
+lib/ocaml/stdlib__Printf.cmt
+lib/ocaml/stdlib__Printf.cmti
+lib/ocaml/stdlib__Queue.cmi
+lib/ocaml/stdlib__Queue.cmt
+lib/ocaml/stdlib__Queue.cmti
+lib/ocaml/stdlib__Random.cmi
+lib/ocaml/stdlib__Random.cmt
+lib/ocaml/stdlib__Random.cmti
+lib/ocaml/stdlib__Result.cmi
+lib/ocaml/stdlib__Result.cmt
+lib/ocaml/stdlib__Result.cmti
+lib/ocaml/stdlib__Scanf.cmi
+lib/ocaml/stdlib__Scanf.cmt
+lib/ocaml/stdlib__Scanf.cmti
+lib/ocaml/stdlib__Seq.cmi
+lib/ocaml/stdlib__Seq.cmt
+lib/ocaml/stdlib__Seq.cmti
+lib/ocaml/stdlib__Set.cmi
+lib/ocaml/stdlib__Set.cmt
+lib/ocaml/stdlib__Set.cmti
+lib/ocaml/stdlib__Stack.cmi
+lib/ocaml/stdlib__Stack.cmt
+lib/ocaml/stdlib__Stack.cmti
+lib/ocaml/stdlib__StdLabels.cmi
+lib/ocaml/stdlib__StdLabels.cmt
+lib/ocaml/stdlib__StdLabels.cmti
+lib/ocaml/stdlib__Stream.cmi
+lib/ocaml/stdlib__Stream.cmt
+lib/ocaml/stdlib__Stream.cmti
+lib/ocaml/stdlib__String.cmi
+lib/ocaml/stdlib__String.cmt
+lib/ocaml/stdlib__String.cmti
+lib/ocaml/stdlib__StringLabels.cmi
+lib/ocaml/stdlib__StringLabels.cmt
+lib/ocaml/stdlib__StringLabels.cmti
+lib/ocaml/stdlib__Sys.cmi
+lib/ocaml/stdlib__Sys.cmt
+lib/ocaml/stdlib__Sys.cmti
+lib/ocaml/stdlib__Uchar.cmi
+lib/ocaml/stdlib__Uchar.cmt
+lib/ocaml/stdlib__Uchar.cmti
+lib/ocaml/stdlib__Unit.cmi
+lib/ocaml/stdlib__Unit.cmt
+lib/ocaml/stdlib__Unit.cmti
+lib/ocaml/stdlib__Weak.cmi
+lib/ocaml/stdlib__Weak.cmt
+lib/ocaml/stdlib__Weak.cmti
lib/ocaml/str.cma
lib/ocaml/str.cmi
lib/ocaml/str.cmti
@@ -1133,6 +1161,7 @@ lib/ocaml/weak.mli
@man man/man3/CamlinternalMenhirLib.InspectionTableInterpreter.3o
@man man/man3/CamlinternalMenhirLib.InspectionTableInterpreter.Make.3o
@man man/man3/CamlinternalMenhirLib.InspectionTableInterpreter.Symbols.3o
+@man man/man3/CamlinternalMenhirLib.LexerUtil.3o
@man man/man3/CamlinternalMenhirLib.LinearizedArray.3o
@man man/man3/CamlinternalMenhirLib.PackedIntArray.3o
@man man/man3/CamlinternalMenhirLib.Printers.3o
@@ -1159,6 +1188,7 @@ lib/ocaml/weak.mli
@man man/man3/Consistbl.Make.3o
@man man/man3/Depend.3o
@man man/man3/Depend.String.3o
+@man man/man3/Diffing.3o
@man man/man3/Digest.3o
@man man/man3/Docstrings.3o
@man man/man3/Docstrings.WithMenhir.3o
@@ -1185,6 +1215,7 @@ lib/ocaml/weak.mli
@man man/man3/Float.Array.3o
@man man/man3/Float.ArrayLabels.3o
@man man/man3/Format.3o
+@man man/man3/Format_tutorial.3o
@man man/man3/Fun.3o
@man man/man3/Gc.3o
@man man/man3/Gc.Memprof.3o
@@ -1216,6 +1247,7 @@ lib/ocaml/weak.mli
@man man/man3/Int64.3o
@man man/man3/Int_replace_polymorphic_compare.3o
@man man/man3/Lazy.3o
+@man man/man3/Lazy_backtrack.3o
@man man/man3/Lexer.3o
@man man/man3/Lexing.3o
@man man/man3/List.3o
@@ -1232,7 +1264,6 @@ lib/ocaml/weak.mli
@man man/man3/Marshal.3o
@man man/man3/Misc.3o
@man man/man3/Misc.Color.3o
-@man man/man3/Misc.EnvLazy.3o
@man man/man3/Misc.Error_style.3o
@man man/man3/Misc.Int_literal_converter.3o
@man man/man3/Misc.LongString.3o
@@ -1422,6 +1453,7 @@ share/doc/ocaml/html/extn.html
share/doc/ocaml/html/firstclassmodules.html
share/doc/ocaml/html/flambda.html
share/doc/ocaml/html/foreword.html
+share/doc/ocaml/html/gadts-tutorial.html
share/doc/ocaml/html/gadts.html
share/doc/ocaml/html/generalizedopens.html
share/doc/ocaml/html/generativefunctors.html
@@ -1485,6 +1517,7 @@ share/doc/ocaml/html/libref/Float.Array.
share/doc/ocaml/html/libref/Float.ArrayLabels.html
share/doc/ocaml/html/libref/Float.html
share/doc/ocaml/html/libref/Format.html
+share/doc/ocaml/html/libref/Format_tutorial.html
share/doc/ocaml/html/libref/Fun.html
share/doc/ocaml/html/libref/Gc.Memprof.html
share/doc/ocaml/html/libref/Gc.html
@@ -1693,6 +1726,7 @@ share/doc/ocaml/html/libref/type_Float.A
share/doc/ocaml/html/libref/type_Float.ArrayLabels.html
share/doc/ocaml/html/libref/type_Float.html
share/doc/ocaml/html/libref/type_Format.html
+share/doc/ocaml/html/libref/type_Format_tutorial.html
share/doc/ocaml/html/libref/type_Fun.html
share/doc/ocaml/html/libref/type_Gc.Memprof.html
share/doc/ocaml/html/libref/type_Gc.html
@@ -1847,9 +1881,9 @@ share/doc/ocaml/html/libthreads.html
share/doc/ocaml/html/libunix.html
share/doc/ocaml/html/locallyabstract.html
share/doc/ocaml/html/manual.css
+share/doc/ocaml/html/manual.html
share/doc/ocaml/html/manual001.html
-share/doc/ocaml/html/manual024.html
-share/doc/ocaml/html/manual067.html
+share/doc/ocaml/html/manual069.html
share/doc/ocaml/html/modtypes.html
share/doc/ocaml/html/modulealias.html
share/doc/ocaml/html/moduleexamples.html
@@ -1865,9 +1899,11 @@ share/doc/ocaml/html/overridingopen.html
share/doc/ocaml/html/parsing.html
share/doc/ocaml/html/patterns.html
share/doc/ocaml/html/polymorphism.html
+share/doc/ocaml/html/polyvariant.html
share/doc/ocaml/html/previous_motif.gif
share/doc/ocaml/html/privatetypes.html
share/doc/ocaml/html/profil.html
+share/doc/ocaml/html/recursivemodules.html
share/doc/ocaml/html/runtime.html
share/doc/ocaml/html/signaturesubstitution.html
share/doc/ocaml/html/stdlib.html

Cannot PXE Boot PC Engines APU.1D4

Cannot PXE Boot PC Engines APU.1D4

Have tried both i386 and amd64.
Verified that my tftpd server is working.

This used to work. Now fails.
Hardware is about 10 years old.
Do I need new hardware??

What is recommended?
Need minimum of 3 ethernet ports.

Thanks in advance.

subscribe misc@OpenBSD.org

subscribe misc@OpenBSD.org

subscribe misc@OpenBSD.org

subscribe misc@OpenBSD.org

Re: spotifyd: add user and rc.d script

On Sun, Dec 31, 2023 at 08:49:48PM +0000, Klemens Nanni wrote:
> _nginx is the oldest commented user from 2012 according to my blame/grep.
> I'd like to recycle the ID into _spotifyd and isolate this internet facing
> daemon into /var/spotifyd/, away from /home/kn/.
>
> Looks like this is the first case of an unprivileged user in ports playing.
> sndio(7) needs a cookie file; neither PortAudio (audio/portaudio-svn), nor
> Rust's portaudio-rs crate or spotifyd seem to use that, so I've added a
> trivial rc_pre() one-shot hook leveraging aucat(1).
>
> Existing users as per README won't have to do anything after upgrading
> to spotifyd-0.3.5p3; ~/.spotifyd/spotifyd.conf continues to take
> precedence and is NOT merged with /etc/spotifyd.conf used by rc.d/spotifyd.

Same diff plus README bits on how to share sndio(7) cookies since sndiod(8)
does not concurrent connections from different users/accounts (read: cookies).

> Works like a charm for me.
>
> Feedback? OK?

Index: infrastructure/db/user.list
===================================================================
RCS file: /cvs/ports/infrastructure/db/user.list,v
diff -u -p -r1.435 user.list
--- infrastructure/db/user.list 17 Dec 2023 21:25:50 -0000 1.435
+++ infrastructure/db/user.list 29 Dec 2023 23:59:22 -0000
@@ -101,7 +101,7 @@ id user group port
590 _smsd _smsd comms/smstools
591 _bacula _bacula sysutils/bacula
592 _imapproxy _imapproxy mail/imapproxy
-#593 _nginx _nginx www/nginx
+593 _spotifyd _spotifyd audio/spotifyd
#594 _ejabberd _ejabberd net/ejabberd
595 _poppassd _poppassd sysutils/openpoppassd
#596 _heartbeat _heartbeat sysutils/heartbeat
Index: audio/spotifyd/Makefile
===================================================================
RCS file: /cvs/ports/audio/spotifyd/Makefile,v
diff -u -p -r1.4 Makefile
--- audio/spotifyd/Makefile 31 Dec 2023 18:45:17 -0000 1.4
+++ audio/spotifyd/Makefile 31 Dec 2023 19:59:27 -0000
@@ -4,7 +4,7 @@ NOT_FOR_ARCHS = powerpc64 riscv6
COMMENT = Spotify client running as UNIX daemon
DIST_TUPLE = github Spotifyd spotifyd v0.3.5 .
CATEGORIES = audio net
-REVISION = 2
+REVISION = 3

MAINTAINER = Klemens Nanni <kn@openbsd.org>

@@ -31,10 +31,15 @@ MODCARGO_FEATURES = dbus_keyring \
portaudio_backend

DOC_DIR = ${PREFIX}/doc/${PKGSTEM}
+EXAMPLES_DIR = ${PREFIX}/share/examples/${PKGSTEM}
+HOME_DIR = ${LOCALSTATEDIR}/${PKGSTEM}
+SUBST_VARS = HOME_DIR

post-install:
${INSTALL_DATA_DIR} ${DOC_DIR}
${INSTALL_DATA} ${WRKSRC}/docs/src/config/File.md ${DOC_DIR}/
+ ${INSTALL_DATA_DIR} ${EXAMPLES_DIR}
+ ${SUBST_DATA} {${FILESDIR},${EXAMPLES_DIR}}/${PKGSTEM}.conf

.include "crates.inc"
.include <bsd.port.mk>
Index: audio/spotifyd/files/spotifyd.conf
===================================================================
RCS file: audio/spotifyd/files/spotifyd.conf
diff -N audio/spotifyd/files/spotifyd.conf
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ audio/spotifyd/files/spotifyd.conf 31 Dec 2023 19:58:21 -0000
@@ -0,0 +1,8 @@
+[global]
+username = "user@example.com"
+password = "secret"
+
+# TODO needs D-Bus policy to allow '_spotifyd' owning the MPRIS service
+use_mpris = false
+
+#cache_path = "${HOME_DIR}/cache"
Index: audio/spotifyd/pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/spotifyd/pkg/PLIST,v
diff -u -p -r1.2 PLIST
--- audio/spotifyd/pkg/PLIST 29 Dec 2023 22:09:21 -0000 1.2
+++ audio/spotifyd/pkg/PLIST 31 Dec 2023 21:40:04 -0000
@@ -1,5 +1,19 @@
+@newgroup _spotifyd:593
+@newuser _spotifyd:593:_spotifyd::Spotify Daemon:${HOME_DIR}:/sbin/nologin
+@rcscript ${RCDIR}/spotifyd
+@owner _spotifyd
+@group _spotifyd
+@sample ${HOME_DIR}/
+@extraunexec rm -rf ${HOME_DIR}
+@owner
+@group
@bin bin/spotifyd
doc/
doc/spotifyd/
doc/spotifyd/File.md
share/doc/pkg-readmes/${PKGSTEM}
+share/examples/spotifyd/
+share/examples/spotifyd/spotifyd.conf
+@mode 0640
+@group _spotifyd
+@sample ${SYSCONFDIR}/spotifyd.conf
Index: audio/spotifyd/pkg/README
===================================================================
RCS file: /cvs/ports/audio/spotifyd/pkg/README,v
diff -u -p -r1.1.1.1 README
--- audio/spotifyd/pkg/README 27 Dec 2023 19:47:33 -0000 1.1.1.1
+++ audio/spotifyd/pkg/README 31 Dec 2023 22:02:26 -0000
@@ -1,8 +1,14 @@
With credentials in an XDG configuration file spotifyd is ready to run, e.g.
as daemon in ~/.xsession or on-demand via clients such as "spotify-qt":

- [global]
+ [spotifyd]
username = "user@example.com"
password = "secret"

-See https://docs.spotifyd.rs/ for more information.
+Alternatively, the rc.d(8) script runs as dedicated user, but lacks D-Bus
+configuration, hence features like the MPRIS interface do not work (yet).
+
+Follow sndio(7) Authentication if both dedicated and your own user shall be
+able to play audio at the same time, e.g. on a desktop system:
+
+ # install -D -o _spotifyd ~/.sndio/cookie ${HOME_DIR}/.sndio/cookie
Index: audio/spotifyd/pkg/spotifyd.rc
===================================================================
RCS file: audio/spotifyd/pkg/spotifyd.rc
diff -N audio/spotifyd/pkg/spotifyd.rc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ audio/spotifyd/pkg/spotifyd.rc 31 Dec 2023 21:40:27 -0000
@@ -0,0 +1,16 @@
+#!/bin/ksh
+
+daemon="/usr/local/bin/spotifyd"
+daemon_user="_spotifyd"
+
+. /etc/rc.d/rc.subr
+
+rc_reload=NO
+
+rc_pre() {
+ # Create sndio(7) cookie on first run, PortAudio does not do it,
+ # otherwise spotifyd starts, but crashes when playing audio.
+ [[ -f ~/.sndio/cookie ]] || aucat -i /dev/null
+}
+
+rc_cmd $1