0
0
Fork 0
haikuports/net-misc/curl/curl-7.79.1.recipe

155 lines
3.9 KiB
Bash

SUMMARY="A commandline-tool and library for downloading data from URLs"
DESCRIPTION="Curl is a command line tool for transferring data with URL \
syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, \
LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP.
curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form \
based upload, proxies, cookies, user+password authentication (Basic, Digest, \
NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a \
busload of other useful tricks."
HOMEPAGE="https://curl.haxx.se/"
COPYRIGHT="1996-2020 Daniel Stenberg"
LICENSE="Curl"
REVISION="1"
SOURCE_URI="https://curl.haxx.se/download/curl-$portVersion.tar.bz2"
CHECKSUM_SHA256="de62c4ab9a9316393962e8b94777a570bb9f71feb580fb4475e412f2f9387851"
ADDITIONAL_FILES="curl.rdef"
ARCHITECTURES="all ?arm ?ppc"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
libVersion="4.7.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
portVersionCompat="$portVersion compat >= 7.16"
PROVIDES="
curl$secondaryArchSuffix = $portVersion
lib:libcurl$secondaryArchSuffix = $libVersionCompat
cmd:curl$secondaryArchSuffix = $portVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
ca_root_certificates
lib:libnghttp2$secondaryArchSuffix
lib:libssh2$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
curl${secondaryArchSuffix}_devel = $portVersion
cmd:curl_config$secondaryArchSuffix = $portVersionCompat
devel:libcurl$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
curl$secondaryArchSuffix == $portVersion base
devel:libnghttp2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libnghttp2$secondaryArchSuffix
devel:libssh2$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:autoheader
cmd:cut
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:nroff
cmd:pkg_config$secondaryArchSuffix
cmd:sed
"
TEST_REQUIRES="
cmd:id
cmd:perl
cmd:python3
cmd:sftp_server
cmd:sshd
"
defineDebugInfoPackage curl$secondaryArchSuffix \
$binDir/curl \
$libDir/libcurl.so.$libVersion
BUILD()
{
certsInstallDir="$portPackageLinksDir/ca_root_certificates"
certsDir="$certsInstallDir/$relativeDataRootDir/ssl"
autoreconf -vfi
autoconf
CPPFLAGS=-D_BSD_SOURCE runConfigure ./configure \
--enable-ipv6 --enable-manual \
--with-openssl --with-libssh2 \
--with-ca-bundle="$certsDir/CARootCertificates.pem"
make $jobArgs
}
INSTALL()
{
make install
# remove libtool file
rm $libDir/libcurl.la
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
$portDir/additional-files/curl.rdef > curl.rdef
addResourcesToBinaries curl.rdef \
$binDir/curl
# prepare develop/lib
prepareInstalledDevelLib libcurl
fixPkgconfig
# fix curl-config
fixDevelopLibDirReferences $binDir/curl-config
sed -i \
-e "s,--libexecdir=$developLibDir,--libexecdir=$libExecDir,g" \
-e "s,--libdir=$developLibDir,--libdir=$libDir,g" \
$binDir/curl-config
if [ -n "$secondaryArchSuffix" ]; then
maybe_manDir_man1_curl_config=
maybe_manDir_man3=
else
maybe_manDir_man1_curl_config=$manDir/man1/curl-config.1
maybe_manDir_man3=$manDir/man3
fi
# devel package
packageEntries devel \
$binDir/curl-config \
$dataDir/aclocal \
$developDir \
$maybe_manDir_man1_curl_config \
$maybe_manDir_man3
# Remove stuff we don't need in the secondary architecture base package.
if [ -n "$secondaryArchSuffix" ]; then
rm -rf $documentationDir
fi
}
TEST()
{
PATH="`finddir B_SYSTEM_LIB_DIRECTORY`/openssh:$PATH" \
USER="`id -n -u`" make check
}