diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2015-01-05 22:14:22 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2015-01-05 22:14:22 +0200 |
commit | c8dd883920aeb5d16c2c52f4849ad19871d101d8 (patch) | |
tree | 5038441af6a00d250f3be162370580fb0229c146 /media-gfx/scangearmp/scangearmp-1.60.ebuild | |
parent | 2dd08eb427cc8d24f33376b037d7ffa4e86a0c30 (diff) |
Added scangearmp ebuild
Diffstat (limited to 'media-gfx/scangearmp/scangearmp-1.60.ebuild')
-rw-r--r-- | media-gfx/scangearmp/scangearmp-1.60.ebuild | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/media-gfx/scangearmp/scangearmp-1.60.ebuild b/media-gfx/scangearmp/scangearmp-1.60.ebuild new file mode 100644 index 00000000..9bed4a74 --- /dev/null +++ b/media-gfx/scangearmp/scangearmp-1.60.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# Changelog since last bugzilla upload +# +# initial version +# updated to use cnijfilter-common-2.80 2008-01-12 by Victor Mataré +# +# 2010-03-19 GuS Version 3.20-r1 +# Replaced dependency of non-existing dev-libs/libxml with +# dependency of >=dev-libs/libxml2-2.7.3-r2. +# +# 2010-03-20 GuS Version 3.20-r2 +# Replaced dependency of non-existing virtual/ghostscript with +# dependency of app-text/ghostscript-gpl. +EAPI="4" + +inherit eutils flag-o-matic autotools multilib + +DESCRIPTION="Canon InkJet Scanner Driver and ScanGear MP for Linux (Pixus/Pixma-Series)." +HOMEPAGE="http://support-au.canon.com.au/contents/AU/EN/0100303302.html" +RESTRICT="nomirror confcache" + +SRC_URI="http://gdlp01.c-wss.com/gds/3/0100003033/01/scangearmp-source-1.60-1.tar.gz" +LICENSE="UNKNOWN" # GPL-2 source and proprietary binaries + +SLOT="2" +KEYWORDS="~x86 ~amd64" +IUSE="amd64 + usb + mp250 + mp280 + mp495 + mg5100 + mg5200 + mg6100 + mg8100" +DEPEND=">=dev-libs/libusb-0.1.12-r5 + >=media-libs/libpng-1.2.44 + >=media-gfx/gimp-2.6.8 + >=x11-libs/gtk+-2.20.1-r1 + >=media-gfx/sane-backends-1.0.19-r2" + +# Arrays of supported Printers, there IDs and compatible models +_pruse=("mp250" "mp280" "mp495" "mg5100" "mg5200" "mg6100" "mg8100") +_prname=(${_pruse[@]}) +_prid=("356" "370" "369" "373" "374" "376" "377") +_prcomp=("mp250series" "mp280series" "mp495series" "mg5100series" "mg5200series" "mg6100series" "mg8100series") +_max=$((${#_pruse[@]}-1)) # used for iterating through these arrays + +### +# Standard Ebuild-functions +### + +src_unpack() { + unpack ${A} + mv ${PN}-source-${PV}-1 ${P} || die # Correcting directory-structure +} + +pkg_setup() { + if [ -z "$LINGUAS" ]; then # -z tests to see if the argument is empty + ewarn "You didn't specify 'LINGUAS' in your make.conf. Assuming" + ewarn "English localisation, i.e. 'LINGUAS=\"en\"'." + LINGUAS="en" + fi + + _prefix="/usr/local" + _bindir="${_prefix}/bin" + _libdir="/usr/$(get_libdir)" # either lib or lib32 + _gimpdir="${_libdir}/gimp/2.0/plug-ins" + _udevdir="/etc/udev/rules.d" + + einfo "" + einfo " USE-flags\t(description / probably compatible printers)" + einfo "" + einfo " amd64\t(basic support for this architecture)" + einfo " usb\t(connected using usb)" + _autochoose="true" + for i in `seq 0 ${_max}`; do + einfo " ${_pruse[$i]}\t${_prcomp[$i]}" + if (use ${_pruse[$i]}); then + _autochoose="false" + fi + done + einfo "" + if (${_autochoose}); then + ewarn "You didn't specify any driver model (set it's USE-flag)." + einfo "" + einfo "As example:\tbasic MP140 support without maintenance tools" + einfo "\t\t -> USE=\"mp140\"" + einfo "" + einfo "Press Ctrl+C to abort" + echo + ebeep + + n=15 + while [[ $n -gt 0 ]]; do + echo -en " Waiting $n seconds...\r" + sleep 1 + (( n-- )) + done + fi +} + +src_prepare(){ + cd scangearmp + + sed -i 's/Z_BEST_SPEED/\ 1\ /g' src/scanfile.c + + + ( cd src && epatch "${FILESDIR}/fixcompile.patch" ) + + libtoolize -cfi + eautoreconf +} + +src_configure(){ + cd scangearmp || die + + if use x86; then + LDFLAGS="-L$(pwd)/../com/libs_bin32" + elif use amd64 ; then + LDFLAGS="-L$(pwd)/../com/libs_bin64" + else + die "not supported arch" + fi + + econf LDFLAGS="${LDFLAGS}" +} + +src_compile() { + + cd scangearmp || die + + make || die "Couldn't make scangearmp" + + cd .. +} + +src_install() { + mkdir -p ${D}${_bindir} || die + mkdir -p ${D}${_libdir}/bjlib || die + if use usb; then + mkdir -p ${D}${_udevdir} || die + fi + + cd scangearmp || die + make DESTDIR=${D} install || die "Couldn't make install scangearmp" + + cd .. + + for i in $(seq 0 ${_max}); do + if use ${_pruse[$i]} || ${_autochoose}; then + _pr=${_prname[$i]} _prid=${_prid[$i]} + fi + done + + # rm .1a and .a + rm -f {$D}${_libdir}/*.1a {$D}${_libdir}/*.a || die + + # make symbolic link for gimp-plug-in + if [ -d "${_gimpdir}" ]; then + mkdir -p ${D}${_gimpdir} || die + dosym ${_bindir}/scangearmp ${_gimpdir}/scangearmp || die + fi + + if use x86; then + cp -a ${_prid}/libs_bin32/* ${D}${_libdir} || die + cp -a com/libs_bin32/* ${D}${_libdir} || die + else # amd54 + cp -a ${_prid}/libs_bin64/* ${D}${_libdir} || die + cp -a com/libs_bin64/* ${D}${_libdir} || die + fi + cp -a ${_prid}/*.DAT ${D}${_libdir}/bjlib || die + cp -a ${_prid}/*.tbl ${D}${_libdir}/bjlib || die + cp com/ini/canon_mfp_net.ini ${D}${_libdir}/bjlib || die + chmod 644 ${D}${_libdir}/bjlib/* || die + chmod 666 ${D}${_libdir}/bjlib/canon_mfp_net.ini || die + + # usb + if use usb; then + cp -a scangearmp/etc/80-canon_mfp.rules ${D}${_udevdir} || die + chmod 644 ${D}${_udevdir}/80-canon_mfp.rules || die + fi +} + +pkg_postinst() { + if use usb; then + if [ -x /sbin/udevadm ]; then + einfo "" + einfo "Reloading usb rules..." + /sbin/udevadm control --reload-rules 2> /dev/null + /sbin/udevadm trigger --action=add --subsystem-match=usb 2>/dev/null + else + einfo "" + einfo "Please, reload usb rules manually." + fi + fi + + einfo "" + einfo "If you experience any problems, please visit:" + einfo " http://forums.gentoo.org/viewtopic-p-3217721.html" + einfo "" +} |