From eefb212caca31d46f1d36ce272d4bc6842c039f0 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 13 Aug 2014 21:50:07 +0300 Subject: Add chrome ports patches for build manaplus on nacl. --- packaging/nacl/ports/sdl-net/nacl.patch | 251 ++++++++++++++++++++++++++++++++ packaging/nacl/ports/sdl-net/pkg_info | 9 ++ 2 files changed, 260 insertions(+) create mode 100644 packaging/nacl/ports/sdl-net/nacl.patch create mode 100644 packaging/nacl/ports/sdl-net/pkg_info (limited to 'packaging/nacl/ports/sdl-net') diff --git a/packaging/nacl/ports/sdl-net/nacl.patch b/packaging/nacl/ports/sdl-net/nacl.patch new file mode 100644 index 000000000..8d7fd7e52 --- /dev/null +++ b/packaging/nacl/ports/sdl-net/nacl.patch @@ -0,0 +1,251 @@ +diff -urN SDL_net-1.2.7/SDL_net.h SDL_net-1.2.7-nacl/SDL_net.h +--- SDL_net-1.2.7/SDL_net.h 2007-07-15 09:59:03.000000000 +0400 ++++ SDL_net-1.2.7-nacl/SDL_net.h 2013-11-03 00:01:10.871933000 +0400 +@@ -30,7 +30,7 @@ + #include "SDL_version.h" + #include "begin_code.h" + +- ++#define u_int32_t uint32_t + + /* Set up for C function definitions, even when using C++ */ + #ifdef __cplusplus + +diff -urN /dev/null SDL_net-1.2.7-nacl/inet_addr.c +--- /dev/null 2013-11-02 22:47:51.150226312 +0400 ++++ SDL_net-1.2.7-nacl/inet_addr.c 2013-11-02 23:59:09.523930000 +0400 +@@ -0,0 +1,201 @@ ++/* $KAME: inet_addr.c,v 1.5 2001/08/20 02:32:40 itojun Exp $ */ ++ ++/* ++ * ++Copyright++ 1983, 1990, 1993 ++ * - ++ * Copyright (c) 1983, 1990, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. All advertising materials mentioning features or use of this software ++ * must display the following acknowledgement: ++ * This product includes software developed by the University of ++ * California, Berkeley and its contributors. ++ * 4. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * - ++ * Portions Copyright (c) 1993 by Digital Equipment Corporation. ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies, and that ++ * the name of Digital Equipment Corporation not be used in advertising or ++ * publicity pertaining to distribution of the document or software without ++ * specific, written prior permission. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL ++ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT ++ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL ++ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR ++ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ++ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ++ * SOFTWARE. ++ * - ++ * --Copyright-- ++ */ ++ ++#if defined(LIBC_SCCS) && !defined(lint) ++static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93"; ++#endif /* LIBC_SCCS and not lint */ ++#include ++#include ++#include ++ ++#include ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++/* ++ * ASCII internet address interpretation routine. ++ * The value returned is in network order. ++ */ ++in_addr_t /* XXX should be struct in_addr :( */ ++inet_addr(cp) ++ const char *cp; ++{ ++ struct in_addr val; ++ ++ if (inet_aton(cp, &val)) ++ return (val.s_addr); ++ return (INADDR_NONE); ++} ++ ++/* ++ * Check whether "cp" is a valid ASCII representation ++ * of an Internet address and convert to a binary address. ++ * Returns 1 if the address is valid, 0 if not. ++ * This replaces inet_addr, the return value from which ++ * cannot distinguish between failure and a local broadcast address. ++ */ ++int ++inet_aton(cp, addr) ++ const char *cp; ++ struct in_addr *addr; ++{ ++ u_long parts[4]; ++ in_addr_t val; ++ char *c; ++ char *endptr; ++ int gotend, n; ++ ++ c = (char *)cp; ++ n = 0; ++ /* ++ * Run through the string, grabbing numbers until ++ * the end of the string, or some error ++ */ ++ gotend = 0; ++ while (!gotend) { ++ errno = 0; ++ val = strtoul(c, &endptr, 0); ++ ++ if (errno == ERANGE) /* Fail completely if it overflowed. */ ++ return (0); ++ ++ /* ++ * If the whole string is invalid, endptr will equal ++ * c.. this way we can make sure someone hasn't ++ * gone '.12' or something which would get past ++ * the next check. ++ */ ++ if (endptr == c) ++ return (0); ++ parts[n] = val; ++ c = endptr; ++ ++ /* Check the next character past the previous number's end */ ++ switch (*c) { ++ case '.' : ++ /* Make sure we only do 3 dots .. */ ++ if (n == 3) /* Whoops. Quit. */ ++ return (0); ++ n++; ++ c++; ++ break; ++ ++ case '\0': ++ gotend = 1; ++ break; ++ ++ default: ++ if (isspace((unsigned char)*c)) { ++ gotend = 1; ++ break; ++ } else ++ return (0); /* Invalid character, so fail */ ++ } ++ ++ } ++ ++ /* ++ * Concoct the address according to ++ * the number of parts specified. ++ */ ++ ++ switch (n) { ++ case 0: /* a -- 32 bits */ ++ /* ++ * Nothing is necessary here. Overflow checking was ++ * already done in strtoul(). ++ */ ++ break; ++ case 1: /* a.b -- 8.24 bits */ ++ if (val > 0xffffff || parts[0] > 0xff) ++ return (0); ++ val |= parts[0] << 24; ++ break; ++ ++ case 2: /* a.b.c -- 8.8.16 bits */ ++ if (val > 0xffff || parts[0] > 0xff || parts[1] > 0xff) ++ return (0); ++ val |= (parts[0] << 24) | (parts[1] << 16); ++ break; ++ ++ case 3: /* a.b.c.d -- 8.8.8.8 bits */ ++ if (val > 0xff || parts[0] > 0xff || parts[1] > 0xff || ++ parts[2] > 0xff) ++ return (0); ++ val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8); ++ break; ++ } ++ ++ if (addr != NULL) ++ addr->s_addr = htonl(val); ++ return (1); ++} ++ ++/* ++ * Weak aliases for applications that use certain private entry points, ++ * and fail to include . ++ */ ++#undef inet_addr ++__weak_reference(__inet_addr, inet_addr); ++#undef inet_aton ++__weak_reference(__inet_aton, inet_aton); + +diff -urN SDL_net-1.2.7/SDLnet.c SDL_net-1.2.7-nacl/SDLnet.c +--- SDL_net-1.2.7/SDLnet.c 2007-07-02 06:04:03.000000000 +0400 ++++ SDL_net-1.2.7-nacl/SDLnet.c 2013-11-03 00:43:36.859998000 +0400 +@@ -29,6 +29,8 @@ + #include "SDLnetsys.h" + #include "SDL_net.h" + ++#include "inet_addr.c" ++ + + const SDL_version *SDLNet_Linked_Version(void) + { +@@ -344,7 +346,7 @@ + + hp = gethostbyname(host); + if ( hp ) { +- memcpy(&address->host,hp->h_addr,hp->h_length); ++ memcpy(&address->host,hp->h_addr_list[0],hp->h_length); + } else { + retval = -1; + } +@@ -368,8 +370,7 @@ + const char *SDLNet_ResolveIP(IPaddress *ip) + { + struct hostent *hp; +- +- hp = gethostbyaddr((char *)&ip->host, 4, AF_INET); ++ hp = NULL; + if ( hp != NULL ) { + return hp->h_name; + } + diff --git a/packaging/nacl/ports/sdl-net/pkg_info b/packaging/nacl/ports/sdl-net/pkg_info new file mode 100644 index 000000000..2c64c8642 --- /dev/null +++ b/packaging/nacl/ports/sdl-net/pkg_info @@ -0,0 +1,9 @@ +NAME=sdl-net +VERSION=1.2.7 +ARCHIVE_ROOT=SDL_net-1.2.7 +URL=http://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.7.tar.gz +LICENSE=LGPL2 +DEPENDS=(sdl) +# Disabled for bionic due to sdl. +DISABLED_LIBC=(bionic) +SHA1=b46c7e3221621cc34fec1238f1b5f0ce8972274d -- cgit v1.2.3-60-g2f50