diff options
-rw-r--r-- | network/w3m/README | 3 | ||||
-rw-r--r-- | network/w3m/slack-desc | 2 | ||||
-rw-r--r-- | network/w3m/w3m-0.5.2-gpm_fix-1.patch | 124 | ||||
-rw-r--r-- | network/w3m/w3m.SlackBuild | 11 | ||||
-rw-r--r-- | network/w3m/w3m.info | 2 |
5 files changed, 135 insertions, 7 deletions
diff --git a/network/w3m/README b/network/w3m/README index 06f23fef6697e..cddcf4fefd03a 100644 --- a/network/w3m/README +++ b/network/w3m/README @@ -10,6 +10,3 @@ Linux, FreeBSD, and EWS4800) and on Microsoft Windows 9x/NT. You will need the gc package (which is available from SlackBuilds.org), to compile this. - -NOTE: Don't bother trying to run w3m inside a screen session; - it will segfault. diff --git a/network/w3m/slack-desc b/network/w3m/slack-desc index d56a6104ea9a6..db508bd9754e1 100644 --- a/network/w3m/slack-desc +++ b/network/w3m/slack-desc @@ -5,7 +5,7 @@ # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. - |-----handy-ruler------------------------------------------------------| + |-----handy-ruler--------------------------------------------------------| w3m: w3m (text-mode browser) w3m: w3m: w3m is a World Wide Web (WWW) text based client. It has English and diff --git a/network/w3m/w3m-0.5.2-gpm_fix-1.patch b/network/w3m/w3m-0.5.2-gpm_fix-1.patch new file mode 100644 index 0000000000000..74c645d348297 --- /dev/null +++ b/network/w3m/w3m-0.5.2-gpm_fix-1.patch @@ -0,0 +1,124 @@ +diff -urN w3m-0.5.2/configure.ac w3m-0.5.2.fixed/configure.ac +--- w3m-0.5.2/configure.ac 2004-04-29 00:19:25.000000000 +0600 ++++ w3m-0.5.2.fixed/configure.ac 2005-09-24 16:39:11.000000000 +0600 +@@ -97,6 +97,7 @@ + AC_SUBST(USE_W3M) + AC_CHECK_LIB(gpm, Gpm_Open, [AC_DEFINE(USE_GPM) + W3M_LIBS="$W3M_LIBS -lgpm"]) ++ AC_CHECK_LIB(gpm, Gpm_Wgetch, AC_DEFINE(HAVE_GPM_WGETCH)) + AC_SUBST(USE_SYSMOUSE) + AC_TRY_CPP([#include <machine/console.h> + MOUSE_GETINFO], [AC_DEFINE(USE_SYSMOUSE)]) +diff -urN w3m-0.5.2/gpm-libcurses.c w3m-0.5.2.fixed/gpm-libcurses.c +--- w3m-0.5.2/gpm-libcurses.c 1970-01-01 05:00:00.000000000 +0500 ++++ w3m-0.5.2.fixed/gpm-libcurses.c 2005-09-24 18:18:30.000000000 +0600 +@@ -0,0 +1,84 @@ ++/* ++ * libcurses.c - client library - curses level (gpm-Linux) ++ * ++ * Copied from GPM by Alexander E. Patrakov ++ * Copyright 1994,1995 rubini@linux.it (Alessandro Rubini) ++ * Copyright 2002 nico@schottelius.org (Nico Schottelius) ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ++ ********/ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <unistd.h> /* select(); */ ++#include <sys/time.h> /* timeval */ ++#include <sys/types.h> /* socket() */ ++ ++#include "config.h" ++#if defined(USE_GPM) && !defined(HAVE_GPM_WGETCH) ++ ++extern int getch(); ++ ++#include <gpm.h> ++#include <errno.h> ++ ++#define SELECT_TIME 86400 /* one day */ ++ ++int Gpm_Wgetch(void * dummy) ++{ ++fd_set selSet; ++int max, flag, result; ++int fd=STDIN_FILENO; ++static Gpm_Event ev; ++ ++ if (!gpm_flag || gpm_fd==-1) return getch(); ++ if (gpm_morekeys) return (*gpm_handler)(&ev,gpm_data); ++ gpm_hflag=0; ++ ++ max = (gpm_fd>fd) ? gpm_fd : fd; ++ ++/*...................................................................*/ ++ if (gpm_fd>=0) /* linux */ ++ while(1) ++ { ++ if (gpm_visiblepointer) GPM_DRAWPOINTER(&ev); ++ do ++ { ++ FD_ZERO(&selSet); ++ FD_SET(fd,&selSet); ++ FD_SET(gpm_fd,&selSet); ++ gpm_timeout.tv_sec=SELECT_TIME; ++ errno = 0; ++ flag=select(max+1,&selSet,(fd_set *)NULL,(fd_set *)NULL,&gpm_timeout); ++ } ++ while (!flag); ++ ++ if (flag==-1) ++ continue; ++ ++ if (FD_ISSET(fd,&selSet)) ++ return getch(); ++ ++ if (Gpm_GetEvent(&ev) && gpm_handler ++ && (result=(*gpm_handler)(&ev,gpm_data))) ++ { ++ gpm_hflag=1; ++ return result; ++ } ++ } ++ return 0; ++} ++#endif ++ +diff -urN w3m-0.5.2/Makefile.in w3m-0.5.2.fixed/Makefile.in +--- w3m-0.5.2/Makefile.in 2004-04-26 23:04:48.000000000 +0600 ++++ w3m-0.5.2.fixed/Makefile.in 2005-09-24 16:48:54.000000000 +0600 +@@ -85,11 +85,11 @@ + SRCS=main.c file.c buffer.c display.c etc.c search.c linein.c table.c local.c \ + form.c map.c frame.c rc.c menu.c mailcap.c image.c \ + symbol.c entity.c terms.c url.c ftp.c mimehead.c regex.c news.c \ +- func.c cookie.c history.c backend.c $(KEYBIND_SRC) ++ func.c cookie.c history.c backend.c gpm-libcurses.c $(KEYBIND_SRC) + OBJS=main.o file.o buffer.o display.o etc.o search.o linein.o table.o local.o\ + form.o map.o frame.o rc.o menu.o mailcap.o image.o \ + symbol.o entity.o terms.o url.o ftp.o mimehead.o regex.o news.o \ +- func.o cookie.o history.o backend.o $(KEYBIND_OBJ) ++ func.o cookie.o history.o backend.o gpm-libcurses.o $(KEYBIND_OBJ) + LSRCS=anchor.c parsetagx.c tagtable.c istream.c + LOBJS=anchor.o parsetagx.o tagtable.o istream.o + LLOBJS=version.o +diff -urN w3m-0.5.2/config.h.in w3m-0.5.2.fixed/config.h.in +--- w3m-0.5.2/config.h.in 2004-04-04 22:47:20.000000000 +0600 ++++ w3m-0.5.2.fixed/config.h.in 2005-09-24 16:50:43.000000000 +0600 +@@ -231,3 +231,4 @@ + #define INFLATE_NAME "inflate" + ++#undef HAVE_GPM_WGETCH + #endif /* CONFIG_H_SEEN */ diff --git a/network/w3m/w3m.SlackBuild b/network/w3m/w3m.SlackBuild index 645e275a53ea1..89ba3934a9b83 100644 --- a/network/w3m/w3m.SlackBuild +++ b/network/w3m/w3m.SlackBuild @@ -7,7 +7,7 @@ PRGNAM=w3m VERSION=0.5.2 ARCH=${ARCH:-i486} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} CWD=$(pwd) @@ -19,6 +19,8 @@ if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" fi set -e @@ -36,13 +38,18 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 \ -o -perm 400 \) -exec chmod 644 {} \; +# Fix segfaulting bug +patch -p1 < $CWD/w3m-0.5.2-gpm_fix-1.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --mandir=/usr/man \ --enable-keymap=lynx \ - --enable-gopher + --enable-gopher \ + --build=$ARCH-slackware-linux \ + --host=$ARCH-slackware-linux make make DESTDIR=$PKG install diff --git a/network/w3m/w3m.info b/network/w3m/w3m.info index 4b084daaac99d..670ecc1d835bf 100644 --- a/network/w3m/w3m.info +++ b/network/w3m/w3m.info @@ -5,4 +5,4 @@ DOWNLOAD="http://downloads.sourceforge.net/w3m/w3m-0.5.2.tar.gz" MD5SUM="ba06992d3207666ed1bf2dcf7c72bf58" MAINTAINER="slakmagik" EMAIL="jsun@freeshell.org" -APPROVED="David Somero" +APPROVED="rworkman" |