aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/sane-epkowa/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/sane-epkowa/Makefile')
-rw-r--r--graphics/sane-epkowa/Makefile109
1 files changed, 109 insertions, 0 deletions
diff --git a/graphics/sane-epkowa/Makefile b/graphics/sane-epkowa/Makefile
new file mode 100644
index 000000000000..680575863f2d
--- /dev/null
+++ b/graphics/sane-epkowa/Makefile
@@ -0,0 +1,109 @@
+# Created by: luigi@FreeBSD.org
+# $FreeBSD$
+
+# Maintainers: Luigi Rizzo <luigi@FreeBSD.org>
+#
+# This port builds version 2.11.0 of the sane-epkowa driver for SANE.
+# (more recent versions do not work - read details below).
+#
+# The source for sane-epkowa is accessible through
+#
+# http://www.avasys.jp/lx-bin2/linux_e/spc/DL1.do#download
+#
+# Note that the download interface above requests to fill a form,
+# and returns only the most recent version of the software.
+# However the license of the software is GPL-like, and the documentation
+# coming with the code (README, non-free/AVASYSPL.en.txt) explicitly
+# mentions that source redistribution is allowed with no other conditions.
+#
+# Given that there is no other way for us to get version 2.11.0,
+# and since this is allowed by the license, we go straight at the
+# URL for the .tar.gz we need.
+# The various versions of the code are at:
+#
+# http://lx1.avasys.jp/iscan/2.7.0/iscan-2.7.0-1.c2.tar.gz
+# http://lx1.avasys.jp/iscan/2.8.0/iscan-2.8.0-1.c2.tar.gz
+# -- unknown URL for version 2.9.0
+# http://lx1.avasys.jp/iscan/2.10.0/iscan_2.10.0-1.tar.gz
+# http://lx1.avasys.jp/iscan/2.11.0/iscan_2.11.0-1.tar.gz
+# http://lx1.avasys.jp/iscan/2.12.0/iscan_2.12.0-4.tar.gz
+# --- version 2.13 never released
+# http://lx1.avasys.jp/iscan/2.14.0/iscan_2.14.0-3.tar.gz
+# http://linux.avasys.jp/drivers/iscan/2.15.0/iscan_2.15.0-3.tar.gz
+#
+# Version 2.7.0 to 2.11.0 build on FreeBSD without any patch.
+# This port builds version 2.11.0, which is enough to detect the new
+# multifunction SX400 scanner/printer that is not supported by the 'epson'
+# backend coming with sane-backends.
+#
+# Version 2.15.0 builds with the patches included with this port,
+# but does not work at runtime due to various issues not solved yet.
+
+PORTNAME= epkowa
+PORTVERSION= 2.11.0
+PORTREVISION= 5
+CATEGORIES= graphics
+MASTER_SITES= http://lx1.avasys.jp/iscan/${PORTVERSION}/
+DISTNAME= iscan_${PORTVERSION}-1
+
+MAINTAINER= cy@FreeBSD.org
+COMMENT= The sane-epkowa driver for FreeBSD
+
+# use the following two lines for 2.15.0
+# MASTER_SITES=http://linux.avasys.jp/drivers/iscan/${PORTVERSION}/
+# DISTNAME= iscan_${PORTVERSION}-3
+
+WRKSRC=${WRKDIR}/iscan-${PORTVERSION}
+
+# We use LIB_DEPENDS, but the dependency is also at build time
+LIB_DEPENDS+= libltdl.so:${PORTSDIR}/devel/libltdl
+LIB_DEPENDS+= libgetline.so:${PORTSDIR}/devel/libgetline
+LIB_DEPENDS+= libsane.so:${PORTSDIR}/graphics/sane-backends
+
+#BUILD_DEPENDS+= ${LOCALBASE}/lib/libltdl.so:${PORTSDIR}/devel/libltdl
+
+# gtk libraries are used by the frontend, which we do not build, however
+# the configure script relies on that and fails if not present, so as
+# a quick fix we set USE_GNOME
+USE_GNOME= gtk20
+
+# The original uses gmake and ./configure
+# Also pass appropriate flags to configure to use FreeBSD locations.
+USES= gmake pkgconfig
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--prefix=${PREFIX} LDFLAGS="-L${PREFIX}/lib -lgetline" CPPFLAGS=-I${PREFIX}/include
+
+.include <bsd.port.pre.mk>
+
+.if $(PORTVERSION) != "2.15.0"
+do-patch: # nothing to do
+
+do-build:
+ ( cd ${WRKSRC}/libltdl ; ${MAKE_CMD} )
+ ( cd ${WRKSRC}/sanei ; ${MAKE_CMD} )
+ ( cd ${WRKSRC}/backend ; ${MAKE_CMD} )
+ ( cd ${WRKSRC}/doc ; ${MAKE_CMD} )
+ @${GZIP_CMD} ${WRKSRC}/doc/sane-epkowa.5
+.else
+.warning version 2.15.0 not working yet
+# Remove versioned symbols to link with FreeBSD's [g]libc
+post-patch:
+ ( cd ${WRKSRC}/non-free; ${CP} -p libesmod-i386.so x.so; \
+ ${OBJCOPY} -R .gnu.version x.so libesmod-i386.so )
+
+# only build the backend part
+do-build:
+ ( cd ${WRKSRC}/backend ; ${MAKE_CMD} )
+ ( cd ${WRKSRC}/doc ; ${MAKE_CMD} )
+ @${GZIP_CMD} ${WRKSRC}/doc/sane-epkowa.5
+.endif
+
+do-install:
+ @${INSTALL_MAN} ${WRKSRC}/doc/sane-epkowa.5.gz ${STAGEDIR}${PREFIX}/man/man5
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/sane ${STAGEDIR}${PREFIX}/etc/sane.d
+ @${INSTALL_DATA} ${WRKSRC}/backend/.libs/libsane-epkowa.so.1 \
+ ${STAGEDIR}${PREFIX}/lib/sane/
+ @(cd ${STAGEDIR}${PREFIX}/lib/sane; ${LN} -s libsane-epkowa.so.1 libsane-epkowa.so )
+ @echo "usb /dev/uscanner0" > ${STAGEDIR}${PREFIX}/etc/sane.d/epkowa.conf.sample
+
+.include <bsd.port.post.mk>