aboutsummaryrefslogtreecommitdiffstats
path: root/print/pips800
diff options
context:
space:
mode:
Diffstat (limited to 'print/pips800')
-rw-r--r--print/pips800/Makefile.pips142
-rw-r--r--print/pips800/files/ekpnavi-1.1.2.diff57
-rw-r--r--print/pips800/files/ekpstm-1.0.2.diff65
-rw-r--r--print/pips800/files/ekpstm-1.1.2.diff66
-rw-r--r--print/pips800/files/extra-patch-2.6.244
-rw-r--r--print/pips800/files/extra-patch-2.6.2-common95
-rw-r--r--print/pips800/files/extra-patch-2.6.2-ekpnavi22
-rw-r--r--print/pips800/files/extra-patch-2.6.2-ekpstm22
-rw-r--r--print/pips800/files/extra-patch-2.6.2-lpr233
-rw-r--r--print/pips800/files/extra-patch-2.6.2-src44
-rw-r--r--print/pips800/files/extra-patch-2.6.2-src-cups67
-rw-r--r--print/pips800/files/extra-patch-2.6.2-src-lpr54
-rw-r--r--print/pips800/pkg-descr7
-rw-r--r--print/pips800/pkg-message6
-rw-r--r--print/pips800/pkg-plist76
15 files changed, 554 insertions, 446 deletions
diff --git a/print/pips800/Makefile.pips b/print/pips800/Makefile.pips
index 130a6438b181..85380a16e52f 100644
--- a/print/pips800/Makefile.pips
+++ b/print/pips800/Makefile.pips
@@ -10,18 +10,32 @@ PORTVERSION?= 1.3.2
#PORTREVISION= 1
CATEGORIES?= print
MASTER_SITES= http://www.epkowa3.on.arena.ne.jp/pips/data/%SUBDIR%/
+
+.if ${PORTVERSION} == 2.1.2
+DIST_TYPE= lpr
+.else
+DIST_TYPE?= lpr_and_caps
+.endif
+
.if ${PRTYPE} == "750_2000"
MASTER_SITE_SUBDIR= pm750c_2000clpr
.elif ${PRTYPE} == 780 || ${PRTYPE} == 880
MASTER_SITE_SUBDIR= ${PRTYPE}_20
-.elif ${PRTYPE} == 870
-MASTER_SITE_SUBDIR= ${PRTYPE}Clpr
+.elif ${PRTYPE} == 970
+MASTER_SITE_SUBDIR= PM${PRTYPE}C
.elif ${PRTYPE} == 3500
MASTER_SITE_SUBDIR= pm${PRTYPE}c
.elif ${PRTYPE} == 4000
MASTER_SITE_SUBDIR= pm${PRTYPE}pxlpr
+.elif ${PRTYPE} == v500 || ${PRTYPE} == v600
+MASTER_SITE_SUBDIR= px${PRTYPE}lpr
.elif ${PORTVERSION} == 2.1.2
MASTER_SITE_SUBDIR= ${PRTYPE}_21
+#.elif ${PRTYPE} == 740 || ${PRTYPE} == 870
+.elif ${DIST_TYPE} == cups
+MASTER_SITE_SUBDIR= ${PRTYPE}Ccups
+.elif ${DIST_TYPE} == lpr
+MASTER_SITE_SUBDIR= ${PRTYPE}Clpr
.else
MASTER_SITE_SUBDIR= pm${PRTYPE}clpr
.endif
@@ -39,6 +53,10 @@ USE_GNOME= glib12 gtk12
USE_GETTEXT= yes
ONLY_FOR_ARCHS= i386
+.if ${DIST_TYPE} == cups
+PKGNAMESUFFIX= -cups
+.endif
+DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}
MD5_FILE= ${.CURDIR}/distinfo
DESCR= ${.CURDIR}/pkg-descr
@@ -49,31 +67,41 @@ PLIST_SUB= PRTYPE=${PRTYPE} \
PRT_MODEL=${PRT_MODEL} \
LIB_README=${LIB_README} \
MODEL_FILE=${MODEL_FILE} \
+ CUPSOPT_FILE=${CUPSOPT_FILE} \
+ PIPS=${PIPS} \
CUPS=${CUPS} \
- LPR=${LPR} \
EKPNAVI=${EKPNAVI} \
+ EKPNAVI_MO=${EKPNAVI_MO} \
+ EKPSTM_MO=${EKPSTM_MO} \
DTRFILTER=${DTRFILTER} \
- GSCONFIG=${GSCONFIG}
+ GSCONFIG=${GSCONFIG} \
+ PAPER_LIST=${PAPER_LIST}
.include <bsd.port.pre.mk>
-.if ${PORTVERSION} == 2.1.2 || ${PRTYPE} == 870
-PIPS_LPR_ONLY= yes
-.endif
-
CPPFLAGS= -I${LOCALBASE}/include
LDFLAGS= -L${LOCALBASE}/lib
.if ${PORTVERSION} == 2.1.2 || ${PORTVERSION} == 2.6.2
CONFLICTS= pips*-2.*
USE_RC_SUBR= yes
EXTRA_PATCHES= ${FILESDIR}/extra-patch-2.6.2
-.if ${PORTVERSION} != 2.1.2
+.if ${PORTVERSION} != 2.1.2 && ${DIST_TYPE} != cups
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-dtrfilter
.endif
-.if defined(PIPS_LPR_ONLY)
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-lpr
+.if ${DIST_TYPE} == lpr
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-ekpstm \
+ ${FILESDIR}/extra-patch-2.6.2-ekpnavi \
+ ${FILESDIR}/extra-patch-2.6.2-src \
+ ${FILESDIR}/extra-patch-2.6.2-src-lpr
+.elif ${DIST_TYPE} == cups
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-ekpstm \
+ ${FILESDIR}/extra-patch-2.6.2-src-cups
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base \
+ iconv.3:${PORTSDIR}/converters/libiconv
.else
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-common
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2.6.2-common \
+ ${FILESDIR}/extra-patch-2.6.2-src \
+ ${FILESDIR}/extra-patch-2.6.2-src-cups
BUILD_DEPEND+= ${LOCALBASE}/bin/autoconf253:${PORTSDIR}/devel/autoconf253
LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base \
iconv.3:${PORTSDIR}/converters/libiconv
@@ -89,6 +117,7 @@ LDFLAGS+= ${PTHREAD_LIBS}
CPPFLAGS+= ${PTHREAD_CFLAGS}
.endif
CONFIGURE_ENV+= CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
+MAKE_ENV+= SED="${SED}"
.if defined(INTERNATIONAL_PRODUCTS)
LIB_FILE= lib${PRTYPE:S/^-//}.so
@@ -111,40 +140,67 @@ PRT_MODEL= PM820CUG
LIB_FILE= libpm${PRTYPE}px.so
MODEL_FILE= ekpm${PRTYPE}px.ppd
PRT_MODEL= PM${PRTYPE}PX
+.elif ${PRTYPE} == v500 || ${PRTYPE} == v600
+LIB_FILE= libpx${PRTYPE}.so
+MODEL_FILE= ekpx${PRTYPE}.ppd
+PRT_MODEL= PX${PRTYPE:U}
.else
LIB_FILE= libpm${PRTYPE}c.so
MODEL_FILE= ekpm${PRTYPE}c.ppd
PRT_MODEL= PM${PRTYPE}C
.endif
.endif
+
+EKPNAVI_VER= 1.1.2
+.if ${PRTYPE} == 970
+EKPSTM_VER= 1.1.2
+.else
+EKPSTM_VER= 1.0.2
+.endif
+
+.if ${DIST_TYPE} == cups
+CUPSOPT_FILE= cupsopt_pm${PRTYPE}c.csv
+.else
+CUPSOPT_FILE= cupsopt.csv
+.endif
LIB_README= ${LIB_FILE:S/.so$//}.readme
PAPERSIZE?= a4
.if ${PORTVERSION} == 2.1.2 || ${PORTVERSION} == 2.6.2
FILTER_SRC= filter.tmp
.if ${PORTVERSION} == 2.1.2
+PIPS= ""
CUPS= "@comment "
-LPR= ""
EKPNAVI= ""
+EKPNAVI_MO= ""
+EKPSTM_MO= ""
DTRFILTER= "@comment "
GSCONFIG= ""
-.elif defined(PIPS_LPR_ONLY)
+PAPER_LIST= "@comment "
+.else
+.if ${DIST_TYPE} == lpr
+PIPS= ""
CUPS= "@comment "
-LPR= ""
EKPNAVI= ""
+EKPNAVI_MO= ""
+EKPSTM_MO= ""
DTRFILTER= ""
-GSCONFIG= "@comment "
-.elif defined(PIPS_CUPS_ONLY)
+.elif ${DIST_TYPE} == cups
+PIPS= "@comment "
CUPS= ""
-LPR= "@comment "
EKPNAVI= "@comment "
-DTRFILTER= ""
-GSCONFIG= "@comment "
+EKPNAVI_MO= "@comment "
+EKPSTM_MO= ""
+DTRFILTER= "@comment "
.else
+PIPS= ""
CUPS= ""
-LPR= "@comment "
EKPNAVI= ""
+EKPNAVI_MO= "@comment "
+EKPSTM_MO= "@comment "
DTRFILTER= ""
+.endif
GSCONFIG= "@comment "
+PAPER_LIST= ""
.endif
RC_SCRIPTS_SUB= PREFIX=${PREFIX} \
RC_SUBR=${RC_SUBR} \
@@ -158,28 +214,46 @@ PKGMESSAGE= ${WRKDIR}/pkg-message
DOCS= COPYING COPYING.KOWA COPYING.KOWA.ja COPYING.LIB
-.if ${PORTVERSION} == 2.1.2 || \
- (${PORTVERSION} == 2.6.2 && defined(PIPS_LPR_ONLY))
post-extract:
- cd ${WRKSRC}/ekpnavi && ${TAR} xf ekpnavi-1.1.2.tar.gz
- cd ${WRKSRC}/ekpstm && ${TAR} xf ekpstm-1.0.2.tar.gz
+.if ${PORTVERSION} == 2.1.2 || \
+ (${PORTVERSION} == 2.6.2 && ${DIST_TYPE} == lpr)
+ cd ${WRKSRC}/ekpnavi && ${TAR} xf ekpnavi-${EKPNAVI_VER}.tar.gz
+.endif
+.if ${PORTVERSION} == 2.1.2 || \
+ (${PORTVERSION} == 2.6.2 && ${DIST_TYPE} == lpr) || \
+ ${DIST_TYPE} == cups
+ cd ${WRKSRC}/ekpstm && ${TAR} xf ekpstm-${EKPSTM_VER}.tar.gz
.endif
post-patch:
- ${REINPLACE_CMD} -e '/^SUBDIRS =/s/setup//' \
+.if ${PORTVERSION} == 2.1.2 || \
+ (${PORTVERSION} == 2.6.2 && ${DIST_TYPE} == lpr)
+ cd ${WRKSRC}/ekpnavi/ekpnavi-${EKPNAVI_VER} && \
+ patch -p < ${FILESDIR}/ekpnavi-${EKPNAVI_VER}.diff
+.endif
+.if ${PORTVERSION} == 2.1.2 || \
+ (${PORTVERSION} == 2.6.2 && ${DIST_TYPE} == lpr) || \
+ ${DIST_TYPE} == cups
+ cd ${WRKSRC}/ekpstm/ekpstm-${EKPSTM_VER} && \
+ patch -p < ${FILESDIR}/ekpstm-${EKPSTM_VER}.diff
+.endif
+ ${REINPLACE_CMD} -e 's,setup redhat,redhat,' \
-e '/inst-post.sh/s/^/#/' \
${WRKSRC}/Makefile.in
${REINPLACE_CMD} -e 's,^prefix=/usr$$,,' -e 's,^sysconfdir=/etc$$,,' \
-e 's,/usr/local/EPKowa,${PREFIX}/libexec/pips,' \
+ -e 's,_nl_domain_bindings,libintl_nl_domain_bindings,' \
${WRKSRC}/configure
${REINPLACE_CMD} -e 's,^pkgdatadir.*$$,pkgdatadir = ${DOCSDIR},' \
${WRKSRC}/doc/Makefile.in
+.if ${DIST_TYPE} != cups
${REINPLACE_CMD} -e 's,^EKPSTM.*$$,EKPSTM=${PREFIX}/bin/ekpstm,' \
-e 's,/usr/local/EPKowa,${PREFIX}/libexec/pips,' \
-e 's,/usr/bin/pips,${PREFIX}/bin/pips,' \
-e 's,:/usr/local/bin$$,:${PREFIX}/bin,' \
-e 's,^GSCONF=%gsconfig_name%$$,GSCONF=${PREFIX}/bin/%gsconfig_name%,' \
${WRKSRC}/src/${FILTER_SRC}
+.endif
.if ${PORTVERSION} == 1.3.2
${REINPLACE_CMD} -e 's,^PREFIX.*$$,PREFIX=${PREFIX},' \
-e 's,^ETCDIR.*$$,ETCDIR=${PREFIX}/etc,' \
@@ -189,7 +263,7 @@ post-patch:
-e 's,:/usr/local/bin$$,:${PREFIX}/bin,' \
${WRKSRC}/setup/inst-post.sh
.endif
-.if ${PORTVERSION} == 2.6.2
+.if ${PORTVERSION} == 2.6.2 && ${DIST_TYPE} != cups
${REINPLACE_CMD} -e 's,dtrfilter_LDADD = -ldl,dtrfilter_LDADD =,' \
${WRKSRC}/dtrfilter/Makefile.in
${REINPLACE_CMD} -e 's,/etc/pipsrc,${PREFIX}/etc/pipsrc,' \
@@ -202,11 +276,18 @@ post-patch:
${REINPLACE_CMD} -e 's,/dev/lp0,/dev/ulpt0,' \
-e 's,^SUBDIRS = rc$$,#SUBDIRS = rc,' \
${WRKSRC}/ekpd/Makefile.in
+.if ${DIST_TYPE} != cups
${REINPLACE_CMD} -e 's,/etc/ekpdrc,${PREFIX}/etc/ekpdrc,' \
${WRKSRC}/src/setup.c
.endif
+.if ${PORTVERSION} == 2.6.2 || ${DIST_TYPE} == lpr
+ ${REINPLACE_CMD} -e 's,@CUPS_LIBS@,@CUPS_LIBS@ -lintl,' \
+ -e 's,^INCLUDES = @GTK_CFLAGS@ $$,INCLUDES = @GTK_CFLAGS@ $(INCLTDL),' \
+ ${WRKSRC}/src/Makefile.in
+.endif
+.endif
-.if ${PORTVERSION} == 2.6.2 && !defined(PIPS_LPR_ONLY)
+.if ${PORTVERSION} == 2.6.2 && ${DIST_TYPE} != lpr && ${DIST_TYPE} != cups
pre-configure:
cd ${WRKSRC}/libltdl && ${LOCALBASE}/bin/autoconf253
.endif
@@ -237,12 +318,15 @@ $${GSCONF} < $$TMP | $${PIPS} -ui C,' \
${FILESDIR}/pips.sh > ${WRKDIR}/pips.sh
.endif
${SED} -e 's,%%LIB_FILE%%,${LIB_FILE},g' \
+ -e 's,%%PRT_MODEL%%,${PRT_MODEL},g' \
${MASTERDIR}/pkg-message > ${PKGMESSAGE}
post-install:
+.if ${DIST_TYPE} != cups
${RM} -f ${PREFIX}/etc/pipsrc
${TOUCH} ${PREFIX}/etc/pipsrc
${CHMOD} 666 ${PREFIX}/etc/pipsrc
+.endif
${INSTALL_SCRIPT} ${WRKDIR}/setup.freebsd \
${PREFIX}/libexec/pips/${PRT_MODEL}/setup
${MKDIR} ${PREFIX}/libexec/pips/${PRT_MODEL}/scripts
@@ -260,7 +344,7 @@ post-install:
.endfor
.endif
@${ECHO_CMD} "lib/pips/${LIB_FILE}" >>${TMPPLIST}
-.if ${PORTVERSION} == 2.6.2 && !defined(PIPS_LPR_ONLY)
+.if ${PRTYPE} == 970 || ${PRTYPE} == 980 || ${PRTYPE} == 4000
@${ECHO_CMD} "lib/pips/${LIB_FILE:S/.so/R1.so/}" >>${TMPPLIST}
@${ECHO_CMD} "lib/pips/${LIB_FILE:S/.so/R2.so/}" >>${TMPPLIST}
${INSTALL_SCRIPT} ${WRKDIR}/pips.sh ${PREFIX}/etc/rc.d
diff --git a/print/pips800/files/ekpnavi-1.1.2.diff b/print/pips800/files/ekpnavi-1.1.2.diff
new file mode 100644
index 000000000000..80c866ecd175
--- /dev/null
+++ b/print/pips800/files/ekpnavi-1.1.2.diff
@@ -0,0 +1,57 @@
+Index: src/ekpcom.c
+diff -u -p src/ekpcom.c.orig src/ekpcom.c
+--- src/ekpcom.c.orig Wed Jul 30 23:06:39 2003
++++ src/ekpcom.c Tue Aug 24 23:37:45 2004
+@@ -42,15 +42,25 @@ sock_open (void)
+ {
+ int sockfd, len;
+ struct sockaddr_in address;
++#ifndef MSG_NOSIGNAL
++ const int on = 1;
++#endif
+
+ if (server_sock_fd >= 0)
+ return 0;
+
+ /* ソケットオープン */
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
++#endif
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = htonl (INADDR_ANY);
+ address.sin_port = htons (35586);
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len))
+ {
+@@ -92,7 +102,11 @@ sock_write (char* buf, int* lp_wsize)
+ packet[4] = size % 0xFF;
+ memcpy (packet + Header_Size, buf, size);
+
++#ifndef MSG_NOSIGNAL
++ size = send (server_sock_fd, packet, size + Header_Size, 0);
++#else
+ size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
++#endif
+
+ if (size < 0)
+ return -1;
+@@ -116,7 +130,11 @@ sock_read (char* buf, int* lp_rsize)
+ if (size <= 0)
+ return 0;
+
++#ifndef MSG_NOSIGNAL
++ dsize = recv (server_sock_fd, packet, size, 0);
++#else
+ dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
++#endif
+
+ if (dsize < 0)
+ return -1;
++ #ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++ #endif
diff --git a/print/pips800/files/ekpstm-1.0.2.diff b/print/pips800/files/ekpstm-1.0.2.diff
new file mode 100644
index 000000000000..fa84bcc8440c
--- /dev/null
+++ b/print/pips800/files/ekpstm-1.0.2.diff
@@ -0,0 +1,65 @@
+Index: src/ekpcom.c
+diff -u -p src/ekpcom.c.orig src/ekpcom.c
+--- src/ekpcom.c.orig Sat Oct 19 13:01:51 2002
++++ src/ekpcom.c Wed Aug 25 18:34:15 2004
+@@ -52,14 +52,24 @@ sock_open (void)
+ {
+ int sockfd, len;
+ struct sockaddr_in address;
++#ifndef MSG_NOSIGNAL
++ const int on = 1;
++#endif
+
+ if (server_sock_fd >= 0)
+ return 0;
+
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
++#endif
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = htonl (INADDR_ANY);
+ address.sin_port = htons (35586); /* did hard coding in port number (35586) */
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len))
+ {
+@@ -114,7 +124,11 @@ sock_write (char* buf, int* lp_wsize)
+ packet[4] = size % 0xFF; /* date size (lower) */
+ memcpy (packet + Header_Size, buf, size); /* date */
+
++#ifndef MSG_NOSIGNAL
++ size = send (server_sock_fd, packet, size + Header_Size, 0);
++#else
+ size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
++#endif
+
+ if (size < 0)
+ return -1;
+@@ -144,7 +158,11 @@ sock_read (char* buf, int* lp_rsize)
+ if (size <= 0)
+ return 0;
+
++#ifndef MSG_NOSIGNAL
++ dsize = recv (server_sock_fd, packet, size, 0);
++#else
+ dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
++#endif
+
+ if (dsize < 0)
+ return -1;
+Index: src/main.c
+diff -u -p src/main.c.orig src/main.c
+--- src/main.c.orig Thu Jul 31 15:01:39 2003
++++ src/main.c Tue Aug 24 19:41:40 2004
+@@ -69,6 +69,7 @@ main (int argc, char *argv[])
+ break;
+
+ default:
++ break;
+ }
+ }
+
diff --git a/print/pips800/files/ekpstm-1.1.2.diff b/print/pips800/files/ekpstm-1.1.2.diff
new file mode 100644
index 000000000000..ecd22fab91f3
--- /dev/null
+++ b/print/pips800/files/ekpstm-1.1.2.diff
@@ -0,0 +1,66 @@
+Index: src/ekpcom.c
+diff -u -p src/ekpcom.c.orig src/ekpcom.c
+--- src/ekpcom.c.orig Sat Oct 19 13:01:51 2002
++++ src/ekpcom.c Wed Aug 25 18:34:15 2004
+@@ -42,15 +42,25 @@ sock_open (void)
+ {
+ int sockfd, len;
+ struct sockaddr_in address;
++#ifndef MSG_NOSIGNAL
++ const int on = 1;
++#endif
+
+ if (server_sock_fd >= 0)
+ return 0;
+
+ /* ソケットオープン */
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
++#endif
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = htonl (INADDR_ANY);
+ address.sin_port = htons (35586);
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len))
+ {
+@@ -92,7 +102,11 @@ sock_write (char* buf, int* lp_wsize)
+ packet[4] = size % 0xFF;
+ memcpy (packet + Header_Size, buf, size);
+
++#ifndef MSG_NOSIGNAL
++ size = send (server_sock_fd, packet, size + Header_Size, 0);
++#else
+ size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
++#endif
+
+ if (size < 0)
+ return -1;
+@@ -116,7 +130,11 @@ sock_read (char* buf, int* lp_rsize)
+ if (size <= 0)
+ return 0;
+
++#ifndef MSG_NOSIGNAL
++ dsize = recv (server_sock_fd, packet, size, 0);
++#else
+ dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
++#endif
+
+ if (dsize < 0)
+ return -1;
+Index: src/main.c
+diff -u -p src/main.c.orig src/main.c
+--- src/main.c.orig Thu Jul 31 15:01:39 2003
++++ src/main.c Tue Aug 24 19:41:40 2004
+@@ -69,6 +69,7 @@ main (int argc, char *argv[])
+ break;
+
+ default:
++ break;
+ }
+ }
+
diff --git a/print/pips800/files/extra-patch-2.6.2 b/print/pips800/files/extra-patch-2.6.2
index 23abbabb4ddb..14367fc445bc 100644
--- a/print/pips800/files/extra-patch-2.6.2
+++ b/print/pips800/files/extra-patch-2.6.2
@@ -63,47 +63,3 @@ diff -u -p ekpd/cbtd_comserv.c.orig ekpd/cbtd_comserv.c
{
fsync (fd);
Index: src/pfpng.c
-diff -u -p src/pfpng.c.orig src/pfpng.c
---- src/pfpng.c.orig Tue Jun 24 15:41:46 2003
-+++ src/pfpng.c Tue Aug 24 19:41:41 2004
-@@ -57,6 +57,8 @@ lib_png_sig_cmp *dl_png_s
- void *
- open_png_library (void)
- {
-+ if (dl_handle_libpng)
-+ return (void *)dl_handle_libpng;
- dl_handle_libpng = dlopen ("libpng.so", RTLD_LAZY);
- if (dl_handle_libpng)
- {
-@@ -116,8 +118,12 @@ open_png_library (void)
- void
- close_png_library (void)
- {
-- if (dl_handle_libpng)
-+#if 0
-+ if (dl_handle_libpng) {
- dlclose (dl_handle_libpng);
-+ dl_handle_libpng = NULL;
-+ }
-+#endif
-
- return;
- }
-Index: src/pipsCom.c
-diff -u -p src/pipsCom.c.orig src/pipsCom.c
---- src/pipsCom.c.orig Tue Jun 24 15:41:46 2003
-+++ src/pipsCom.c Tue Aug 24 23:38:06 2004
-@@ -56,9 +56,13 @@ connect_server (char *host)
- if (!servinfo) return -1;
-
- sockfd = socket (AF_INET, SOCK_STREAM, 0);
-+ memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_addr = *(struct in_addr *)*hostinfo->h_addr_list;
- address.sin_port = servinfo->s_port;
-+#ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+#endif
-
- len = sizeof (address);
- if (connect (sockfd, (struct sockaddr *)&address, len) == -1)
diff --git a/print/pips800/files/extra-patch-2.6.2-common b/print/pips800/files/extra-patch-2.6.2-common
index 431b4982e7a3..ed1235f8071b 100644
--- a/print/pips800/files/extra-patch-2.6.2-common
+++ b/print/pips800/files/extra-patch-2.6.2-common
@@ -118,98 +118,3 @@ diff -u -p ekpstm/main.c.orig ekpstm/main.c
}
}
-Index: src/Makefile.in
-diff -u src/Makefile.in.orig src/Makefile.in
---- src/Makefile.in.orig Fri Oct 24 16:12:54 2003
-+++ src/Makefile.in Tue Aug 24 19:41:40 2004
-@@ -131,7 +131,7 @@
- # CUPS
- AM_CFLAGS = -DGS_PATH=\"gs\" -DLOCALEDIR=\"$(datadir)/locale\" -DPRINTER_MODEL="\"$(MODEL_FULL)\"" -D$(MODEL_L) -DLIBPATH=\"$(libdir)/lib$(MODEL).so\" -DRSC_PATH=\"$(sysconfdir)/pipsrc\" -DSPOOL_NAME=\"$(MODEL)\" -DLOCALE_PATH=\"$(datadir)/locale\" -DNAVI_PATH=\"$(bindir)/ekpnavi\" -DDATA_PATH=\"$(pkgdatadir)\" -DRULED_PATH=\"$(pkgdatadir)/BID.PRN\" -DPATCH_PATH=\"$(pkgdatadir)/PATCH.PRN\" -DBAND_PATH=\"$(pkgdatadir)/BAND.PRN\" -DCUT_PATH=\"$(pkgdatadir)/CUT.PRN\" -D_LPR_DIRECT -fsigned-char -DCUPS_FILTER_PATH=\"$(cupsfilterdir)\"
-
--INCLUDES = @GTK_CFLAGS@
-+INCLUDES = @GTK_CFLAGS@ $(INCLTDL)
-
- libcutils_la_SOURCES = str.c str.h err.c err.h csv.c csv.h mem.c mem.h def.h
-
-@@ -146,12 +146,12 @@
- rastertopips_SOURCES = rastertopips.c
-
-
--pipstoprinter_LDFLAGS = @LIBLTDL@ @CUPS_LIBS@ libcutils.la
-+pipstoprinter_LDFLAGS = @LIBLTDL@ @CUPS_LIBS@ -lintl libcutils.la
-
- pipstoprinter_SOURCES = pipstoprinter.c libprtX.h debug.c debug.h ekpcom.c ekpcom.h getstat.c getstat.h
-
-
--ekplp_LDFLAGS = @CUPS_LIBS@ libcutils.la
-+ekplp_LDFLAGS = @CUPS_LIBS@ -lintl libcutils.la
-
- ekplp_SOURCES = ekplp.c
-
-Index: src/ekpcom.c
-diff -u -p src/ekpcom.c.orig src/ekpcom.c
---- src/ekpcom.c.orig Wed Jul 30 22:11:04 2003
-+++ src/ekpcom.c Tue Aug 24 23:37:59 2004
-@@ -52,15 +52,25 @@ sock_open (void)
- {
- int sockfd, len;
- struct sockaddr_in address;
-+#ifndef MSG_NOSIGNAL
-+ const int on = 1;
-+#endif
-
- if (server_sock_fd >= 0)
- return 0;
-
- /* Socket open */
- sockfd = socket (AF_INET, SOCK_STREAM, 0);
-+#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
-+ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
-+#endif
-+ memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_addr.s_addr = htonl (INADDR_ANY);
- address.sin_port = htons (PORT_NUMBER);
-+#ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+#endif
- len = sizeof (address);
- if (connect (sockfd, (struct sockaddr *)&address, len))
- {
-@@ -102,7 +112,11 @@ sock_write (char* buf, int* lp_wsize)
- packet[4] = size % 0xFF;
- memcpy (packet + Header_Size, buf, size);
-
-+#ifndef MSG_NOSIGNAL
-+ size = send (server_sock_fd, packet, size + Header_Size, 0);
-+#else
- size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
-+#endif
-
- if (size < 0)
- return -1;
-@@ -126,7 +140,11 @@ sock_read (char* buf, int* lp_rsize)
- if (size <= 0)
- return 0;
-
-+#ifndef MSG_NOSIGNAL
-+ dsize = recv (server_sock_fd, packet, size, 0);
-+#else
- dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
-+#endif
-
- if (dsize < 0)
- return -1;
-Index: src/rastertopips.c
-diff -u -p src/rastertopips.c.orig src/rastertopips.c
---- src/rastertopips.c.orig Thu Sep 4 13:34:25 2003
-+++ src/rastertopips.c Tue Aug 24 19:41:41 2004
-@@ -32,6 +32,8 @@
- #include <string.h>
- #include <ctype.h>
-
-+#define NAME_MAX 41
-+
- #define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4)
-
- typedef struct rtp_filter_option {
diff --git a/print/pips800/files/extra-patch-2.6.2-ekpnavi b/print/pips800/files/extra-patch-2.6.2-ekpnavi
new file mode 100644
index 000000000000..b56069072093
--- /dev/null
+++ b/print/pips800/files/extra-patch-2.6.2-ekpnavi
@@ -0,0 +1,22 @@
+Index: ekpnavi/Makefile.in
+diff -u ekpnavi/Makefile.in.orig ekpnavi/Makefile.in
+--- ekpnavi/Makefile.in.orig Fri Dec 20 00:09:56 2002
++++ ekpnavi/Makefile.in Wed Aug 25 18:57:41 2004
+@@ -232,7 +232,7 @@
+ if test ! -s Makefile; then \
+ ./configure --prefix=$(prefix) ;\
+ fi ;\
+- make
++ $(MAKE)
+
+ clean-local:
+ if test -d $(srcdir)/$(EKPNAVI_PKGNAME); then \
+@@ -243,7 +243,7 @@
+ install-exec-local:
+ if test -d $(srcdir)/$(EKPNAVI_PKGNAME); then \
+ cd $(srcdir)/$(EKPNAVI_PKGNAME) ;\
+- make install ;\
++ $(MAKE) install ;\
+ fi
+
+ $(EKPNAVI_PKGNAME).tar.gz:
diff --git a/print/pips800/files/extra-patch-2.6.2-ekpstm b/print/pips800/files/extra-patch-2.6.2-ekpstm
new file mode 100644
index 000000000000..426685a2aee9
--- /dev/null
+++ b/print/pips800/files/extra-patch-2.6.2-ekpstm
@@ -0,0 +1,22 @@
+Index: ekpstm/Makefile.in
+diff -u ekpstm/Makefile.in.orig ekpstm/Makefile.in
+--- ekpstm/Makefile.in.orig Fri Dec 20 00:09:56 2002
++++ ekpstm/Makefile.in Wed Aug 25 18:55:20 2004
+@@ -213,7 +213,7 @@
+ ./configure --prefix=$(prefix) ;\
+ fi ;\
+ fi ;\
+- make
++ $(MAKE)
+
+ clean-local:
+ if test -d $(srcdir)/$(EKPSTM_PKGNAME); then \
+@@ -224,7 +224,7 @@
+ install-exec-local:
+ if test -d $(srcdir)/$(EKPSTM_PKGNAME); then \
+ cd $(srcdir)/$(EKPSTM_PKGNAME) ;\
+- make install ;\
++ $(MAKE) install ;\
+ fi
+
+ #dist-hook:
diff --git a/print/pips800/files/extra-patch-2.6.2-lpr b/print/pips800/files/extra-patch-2.6.2-lpr
deleted file mode 100644
index 57f9993dc55e..000000000000
--- a/print/pips800/files/extra-patch-2.6.2-lpr
+++ /dev/null
@@ -1,233 +0,0 @@
-Index: ekpnavi/Makefile.in
-diff -u ekpnavi/Makefile.in.orig ekpnavi/Makefile.in
---- ekpnavi/Makefile.in.orig Fri Dec 20 00:09:56 2002
-+++ ekpnavi/Makefile.in Wed Aug 25 18:57:41 2004
-@@ -232,7 +232,7 @@
- if test ! -s Makefile; then \
- ./configure --prefix=$(prefix) ;\
- fi ;\
-- make
-+ $(MAKE)
-
- clean-local:
- if test -d $(srcdir)/$(EKPNAVI_PKGNAME); then \
-@@ -243,7 +243,7 @@
- install-exec-local:
- if test -d $(srcdir)/$(EKPNAVI_PKGNAME); then \
- cd $(srcdir)/$(EKPNAVI_PKGNAME) ;\
-- make install ;\
-+ $(MAKE) install ;\
- fi
-
- $(EKPNAVI_PKGNAME).tar.gz:
-Index: ekpnavi/ekpnavi-1.1.2/src/ekpcom.c
-diff -u -p ekpnavi/ekpnavi-1.1.2/src/ekpcom.c.orig ekpnavi/ekpnavi-1.1.2/src/ekpcom.c
---- ekpnavi/ekpnavi-1.1.2/src/ekpcom.c.orig Wed Jul 30 23:06:39 2003
-+++ ekpnavi/ekpnavi-1.1.2/src/ekpcom.c Tue Aug 24 23:37:45 2004
-@@ -42,15 +42,25 @@ sock_open (void)
- {
- int sockfd, len;
- struct sockaddr_in address;
-+#ifndef MSG_NOSIGNAL
-+ const int on = 1;
-+#endif
-
- if (server_sock_fd >= 0)
- return 0;
-
- /* ソケットオープン */
- sockfd = socket (AF_INET, SOCK_STREAM, 0);
-+#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
-+ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
-+#endif
-+ memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_addr.s_addr = htonl (INADDR_ANY);
- address.sin_port = htons (35586);
-+#ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+#endif
- len = sizeof (address);
- if (connect (sockfd, (struct sockaddr *)&address, len))
- {
-@@ -92,7 +102,11 @@ sock_write (char* buf, int* lp_wsize)
- packet[4] = size % 0xFF;
- memcpy (packet + Header_Size, buf, size);
-
-+#ifndef MSG_NOSIGNAL
-+ size = send (server_sock_fd, packet, size + Header_Size, 0);
-+#else
- size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
-+#endif
-
- if (size < 0)
- return -1;
-@@ -116,7 +130,11 @@ sock_read (char* buf, int* lp_rsize)
- if (size <= 0)
- return 0;
-
-+#ifndef MSG_NOSIGNAL
-+ dsize = recv (server_sock_fd, packet, size, 0);
-+#else
- dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
-+#endif
-
- if (dsize < 0)
- return -1;
-+ #ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+ #endif
-Index: ekpstm/Makefile.in
-diff -u ekpstm/Makefile.in.orig ekpstm/Makefile.in
---- ekpstm/Makefile.in.orig Fri Dec 20 00:09:56 2002
-+++ ekpstm/Makefile.in Wed Aug 25 18:55:20 2004
-@@ -213,7 +213,7 @@
- ./configure --prefix=$(prefix) ;\
- fi ;\
- fi ;\
-- make
-+ $(MAKE)
-
- clean-local:
- if test -d $(srcdir)/$(EKPSTM_PKGNAME); then \
-@@ -224,7 +224,7 @@
- install-exec-local:
- if test -d $(srcdir)/$(EKPSTM_PKGNAME); then \
- cd $(srcdir)/$(EKPSTM_PKGNAME) ;\
-- make install ;\
-+ $(MAKE) install ;\
- fi
-
- #dist-hook:
-Index: ekpstm/ekpstm-1.0.2/src/ekpcom.c
-diff -u -p ekpstm/ekpstm-1.0.2/src/ekpcom.c.orig ekpstm/ekpstm-1.0.2/src/ekpcom.c
---- ekpstm/ekpstm-1.0.2/src/ekpcom.c.orig Sat Oct 19 13:01:51 2002
-+++ ekpstm/ekpstm-1.0.2/src/ekpcom.c Wed Aug 25 18:34:15 2004
-@@ -52,14 +52,24 @@ sock_open (void)
- {
- int sockfd, len;
- struct sockaddr_in address;
-+#ifndef MSG_NOSIGNAL
-+ const int on = 1;
-+#endif
-
- if (server_sock_fd >= 0)
- return 0;
-
- sockfd = socket (AF_INET, SOCK_STREAM, 0);
-+#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
-+ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
-+#endif
-+ memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_addr.s_addr = htonl (INADDR_ANY);
- address.sin_port = htons (35586); /* did hard coding in port number (35586) */
-+#ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+#endif
- len = sizeof (address);
- if (connect (sockfd, (struct sockaddr *)&address, len))
- {
-@@ -114,7 +124,11 @@ sock_write (char* buf, int* lp_wsize)
- packet[4] = size % 0xFF; /* date size (lower) */
- memcpy (packet + Header_Size, buf, size); /* date */
-
-+#ifndef MSG_NOSIGNAL
-+ size = send (server_sock_fd, packet, size + Header_Size, 0);
-+#else
- size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
-+#endif
-
- if (size < 0)
- return -1;
-@@ -144,7 +158,11 @@ sock_read (char* buf, int* lp_rsize)
- if (size <= 0)
- return 0;
-
-+#ifndef MSG_NOSIGNAL
-+ dsize = recv (server_sock_fd, packet, size, 0);
-+#else
- dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
-+#endif
-
- if (dsize < 0)
- return -1;
-Index: ekpstm/ekpstm-1.0.2/src/main.c
-diff -u -p ekpstm/ekpstm-1.0.2/src/main.c.orig ekpstm/ekpstm-1.0.2/src/main.c
---- ekpstm/ekpstm-1.0.2/src/main.c.orig Thu Jul 31 15:01:39 2003
-+++ ekpstm/ekpstm-1.0.2/src/main.c Tue Aug 24 19:41:40 2004
-@@ -69,6 +69,7 @@ main (int argc, char *argv[])
- break;
-
- default:
-+ break;
- }
- }
-
-Index: src/Makefile.in
-diff -u src/Makefile.in.orig src/Makefile.in
---- src/Makefile.in.orig Fri Dec 20 00:09:54 2002
-+++ src/Makefile.in Wed Aug 25 18:31:51 2004
-@@ -104,7 +104,7 @@
- MODEL_L = $(shell echo $(MODEL) | tr [:lower:] [:upper:])
- CFLAGS = -DGS_PATH=\"gs\" -DLOCALEDIR=\"$(datadir)/locale\" -DPRINTER_MODEL="\"$(MODEL_FULL)\"" -D$(MODEL_L) -DLIBPATH=\"$(libdir)/lib$(MODEL).so\" -DRSC_PATH=\"$(sysconfdir)/pipsrc\" -DSPOOL_NAME=\"$(MODEL)\" -DLOCALE_PATH=\"$(datadir)/locale\" -DNAVI_PATH=\"$(bindir)/ekpnavi\" -DDATA_PATH=\"$(pkgdatadir)\" -DRULED_PATH=\"$(pkgdatadir)/BID.PRN\" -DPATCH_PATH=\"$(pkgdatadir)/PATCH.PRN\" -DBAND_PATH=\"$(pkgdatadir)/BAND.PRN\" -DCUT_PATH=\"$(pkgdatadir)/CUT.PRN\" -D_LPR_DIRECT @CFLAGS@ -fsigned-char
-
--INCLUDES = @GTK_CFLAGS@
-+INCLUDES = @GTK_CFLAGS@ $(INCLTDL)
-
- FILTER_RESOURCE = opt$(MODEL_L).rsc
-
-Index: src/ekpcom.c
-diff -u -p src/ekpcom.c.orig src/ekpcom.c
---- src/ekpcom.c.orig Sat Oct 19 16:56:12 2002
-+++ src/ekpcom.c Wed Aug 25 18:40:11 2004
-@@ -51,15 +51,25 @@ sock_open (void)
- {
- int sockfd, len;
- struct sockaddr_in address;
-+#ifndef MSG_NOSIGNAL
-+ const int on = 1;
-+#endif
-
- if (server_sock_fd >= 0)
- return 0;
-
- /* ソケットオープン */
- sockfd = socket (AF_INET, SOCK_STREAM, 0);
-+#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
-+ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
-+#endif
-+ memset(&address, 0, sizeof(address));
- address.sin_family = AF_INET;
- address.sin_addr.s_addr = htonl (INADDR_ANY);
- address.sin_port = htons (35586);
-+#ifdef __FreeBSD__
-+ address.sin_len = sizeof(address);
-+#endif
- len = sizeof (address);
- if (connect (sockfd, (struct sockaddr *)&address, len))
- {
-@@ -101,7 +111,11 @@ sock_write (char* buf, int* lp_wsize)
- packet[4] = size % 0xFF;
- memcpy (packet + Header_Size, buf, size);
-
-+#ifndef MSG_NOSIGNAL
-+ size = send (server_sock_fd, packet, size + Header_Size, 0);
-+#else
- size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
-+#endif
-
- if (size < 0)
- return -1;
-@@ -125,7 +139,11 @@ sock_read (char* buf, int* lp_rsize)
- if (size <= 0)
- return 0;
-
-+#ifndef MSG_NOSIGNAL
-+ dsize = recv (server_sock_fd, packet, size, 0);
-+#else
- dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
-+#endif
-
- if (dsize < 0)
- return -1;
diff --git a/print/pips800/files/extra-patch-2.6.2-src b/print/pips800/files/extra-patch-2.6.2-src
new file mode 100644
index 000000000000..81ec58f9d38a
--- /dev/null
+++ b/print/pips800/files/extra-patch-2.6.2-src
@@ -0,0 +1,44 @@
+diff -u -p src/pfpng.c.orig src/pfpng.c
+--- src/pfpng.c.orig Tue Jun 24 15:41:46 2003
++++ src/pfpng.c Tue Aug 24 19:41:41 2004
+@@ -57,6 +57,8 @@ lib_png_sig_cmp *dl_png_s
+ void *
+ open_png_library (void)
+ {
++ if (dl_handle_libpng)
++ return (void *)dl_handle_libpng;
+ dl_handle_libpng = dlopen ("libpng.so", RTLD_LAZY);
+ if (dl_handle_libpng)
+ {
+@@ -116,8 +118,12 @@ open_png_library (void)
+ void
+ close_png_library (void)
+ {
+- if (dl_handle_libpng)
++#if 0
++ if (dl_handle_libpng) {
+ dlclose (dl_handle_libpng);
++ dl_handle_libpng = NULL;
++ }
++#endif
+
+ return;
+ }
+Index: src/pipsCom.c
+diff -u -p src/pipsCom.c.orig src/pipsCom.c
+--- src/pipsCom.c.orig Tue Jun 24 15:41:46 2003
++++ src/pipsCom.c Tue Aug 24 23:38:06 2004
+@@ -56,9 +56,13 @@ connect_server (char *host)
+ if (!servinfo) return -1;
+
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr = *(struct in_addr *)*hostinfo->h_addr_list;
+ address.sin_port = servinfo->s_port;
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len) == -1)
diff --git a/print/pips800/files/extra-patch-2.6.2-src-cups b/print/pips800/files/extra-patch-2.6.2-src-cups
new file mode 100644
index 000000000000..3f7ce8da1b21
--- /dev/null
+++ b/print/pips800/files/extra-patch-2.6.2-src-cups
@@ -0,0 +1,67 @@
+Index: src/ekpcom.c
+diff -u -p src/ekpcom.c.orig src/ekpcom.c
+--- src/ekpcom.c.orig Wed Jul 30 22:11:04 2003
++++ src/ekpcom.c Tue Aug 24 23:37:59 2004
+@@ -52,15 +52,25 @@ sock_open (void)
+ {
+ int sockfd, len;
+ struct sockaddr_in address;
++#ifndef MSG_NOSIGNAL
++ const int on = 1;
++#endif
+
+ if (server_sock_fd >= 0)
+ return 0;
+
+ /* Socket open */
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
++#endif
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = htonl (INADDR_ANY);
+ address.sin_port = htons (PORT_NUMBER);
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len))
+ {
+@@ -102,7 +112,11 @@ sock_write (char* buf, int* lp_wsize)
+ packet[4] = size % 0xFF;
+ memcpy (packet + Header_Size, buf, size);
+
++#ifndef MSG_NOSIGNAL
++ size = send (server_sock_fd, packet, size + Header_Size, 0);
++#else
+ size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
++#endif
+
+ if (size < 0)
+ return -1;
+@@ -126,7 +140,11 @@ sock_read (char* buf, int* lp_rsize)
+ if (size <= 0)
+ return 0;
+
++#ifndef MSG_NOSIGNAL
++ dsize = recv (server_sock_fd, packet, size, 0);
++#else
+ dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
++#endif
+
+ if (dsize < 0)
+ return -1;
+Index: src/rastertopips.c
+diff -u -p src/rastertopips.c.orig src/rastertopips.c
+--- src/rastertopips.c.orig Thu Sep 4 13:34:25 2003
++++ src/rastertopips.c Tue Aug 24 19:41:41 2004
+@@ -32,6 +32,8 @@
+ #include <string.h>
+ #include <ctype.h>
+
++#define NAME_MAX 41
++
+ #define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4)
+
+ typedef struct rtp_filter_option {
diff --git a/print/pips800/files/extra-patch-2.6.2-src-lpr b/print/pips800/files/extra-patch-2.6.2-src-lpr
new file mode 100644
index 000000000000..056f7f5e0e60
--- /dev/null
+++ b/print/pips800/files/extra-patch-2.6.2-src-lpr
@@ -0,0 +1,54 @@
+Index: src/ekpcom.c
+diff -u -p src/ekpcom.c.orig src/ekpcom.c
+--- src/ekpcom.c.orig Sat Oct 19 16:56:12 2002
++++ src/ekpcom.c Wed Aug 25 18:40:11 2004
+@@ -51,15 +51,25 @@ sock_open (void)
+ {
+ int sockfd, len;
+ struct sockaddr_in address;
++#ifndef MSG_NOSIGNAL
++ const int on = 1;
++#endif
+
+ if (server_sock_fd >= 0)
+ return 0;
+
+ /* ソケットオープン */
+ sockfd = socket (AF_INET, SOCK_STREAM, 0);
++#if !defined(MSG_NOSIGNAL) && defined(SO_NOSIGPIPE)
++ setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, &on, sizeof(on));
++#endif
++ memset(&address, 0, sizeof(address));
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = htonl (INADDR_ANY);
+ address.sin_port = htons (35586);
++#ifdef __FreeBSD__
++ address.sin_len = sizeof(address);
++#endif
+ len = sizeof (address);
+ if (connect (sockfd, (struct sockaddr *)&address, len))
+ {
+@@ -101,7 +111,11 @@ sock_write (char* buf, int* lp_wsize)
+ packet[4] = size % 0xFF;
+ memcpy (packet + Header_Size, buf, size);
+
++#ifndef MSG_NOSIGNAL
++ size = send (server_sock_fd, packet, size + Header_Size, 0);
++#else
+ size = send (server_sock_fd, packet, size + Header_Size, MSG_NOSIGNAL);
++#endif
+
+ if (size < 0)
+ return -1;
+@@ -125,7 +139,11 @@ sock_read (char* buf, int* lp_rsize)
+ if (size <= 0)
+ return 0;
+
++#ifndef MSG_NOSIGNAL
++ dsize = recv (server_sock_fd, packet, size, 0);
++#else
+ dsize = recv (server_sock_fd, packet, size, MSG_NOSIGNAL);
++#endif
+
+ if (dsize < 0)
+ return -1;
diff --git a/print/pips800/pkg-descr b/print/pips800/pkg-descr
index ca837b624ae1..2d7e7645db15 100644
--- a/print/pips800/pkg-descr
+++ b/print/pips800/pkg-descr
@@ -5,10 +5,3 @@ print out as high quality as you use the Windows driver. See the below
URL:
WWW: http://www.epkowa.co.jp/
-
-This port has a modified filter "filter800.rev" which is useful to
-print out more than one page. Then you execute the next command:
-
-/usr/local/libexec/pips800/setup
-
-to setup /etc/printcap, make a spool in /var/spool/lpd/ and so on.
diff --git a/print/pips800/pkg-message b/print/pips800/pkg-message
index afc07a93800c..22756468dff2 100644
--- a/print/pips800/pkg-message
+++ b/print/pips800/pkg-message
@@ -6,3 +6,9 @@ You need to add following lines into /etc/libmap.conf:
libc.so.6 pluginwrapper/pips.so
libdl.so.2 pluginwrapper/pips.so
+Please execute the following command:
+
+ /usr/local/libexec/pips/%%PRT_MODEL%%/setup
+
+to setup /etc/printcap, make a spool in /var/spool/lpd/ and so on.
+
diff --git a/print/pips800/pkg-plist b/print/pips800/pkg-plist
index 9f523e4a25c3..391fea093d0c 100644
--- a/print/pips800/pkg-plist
+++ b/print/pips800/pkg-plist
@@ -1,13 +1,13 @@
%%EKPNAVI%%bin/ekpnavi
bin/ekpstm
%%GSCONFIG%%bin/gsconfig%%PRTYPE%%
-bin/pips%%PRTYPE%%
+%%PIPS%%bin/pips%%PRTYPE%%
%%CUPS%%libexec/cups/backend/ekplp
%%CUPS%%libexec/cups/filter/pipstoprinter
%%CUPS%%libexec/cups/filter/rastertopips
-%%CUPS%%libexec/pips/%%PRT_MODEL%%/cupsopt.csv
-libexec/pips/%%PRT_MODEL%%/filter%%PRTYPE%%
-libexec/pips/%%PRT_MODEL%%/lang
+%%CUPS%%libexec/pips/%%PRT_MODEL%%/%%CUPSOPT_FILE%%
+%%PIPS%%libexec/pips/%%PRT_MODEL%%/filter%%PRTYPE%%
+%%PIPS%%libexec/pips/%%PRT_MODEL%%/lang
libexec/pips/%%PRT_MODEL%%/setup
libexec/pips/%%PRT_MODEL%%/scripts/en.lc
libexec/pips/%%PRT_MODEL%%/scripts/ja.lc
@@ -16,48 +16,48 @@ libexec/pips/%%PRT_MODEL%%/scripts/ja.lc
libexec/pips/printer/ekpd
%%DTRFILTER%%libexec/pips/printer/freset
%%DTRFILTER%%libexec/pips/printer/gsconfig
-%%DTRFILTER%%libexec/pips/printer/paper_list.csv
+%%PAPER_LIST%%libexec/pips/printer/paper_list.csv
@dirrm libexec/pips/printer
%%CUPS%%share/cups/model/%%MODEL_FILE%%
%%PORTDOCS%%share/doc/pips%%PRTYPE%%/COPYING
%%PORTDOCS%%share/doc/pips%%PRTYPE%%/COPYING.KOWA
%%PORTDOCS%%share/doc/pips%%PRTYPE%%/COPYING.KOWA.ja
%%PORTDOCS%%share/doc/pips%%PRTYPE%%/COPYING.LIB
-share/doc/pips%%PRTYPE%%/readme%%PRTYPE%%
+%%PIPS%%share/doc/pips%%PRTYPE%%/readme%%PRTYPE%%
%%CUPS%%share/doc/pips%%PRTYPE%%/readme%%PRTYPE%%-cups
share/doc/pips%%PRTYPE%%/%%LIB_README%%
@dirrm share/doc/pips%%PRTYPE%%
etc/rc.d/ekpd.sh
etc/ekpdrc
-etc/pipsrc
-@exec chmod 666 %D/etc/pipsrc
-share/locale/de/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/es/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/fr/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/it/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/ja/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/ko/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/nl/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/pt/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/zh/LC_MESSAGES/pips%%PRTYPE%%.mo
-share/locale/zh_TW/LC_MESSAGES/pips%%PRTYPE%%.mo
-%%LPR%%share/locale/de/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/es/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/fr/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/it/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/ja/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/ko/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/nl/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/pt/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/zh/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/zh_TW/LC_MESSAGES/ekpnavi.mo
-%%LPR%%share/locale/de/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/es/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/fr/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/it/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/ja/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/ko/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/nl/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/pt/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/zh/LC_MESSAGES/ekpstm.mo
-%%LPR%%share/locale/zh_TW/LC_MESSAGES/ekpstm.mo
+%%PIPS%%etc/pipsrc
+%%PIPS%%@exec chmod 666 %D/etc/pipsrc
+%%PIPS%%share/locale/de/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/es/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/fr/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/it/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/ja/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/ko/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/nl/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/pt/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/zh/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%PIPS%%share/locale/zh_TW/LC_MESSAGES/pips%%PRTYPE%%.mo
+%%EKPNAVI_MO%%share/locale/de/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/es/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/fr/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/it/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/ja/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/ko/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/nl/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/pt/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/zh/LC_MESSAGES/ekpnavi.mo
+%%EKPNAVI_MO%%share/locale/zh_TW/LC_MESSAGES/ekpnavi.mo
+%%EKPSTM_MO%%share/locale/de/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/es/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/fr/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/it/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/ja/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/ko/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/nl/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/pt/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/zh/LC_MESSAGES/ekpstm.mo
+%%EKPSTM_MO%%share/locale/zh_TW/LC_MESSAGES/ekpstm.mo