You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-overlay/net-print/samsung-unified-linux-driver/samsung-unified-linux-drive...

100 lines
3.1 KiB

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/apr-util/apr-util-1.3.9.ebuild,v 1.12 2009/11/04 12:12:05 arfrever Exp $
EAPI="2"
inherit multilib
DESCRIPTION="Samsung's proprietary printer driver binaries known as UnifiedLinuxDriver"
HOMEPAGE="http:///www.samsung.com/us/support/downloads/CLX-3175FW/XA"
SRC_URI="http://org.downloadcenter.samsung.com/downloadfile/ContentsFile.aspx?VPath=DR/200911/20091118142757906/UnifiedLinuxDriver_1.01.tar.gz -> ${P}.tar.gz"
LICENSE="SAMSUNG-ELECTRONICS-software"
SLOT="0"
# x86 should be supported, but we have to do -* because only x86/amd64
# is supported.
KEYWORDS="amd64 x86"
IUSE="doc test"
S=${WORKDIR}/cdroot/Linux
DEPEND="dev-util/bin_replace_string"
# We need libstdc++.so.5
RDEPEND="net-print/cups
sys-libs/libstdc++-v3"
QA_PRESTRIPPED='/usr/libexec/cups/filter/rastertosamsung.* /usr/lib[0-9]*/libscmssc.so'
QA_SONAME='/usr/lib[0-9]*/libscmssc.so'
pkg_setup() {
local abi="${ABI}"
# does non-portage-multilib take significance in ${ABI}?
[ -z "${abi}" ] && abi="${ARCH}"
# Samsung's choice for how to denote ABIs and libdir within its
# tarball.
case ${abi} in
x86)
SABI=i386
SLIBDIR=lib
;;
amd64)
SABI=x86_64
SLIBDIR=lib64
;;
*)
die "Unable to understand the following value of \${ABI} or \${ARCH}: \`\`${abi}''"
;;
esac
}
src_prepare() {
# The rasterto* cups filters will dlopen() libscmssc.so. However,
# they try to open it at /usr/lib/cups/filter/libscmssc.so,
# /usr/lib64/cups/filter/libscmssc.so, and finally
# ../src/libscmssc.so. We thus hack the first entry to not use an
# absolute path and just throw this binary into the library search
# path. If these filters fail to dlopen() libscmssc.so, the
# printer will print two copies of each page on each page with
# white horizonal bands.
for filter in ${SABI}/at_root/usr/${SLIBDIR}/cups/filter/rasterto*; do
bin_replace_string /usr/lib/cups/filter/libscmssc.so libscmssc.so ${filter} || die
done
}
src_install() {
# Currently, we try to install the minimum necessary for
# integrating into CUPS. The UI may come later with a qt4
# useflag... but having a working driver is much more useful than
# a GUI.
insinto /usr/share
doins -r noarch/at_opt/share/images || die
insinto /usr/share/ppd
doins noarch/at_opt/share/ppd/*.ppd || die
# rastertosamsungsplc looks for the *.cts file here of its own
# arbitrary choosing.
insinto /usr/share/cups/model/samsung
doins -r noarch/at_opt/share/ppd/cms || die
# I think that sane support needs the smfpd to be installed and
# running...(?)
insinto /etc/sane.d
doins -r noarch/at_root/etc/sane.d/* || die
# required only for scanning?
#dosbin ${SABI}/at_root/usr/sbin/smfpd || die
exeinto /usr/libexec/cups/filter
doexe ${SABI}/at_root/usr/${SLIBDIR}/cups/filter/rasterto* || die
# see comment in src_prepare() about libscmssc.so; libscmssc.so
# must currently be placed into the system library search path to
# be found.
dolib ${SABI}/at_root/usr/${SLIBDIR}/cups/filter/libscmssc.so || die
}