SUMMARY="A commandline-tool and library for downloading data from URLs"
HOMEPAGE="http://curl.haxx.se"
COPYRIGHT="1996-2014, Daniel Stenberg, <daniel@haxx.se>. All rights reserved."
LICENSE="Curl"
SRC_URI="http://curl.haxx.se/download/$portVersionedName.tar.bz2"
CHECKSUM_SHA256="24502492de3168b0556d8e1a06f14f7589e57b204917d602a572e14239b3e09e"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64 arm"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"

PATCHES=""

PROVIDES="
	curl$secondaryArchSuffix = $portVersion
	lib:libcurl$secondaryArchSuffix = 4.2.0 compat >= 4
	"
if [ -z "$secondaryArchSuffix" ]; then
	PROVIDES="$PROVIDES
		cmd:curl = $portVersion compat >= 7.16
		"
fi

REQUIRES="
	haiku$secondaryArchSuffix >= $haikuVersion
	ca_root_certificates
	lib:libssl$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"
BUILD_REQUIRES="
	devel:libssl$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel >= $haikuVersion
	cmd:autoconf
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize
	cmd:make
	cmd:nroff
	"

BUILD()
{
	certsInstallDir="$portPackageLinksDir/ca_root_certificates"
	certsDir="$certsInstallDir/$relativeDataRootDir/ssl"

	libtoolize --force --copy --install
	autoconf
	runConfigure ./configure \
		--enable-ipv6 --enable-manual \
		--with-ca-bundle="$certsDir/CARootCertificates.pem"
	make $jobArgs
}

INSTALL()
{
	make install

	# prepare develop/lib
	prepareInstalledDevelLibs 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

	# install html documentation for curl
	mkdir -p "$docDir"
	install -c -m 644 "docs/curl.html" "$docDir"

	# install html development documentation for libcurl
	mkdir -p "$developDocDir"
	for h in docs/libcurl/*.html; do 
		install -c -m 644 "$h" "$developDocDir"
	done

	# devel package
	packageEntries devel \
		$binDir/curl-config \
		$developDir \
		$manDir/man3

	# Remove stuff we don't need in the secondary architecture base package.
	if [ -n "$secondaryArchSuffix" ]; then
		rm -rf $binDir
		rm -rf $documentationDir
	fi
}

TEST()
{
	make check
}

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.
"

# ----- devel package -------------------------------------------------------

PROVIDES_devel="
	curl${secondaryArchSuffix}_devel = $portVersion
	cmd:curl_config$secondaryArchSuffix = $portVersion compat >= 7.16
	devel:libcurl$secondaryArchSuffix = 4.2.0 compat >= 4
	"
REQUIRES_devel="
	curl$secondaryArchSuffix == $portVersion base
	"
