summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Phillip Brink <binki@gentoo.org>2012-01-03 05:43:07 +0000
committerNathan Phillip Brink <binki@gentoo.org>2012-01-03 05:43:07 +0000
commit0360d17fe95ff1cdc255064fdc55660ed77437d4 (patch)
tree8b7c47daa952f084bd522158c5ee299f4c18297d /net-irc
parentBump to scrollz-2.2.1. (diff)
downloadhistorical-0360d17fe95ff1cdc255064fdc55660ed77437d4.tar.gz
historical-0360d17fe95ff1cdc255064fdc55660ed77437d4.tar.bz2
historical-0360d17fe95ff1cdc255064fdc55660ed77437d4.zip
Add patch removing automagic dependence on sys-libs/cracklib, fixes bug #397401 reported by kensington.
Package-Manager: portage-2.2.0_alpha82-r1/cvs/Linux x86_64
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/atheme-services/ChangeLog14
-rw-r--r--net-irc/atheme-services/Manifest37
-rw-r--r--net-irc/atheme-services/atheme-services-6.0.9-r1.ebuild106
-rw-r--r--net-irc/atheme-services/atheme-services-6.0.9.ebuild5
-rw-r--r--net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild9
-rw-r--r--net-irc/atheme-services/files/atheme-services-6.0.9-cracklib-automagic.patch77
-rw-r--r--net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-cracklib-automagic.patch78
-rw-r--r--net-irc/atheme-services/metadata.xml3
8 files changed, 304 insertions, 25 deletions
diff --git a/net-irc/atheme-services/ChangeLog b/net-irc/atheme-services/ChangeLog
index de60c3c95e81..b5d75284e4d4 100644
--- a/net-irc/atheme-services/ChangeLog
+++ b/net-irc/atheme-services/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for net-irc/atheme-services
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.25 2011/12/30 22:47:37 binki Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/ChangeLog,v 1.26 2012/01/03 05:43:07 binki Exp $
+
+*atheme-services-6.0.9-r1 (03 Jan 2012)
+
+ 03 Jan 2012; Nathan Phillip Brink <binki@gentoo.org>
+ atheme-services-6.0.9.ebuild, +atheme-services-6.0.9-r1.ebuild,
+ +files/atheme-services-6.0.9-cracklib-automagic.patch,
+ atheme-services-7.0.0_alpha9.ebuild,
+ +files/atheme-services-7.0.0_alpha11-cracklib-automagic.patch, metadata.xml:
+ Add patch removing automagic dependence on sys-libs/cracklib, fixes bug
+ #397401 reported by kensington.
30 Dec 2011; Nathan Phillip Brink <binki@gentoo.org>
-atheme-services-6.0.8-r2.ebuild:
diff --git a/net-irc/atheme-services/Manifest b/net-irc/atheme-services/Manifest
index 1b466e80a142..301ea2589160 100644
--- a/net-irc/atheme-services/Manifest
+++ b/net-irc/atheme-services/Manifest
@@ -2,28 +2,31 @@
Hash: SHA512
AUX atheme-services-6.0.8-configure-disable.patch 4067 RMD160 83b845addd7af78d10a4b8447e9ec3c88f7efa17 SHA1 a893c2fab189495b31525332a8c4c9ffdcbd3aaf SHA256 861b9b458e6e2122aca923425dec407a5d2a13fecde613544c5aafb2cb161595
+AUX atheme-services-6.0.9-cracklib-automagic.patch 2806 RMD160 e2915f4fab7aea2d4a512ce462e8bf7fda08cb80 SHA1 8c1f28b6446e66355171c0e9badcc6424144d42a SHA256 810509891a461b2d6701c8f48519d70436cba698bf0ab098ab02cef13f0a2619
+AUX atheme-services-7.0.0_alpha11-cracklib-automagic.patch 2906 RMD160 eed1183188ddc3f94c9606e131bbd14d7f17b971 SHA1 fc65b6b2b699bdf644e900b1fe700186b796597d SHA256 b053939d5c813e790eb2d8ffb7a95430d3a38b0c09c9a6c7776b50e4215c9763
AUX atheme-services-7.0.0_alpha9-pkg-config.patch 515 RMD160 aeed772eb3f741f14b405aff145235b8ab186978 SHA1 38abf5c9ac33f5a2e25d96f191f9c2bbcbe91767 SHA256 6f43dceda07461600962e11b69d0e62e01d878f93126d98b09bfd48d2c790c7e
AUX atheme-services.initd 975 RMD160 83486b35d148bab6f4b611d62fb18da63846a966 SHA1 bedd35acca25fad59ecd067709cfe85c0ba9798d SHA256 0cdcfb95d2399e132364127429618b44ce1830a61af0a5dc5bce1179b3810f75
DIST atheme-services-6.0.9.tar.bz2 858804 RMD160 57ed736bb1eaedb0db68e63266ee8c98674f0542 SHA1 1b463ec808d4b92d0047319cdc1e4223a9ca9481 SHA256 058616395d6d5477ac4e63fc1daa88dffb62c9cc5a9239dae5dbe54508b6aaf9
DIST atheme-services-7.0.0-alpha9.tar.bz2 1055265 RMD160 d86413c63c79579247904965fffa7c2b1e76d688 SHA1 28168d0b4ab36840dd3522283dca2aebbb9a56d3 SHA256 564add960be744d637573d69ee12351555696048e69505af596d767f55b0b3b6
-EBUILD atheme-services-6.0.9.ebuild 2706 RMD160 67c3cf7500f46a249f6727ddfe17302fde55b2b8 SHA1 ea39fd2dbc3468612a6353a56d39a923a5a4d849 SHA256 f952d0a1d14360ebf6d2a5440cf5b4589863e4293284e76fa165a0dc3257e635
-EBUILD atheme-services-7.0.0_alpha9.ebuild 3007 RMD160 d524e8756688dc9fa3a83dbb3a21c39cf14496e6 SHA1 c594321345a4e2fbaccc954fc509b99c95720e1c SHA256 7a7f7b4f639363b742b95a1fd15e18ffbda29e535a0ea07e4ceda194444e3695
-MISC ChangeLog 5581 RMD160 dd5d7398f9bf4895ad69c9444c179b19bd53b4f0 SHA1 190d915d150cd887f2450881cac0f932a35db7df SHA256 74f525f540952c4f83d418a7a5790bd79d273020288b3bed5c30ab990686e012
-MISC metadata.xml 666 RMD160 6283486aa951422ac01016f439af0e4446c9827e SHA1 3b684ca6549b1a2fa8a0b788841fad944703d8d1 SHA256 1d7b369f7c9cddbc5541736c855be11aa495e1006207e32d0fbbbc99366bd9a7
+EBUILD atheme-services-6.0.9-r1.ebuild 2850 RMD160 4120941bf1edbceaca81d01c032ab2ccd8c8ee15 SHA1 aa0e7c089106fdf5bd5244ca00080660bae02c41 SHA256 ecf9c49af017a8ab5240035a012fe01a7055a2ddcfa6d8f5ecb7b4e7e18cdb6a
+EBUILD atheme-services-6.0.9.ebuild 2724 RMD160 110996365b9e7b1589ae4833c3df458017927972 SHA1 17d6571d6c02a8b4ddea574427a3eb58549f7efc SHA256 9953174a04effcbc3e7973305d9f9a3183265e7f82f46065d11d8ac42ddd4baa
+EBUILD atheme-services-7.0.0_alpha9.ebuild 3141 RMD160 e0074843ee3d068fce096df2df89b782f15c8089 SHA1 33a73a02dec6a5469dc4e49c2c7e6960467d608a SHA256 2fa3ad7a31ae50385802e35aa209947a9a3ad86006a14577a8bddff510bbfb12
+MISC ChangeLog 6027 RMD160 75a9f490a4a120aa1728a290e8978ec927f738b3 SHA1 ef7af53fe91b23c74b2e52c611971f0d498e53d7 SHA256 cef999fcb909e1c8d96a11202731bb78f84e8d6e983ceb383cb5cc1d3709940b
+MISC metadata.xml 771 RMD160 8f88469eba3ccc79dc15479d31d5653ea8e3e035 SHA1 e77e3cdf839fbdd77066acaf157e7c07184975c0 SHA256 620366269b5b3d1e0c61895827ac857e9dc643544a04a80cbc94fee2ff0c0da5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
-iQIcBAEBCgAGBQJO/j8HAAoJEHQ6UuhrqBBQAgwQAJUj9ZisqPaBYGmuj39m4UOj
-Uk3/35K4/Uiq9w3ALDu0cqG4sjBkAcyZ+KvZ3m29dqUIR/Yb8nZ4XkGYKXAPF6aA
-yMrRuyEGUTrsUPRty4a7tAUsg/ir2OR2DqyP7KU8PgT0kXP/JFcgSOBN+pwl1eAI
-UZx1vEVhVGWP43+07UFF5DcXxf/NjYPQVkJ9ZBuL40O4kFsN5+P3Rhhd3ra7sxzm
-/1Rks5uSzcRkZVCt0jCPTulOThH/sWUBr2SUYss/+xc+vHM35XNTh6z3x40MwDy8
-TpxLOASj2Lz/ewmXnCLDdb2lLpUz5Lw8Ayc50fHSXYm/G77p2VFoWugjbqVSqZfG
-VQerD4/7dJOqJDQhvwTsofMnOuQaHXwmtwlIQ/Sv41Av+TRCv8ZxME7U/ko4HEZp
-IZhrLAzsHsGw0isdM3emaJ+gF9hTGpNMNL/3iNtV+lkAaprZZUkCv4aHX35mupuT
-hEwEx0VLixkKM38ZZZ+xNE762pZrKTsgVADxv1RbT4PmkqNOylYcb4SwAKShY3pW
-HnBkBruDmciqmuU9hgS1zH2hXAderjhFXvgCRUSusDGHrH6+uJpNy5r4h2KR/HnK
-og9BEoLoCJaM+iz7qT7MX2MbVYNn27qAjoviUYpN8hn2nMIHnRI6BmoOU0CMSFbM
-m5XpCDxFlD7NLhW8dgzs
-=gE9s
+iQIcBAEBCgAGBQJPApTOAAoJEHQ6UuhrqBBQpYIP/0NdMiA57alkJdGgQrf8KpO+
+t3KYQgXbZewPDMUx3MEX3Xq3MWgkbtW1jTD7rPx7HJOHmh7quAppmZCtjIlEKXA/
+VPaerUMNrCXE472WO2/PAAM8HxV0Hw29ErLt7O9nza4BYJ+E2vmcggIECiTTCgGn
+LuuQ/l2rKumLZuEMOQR2cswdgLFM6dyZ14m8J5wD6UTYAjVZOKtWan/TbomvGtu2
+xpoq+VdGwip3sgSeYKO92DW8miZY8voWKVs8HHo4APASUL3FHVB5B7qmzxEtgzLD
+0lHBxwe4p221ILLKNqlCoB41Otzt4/e86+hFucFpzvDpesFzXAheKoc3GXkpaOKS
+088RXUKZVhZaFffjLTMLAR1Zvc1SIzd3bfjV5jCVpoH/MTIegtiSy0PBF4Be8f0l
+GBlE9N+HhphkB/6V9EGoC+s2Q/SesLJ71zYnoPeJ5zj5bBLQsbsbLusUCHGMrbt1
+M4V9erwaTrBs7/Ft2Am3cKzDRBaHFGwXYXurhSaObaXJNvU1cQNfIZakU+WEepqi
+j8GYI0VzQ76/RO7+ZR50zK0O/mRhtsp1XvcPHFmktZAi6ZZ3t+Dbid9hMMSpvlKd
+JTo+7Ni7+DIiCiqhsj2ki8WH31fZauMpbdi7jGsfj6SuRkZtae25fmTtkYAPKkgA
+OeKw1ljwV3s1oGb9rRCh
+=x1k+
-----END PGP SIGNATURE-----
diff --git a/net-irc/atheme-services/atheme-services-6.0.9-r1.ebuild b/net-irc/atheme-services/atheme-services-6.0.9-r1.ebuild
new file mode 100644
index 000000000000..9d1399e5bd5b
--- /dev/null
+++ b/net-irc/atheme-services/atheme-services-6.0.9-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-6.0.9-r1.ebuild,v 1.1 2012/01/03 05:43:07 binki Exp $
+
+EAPI=4
+
+inherit autotools eutils flag-o-matic perl-module prefix
+
+DESCRIPTION="A portable and secure set of open-source and modular IRC services"
+HOMEPAGE="http://atheme.net/"
+SRC_URI="http://atheme.net/downloads/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~sparc ~x86 ~x86-fbsd ~amd64-linux"
+IUSE="cracklib largenet ldap nls +pcre perl profile ssl"
+
+RDEPEND="dev-libs/libmowgli
+ cracklib? ( sys-libs/cracklib )
+ ldap? ( net-nds/openldap )
+ nls? ( sys-devel/gettext )
+ pcre? ( dev-libs/libpcre )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+pkg_setup() {
+ # the dependency calculation puts all of the .c files together and
+ # overwhelms cc1 with this flag :-(
+ filter-flags -combine
+
+ if use profile; then
+ # bug #371119
+ ewarn "USE=\"profile\" is incompatible with the hardened profile's -pie flag."
+ ewarn "Disabling PIE. Please ignore any warning messages about -nopie being invalid."
+ append-flags -nopie
+ fi
+
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/atheme ${PN}
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-6.0.8-configure-disable.patch
+ epatch "${FILESDIR}"/${P}-cracklib-automagic.patch
+ eautoconf
+
+ # fix docdir
+ sed -i -e 's/\(^DOCDIR.*=.\)@DOCDIR@/\1@docdir@/' extra.mk.in || die
+
+ # basic logging config directive fix
+ sed -i -e '/^logfile/s;var/\(.*\.log\);'"${EPREFIX}"'/var/log/atheme/\1;g' dist/* || die
+
+ # QA against bundled libs
+ rm -rf libmowgli || die
+
+ # Get useful information into build.log
+ sed -i -e '/^\.SILENT:$/d' buildsys.mk.in || die
+}
+
+src_configure() {
+ econf \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --localstatedir="${EPREFIX}"/var \
+ --enable-fhs-paths \
+ --enable-contrib \
+ $(use_enable largenet large-net) \
+ $(use_with cracklib) \
+ $(use_with ldap) \
+ $(use_with nls) \
+ $(use_enable profile) \
+ $(use_with pcre) \
+ $(use_enable ssl)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ insinto /etc/${PN}
+ for conf in dist/*.example; do
+ # The .cron file isn't meant to live in /etc/${PN}, so only
+ # install a .example version.
+ [[ ${conf} == *cron* ]] && continue
+
+ newins ${conf} $(basename ${conf} .example)
+ done
+
+ fowners -R 0:${PN} /etc/${PN}
+ keepdir /var/{lib,log}/atheme
+ fowners ${PN}:${PN} /var/{lib,log,run}/atheme
+ fperms -R go-w,o-rx /etc/${PN}
+ fperms 750 /etc/${PN} /var/{lib,log,run}/atheme
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ # contributed scripts and such:
+ insinto /usr/share/doc/${PF}/contrib
+ doins contrib/*.{c,pl,php,py,rb}
+
+ if use perl; then
+ perlinfo
+ insinto "${VENDOR_LIB#${EPREFIX}}"
+ doins -r contrib/Atheme{,.pm}
+ fi
+}
diff --git a/net-irc/atheme-services/atheme-services-6.0.9.ebuild b/net-irc/atheme-services/atheme-services-6.0.9.ebuild
index 541e8fd8be8b..e1283ebf7128 100644
--- a/net-irc/atheme-services/atheme-services-6.0.9.ebuild
+++ b/net-irc/atheme-services/atheme-services-6.0.9.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-6.0.9.ebuild,v 1.3 2011/12/26 14:42:27 maekke Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-6.0.9.ebuild,v 1.4 2012/01/03 05:43:07 binki Exp $
EAPI=4
@@ -16,6 +16,7 @@ KEYWORDS="amd64 ~sparc x86 ~x86-fbsd ~amd64-linux"
IUSE="largenet ldap nls +pcre perl profile ssl"
RDEPEND="dev-libs/libmowgli
+ sys-libs/cracklib
ldap? ( net-nds/openldap )
nls? ( sys-devel/gettext )
pcre? ( dev-libs/libpcre )
diff --git a/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild b/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild
index f23574fa712c..73acd601e59c 100644
--- a/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild
+++ b/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild,v 1.2 2011/12/30 22:42:37 binki Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-irc/atheme-services/atheme-services-7.0.0_alpha9.ebuild,v 1.3 2012/01/03 05:43:07 binki Exp $
EAPI=4
@@ -15,9 +15,10 @@ SRC_URI="http://atheme.net/downloads/${MY_P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86 ~x86-fbsd ~amd64-linux"
-IUSE="largenet ldap nls +pcre perl profile ssl"
+IUSE="cracklib largenet ldap nls +pcre perl profile ssl"
RDEPEND=">=dev-libs/libmowgli-0.9.95
+ cracklib? ( sys-libs/cracklib )
ldap? ( net-nds/openldap )
nls? ( sys-devel/gettext )
perl? ( dev-lang/perl )
@@ -48,6 +49,7 @@ src_prepare() {
# The first PKG_CHECK_MODULES call is conditional, causing
# PKG_PROG_PKG_CONFIG expansion to fail.
epatch "${FILESDIR}"/${P}-pkg-config.patch
+ epatch "${FILESDIR}"/${PN}-7.0.0_alpha11-cracklib-automagic.patch
eautoconf
# fix docdir
@@ -73,6 +75,7 @@ src_configure() {
--disable-warnings \
--enable-contrib \
$(use_enable largenet large-net) \
+ $(use_with cracklib) \
$(use_with ldap) \
$(use_with nls) \
$(use_enable profile) \
diff --git a/net-irc/atheme-services/files/atheme-services-6.0.9-cracklib-automagic.patch b/net-irc/atheme-services/files/atheme-services-6.0.9-cracklib-automagic.patch
new file mode 100644
index 000000000000..07b523e07cb8
--- /dev/null
+++ b/net-irc/atheme-services/files/atheme-services-6.0.9-cracklib-automagic.patch
@@ -0,0 +1,77 @@
+From 79f41f4e7647335beca977d852c6c83abebcc2bd Mon Sep 17 00:00:00 2001
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: Tue, 3 Jan 2012 01:47:31 +0000
+Subject: [PATCH] Add --with-cracklib/--without-cracklib ./configure options and only pass -lcrack when compiling nickserv/cracklib module.
+
+Being able to disable cracklib at ./configure time fixes an automagic
+dependency (https://bugs.gentoo.org/397401 with original patch from
+kensington). Only linking against cracklib when necessary hopefully
+makes compilation and loading of modules slightly more efficient.
+---
+ configure | 27 ++++++++++++++++++++++++++-
+ configure.ac | 16 +++++++++++++++-
+ extra.mk.in | 1 +
+ modules/nickserv/Makefile | 10 ++++++++++
+ 4 files changed, 52 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 63540aa..ee8d554 100755
+diff --git a/configure.ac b/configure.ac
+index 83c4aeb..a6d8b6e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -95,8 +95,22 @@ AC_SEARCH_LIBS(crypt, crypt, [POSIX_CRYPTC="posix.c"])
+ AC_SUBST(POSIX_CRYPTC)
+
+ CRACKLIB_C=""
+-AC_SEARCH_LIBS(FascistCheck, crack, [CRACKLIB_C="cracklib.c"])
++CRACKLIB_LIBS=""
++AC_ARG_WITH([cracklib],
++ [AS_HELP_STRING([--with-cracklib], [Compile cracklib nickserv submodule for checking password strength.])],
++ [],
++ [with_cracklib="auto"])
++AS_IF([test "x$with_cracklib" != "xno"],
++ [LIBS_save="$LIBS"
++ AC_SEARCH_LIBS([FascistCheck], [crack],
++ [CRACKLIB_C="cracklib.c"
++ AS_IF([test "x$ac_cv_search_FascistCheck" != "xnone required"],
++ [CRACKLIB_LIBS="$ac_cv_search_FascistCheck"])],
++ [AS_IF([test "x$with_cracklib" != "xauto"],
++ [AC_MSG_ERROR([--with-cracklib was specified but cracklib could not be found.])])])
++ LIBS="$LIBS_save"])
+ AC_SUBST(CRACKLIB_C)
++AC_SUBST([CRACKLIB_LIBS])
+
+ AC_ARG_WITH([ldap],
+ [AS_HELP_STRING([--without-ldap],[Disable building ldap auth module.])],
+diff --git a/extra.mk.in b/extra.mk.in
+index cc6af70..2d01345 100644
+--- a/extra.mk.in
++++ b/extra.mk.in
+@@ -123,4 +123,5 @@ EGREP ?= @EGREP@
+ VERSION ?= @VERSION@
+ prefix ?= @prefix@
+ CRACKLIB_C ?= @CRACKLIB_C@
++CRACKLIB_LIBS ?= @CRACKLIB_LIBS@
+ CONTRIB_ENABLE ?= @CONTRIB_ENABLE@
+diff --git a/modules/nickserv/Makefile b/modules/nickserv/Makefile
+index 060f708..d2f7c4e 100644
+--- a/modules/nickserv/Makefile
++++ b/modules/nickserv/Makefile
+@@ -68,3 +68,13 @@ BASE_SRCS = \
+ SRCS = ${BASE_SRCS} ${EXTRA_SRCS}
+
+ CPPFLAGS += -I../../include
++
++# Custom rule for cracklib.c which is the only module to ever need
++# -lcrack.
++cracklib$(PLUGIN_SUFFIX): cracklib.c
++ ${COMPILE_STATUS}
++ if ${CC} -MMD -MP ${CFLAGS} ${PLUGIN_CFLAGS} ${CPPFLAGS} ${PLUGIN_LDFLAGS} ${LDFLAGS} -o $@ ${CRACKLIB_C} ${LIBS} ${CRACKLIB_LIBS}; then \
++ ${COMPILE_OK}; \
++ else \
++ ${COMPILE_FAILED}; \
++ fi
+--
+1.7.3.4
+
diff --git a/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-cracklib-automagic.patch b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-cracklib-automagic.patch
new file mode 100644
index 000000000000..676acae15a47
--- /dev/null
+++ b/net-irc/atheme-services/files/atheme-services-7.0.0_alpha11-cracklib-automagic.patch
@@ -0,0 +1,78 @@
+From ca15c587e5c102abe0bc72a3112f7c5c6c879483 Mon Sep 17 00:00:00 2001
+From: Nathan Phillip Brink <binki@gentoo.org>
+Date: Tue, 3 Jan 2012 01:47:31 +0000
+Subject: [PATCH] Add --with-cracklib/--without-cracklib ./configure options and only pass -lcrack when compiling nickserv/cracklib module.
+
+Being able to disable cracklib at ./configure time fixes an automagic
+dependency (https://bugs.gentoo.org/397401 with original patch from
+kensington). Only linking against cracklib when necessary hopefully
+makes compilation and loading of modules slightly more efficient.
+---
+ configure | 27 ++++++++++++++++++++++++++-
+ configure.ac | 16 +++++++++++++++-
+ extra.mk.in | 1 +
+ modules/nickserv/Makefile | 9 +++++++++
+ 4 files changed, 51 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 14a14da..fe8024f 100755
+diff --git a/configure.ac b/configure.ac
+index ed7d105..ab0adb5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -97,8 +97,22 @@ AC_SEARCH_LIBS(crypt, crypt, [POSIX_CRYPTC="posix.c"])
+ AC_SUBST(POSIX_CRYPTC)
+
+ CRACKLIB_C=""
+-AC_SEARCH_LIBS(FascistCheck, crack, [CRACKLIB_C="cracklib.c"])
++CRACKLIB_LIBS=""
++AC_ARG_WITH([cracklib],
++ [AS_HELP_STRING([--with-cracklib], [Compile cracklib nickserv submodule for checking password strength.])],
++ [],
++ [with_cracklib="auto"])
++AS_IF([test "x$with_cracklib" != "xno"],
++ [LIBS_save="$LIBS"
++ AC_SEARCH_LIBS([FascistCheck], [crack],
++ [CRACKLIB_C="cracklib.c"
++ AS_IF([test "x$ac_cv_search_FascistCheck" != "xnone required"],
++ [CRACKLIB_LIBS="$ac_cv_search_FascistCheck"])],
++ [AS_IF([test "x$with_cracklib" != "xauto"],
++ [AC_MSG_ERROR([--with-cracklib was specified but cracklib could not be found.])])])
++ LIBS="$LIBS_save"])
+ AC_SUBST(CRACKLIB_C)
++AC_SUBST([CRACKLIB_LIBS])
+
+ AC_ARG_WITH([ldap],
+ [AS_HELP_STRING([--without-ldap],[Disable building ldap auth module.])],
+diff --git a/extra.mk.in b/extra.mk.in
+index a59418c..bdce891 100644
+--- a/extra.mk.in
++++ b/extra.mk.in
+@@ -123,6 +123,7 @@ EGREP ?= @EGREP@
+ VERSION ?= @VERSION@
+ prefix ?= @prefix@
+ CRACKLIB_C ?= @CRACKLIB_C@
++CRACKLIB_LIBS ?= @CRACKLIB_LIBS@
+ CONTRIB_ENABLE ?= @CONTRIB_ENABLE@
+ PERL_ENABLE ?= @PERL_ENABLE@
+ PERL_CFLAGS ?= @PERL_CFLAGS@
+diff --git a/modules/nickserv/Makefile b/modules/nickserv/Makefile
+index 3014bbb..2506be4 100644
+--- a/modules/nickserv/Makefile
++++ b/modules/nickserv/Makefile
+@@ -72,3 +72,12 @@ include ../../buildsys.module.mk
+ CPPFLAGS += -I../../include
+ LIBS += -L../../libathemecore -lathemecore ${LDFLAGS_RPATH}
+
++# Custom rule for cracklib.c which is the only module to ever need
++# -lcrack.
++cracklib$(PLUGIN_SUFFIX): cracklib.c
++ ${COMPILE_STATUS}
++ if ${CC} -MMD -MP ${CFLAGS} ${PLUGIN_CFLAGS} ${CPPFLAGS} ${PLUGIN_LDFLAGS} ${LDFLAGS} -o $@ ${CRACKLIB_C} ${LIBS} ${CRACKLIB_LIBS}; then \
++ ${COMPILE_OK}; \
++ else \
++ ${COMPILE_FAILED}; \
++ fi
+--
+1.7.3.4
+
diff --git a/net-irc/atheme-services/metadata.xml b/net-irc/atheme-services/metadata.xml
index 45cf1094f325..34f648804957 100644
--- a/net-irc/atheme-services/metadata.xml
+++ b/net-irc/atheme-services/metadata.xml
@@ -11,7 +11,8 @@
<name>Jeff Horelick</name>
<description>Co-maintainer</description>
</maintainer>
- <use>
+ <use>
+ <flag name='cracklib'>Enable nickserv/cracklib module for enforcing strong account passwords</flag>
<flag name='largenet'>Enable support/tweaks for large networks</flag>
<flag name='ldap'>Enable ldap-backed authentication module</flag>
<flag name='perl'>Install a perl module which wraps around the services' XML-RPC interface</flag>