diff options
author | Nick Hadaway <raker@gentoo.org> | 2002-12-27 22:19:36 +0000 |
---|---|---|
committer | Nick Hadaway <raker@gentoo.org> | 2002-12-27 22:19:36 +0000 |
commit | 60b8164b8dc437997acb4a3ae5de753c4c626d3b (patch) | |
tree | 4acc305e3969998207f30d73690aa043328da91d /media-sound/xmms | |
parent | Marked stable for glsa (diff) | |
download | historical-60b8164b8dc437997acb4a3ae5de753c4c626d3b.tar.gz historical-60b8164b8dc437997acb4a3ae5de753c4c626d3b.tar.bz2 historical-60b8164b8dc437997acb4a3ae5de753c4c626d3b.zip |
New ebuild with the ipv6 patch split to care for mmx/3dnow -mmx/-3dnow
situations. thanks az.
Diffstat (limited to 'media-sound/xmms')
-rw-r--r-- | media-sound/xmms/ChangeLog | 10 | ||||
-rw-r--r-- | media-sound/xmms/files/digest-xmms-1.2.7-r18 (renamed from media-sound/xmms/files/digest-xmms-1.2.7-r17) | 0 | ||||
-rw-r--r-- | media-sound/xmms/files/xmms-ipv6-20020408-mmx.patch (renamed from media-sound/xmms/files/xmms-ipv6-20020408.patch) | 0 | ||||
-rw-r--r-- | media-sound/xmms/files/xmms-ipv6-20020408-nommx.patch | 354 | ||||
-rw-r--r-- | media-sound/xmms/xmms-1.2.7-r18.ebuild (renamed from media-sound/xmms/xmms-1.2.7-r17.ebuild) | 16 |
5 files changed, 367 insertions, 13 deletions
diff --git a/media-sound/xmms/ChangeLog b/media-sound/xmms/ChangeLog index 8008eb5fc507..6dc744f9351e 100644 --- a/media-sound/xmms/ChangeLog +++ b/media-sound/xmms/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-sound/xmms # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/ChangeLog,v 1.37 2002/12/27 18:55:08 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/ChangeLog,v 1.38 2002/12/27 22:19:36 raker Exp $ + +*xmms-1.2.7-r18 (27 Dec 2002) + + 27 Dec 2002; Nick Hadaway <raker@gentoo.org> xmms-1.2.7-r18.ebuild, + files/digest-xmms-1.2.7-r18, files/xmms-ipv6-20020408-nommx.patch, + files/xmms-ipv6-20020408-mmx.patch : + Updated ebuild with the ipv6 patch split for the cases of mmx and + -mmx. Thank azarah for bringing this to my attention. :) 27 Dec 2002; Martin Schlemmer <azarah@gentoo.org> xmms-1.2.7-r17.ebuild : Remove the xmms-1.2.7-link-libstdc++.patch on request from XMMS developer diff --git a/media-sound/xmms/files/digest-xmms-1.2.7-r17 b/media-sound/xmms/files/digest-xmms-1.2.7-r18 index 89cc7eba5fd4..89cc7eba5fd4 100644 --- a/media-sound/xmms/files/digest-xmms-1.2.7-r17 +++ b/media-sound/xmms/files/digest-xmms-1.2.7-r18 diff --git a/media-sound/xmms/files/xmms-ipv6-20020408.patch b/media-sound/xmms/files/xmms-ipv6-20020408-mmx.patch index 31475e30f520..31475e30f520 100644 --- a/media-sound/xmms/files/xmms-ipv6-20020408.patch +++ b/media-sound/xmms/files/xmms-ipv6-20020408-mmx.patch diff --git a/media-sound/xmms/files/xmms-ipv6-20020408-nommx.patch b/media-sound/xmms/files/xmms-ipv6-20020408-nommx.patch new file mode 100644 index 000000000000..0b9846445c0b --- /dev/null +++ b/media-sound/xmms/files/xmms-ipv6-20020408-nommx.patch @@ -0,0 +1,354 @@ +Index: acconfig.h +=================================================================== +RCS file: /cvs/xmms/acconfig.h,v +retrieving revision 1.13 +diff -u -r1.13 acconfig.h +--- acconfig.h 14 Nov 2001 22:08:14 -0000 1.13 ++++ acconfig.h 8 Apr 2002 19:05:50 -0000 +@@ -57,6 +57,7 @@ + #undef PACKAGE + #undef VERSION + #undef USE_3DNOW ++#undef USE_IPV6 + #undef WITH_SYMBOL_UNDERSCORE + #undef WITH_SM + #undef ENABLE_NLS +Index: configure.in +=================================================================== +RCS file: /cvs/xmms/configure.in,v +retrieving revision 1.116 +diff -u -r1.116 configure.in +--- configure.in 24 Mar 2002 14:38:22 -0000 1.116 ++++ configure.in 8 Apr 2002 19:05:51 -0000 +@@ -338,6 +338,17 @@ + fi + AM_CONDITIONAL(USE_3DNOW,test "x$USE_3DNOW" = xyes) + AC_SUBST(USE_3DNOW_TRUE) ++ ++dnl IPv6 support ++dnl ======================== ++AC_ARG_ENABLE(ipv6, ++ [ --enable-ipv6 enable IPv6 support [default=no]], ++ enable_ipv6=$enableval, enable_ipv6=no) ++if test "x$enable_ipv6" = xyes; then ++ AC_DEFINE(USE_IPV6) ++fi ++AM_CONDITIONAL(USE_IPV6,test "x$enable_ipv6" = xyes) ++AC_SUBST(USE_IPV6) + dnl ======================== + + AC_CACHE_CHECK(for socklen_t, xmms_cv_type_socklen_t, +Index: Input/cdaudio/http.c +=================================================================== +RCS file: /cvs/xmms/Input/cdaudio/http.c,v +retrieving revision 1.5 +diff -u -r1.5 http.c +--- Input/cdaudio/http.c 21 Jul 2000 08:54:17 -0000 1.5 ++++ Input/cdaudio/http.c 8 Apr 2002 19:05:51 -0000 +@@ -25,9 +25,45 @@ + gint http_open_connection(gchar * server, gint port) + { + gint sock; ++#ifdef USE_IPV6 ++ struct addrinfo hints, *res, *res0; ++ char service[6]; ++#else + struct hostent *host; + struct sockaddr_in address; ++#endif + ++#ifdef USE_IPV6 ++ snprintf(service, 6, "%d", port); ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ ++ if (getaddrinfo(server, service, &hints, &res0)) ++ return 0; ++ ++ for (res = res0; res; res = res->ai_next) { ++ sock = socket (res->ai_family, res->ai_socktype, res->ai_protocol); ++ if (sock < 0) { ++ if (res->ai_next) ++ continue; ++ else { ++ freeaddrinfo(res0); ++ return 0; ++ } ++ } ++ if (connect(sock, res->ai_addr, res->ai_addrlen) < 0) { ++ if (res->ai_next) { ++ close(sock); ++ continue; ++ } else { ++ freeaddrinfo(res0); ++ return 0; ++ } ++ } ++ freeaddrinfo(res0); ++ return sock; ++ } ++#else + sock = socket(AF_INET, SOCK_STREAM, 0); + address.sin_family = AF_INET; + +@@ -40,6 +76,7 @@ + if (connect(sock, (struct sockaddr *) &address, sizeof (struct sockaddr_in)) == -1) + return 0; + ++#endif + return sock; + } + +Index: Input/mpg123/http.c +=================================================================== +RCS file: /cvs/xmms/Input/mpg123/http.c,v +retrieving revision 1.26 +diff -u -r1.26 http.c +--- Input/mpg123/http.c 6 Jan 2002 22:13:16 -0000 1.26 ++++ Input/mpg123/http.c 8 Apr 2002 19:05:52 -0000 +@@ -332,8 +332,13 @@ + gboolean redirect; + int udp_sock = 0; + fd_set set; ++#ifdef USE_IPV6 ++ struct addrinfo hints, *res, *res0; ++ char service[6]; ++#else + struct hostent *hp; + struct sockaddr_in address; ++#endif + struct timeval tv; + + url = (gchar *) arg; +@@ -355,6 +360,45 @@ + chost = mpg123_cfg.use_proxy ? mpg123_cfg.proxy_host : host; + cport = mpg123_cfg.use_proxy ? mpg123_cfg.proxy_port : port; + ++#ifdef USE_IPV6 ++ snprintf(service, 6, "%d", cport); ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ if (! getaddrinfo(chost, service, &hints, &res0)) { ++ eof = TRUE; ++ for (res = res0; res; res = res->ai_next) { ++ if ((sock = socket (res->ai_family, res->ai_socktype, res->ai_protocol)) < 0) ++ continue; ++ fcntl(sock, F_SETFL, O_NONBLOCK); ++ status = g_strdup_printf(_("CONNECTING TO %s:%d"), chost, cport); ++ mpg123_ip.set_info_text(status); ++ g_free(status); ++ ((struct sockaddr_in6 *)res->ai_addr)->sin6_port = htons(cport); ++ if (connect(sock, res->ai_addr, res->ai_addrlen) < 0) { ++ if (errno != EINPROGRESS) { ++ close(sock); ++ continue; ++ } ++ } ++ eof = FALSE; ++ break; ++ } ++ freeaddrinfo(res0); ++ if (eof) { ++ status = g_strdup_printf(_("Couldn't connect to host %s:%d"), chost, cport); ++ show_error_message(status); ++ g_free(status); ++ mpg123_ip.set_info_text(NULL); ++ } ++ } else { ++ status = g_strdup_printf(_("Couldn't look up host %s"), chost); ++ show_error_message(status); ++ g_free(status); ++ ++ mpg123_ip.set_info_text(NULL); ++ eof = TRUE; ++ } ++#else + sock = socket(AF_INET, SOCK_STREAM, 0); + fcntl(sock, F_SETFL, O_NONBLOCK); + address.sin_family = AF_INET; +@@ -372,9 +416,11 @@ + mpg123_ip.set_info_text(NULL); + eof = TRUE; + } ++#endif + + if (!eof) + { ++#ifndef USE_IPV6 + memcpy(&address.sin_addr.s_addr, *(hp->h_addr_list), sizeof (address.sin_addr.s_addr)); + address.sin_port = g_htons(cport); + +@@ -393,6 +439,7 @@ + eof = TRUE; + } + } ++#endif + while (going) + { + tv.tv_sec = 0; +@@ -697,14 +744,23 @@ + /* Find a good local udp port and bind udp_sock to it, return the port */ + static int udp_establish_listener(int *sock) + { ++#ifdef USE_IPV6 ++ struct sockaddr_in6 sin; ++ socklen_t sinlen = sizeof (struct sockaddr_in6); ++#else + struct sockaddr_in sin; + socklen_t sinlen = sizeof (struct sockaddr_in); ++#endif + + #ifdef DEBUG_UDP + fprintf (stderr,"Establishing udp listener\n"); + #endif + ++#ifdef USE_IPV6 ++ if ((*sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) ++#else + if ((*sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) ++#endif + { + g_log(NULL, G_LOG_LEVEL_CRITICAL, + "udp_establish_listener(): unable to create socket"); +@@ -712,8 +768,12 @@ + } + + memset(&sin, 0, sinlen); ++#ifdef USE_IPV6 ++ sin.sin6_family = AF_INET6; ++#else + sin.sin_family = AF_INET; + sin.sin_addr.s_addr = g_htonl(INADDR_ANY); ++#endif + + if (bind(*sock, (struct sockaddr *)&sin, sinlen) < 0) + { +@@ -743,7 +803,11 @@ + fprintf (stderr,"Listening on local %s:%d\n", inet_ntoa(sin.sin_addr), g_ntohs(sin.sin_port)); + #endif + ++#ifdef USE_IPV6 ++ return g_ntohs(sin.sin6_port); ++#else + return g_ntohs(sin.sin_port); ++#endif + } + + static int udp_check_for_data(int sock) +@@ -752,10 +816,14 @@ + char *valptr; + gchar *title; + gint len, i; ++#ifdef USE_IPV6 ++ struct sockaddr_in6 from; ++#else + struct sockaddr_in from; ++#endif + socklen_t fromlen; + +- fromlen = sizeof(struct sockaddr_in); ++ fromlen = sizeof(from); + + if ((len = recvfrom(sock, buf, 1024, 0, (struct sockaddr *)&from, &fromlen)) < 0) + { +@@ -840,7 +908,14 @@ + #ifdef DEBUG_UDP + else + fprintf(stderr,"Sent ack: %s", obuf); ++#ifdef USE_IPV6 ++{ ++ char adr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &from.sin6_addr, adr, INET6_ADDRSTRLEN); ++ fprintf (stderr,"Remote: [%s]:%d\n", adr, g_ntohs(from.sin6_port)); ++#else + fprintf (stderr,"Remote: %s:%d\n", inet_ntoa(from.sin_addr), g_ntohs(from.sin_port)); ++#endif + #endif + } + } +Index: Input/vorbis/http.c +=================================================================== +RCS file: /cvs/xmms/Input/vorbis/http.c,v +retrieving revision 1.4 +diff -u -r1.4 http.c +--- Input/vorbis/http.c 29 Dec 2001 19:03:38 -0000 1.4 ++++ Input/vorbis/http.c 8 Apr 2002 19:05:52 -0000 +@@ -287,8 +287,13 @@ + gint cnt, written, error, err_len, port, cport; + gboolean redirect; + fd_set set; ++#ifdef USE_IPV6 ++ struct addrinfo hints, *res, *res0; ++ char service[6]; ++#else + struct hostent *hp; + struct sockaddr_in address; ++#endif + struct timeval tv; + + url = (gchar *) arg; +@@ -310,6 +315,44 @@ + chost = vorbis_cfg.use_proxy ? vorbis_cfg.proxy_host : host; + cport = vorbis_cfg.use_proxy ? vorbis_cfg.proxy_port : port; + ++#ifdef USE_IPV6 ++ snprintf(service, 6, "%d", cport); ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_socktype = SOCK_STREAM; ++ if (! getaddrinfo(chost, service, &hints, &res0)) { ++ eof = TRUE; ++ for (res = res0; res; res = res->ai_next) { ++ if ((sock = socket (res->ai_family, res->ai_socktype, res->ai_protocol)) < 0) ++ continue; ++ fcntl(sock, F_SETFL, O_NONBLOCK); ++ status = g_strdup_printf(_("CONNECTING TO %s:%d"), chost, cport); ++ vorbis_ip.set_info_text(status); ++ g_free(status); ++ ((struct sockaddr_in6 *)res->ai_addr)->sin6_port = htons(cport); ++ if (connect(sock, res->ai_addr, res->ai_addrlen) < 0) { ++ if (errno != EINPROGRESS) { ++ close(sock); ++ continue; ++ } ++ } ++ eof = FALSE; ++ break; ++ } ++ freeaddrinfo(res0); ++ if (eof) { ++ status = g_strdup_printf(_("Couldn't connect to host %s:%d"), chost, cport); ++ vorbis_ip.set_info_text(status); ++ g_free(status); ++ eof = TRUE; ++ break; ++ } ++ } else { ++ status = g_strdup_printf(_("Couldn't look up host %s"), chost); ++ vorbis_ip.set_info_text(status); ++ g_free(status); ++ eof = TRUE; ++ } ++#else + sock = socket(AF_INET, SOCK_STREAM, 0); + fcntl(sock, F_SETFL, O_NONBLOCK); + address.sin_family = AF_INET; +@@ -327,9 +370,11 @@ + vorbis_ip.set_info_text(NULL); + eof = TRUE; + } ++#endif + + if (!eof) + { ++#ifndef USE_IPV6 + memcpy(&address.sin_addr.s_addr, *(hp->h_addr_list), sizeof (address.sin_addr.s_addr)); + address.sin_port = g_htons(cport); + +@@ -348,6 +393,7 @@ + eof = TRUE; + } + } ++#endif + while (going) + { + tv.tv_sec = 0; diff --git a/media-sound/xmms/xmms-1.2.7-r17.ebuild b/media-sound/xmms/xmms-1.2.7-r18.ebuild index 11795cb585c9..74b8d8981f71 100644 --- a/media-sound/xmms/xmms-1.2.7-r17.ebuild +++ b/media-sound/xmms/xmms-1.2.7-r18.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/xmms-1.2.7-r17.ebuild,v 1.3 2002/12/27 18:55:08 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/xmms/xmms-1.2.7-r18.ebuild,v 1.1 2002/12/27 22:19:36 raker Exp $ IUSE="xml nls esd gnome opengl mmx oggvorbis 3dnow mikmod directfb ipv6" @@ -37,16 +37,6 @@ src_unpack() { cd ${S} - # For plugins such as avi4xmms, xmms needs to be linked to libstdcxx. - # - # NOTE: because we change a Makefile.am here, we run auto* at the - # bottom. - # - # WARNING: Do not remove or feel my anger!!! :P - # -# XMMS developers do not like this - <azarah@gentoo.org> (27 Dec 2002). -# epatch ${FILESDIR}/${P}-link-libstdc++.patch - # Patch to allow external programmes to have the "jump to" dialog box epatch ${FILESDIR}/xmms-jump.patch @@ -71,10 +61,12 @@ src_unpack() { if use mmx || use 3dnow then epatch ${DISTDIR}/${P}-mmx.patch.gz + use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408-mmx.patch + else + use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408-nommx.patch fi ) - use ipv6 && epatch ${FILESDIR}/xmms-ipv6-20020408.patch [ ! -f ${S}/config.rpath ] && ( \ touch ${S}/config.rpath |