Skip to content

Commit

Permalink
Merge pull request #1571 from hadfl/pkgupd
Browse files Browse the repository at this point in the history
  • Loading branch information
citrus-it authored Jan 19, 2025
2 parents 0a8bc38 + 2429f55 commit 03cdce9
Show file tree
Hide file tree
Showing 66 changed files with 478 additions and 270 deletions.
4 changes: 2 additions & 2 deletions build/cairo/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# http://www.illumos.org/license/CDDL.
# }}}

# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/build.sh

Expand Down Expand Up @@ -66,7 +66,7 @@ pre_configure() {

! cross_arch $arch && return

CONFIGURE_CMD+=" --cross-file $SRCDIR/files/$arch-gcc.txt"
CONFIGURE_CMD+=" --cross-file $BLIBDIR/meson-$arch-gcc"
}

post_install() {
Expand Down
4 changes: 2 additions & 2 deletions build/cargo-c/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
# http://www.illumos.org/license/CDDL.
# }}}

# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/build.sh

PROG=cargo-c
VER=0.10.7
VER=0.10.8
PKG=ooce/developer/cargo-c
SUMMARY="build and install C-ABI compatible dynamic and static libraries"
DESC="produces and installs a correct pkg-config file, a static library and "
Expand Down
4 changes: 2 additions & 2 deletions build/clang/build-19.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@
# http://www.illumos.org/license/CDDL.
# }}}

# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/build.sh

PROG=clang
PKG=ooce/developer/clang-19
VER=19.1.6
VER=19.1.7
SUMMARY="C language family frontend for LLVM"
DESC="The Clang project provides a language front-end and tooling "
DESC+="infrastructure for languages in the C language family (C, C++, "
Expand Down
4 changes: 2 additions & 2 deletions build/cmake/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
# http://www.illumos.org/license/CDDL.
# }}}

# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/build.sh

PROG=cmake
VER=3.31.3
VER=3.31.4
PKG=ooce/developer/cmake
SUMMARY="Build coordinator"
DESC="An extensible system that manages the build process in a "
Expand Down
26 changes: 20 additions & 6 deletions build/cyrus/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@
. ../../lib/build.sh

PROG=cyrus
VER=3.8.2
VER=3.10.0
PKG=ooce/network/cyrus-imapd
SUMMARY="Cyrus IMAP is an email, contacts and calendar server"
DESC="$SUMMARY"
SUMMARY="Cyrus IMAP"
DESC="An email, contacts and calendar server"

ICALVER=3.0.18
ICALVER=3.0.19
XAPIANVER=1.4.27

# The icu4c ABI changes frequently. Lock the version
# pulled into each build of cyrus-imapd.
Expand All @@ -47,6 +48,7 @@ XFORM_ARGS="
-DUSER=cyrus -DGROUP=cyrus
-DRUNDIR=var/run/cyrus
-DICAL=$ICALVER
-DXAPIAN=$XAPIANVER
"

init
Expand All @@ -55,10 +57,20 @@ prep_build
#########################################################################
# Download and build bundled dependencies

## Build ical dependency, which uses cmake
## Build xapian dependency

save_buildenv

build_dependency xapian xapian-core-$XAPIANVER $PROG/xapian \
xapian-core $XAPIANVER

# xapian-config
PATH+=:$DEPROOT$PREFIX/bin

## Build ical dependency, which uses cmake

restore_buildenv

CONFIGURE_CMD="$CMAKE ."
CONFIGURE_OPTS="
-DCMAKE_BUILD_TYPE=Release
Expand Down Expand Up @@ -107,6 +119,8 @@ CONFIGURE_OPTS="
--enable-http
--enable-calalarmd
--enable-idled
--enable-xapian
--enable-jmap
--with-sasl=$OPREFIX
"
CONFIGURE_OPTS[amd64]+=" --libexecdir=$PREFIX/libexec"
Expand All @@ -115,7 +129,7 @@ post_install() {
# Copy in the dependency libraries

pushd $deplib >/dev/null
for lib in libical*; do
for lib in libical* libxapian*; do
[[ $lib = *.so.* && -f $lib && ! -h $lib ]] || continue
tgt=`echo $lib | cut -d. -f1-3`
logmsg "--- installing library $lib -> $tgt"
Expand Down
5 changes: 3 additions & 2 deletions build/cyrus/files/ctf.skip
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
libical_cxx.so
libicalss_cxx.so
libical_cxx\.so
libicalss_cxx\.so
libxapian\.so
5 changes: 3 additions & 2 deletions build/cyrus/local.mog
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.

# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.

license COPYING license="BSD with attribution to CMU/MIT/others"
license ../libical-$(ICAL)/LICENSE.MPL2.txt license=MPLv2
license ../libical-$(ICAL)/LICENSE.MPL2.txt license=MPLv2/libical
license ../xapian-core-$(XAPIAN)/COPYING license=GPLv2/xapian

group groupname=$(GROUP) gid=89
user ftpuser=false username=$(USER) uid=89 group=$(GROUP) \
Expand Down
18 changes: 9 additions & 9 deletions build/cyrus/patches/adminip.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/global.c a/imap/global.c
--- a~/imap/global.c 1970-01-01 00:00:00
+++ a/imap/global.c 1970-01-01 00:00:00
@@ -1130,3 +1130,69 @@ EXPORTED int saslprops_set_tls(struct sa
@@ -1134,3 +1134,69 @@ EXPORTED int saslprops_set_tls(struct sa

return SASL_OK;
}
Expand Down Expand Up @@ -74,7 +74,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/global.c a/imap/global.c
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/global.h a/imap/global.h
--- a~/imap/global.h 1970-01-01 00:00:00
+++ a/imap/global.h 1970-01-01 00:00:00
@@ -193,4 +193,6 @@ extern int capa_is_disabled(const char *
@@ -194,4 +194,6 @@ extern int capa_is_disabled(const char *

extern int cmd_cancelled(int insearch);

Expand All @@ -84,23 +84,23 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/global.h a/imap/global.h
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/imapd.c a/imap/imapd.c
--- a~/imap/imapd.c 1970-01-01 00:00:00
+++ a/imap/imapd.c 1970-01-01 00:00:00
@@ -181,6 +181,7 @@ static struct protgroup *protin = NULL;
@@ -189,6 +189,7 @@ static struct protgroup *protin = NULL;
static const char *imapd_clienthost = "[local]";
static int imapd_logfd = -1;
char *imapd_userid = NULL, *proxy_userid = NULL;
+in_addr_t remoteipaddr = -1;
static char *imapd_magicplus = NULL;
struct auth_state *imapd_authstate = 0;
static int imapd_userisadmin = 0;
@@ -814,6 +815,7 @@ static void imapd_reset(void)
@@ -989,6 +990,7 @@ static void imapd_reset(void)
cyrus_reset_stdio();

imapd_clienthost = "[local]";
+ remoteipaddr = -1;
if (imapd_logfd != -1) {
close(imapd_logfd);
imapd_logfd = -1;
@@ -964,6 +966,9 @@ int service_main(int argc __attribute__(
@@ -1159,6 +1161,9 @@ int service_main(int argc __attribute__(
/* Find out name of client host */
imapd_clienthost = get_clienthost(0, &localip, &remoteip);

Expand All @@ -110,7 +110,7 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/imapd.c a/imap/imapd.c
if (localip && remoteip) {
buf_setcstr(&saslprops.ipremoteport, remoteip);
buf_setcstr(&saslprops.iplocalport, localip);
@@ -2814,6 +2819,18 @@ static void cmd_login(char *tag, char *u
@@ -3113,6 +3118,18 @@ static void cmd_login(char *tag, char *u

if (checklimits(tag)) return;

Expand All @@ -126,9 +126,9 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/imapd.c a/imap/imapd.c
+ return;
+ }
+
prot_printf(imapd_out, "%s OK [CAPABILITY ", tag);
capa_response(CAPA_PREAUTH|CAPA_POSTAUTH);
prot_printf(imapd_out, "] %s\r\n", reply);
authentication_success(tag, 0, replybuf);
}

diff -wpruN --no-dereference '--exclude=*.orig' a~/lib/imapoptions a/lib/imapoptions
--- a~/lib/imapoptions 1970-01-01 00:00:00
+++ a/lib/imapoptions 1970-01-01 00:00:00
Expand Down
11 changes: 0 additions & 11 deletions build/cyrus/patches/gcc14.patch
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/relocate_by_id.c a/imap/relocate_by_id.c
--- a~/imap/relocate_by_id.c 1970-01-01 00:00:00
+++ a/imap/relocate_by_id.c 1970-01-01 00:00:00
@@ -54,6 +54,7 @@
#include <syslog.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <libgen.h>

#include "dav_db.h"
#include "global.h"
diff -wpruN --no-dereference '--exclude=*.orig' a~/lib/ptrarray.c a/lib/ptrarray.c
--- a~/lib/ptrarray.c 1970-01-01 00:00:00
+++ a/lib/ptrarray.c 1970-01-01 00:00:00
Expand Down
40 changes: 40 additions & 0 deletions build/cyrus/patches/isdir.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/mailbox.c a/imap/mailbox.c
--- a~/imap/mailbox.c 1970-01-01 00:00:00
+++ a/imap/mailbox.c 1970-01-01 00:00:00
@@ -75,6 +75,12 @@
# endif
#endif

+#ifdef __illumos__
+# include <fcntl.h>
+# include <sys/types.h>
+# include <sys/stat.h>
+#endif
+
#include "annotate.h"
#include "assert.h"
#ifdef WITH_DAV
@@ -6045,6 +6051,10 @@ static void mailbox_delete_files(const c
struct dirent *f;
char buf[MAX_MAILBOX_PATH+1];
char *tail;
+#ifdef __illumos__
+ char path_buf[PATH_MAX];
+ struct stat sbuf;
+#endif

strlcpy(buf, path, sizeof(buf));

@@ -6061,7 +6071,12 @@ static void mailbox_delete_files(const c
dirp = opendir(path);
if (dirp) {
while ((f = readdir(dirp))!=NULL) {
+#ifndef __illumos__
if (f->d_type == DT_DIR) {
+#else
+ snprintf(path_buf, sizeof(path_buf), "%s/%s", path, f->d_name);
+ if (stat(path_buf, &sbuf) == 0 && S_ISDIR(sbuf.st_mode)) {
+#endif
/* xunlink() will fail on a directory and create syslog noise.
We rmdir() later in mailbox_delete_cleanup() anyways */
continue;
2 changes: 1 addition & 1 deletion build/cyrus/patches/log-pri.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/lib/util.c a/lib/util.c
--- a~/lib/util.c 1970-01-01 00:00:00
+++ a/lib/util.c 1970-01-01 00:00:00
@@ -82,6 +82,9 @@
@@ -83,6 +83,9 @@
#include "zlib.h"
#endif

Expand Down
2 changes: 1 addition & 1 deletion build/cyrus/patches/no-lmtp-version.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
diff -wpruN --no-dereference '--exclude=*.orig' a~/imap/lmtpd.c a/imap/lmtpd.c
--- a~/imap/lmtpd.c 1970-01-01 00:00:00
+++ a/imap/lmtpd.c 1970-01-01 00:00:00
@@ -215,9 +215,9 @@ int service_init(int argc __attribute__(
@@ -216,9 +216,9 @@ int service_init(int argc __attribute__(
dupelim = config_getswitch(IMAPOPT_DUPLICATESUPPRESSION);

#ifdef USE_SIEVE
Expand Down
1 change: 1 addition & 0 deletions build/cyrus/patches/series
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ adminip.patch
sasllib.patch
log-pri.patch
gcc14.patch
isdir.patch
4 changes: 2 additions & 2 deletions build/dav1d/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# http://www.illumos.org/license/CDDL.
# }}}

# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.

. ../../lib/build.sh

Expand Down Expand Up @@ -47,7 +47,7 @@ pre_configure() {

! cross_arch $arch && return

CONFIGURE_CMD+=" --cross-file $SRCDIR/files/$arch-gcc.txt"
CONFIGURE_CMD+=" --cross-file $BLIBDIR/meson-$arch-gcc"
}

init
Expand Down
12 changes: 0 additions & 12 deletions build/dav1d/files/aarch64-gcc.txt

This file was deleted.

Loading

0 comments on commit 03cdce9

Please sign in to comment.