155 lines
3.9 KiB
Bash
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
|
|
}
|