summaryrefslogtreecommitdiff
path: root/net-libs/c-client
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/c-client')
-rw-r--r--net-libs/c-client/Manifest5
-rw-r--r--net-libs/c-client/c-client-2007f_p7.ebuild172
-rw-r--r--net-libs/c-client/files/c-client-2007f_GENTOO_amd64-so-fix.patch12
-rw-r--r--net-libs/c-client/files/c-client-2007f_p7-implicit-declaration-fix.patch46
-rw-r--r--net-libs/c-client/files/c-client-2007f_p7-ldflags.patch33
5 files changed, 268 insertions, 0 deletions
diff --git a/net-libs/c-client/Manifest b/net-libs/c-client/Manifest
index edf68badf462..9720b8fa899c 100644
--- a/net-libs/c-client/Manifest
+++ b/net-libs/c-client/Manifest
@@ -5,7 +5,12 @@ AUX c-client-2007f-ldflags.patch 1652 BLAKE2B 622c3c1f10e4a4500fbf008073e5e9131a
AUX c-client-2007f-openssl-1.1.patch 2857 BLAKE2B 748933d521a99409234e62cfee1c98ecae803452e30d5c8e6149c3744084174751253b2e58ee83259aaad3fd24bf15bd901e509c84792f12d4ad350f26939a32 SHA512 45ef128f1fcda303ab163ffe9b21e319d7dbd6c60940d8f65996feab81235d5f652e24c340b0cdc8a3d9ae1ad1b0d8f8e55e64668d26d135fb06717adea4c7d4
AUX c-client-2007f-scandir-callback-types.patch 6747 BLAKE2B b300133fed2dbd9c01a0abd5ff8e64f72affdb1d5aeed4bf5089588895bc2ce6cf904c9a8660da8eb7d53e883266f38cda140d396da63d6db67c354b73492832 SHA512 1c461c7114e2cc238b8716936708df1f5faf747f79c49308d35384b27c4809577c26a77e7753668a576f68a37ee78debb8c7533820f21d0da6f40b2b2c6e2c1a
AUX c-client-2007f-topal.patch 1078 BLAKE2B 5224ac12119e25c3208865bf1904a21c9d4bd880b685bea1389cc32a30764e8673606085f2d58ec12532618807d61257e02ed2d9b178014c8ba78f9defba1f72 SHA512 f81914d9d0acf92625d2a4956aa82e9639bc36ab12c608dafb8137afe619f6acc5d9647d05a1827bfe27b21c9dd774bd458c8cfa2e5c2e449ed956daed674b00
+AUX c-client-2007f_GENTOO_amd64-so-fix.patch 519 BLAKE2B f396e4d406d84b63e4f5325b1713977dfc896c77c4f43cd1deeaa9a035c601d462ae12bdc549facacb23a043189c9953f5bee055c11976814cbf046c55b76a43 SHA512 21fb5d485b0a1236572a10d0b92f9b025c8117b9a7549f43429077a6b213705b63923712fba1e52b773d935d2ca7cb58dcbe90640dc081bf794e321ece660e5c
+AUX c-client-2007f_p7-implicit-declaration-fix.patch 1067 BLAKE2B 32ae2ac3b19bb43bec0ca16c3507db46396ceb8628dc1cb5e7259ab39024bbd8ee029882af684e687537ff78835d1b36d9612fbcad9207a199ab2df9e9776dde SHA512 9c0276c32059e17fb17a466da4a87b2a4c8e08d0671d14e37e5dd02e52faaec179e92e7b9fa20f40bcb7ac24d3da8d22ba00b4575ccb38c7680402d888e228da
+AUX c-client-2007f_p7-ldflags.patch 1557 BLAKE2B c9e2575f5e87742061b6f4deac5ce510aabcc0f28ab59a8c45235cd466495d7046ad59393df9f2ebd16e4f61e1c6235a79b8c94fcaf3e431a380814feab0d7bf SHA512 f399e030ba2d0c406ccc2f9682594060400a524cef8ed9a808b6c5e011dcc83421582f750738e5b2550596a193b8164814e3ef9f6dfa4ebe71eaf501929c4726
DIST c-client-2007f-chappa-115-all.patch.gz 30571 BLAKE2B 707ec7718f764d5fea4142a4e0c4dd561d0a387cb72fea16de656a01bc21a0b30600dc121c8af090b76188d0131852ca6f3d40b9bba8745696faed5a79fb8c59 SHA512 f44489ec38aa6a3dc682872a6857154254c23352db81ee380dfdfad39743234d97a8bcc07a74459f7532efe2fc073cf7d9c078433e11a95de19beeb387ff8b65
DIST imap-2007f.tar.Z 2793529 BLAKE2B f5b597551ef56d284180cd49cf6b7d01a63ee60bcb513a354bd7ec63428184b854e3ea666a9f3ce1f5b27699cf81d2f1d0e66e5cfc7fee93d723bb146d113ec7 SHA512 2c728deaf66d23158c61ae55ff94f05d2a1cf0168002760321ca30c6ee1c58c0a4c7bc14ece0097ea662df6c7c49be3b91c8e5e943724c9e2736800fa9298dae
+DIST uw-imap_2007f~dfsg-7.debian.tar.xz 44960 BLAKE2B 836dfd9a5922cd3043278a89c87276c974c8e91c5831a94caef6e73b2839d246bda879f67bdad88ae59888b5dc8b6ca366aa48b6d197508cd10cdc68f1e7027f SHA512 3a903062c782c942d4c7a1122be686e301ea4d4c6f6ff1dbc78ae29c7ee7b8e02fb25a903401e6a7047ddccaf6bcceba953f6cad1c1890cd6410ea909b014af6
EBUILD c-client-2007f-r8.ebuild 4682 BLAKE2B 112dc23a462b3bb2c6655e7a76250346de062dfa59edd0112c3bc410a1195f6e80e81d535c3bacd786b9c1965e2a60ba5464236e714d900390a30c7844214d20 SHA512 c076573cc0df3983119f0a0b30cf25206d2072091d7ba108b68681c4a3650cd5d726b468183c17ab429ac083ecf1cdbc248332d24830989d916a35d0997e9f05
+EBUILD c-client-2007f_p7.ebuild 4773 BLAKE2B 4066c62a8d663e8e8c9655c99cb2d2114bd2380ac6a15b0d48e9ea52a0d8cd4fa3bc996b1fc81bc407b80ea522f833bb5fcc36074fad51d0d6ecfadd71b9c386 SHA512 1855a5fa17bd33dc4c93c74d0ddbe559373de393b08c37df0baf5e7792491773b4407c7ecb85651bb24bbdbb7a05a669dc2addba1583b371d2d9b105f19ed671
MISC metadata.xml 481 BLAKE2B c10dea9f32197ea0f48c7d4c4de5d082640bbb424be1e8e371668bcaebfdbd878b21dbe1a43dda5d347f186874c119047485f27ea067495f2eb2d7fa7fbbdb5d SHA512 b153757f61ebba9aa79b1a57b52e3c5e7a3299c17f9ccb2b0f815b2799469c5b29dd4a598f923f9037c6804175f2014c2ec3803cd092a9b21f470b0e5e764c53
diff --git a/net-libs/c-client/c-client-2007f_p7.ebuild b/net-libs/c-client/c-client-2007f_p7.ebuild
new file mode 100644
index 000000000000..c3fd74b4a8a9
--- /dev/null
+++ b/net-libs/c-client/c-client-2007f_p7.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic libtool toolchain-funcs
+
+MY_PN=imap
+MY_P="${MY_PN}-${PV}"
+
+CHAPPA_PL=115
+DESCRIPTION="UW IMAP c-client library"
+HOMEPAGE="http://www.washington.edu/imap/"
+SRC_URI="
+ ftp://ftp.cac.washington.edu/imap/${MY_PN}-$(ver_cut 1-2).tar.Z
+ mirror://debian/pool/main/u/uw-${MY_PN}/uw-${MY_PN}_${PV/_p/"~dfsg-"}.debian.tar.xz
+ chappa? ( mirror://gentoo/${PN}-$(ver_cut 1-2)-chappa-${CHAPPA_PL}-all.patch.gz )
+"
+S="${WORKDIR}"/${MY_PN}-$(ver_cut 1-2)
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc +ipv6 kerberos pam ssl static-libs topal chappa"
+
+RDEPEND="
+ ssl? (
+ dev-libs/openssl:=
+ )
+ kernel_linux? (
+ pam? ( >=sys-libs/pam-0.72 )
+ !pam? ( virtual/libcrypt:= )
+ )
+ kerberos? ( app-crypt/mit-krb5 )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${WORKDIR}"/debian/patches
+
+ # Apply a patch to only build the stuff we need for c-client
+ "${FILESDIR}/${PN}-2006k_GENTOO_Makefile.patch"
+
+ # Apply patch to add the compilation of a .so for PHP
+ # This was previously conditional, but is more widely useful.
+ "${FILESDIR}/${PN}-2007f_GENTOO_amd64-so-fix.patch"
+
+ # Respect LDFLAGS
+ "${FILESDIR}/${PN}-2007f_p7-ldflags.patch"
+
+ # build fix for -Werror=implicit-function-declaration and
+ # incompatible function pointer types, bug #870478
+ "${FILESDIR}/${PN}-2007f-scandir-callback-types.patch"
+ "${FILESDIR}/${PN}-2007f_p7-implicit-declaration-fix.patch"
+)
+
+src_prepare() {
+ use topal && PATCHES+=( "${FILESDIR}/${P}-topal.patch" )
+
+ default
+
+ use chappa && eapply -p2 "${WORKDIR}/${P}-chappa-${CHAPPA_PL}-all.patch"
+
+ # Tarball packed with bad file perms
+ chmod -R u+rwX,go-w . || die "failed to fix permissions"
+
+ # Lots of things need -fPIC, including various platforms, and this library
+ # generally should be built with it anyway.
+ append-flags -fPIC
+
+ # Modifications so we can build it optimally and correctly
+ sed \
+ -e "s:BASECFLAGS=\".*\":BASECFLAGS=:g" \
+ -e 's:SSLDIR=/usr/local/ssl:SSLDIR=/usr:g' \
+ -e 's:SSLCERTS=$(SSLDIR)/certs:SSLCERTS=/etc/ssl/certs:g' \
+ -i src/osdep/unix/Makefile \
+ || die "failed to fix compiler flags and SSL paths in the Makefile"
+
+ # Make the build system more multilib aware
+ sed \
+ -e "s:^SSLLIB=\$(SSLDIR)/lib:SSLLIB=\$(SSLDIR)/$(get_libdir):" \
+ -e "s:^AFSLIB=\$(AFSDIR)/lib:AFSLIB=\$(AFSDIR)/$(get_libdir):" \
+ -i src/osdep/unix/Makefile \
+ || die "failed to fix our libdir in the Makefile"
+
+ # Targets should use the Gentoo (ie linux) fs
+ sed -e '/^bsf:/,/^$/ s:ACTIVEFILE=.*:ACTIVEFILE=/var/lib/news/active:g' \
+ -i src/osdep/unix/Makefile \
+ || die "failed to fix the FreeBSD ACTIVEFILE path in the Makefile"
+
+ # Remove the pesky checks about SSL stuff
+ sed -e '/read.*exit/d' -i Makefile \
+ || die "failed to disable SSL warning in the Makefile"
+
+ sed -e "s:CC=cc:CC=$(tc-getCC):" \
+ -e "s:ARRC=ar:ARRC=$(tc-getAR):" \
+ -e "s:RANLIB=ranlib:RANLIB=$(tc-getRANLIB):" \
+ -i src/osdep/unix/Makefile \
+ || die "failed to fix build flags support in the Makefile"
+
+ elibtoolize
+}
+
+src_compile() {
+ local mymake target passwdtype
+
+ local ipver='IP=4'
+ if use ipv6 ; then
+ ipver="IP=6"
+ touch ip6 || die "failed to create ip6 file"
+ fi
+
+ local ssltype="none"
+ if use ssl ; then
+ ssltype="unix"
+ fi
+
+ if use kernel_linux ; then
+ # Fall back to "slx" when USE=pam is not set. This ensures that
+ # we link in libcrypt to get the crypt() routine (bug #456928).
+ use pam && target=lnps passwdtype=pam || target=slx passwdtype=std
+ fi
+
+ if use kerberos ; then
+ mymake="EXTRAAUTHENTICATORS=gss"
+ EXTRALIBS="-lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
+ fi
+
+ emake -j1 \
+ SSLTYPE=${ssltype} ${target} \
+ PASSWDTYPE=${passwdtype} ${ipver} ${mymake} \
+ EXTRACFLAGS="${CFLAGS}" \
+ EXTRALDFLAGS="${LDFLAGS}" \
+ EXTRALIBS="${EXTRALIBS}" \
+ GSSDIR=/usr
+}
+
+src_install() {
+ if use static-libs; then
+ # Library binary
+ dolib.a c-client/c-client.a
+ dosym c-client.a "/usr/$(get_libdir)/libc-client.a"
+ fi
+
+ # Now the shared library
+ dolib.so c-client/libc-client.so.1.0.0
+
+ dosym libc-client.so.1.0.0 "/usr/$(get_libdir)/libc-client.so"
+ dosym libc-client.so.1.0.0 "/usr/$(get_libdir)/libc-client.so.1"
+
+ # Headers
+ insinto /usr/include/imap
+ doins src/osdep/unix/*.h
+ doins src/c-client/*.h
+ doins c-client/linkage.h
+ doins c-client/linkage.c
+ doins c-client/osdep.h
+
+ if use ssl; then
+ echo " ssl_onceonlyinit ();" >> "${D}"/usr/include/imap/linkage.c \
+ || die "failed to add ssl init statement to linkage.c"
+ fi
+
+ # Documentation
+ dodoc README docs/*.txt docs/BUILD docs/CONFIG docs/RELNOTES docs/SSLBUILD
+ if use doc; then
+ docinto rfc
+ dodoc docs/rfc/*.txt
+ docinto draft
+ dodoc docs/draft/*
+ fi
+}
diff --git a/net-libs/c-client/files/c-client-2007f_GENTOO_amd64-so-fix.patch b/net-libs/c-client/files/c-client-2007f_GENTOO_amd64-so-fix.patch
new file mode 100644
index 000000000000..3a3be7221185
--- /dev/null
+++ b/net-libs/c-client/files/c-client-2007f_GENTOO_amd64-so-fix.patch
@@ -0,0 +1,12 @@
+--- a/src/osdep/unix/Makefile
++++ b/src/osdep/unix/Makefile
+@@ -990,6 +990,9 @@ onceenv:
+ -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
+ echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
+ echo "$(ARRC) $(ARCHIVE) $(BINARIES) $(LIBRARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
++ echo "`$(CAT) CCTYPE` `$(CAT) CFLAGS` `$(CAT) OSFLAGS` -shared \
++ -Wl,-soname,libc-client.so.1 -o libc-client.so.1.0.0 $(BINARIES)" \
++ >> ARCHIVE
+ echo $(ARCHIVE) > ARCHIVENAME
+ echo $(OS) > OSTYPE
+ ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
diff --git a/net-libs/c-client/files/c-client-2007f_p7-implicit-declaration-fix.patch b/net-libs/c-client/files/c-client-2007f_p7-implicit-declaration-fix.patch
new file mode 100644
index 000000000000..413ddbf43869
--- /dev/null
+++ b/net-libs/c-client/files/c-client-2007f_p7-implicit-declaration-fix.patch
@@ -0,0 +1,46 @@
+This patch solves build issues with -Werror=implicit-function-declaration
+enabled.
+
+- safe_flock is a function from flocklnx.c but header file for consumers
+ is missing, the simplest was to add function prototype to other
+ header file.
+- utime.h is needed also in multiple places but os_slx.h header file is
+ used in all of them
+
+Bug: https://bugs.gentoo.org/870478
+--- a/src/osdep/unix/os_lnx.h
++++ b/src/osdep/unix/os_lnx.h
+@@ -46,6 +46,7 @@
+ #include <sys/types.h>
+ #include <dirent.h>
+ #include <time.h> /* for struct tm */
++#include <utime.h>
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <sys/file.h>
+@@ -57,6 +58,7 @@
+
+ #define direct dirent
+
++int safe_flock(int, int);
+ #define flock safe_flock
+
+
+--- a/src/osdep/unix/os_slx.h
++++ b/src/osdep/unix/os_slx.h
+@@ -46,6 +46,7 @@
+ #include <sys/types.h>
+ #include <dirent.h>
+ #include <time.h> /* for struct tm */
++#include <utime.h>
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <sys/file.h>
+@@ -57,6 +58,7 @@
+
+ #define direct dirent
+
++int safe_flock(int, int);
+ #define flock safe_flock
+
+
diff --git a/net-libs/c-client/files/c-client-2007f_p7-ldflags.patch b/net-libs/c-client/files/c-client-2007f_p7-ldflags.patch
new file mode 100644
index 000000000000..8a273355c2f9
--- /dev/null
+++ b/net-libs/c-client/files/c-client-2007f_p7-ldflags.patch
@@ -0,0 +1,33 @@
+--- a/src/osdep/unix/Makefile
++++ b/src/osdep/unix/Makefile
+@@ -975,23 +975,24 @@ os_sol.h:
+
+ # Once-only environment setup
+
+-once: onceenv ckp$(PASSWDTYPE) ssl$(SSLTYPE) osdep.c
++once: ssl$(SSLTYPE) onceenv ckp$(PASSWDTYPE) osdep.c
+
+ onceenv:
+ @echo Once-only environment setup...
+ echo $(CC) > CCTYPE
+- echo $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS
+- echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \
++ echo `$(CAT) CFLAGS` $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS
++ echo `$(CAT) OSCFLAGS` -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \
+ -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \
+ -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \
+ -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \
+ -DLOCKPGM=\"$(LOCKPGM)\" \
+ -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
+ -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
+- echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
++ echo $(EXTRALIBS) `$(CAT) LDFLAGS` > LIBS
++ echo $(EXTRALDFLAGS) `$(CAT) LDFLAGS` -lcrypt $(BASELDFLAGS) > LDFLAGS
+ echo "$(ARRC) $(ARCHIVE) $(BINARIES) $(LIBRARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
+- echo "`$(CAT) CCTYPE` `$(CAT) CFLAGS` `$(CAT) OSFLAGS` -shared \
+- -Wl,-soname,libc-client.so.1 -o libc-client.so.1.0.0 $(BINARIES)" \
++ echo "`$(CAT) CCTYPE` `$(CAT) CFLAGS` $(EXTRALDFLAGS) `$(CAT) OSFLAGS` -shared \
++ -Wl,-soname,libc-client.so.1 -o libc-client.so.1.0.0 $(BINARIES)" `$(CAT) LIBS` $(BASELDFLAGS) \
+ >> ARCHIVE
+ echo $(ARCHIVE) > ARCHIVENAME
+ echo $(OS) > OSTYPE