# $Id$ PNAME="curl" PVER="7.66.0" PBUILD="r1" SPLIT_PACKAGES="libcurl libcurl-dev curl curl-dev" PCAT="net-misc" HOMEPAGE="http://curl.haxx.se/" # x86_64 specific dependencies DEPEND_x86_64=">= sys-apps/multiarch-wrapper-1" SPECIAL_VARS="DEPEND_x86_64" LIB_DEPEND="$(marchdepend) >= dev-libs/openssl-1.1 >= net-dns/libidn-1.35 >= sys-libs/zlib-1.2" CURL_DEPEND=">= app-crypt/ca-certificates-2018" SDEPEND="${LIB_DEPEND} ${CURL_DEPEND} >= dev-libs/openssl-dev-1.1 >= net-dns/libidn-dev-1.33 >= sys-libs/zlib-dev-1.2" SRCFILE="${PNAME}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude multilib mbuild alx msetfeature "!check" # one test fails with version 7.33.0 - remove me SRC_URI=( http://curl.haxx.se/download/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd ${HOMEPAGE}/download | grep ${PNAME}- | highesttarball" split_info_libcurl() { DESCRIPTION="A library for getting files from web servers." DEPEND="${LIB_DEPEND}" PCAT="net-libs" } split_info_libcurl-dev() { DESCRIPTION="Development files for net-libs/libcurl." DEPEND="== net-libs/libcurl-${PVER}" PCAT="net-libs" } split_info_curl() { DESCRIPTION="curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP." DEPEND="== net-libs/libcurl-${PVER} {CURL_DEPEND}" } split_info_curl-dev() { DESCRIPTION="Development files for net-misc/curl." DEPEND="== net-libs/libcurl-dev-${PVER} == net-misc/curl-${PVER}" } src_prepare() { munpack ${SRCFILE} || die # fix link issues with as-needed - fixme all-abis 'sed -i "s:LDADD = $(LIBDIR)/libcurl.la:& -lssl -lcrypto:" docs/examples/Makefile.am || die' all-abis 'sed -i "s:@USE_EXPLICIT_LIB_DEPS_FALSE@LDADD = $(LIBDIR)/libcurl.la:& -lssl -lcrypto:" docs/examples/Makefile.in || die' } src_compile() { mconfigure \ --with-gnu-ld \ --enable-http \ --enable-ftp \ --enable-gopher \ --enable-file \ --enable-dict \ --enable-telnet \ --enable-nonblocking \ --with-ssl \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \ --enable-versioned-symbols \ --disable-ldap \ --disable-ldaps \ || die mmake || die } src_install_libcurl() { mmake DESTDIR=${BINDIR} -C lib install || die # keep only libs on alx zapmost ${BINDIR} usr/$(mlibdir)/\*.so.\* || die } src_install_libcurl-dev() { mmake DESTDIR=${BINDIR} -C lib install || die mmake DESTDIR=${BINDIR} -C docs/libcurl install || die mmake DESTDIR=${BINDIR} -C docs install-man1 || die mmake DESTDIR=${BINDIR} install-pkgconfigDATA || die # provided by curl mdelete /usr/share/man/man1/curl.1 || die # install and move abi related headers and config-scripts if [[ $(mlibdir) != lib ]] then # 32bit only-m32 mmake DESTDIR=${BINDIR} install-binSCRIPTS || die only-m32 mmove ${BINDIR}/usr/bin/curl-config /usr/bin/curl-config-$(mabi) || die only-m32 mmake DESTDIR=${BINDIR} -C include install || die # only-m32 mmove ${BINDIR}/usr/include/curl/curlbuild.h /usr/include/curl/curlbuild-$(mabi).h || die # 64 bit only-m64 mmake DESTDIR=${BINDIR} install-binSCRIPTS || die only-m64 mmove ${BINDIR}/usr/bin/curl-config /usr/bin/curl-config-$(mabi) || die only-m64 mmake DESTDIR=${BINDIR} -C include install || die # only-m64 mmove ${BINDIR}/usr/include/curl/curlbuild.h /usr/include/curl/curlbuild-$(mabi).h || die # # create a wrapper header # cat > ${BINDIR}/usr/include/curl/curlbuild.h << "EOF" #/* curlbuild.h - Stub Header */ ##ifndef __STUB__CURLBUILD_H__ ##define __STUB__CURLBUILD_H__ # ##if defined(__x86_64__) || \ # defined(__sparc64__) || \ # defined(__arch64__) || \ # defined(__powerpc64__) || \ # defined (__s390x__) ## include "curlbuild-m64.h" ##else ## include "curlbuild-m32.h" ##endif # ##endif /* __STUB__CURLBUILD_H__ */ #EOF mlink multiarch-wrapper /usr/bin/curl-config || die else mmake DESTDIR=${BINDIR} install-binSCRIPTS || die mmake DESTDIR=${BINDIR} -C include install || die fi # libs are provided by libcurl rm ${BINDIR}/usr/lib/*.so.* || die } src_install_curl() { # only the binary mmake DESTDIR=${BINDIR} -C src install || die } src_install_curl-dev() { # only the binary man pages mmake DESTDIR=${BINDIR} -C docs install-man1 || die # provided by curl mdelete /usr/share/man/man1/curl-config.1 || die }