GnuPG vs glibc

After a glibc upgrade, I couldn’t merge gnupg again. The error messages pointed me to missing files and other strange things. A reason for me to fix it by myself – that’s what my local portage overlay is for.

As the problem could be related to my new glibc, I decided to get me a newer development version of gnupg to replace the one causing troubles on my site. It can’t get worse – so grab 2.9.93…

After modifying an existing ebuild I could track down its deps.

Files:

gnupg-1.9.93.ebuild

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-1.9.22.ebuild,v 1.3 2006/10/05 04:29:49 robbat2 Exp $

inherit eutils flag-o-matic autotools

DESCRIPTION=”The GNU Privacy Guard, a GPL pgp replacement”
HOMEPAGE=”http://www.gnupg.org/”
SRC_URI=”mirror://gnupg/alpha/gnupg/${P}.tar.bz2″

LICENSE=”GPL-2″
SLOT=”1.9″
KEYWORDS=”~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd”
IUSE=”X gpg2-experimental doc ldap nls openct pcsc-lite smartcard selinux”

COMMON_DEPEND=”
virtual/libc
>=dev-libs/pth-1.3.7
>=dev-libs/libgcrypt-1.1.94
>=dev-libs/libksba-1.0.0
>=dev-libs/libgpg-error-1.4
>=dev-libs/libassuan-0.9.3
pcsc-lite? ( >=sys-apps/pcsc-lite-1.3.0 )
openct? ( >=dev-libs/openct-0.5.0 )
ldap? ( net-nds/openldap )”
# Needs sh and arm to be keyworded on pinentry
# X? ( app-crypt/pinentry )

DEPEND=”${COMMON_DEPEND}
nls? ( sys-devel/gettext )
doc? ( sys-apps/texinfo )”

RDEPEND=”${COMMON_DEPEND}
!app-crypt/gpg-agent
=app-crypt/gnupg-1.4*
X? ( || ( media-gfx/xloadimage media-gfx/xli ) )
virtual/mta
selinux? ( sec-policy/selinux-gnupg )
nls? ( virtual/libintl )”

src_unpack() {
unpack ${A}
cd “${S}”
sed -i -e ‘s/PIC/__PIC__/g’ intl/relocatable.c || die “PIC patching failed”

# this warning is only available on gcc4!
sed -i -e ‘/AM_CFLAGS/s!-Wno-pointer-sign!!g’ ${S}/g10/Makefile.am
sed -i -e ‘/AM_CFLAGS/s!-Wno-pointer-sign!!g’ ${S}/g10/Makefile.in

#epatch “${FILESDIR}/${PN}-1.9.20-fbsd.patch”
#epatch “${FILESDIR}/${P}-fbsd-gcc41.patch”
AT_M4DIR=”m4 gl/m4″ eautoreconf
}

src_compile() {
local myconf=””

if use X; then
local viewer
if has_version ‘media-gfx/xloadimage’; then
viewer=/usr/bin/xloadimage
else
viewer=/usr/bin/xli
fi
myconf=”${myconf} –with-photo-viewer=${viewer}”
else
myconf=”${myconf} –disable-photo-viewers”
fi

append-ldflags $(bindnow-flags)

econf \
–enable-agent \
–enable-symcryptrun \
$(use_enable gpg2-experimental gpg) \
–enable-gpgsm \
$(use_enable smartcard scdaemon) \
$(use_enable nls) \
$(use_enable ldap) \
–disable-capabilities \
${myconf} \
|| die
emake || die
if use doc; then
cd doc
emake html || die
fi
}

src_install() {
make DESTDIR=”${D}” install || die
dodoc ChangeLog NEWS README THANKS TODO VERSION

# neither of these should really be needed, please check
use gpg2-experimental && fperms u+s,go-r /usr/bin/gpg2
fperms u+s,go-r /usr/bin/gpg-agent

use doc && dohtml doc/gnupg.html/* doc/*jpg doc/*png
}

pkg_postinst() {
einfo
einfo “See http://www.gentoo.org/doc/en/gnupg-user.xml for documentation on gnupg”
einfo
}

libassuan-0.9.3.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libassuan/libassuan-0.9.2.ebuild,v 1.1 2006/10/05 03:51:03 robbat2 Exp $

inherit libtool

DESCRIPTION=”Standalone IPC library used by gpg, gpgme and newpg”
HOMEPAGE=”http://www.gnupg.org/(en)/download/index.html#libassuan”
SRC_URI=”mirror://gnupg/alpha/${PN}/${P}.tar.bz2″

LICENSE=”GPL-2″
SLOT=”0″
KEYWORDS=”~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd”
IUSE=””

DEPEND=””

src_unpack() {
unpack ${A}
cd “${S}”
elibtoolize
}

src_install() {
make install DESTDIR=”${D}” || die
dodoc AUTHORS ChangeLog NEWS README THANKS TODO
}

libksba-1.0.0.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libksba/libksba-0.9.16.ebuild,v 1.2 2006/10/02 16:07:34 grobian Exp $

inherit libtool

DESCRIPTION=”makes X.509 certificates and CMS easily accessible to applications”
HOMEPAGE=”http://www.gnupg.org/(en)/download/index.html#libksba”
SRC_URI=”mirror://gnupg/alpha/libksba/${P}.tar.bz2″

LICENSE=”GPL-2″
SLOT=”0″
KEYWORDS=”~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd”
IUSE=””

DEPEND=”>=dev-libs/libgpg-error-0.7
dev-libs/libgcrypt”

src_unpack() {
unpack ${A}
cd “${S}”
elibtoolize
}

src_install() {
make DESTDIR=”${D}” install || die
dodoc AUTHORS ChangeLog NEWS README README-alpha THANKS TODO VERSION
}

libgpg-error-1.4.ebuild:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libgpg-error/libgpg-error-1.3.ebuild,v 1.2 2006/07/30 10:05:58 flameeyes Exp $

inherit libtool

DESCRIPTION=”Contains error handling functions used by GnuPG software”
HOMEPAGE=”http://www.gnupg.org/(en)/download/index.html#libgpg-error”
SRC_URI=”mirror://gnupg/${PN}/${P}.tar.gz”

LICENSE=”GPL-2 LGPL-2.1″
SLOT=”0″
KEYWORDS=”~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86″
IUSE=”nls”

DEPEND=”nls? ( sys-devel/gettext )”

src_unpack() {
unpack “${A}”
cd “${S}”
elibtoolize
}

src_compile() {
econf $(use_enable nls) || die
emake || die
}

src_install() {
make install DESTDIR=”${D}” || die
dodoc AUTHORS ChangeLog NEWS README
}

Author:

Leave a Reply

Your email address will not be published. Required fields are marked *