diff options
Diffstat (limited to 'net-print/foo2zjs/foo2zjs-20160722.ebuild')
-rw-r--r-- | net-print/foo2zjs/foo2zjs-20160722.ebuild | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/net-print/foo2zjs/foo2zjs-20160722.ebuild b/net-print/foo2zjs/foo2zjs-20160722.ebuild new file mode 100644 index 00000000..0150e3cc --- /dev/null +++ b/net-print/foo2zjs/foo2zjs-20160722.ebuild @@ -0,0 +1,215 @@ +# Copyright 2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +DESCRIPTION="Support for printing to ZjStream-based printers" +HOMEPAGE="http://foo2zjs.rkkda.com/" +SRC_URI="http://foo2zjs.rkkda.com/${PN}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64 ~ppc" +IUSE="" +IUSE_LATER="foomaticdb test" +# due to those firmwares/icms/etc... +RESTRICT="mirror" + +PATCHES=("${FILESDIR}/foreground.patch") + +COMMON="foomaticdb? ( net-print/foomatic-db-engine )" +RDEPEND="${COMMON} + net-print/cups + || ( >=net-print/cups-filters-1.0.43 net-print/foomatic-filters ) + virtual/udev" +DEPEND="${COMMON} + app-arch/unzip + app-editors/vim + sys-apps/ed + sys-devel/bc + test? ( sys-process/time )" + +S="${WORKDIR}/${PN}" + +print_url() { + local i curr verdata usual + usual='20130105' + curr= + verdata=false + for i + do if ${verdata} + then verdata=false + print_url_sub "${curr}" "${i}" + curr= + elif [ "$i" = '->' ] + then verdata=: + else print_url_sub "${curr}" "${usual}" + curr=${i} + fi + done + print_url_sub "${curr}" "${usual}" +} + +print_url_sub() { + local base ext + [ -z "${1:++}" ] && return + if [ -z "${2:++}" ] + then printf '%s\n' "${1}" + return + fi + base=${1##*/} + ext=${base##*.} + base=${base%.*} + case ${base} in + *.[!.][!.][!.]) + ext=${base##*.}.${ext} + base=${base%.*} + ;; + esac + printf '%s %s %s\n' "${1}" '->' "${base}-${2}.${ext}" +} + +init_data() { + local i flag url readflag sihp most + sihp='-> 20100501' + readflag=: + # see getweb or getweb.in + for i in \ + 'hp1000' "http://foo2zjs.rkkda.com/firmware/sihp1000.tar.gz ${sihp}" \ + 'hp1005' "http://foo2zjs.rkkda.com/firmware/sihp1005.tar.gz ${sihp} +http://foo2zjs.rkkda.com/firmware/sihpP1005.tar.gz ${sihp}" \ + 'hp1018' "http://foo2zjs.rkkda.com/firmware/sihp1018.tar.gz ${sihp}" \ + 'hp1020' "http://foo2zjs.rkkda.com/firmware/sihp1020.tar.gz ${sihp}" \ + 'hpp1005' "http://foo2zjs.rkkda.com/firmware/sihpP1005.tar.gz ${sihp}" \ + 'hpp1007' \" \ + 'hpp1006' "http://foo2zjs.rkkda.com/firmware/sihpP1006.tar.gz ${sihp}" \ + 'hpp1008' \" \ + 'hpp1505' "http://foo2zjs.rkkda.com/firmware/sihpP1505.tar.gz ${sihp}" \ + 'km2200' "http://foo2zjs.rkkda.com/icm/dl2300.tar.gz" \ + 'km2300' "http://foo2zjs.rkkda.com/icm/dl2300.tar.gz +http://foo2zjs.rkkda.com/icm/km2430.tar.gz" \ + 'kmcpwl' "http://foo2zjs.rkkda.com/icm/dl2300.tar.gz" \ + 'km2430' "http://foo2zjs.rkkda.com/icm/km2430.tar.gz" \ + 'km2530' "http://foo2lava.rkkda.com/icm/km2530.tar.gz +http://foo2lava.rkkda.com/icm/km-1600.tar.gz" \ + 'km2490' \" \ + 'km2480' \" \ + 'xp6115' \" \ + 'hp1500' "http://foo2hp.rkkda.com/icm/hpclj2500.tar.gz +http://foo2hp.rkkda.com/icm/hpclj2600n.tar.gz" \ + 'hp1025' "http://foo2zjs.rkkda.com/icm/hp-cp1025.tar.gz" \ + 'hp1215' "http://foo2hp.rkkda.com/icm/hpclj2600n.tar.gz +http://foo2zjs.rkkda.com/icm/km2430.tar.gz +http://foo2hp.rkkda.com/icm/hp1215.tar.gz" \ + 'hp1600' \" \ + 'hp2600n' \" \ + 'sa300' "http://foo2qpdl.rkkda.com/icm/samclp300.tar.gz +http://foo2qpdl.rkkda.com/icm/samclp315.tar.gz" \ + 'sa310' \" \ + 'sa315' \" \ + 'sa325' \" \ + 'sa360' \" \ + 'sa365' \" \ + 'sa2160' \" \ + 'sa3160' \" \ + 'sa3175' \" \ + 'sa3185' \" \ + 'xp6110' \" \ + 'sa600' '' \ + 'sa610' \" \ + 'lm500' "http://foo2slx.rkkda.com/icm/lexc500.tar.gz" \ + 'oki301' "http://foo2hiperc.rkkda.com/icm/okic310.tar.gz" \ + 'oki310' "http://foo2hiperc.rkkda.com/icm/okic310.tar.gz" \ + 'oki511' "http://foo2hiperc.rkkda.com/icm/okic511.tar.gz -> 20150212" \ + 'oki810' "http://foo2hiperc.rkkda.com/icm/okic810.tar.gz -> 20131118" \ + 'oki3100' "http://foo2hiperc.rkkda.com/icm/okic3200.tar.gz" \ + 'oki3200' \" \ + 'oki5100' \" \ + 'oki5150' \" \ + 'oki5200' \" \ + 'oki5250' \" \ + 'oki3300' "http://foo2hiperc.rkkda.com/icm/okic3400.tar.gz" \ + 'oki3400' \" \ + 'oki3530' \" \ + 'oki5500' "http://foo2hiperc.rkkda.com/icm/okic5600.tar.gz" \ + 'oki5600' \" \ + 'oki5800' \" \ + 'oli160' \" + do if ${readflag} + then readflag=false + flag=${i} + IUSE=${IUSE-}${IUSE:+\ }"+foo2zjs_devices_${flag}" + else readflag=: + if [ -n "${i}" ] + then [ "${i}" = \" ] || url='? ( '$(print_url ${i})' )' + SRC_URI="${SRC_URI} +foo2zjs_devices_${flag}${url}" + fi + fi + done + ${readlag} || \ + die "internal ebuild error: odd number of args in init_data()" + [ -z "${IUSE_LATER:++}" ] || IUSE=${IUSE-}${IUSE:+\ }${IUSE_LATER-} +} +init_data + +src_unpack() { + local i + default + for i in * + do case "${S}" in + */"${i}") continue;; + esac + if test -d "${i}" + then chmod 755 -- "${i}" || die "chmod dir ${i} failed" + else chmod 644 -- "${i}" || die "chmod file ${i} failed" + fi + mv -- "${i}" "${S}" || die "Move failed" + done +} + +src_prepare() { + sed \ + -e 's/$(MAKE)/$(MAKE) CFLAGS="$(CFLAGS)"/' \ + -e 's~-x /sbin/udevd~-z ""~' \ + -e 's~/sbin/udevd --version~echo 200~' \ + -e 's~^CFLAGS~#CFLAGS~' \ + -e 's~/usr/local~/usr~' \ + -i Makefile +# -e "s~/lib/udev~${ED%/}/lib/udev~g" \ +# -e "s~/etc~${ED%/}/etc~g" \ +# -e 's/ install-filter / /g' \ + sed -e "s~/etc~${ED%/}/etc~g" \ + -e "s~/lib/udev~${ED%/}/lib/udev~g" \ + -i hplj1000 + sed -e 's/chmod -w/sleep 2; chmod -w/' \ + -i osx-hotplug/Makefile + eapply_user +} + +src_compile() { + CFLAGS="${CFLAGS-} ${LDFLAGS-}" + default +} + +src_install() { + # ppd files are installed automagically. We have to create a directory + # for them. + dodir /usr/share/ppd + + # Also for the udev rules we have to create a directory to install them. + dodir /lib/udev/rules.d + + # directories we have to create if we want foomaticdb support + use foomaticdb && dodir /usr/share/foomatic/db/source + + # Directories we have to create if we want cups filters (mandatory) + dodir /usr/libexec/cups/filter + + emake DESTDIR="${ED%/}" \ + USBDIR="${ED%/}/etc/hotplug/usb" \ + UDEVDIR="${ED%/}/lib/udev/rules.d" \ + LIBUDEVDIR="${ED%/}/lib/udev/rules.d" \ + -j1 install install-hotplug +} |