summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/samba-client/samba-client-3.3.8.ebuild')
-rw-r--r--net-fs/samba-client/samba-client-3.3.8.ebuild197
1 files changed, 197 insertions, 0 deletions
diff --git a/net-fs/samba-client/samba-client-3.3.8.ebuild b/net-fs/samba-client/samba-client-3.3.8.ebuild
new file mode 100644
index 000000000000..369da881f6d4
--- /dev/null
+++ b/net-fs/samba-client/samba-client-3.3.8.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-client/samba-client-3.3.8.ebuild,v 1.1 2009/10/02 13:54:42 patrick Exp $
+
+EAPI="2"
+
+inherit pam confutils versionator multilib eutils toolchain-funcs
+
+MY_P="samba-${PV}"
+
+DESCRIPTION="Libraries from Samba"
+HOMEPAGE="http://www.samba.org/"
+SRC_URI="mirror://samba/${MY_P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc64 ~x86"
+IUSE="ads aio avahi caps cluster cups debug ldap minimal syslog winbind zeroconf"
+
+DEPEND="!<net-fs/samba-3.3
+ !net-fs/mount-cifs
+ ads? ( virtual/krb5 sys-fs/e2fsprogs
+ net-fs/samba-libs[ads] sys-apps/keyutils )
+ !minimal? (
+ dev-libs/popt
+ dev-libs/iniparser
+ virtual/libiconv
+ zeroconf? ( || ( net-dns/avahi[mdnsresponder-compat] net-misc/mDNSResponder ) )
+ caps? ( sys-libs/libcap )
+ cups? ( net-print/cups )
+ debug? ( dev-libs/dmalloc )
+ ldap? ( net-nds/openldap )
+ syslog? ( virtual/logger )
+ net-fs/samba-libs[caps?,cups?,ldap?,syslog?,winbind?]
+ )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/source"
+
+# TODO:
+# - enable iPrint on Prefix/OSX and Darwin?
+# - selftest-prefix? selftest?
+
+RESTRICT="test"
+
+CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
+BINPROGS="bin/smbclient bin/net bin/smbget bin/smbtree bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas bin/ntlm_auth"
+
+pkg_setup() {
+ confutils_use_depend_all ads ldap
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/3.3.4-missing_includes.patch" \
+ "${FILESDIR}/3.3.3-fix-as-needed.patch"
+
+ sed -i \
+ -e 's|"lib32" ||' \
+ -e 's|if test -d "$i/$l" ;|if test -d "$i/$l" -o -L "$i/$l";|' \
+ configure || die "sed failed"
+
+ sed -i \
+ -e 's|@LIBTALLOC_SHARED@||g' \
+ -e 's|@LIBTDB_SHARED@||g' \
+ -e 's|@LIBWBCLIENT_SHARED@||g' \
+ -e 's|@LIBNETAPI_SHARED@||g' \
+ -e 's|$(REG_SMBCONF_OBJ) @LIBNETAPI_STATIC@ $(LIBNET_OBJ)|$(REG_SMBCONF_OBJ) @LIBNETAPI_LIBS@ $(LIBNET_OBJ)|' \
+ Makefile.in || die "sed failed"
+
+ # Upstream doesn't want us to link certain things dynamically, but those binaries here seem to work
+ sed -i \
+ -e '/^LINK_LIBNETAPI/d' \
+ configure || die "sed failed"
+}
+
+src_configure() {
+ local myconf
+
+ # Filter out -fPIE
+ [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie"
+ use hppa && myconf="${myconf} --disable-pie"
+
+ # Upstream refuses to make this configurable
+ export ac_cv_header_sys_capability_h=no
+ if ! use minimal ; then
+ use caps && export ac_cv_header_sys_capability_h=yes
+ fi
+
+ if ! use minimal || use ads; then
+ # Notes:
+ # - FAM is a plugin for the server
+ # - DNS-SD is only used in client/server code
+ # - AFS is a pw-auth-method and only used in client/server code
+ # - AFSACL is a server module
+ # - automount is only needed in conjunction with NIS and we don't have that
+ # anymore
+ # - quota-support is only needed in server-code
+ # - acl-support is only used in server-code
+ # - --without-dce-dfs and --without-nisplus-home can't be passed to configure but are disabled by default
+ # - current DNS/SD support in the client is via the mdnsresponder-compat api in avahi
+ econf ${myconf} \
+ --sysconfdir=/etc/samba \
+ --localstatedir=/var \
+ $(use_enable debug developer) \
+ --enable-largefile \
+ --enable-socket-wrapper \
+ --enable-nss-wrapper \
+ --disable-swat \
+ $(use_enable debug dmalloc) \
+ $(use minimal && echo "--disable-cups" || echo "$(use_enable cups)") \
+ --disable-iprint \
+ --disable-fam \
+ --enable-shared-libs \
+ $(use minimal && echo "--disable-dnssd" || echo "$(use_enable avahi dnssd)") \
+ --disable-avahi \
+ --with-fhs \
+ --with-privatedir=/var/lib/samba/private \
+ --with-rootsbindir=/var/cache/samba \
+ --with-lockdir=/var/cache/samba \
+ --with-swatdir=/usr/share/doc/${PF}/swat \
+ --with-configdir=/etc/samba \
+ --with-logfilebase=/var/log/samba \
+ --with-pammodulesdir=$(getpam_mod_dir) \
+ --without-afs \
+ --without-fake-kaserver \
+ --without-vfs-afsacl \
+ $(use minimal && echo "--without-ldap" || echo "$(use_with ldap)") \
+ $(use minimal && echo "--without-ads" || echo "$(use_with ads)") \
+ $(use minimal && echo "--without-krb5" || echo "$(use_with ads krb5 /usr)") \
+ $(use minimal && echo "--without-dnsupdate" || echo "$(use_with ads dnsupdate)") \
+ --without-automount \
+ --without-cifsmount \
+ --without-cifsupcall \
+ --without-pam \
+ --without-pam_smbpass \
+ $(use minimal && echo "--without-syslog" || echo "$(use_with syslog)") \
+ --without-quotas \
+ --without-sys-quotas \
+ --without-utmp \
+ --with-lib{talloc,tdb,netapi,smbclient,smbsharemodes} \
+ --without-libaddns \
+ $(use minimal && echo "--without-ctdb" || echo "$(use_with cluster ctdb /usr)") \
+ $(use minimal && echo "--without-cluster" || echo "$(use_with cluster cluster-support)") \
+ --without-acl-support \
+ $(use minimal && echo "--without-aio-support" || echo "$(use_with aio aio-support)") \
+ --with-sendfile-support \
+ $(use minimal && echo "--without-winbind" || echo "$(use_with winbind)") \
+ --without-included-popt \
+ --without-included-iniparser
+ fi
+}
+
+src_compile() {
+ mkdir bin
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o bin/mount.cifs client/{mount.cifs,mtab}.c || die "building mount.cifs failed"
+ $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o bin/umount.cifs client/{umount.cifs,mtab}.c || die "building umount.cifs failed"
+
+ if use ads ; then
+ emake bin/cifs.upcall || die "emake cifs.upcall failed"
+ fi
+
+ if ! use minimal ; then
+ emake ${BINPROGS} || die "emake binprogs failed"
+ if use cups ; then
+ emake bin/smbspool || die "emake smbspool failed"
+ fi
+ fi
+}
+
+src_install() {
+ into /
+ dosbin bin/mount.cifs bin/umount.cifs || die "u/mount.cifs not around"
+ doman ../docs/manpages/{u,}mount.cifs.8 || die "can't create man pages"
+ dohtml ../docs/htmldocs/manpages/{u,}mount.cifs.8.html || die "dohtml failed"
+
+ into /usr
+ if use ads ; then
+ dosbin bin/cifs.upcall || die "cifs.upcall not around"
+ doman ../docs/manpages/cifs.upcall.8 || die "doman failed"
+ dohtml ../docs/htmldocs/manpages/cifs.upcall.8.html || die "doman failed"
+ fi
+
+ if ! use minimal ; then
+ dobin ${BINPROGS} || die "not all bins around"
+ for prog in ${BINPROGS} ; do
+ doman ../docs/manpages/${prog/bin\/}* || die "doman failed"
+ dohtml ../docs/htmldocs/manpages/${prog/bin\/}*.html || die "dohtml failed"
+ done
+
+ if use cups ; then
+ dobin bin/smbspool || die "smbspool not around"
+ doman ../docs/manpages/smbspool.8 || die "doman failed"
+ dohtml ../docs/htmldocs/manpages/smbspool.8.html || die "dohtml failed"
+ dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb
+ fi
+ fi
+}