Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 20 additions & 34 deletions 3ds/curl/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,62 +1,48 @@
# Maintainer: WinterMute <davem@devkitpro.org>
# Contributor: Elouan Martinet <exa@elou.world>
# Contributor: Grady Link <homebrew@grady.link>

pkgname=3ds-curl
pkgver=8.4.0
pkgver=8.15.0
pkgrel=1
pkgdesc='Library for transferring data with URLs. (for Nintendo 3DS homebrew development)'
arch=('any')
url='https://curl.haxx.se'
url='https://curl.se'
license=('MIT')
options=(!strip libtool staticlibs)
options=(!strip !debug staticlibs)
depends=('3ds-zlib' '3ds-mbedtls')
makedepends=('3ds-pkg-config' 'dkp-toolchain-vars')
makedepends=('3ds-cmake' 'dkp-toolchain-vars')

source=("https://curl.haxx.se/download/curl-${pkgver}.tar.xz"
source=("https://curl.se/download/curl-${pkgver}.tar.xz"
"curl-${pkgver}.patch"
)

sha256sums=('03c7d5e6697f7b7e40ada1b2256e565a555657398e6c1fcfa4cb251ccd819d4f'
'fd18f93838addd62776b30c699ab9ea472e1d7f31f3d19d28c92728830a06413')
sha256sums=('6cd0a8a5b126ddfda61c94dc2c3fc53481ba7a35461cf7c5ab66aa9d6775b609'
'bc8c3cc47c732c37d4ec4825afb818718dc530d9166113e1292902c9f26a22a7')
groups=('3ds-portlibs')

build() {
cd curl-$pkgver
prepare() {
cd "$srcdir/curl-$pkgver"
patch -Np1 -i $srcdir/curl-${pkgver}.patch
}

build() {
source /opt/devkitpro/3dsvars.sh
cd "$srcdir/curl-$pkgver"

patch -Np1 -i $srcdir/curl-${pkgver}.patch
arm-none-eabi-cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PORTLIBS_PREFIX -DBUILD_CURL_EXE=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DENABLE_MANUAL=OFF -DCURL_USE_MBEDTLS=ON -DCURL_USE_LIBPSL=OFF

./configure CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" LIBS="-lctru" \
--prefix=${PORTLIBS_PREFIX} \
--host=arm-none-eabi \
--disable-shared \
--enable-static \
--disable-ipv6 \
--disable-unix-sockets \
--disable-threaded-resolver \
--disable-manual \
--disable-pthreads \
--disable-socketpair \
--disable-ntlm-wb \
--with-mbedtls=${PORTLIBS_PREFIX} \
--with-ca-bundle=sdmc:/config/ssl/cacert.pem

make -C lib
cmake --build build
}

package() {
cd curl-$pkgver

source /opt/devkitpro/3dsvars.sh
cd "$srcdir/curl-$pkgver"

make DESTDIR="$pkgdir" -C lib install
make DESTDIR="$pkgdir" -C include install
make DESTDIR="$pkgdir" install-binSCRIPTS install-pkgconfigDATA
DESTDIR=$pkgdir cmake --install build

mkdir -p "$pkgdir"${PORTLIBS_PREFIX}/licenses/$pkgname
rm "$pkgdir"${PORTLIBS_PREFIX}/bin/wcurl

mkdir -p "$pkgdir"${PORTLIBS_PREFIX}/licenses/$pkgname
install -m644 COPYING "$pkgdir"${PORTLIBS_PREFIX}/licenses/$pkgname/COPYING
}
sha256sums=('16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d'
'e41d19d24631f3dce4a0e1c5f9fd92c36f4ddd803d07a943507dab525813ecbe')
60 changes: 60 additions & 0 deletions 3ds/curl/curl-8.15.0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
diff --git a/lib/cf-socket.c b/lib/cf-socket.c
index 92fe433a69..b766281f82 100644
--- a/lib/cf-socket.c
+++ b/lib/cf-socket.c
@@ -175,6 +175,7 @@ static void
tcpkeepalive(struct Curl_easy *data,
curl_socket_t sockfd)
{
+#ifndef __3DS__
int optval = data->set.tcp_keepalive ? 1 : 0;

/* only set IDLE and INTVL if setting KEEPALIVE is successful */
@@ -298,6 +299,7 @@ tcpkeepalive(struct Curl_easy *data,
#endif
#endif
}
+#endif
}

/**
@@ -575,6 +577,10 @@ CURLcode Curl_parse_interface(const char *input,
static CURLcode bindlocal(struct Curl_easy *data, struct connectdata *conn,
curl_socket_t sockfd, int af, unsigned int scope)
{
+#ifdef __3DS
+ return CURLE_OK;
+#endif
+
struct Curl_sockaddr_storage sa;
struct sockaddr *sock = (struct sockaddr *)&sa; /* bind to this address */
curl_socklen_t sizeof_sa = 0; /* size of the data sock points to */
diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c
index e26ee656bd..63c44212f9 100644
--- a/lib/curl_addrinfo.c
+++ b/lib/curl_addrinfo.c
@@ -142,9 +142,11 @@ Curl_getaddrinfo_ex(const char *nodename,
if(!ai->ai_addr || !(ai->ai_addrlen > 0))
continue;

+#ifndef __3DS__
/* ignore elements with bogus address size */
if((size_t)ai->ai_addrlen < ss_size)
continue;
+#endif

ca = malloc(sizeof(struct Curl_addrinfo) + ss_size + namelen);
if(!ca) {
diff --git a/lib/mime.c b/lib/mime.c
index 0a56b07bc5..a08b4c971b 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -222,7 +222,7 @@ static FILE * vmsfopenread(const char *file, const char *mode)
#endif


-#ifndef HAVE_BASENAME
+#if !defined(HAVE_BASENAME) || defined(__3DS__)
/*
(Quote from The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004
Edition)
52 changes: 0 additions & 52 deletions 3ds/curl/curl-8.4.0.patch

This file was deleted.