Add package for libbsd, add variant to expat for libbsd (#4945)
* Add package for libbsd, add variant to expat for libbsd The recent expat release requires a high quality source of randomness. CentOS 7 does not seem to have one, but one is available in libbsd. This commit adds a package for libbsd and adds a variant to expat to use it (defaults to False). * Make libbsd default for newer, conflict for older Make the libbsd variant default to true. Conflict if you're asking for libbsd and an older version of expat. This means that in order to install an older version of expat you'll need to specify `~libbsd`. * Rework so that 2.2.0 and 2.2.2 work by default Get rid of the conflicts and use better constraints/tests in the `depends_on` and the `configure_args` bits.
This commit is contained in:

committed by
Adam J. Stewart

parent
4e269510c5
commit
f24398cde6
@@ -31,5 +31,24 @@ class Expat(AutotoolsPackage):
|
||||
homepage = "http://expat.sourceforge.net/"
|
||||
url = "https://sourceforge.net/projects/expat/files/expat/2.2.2/expat-2.2.2.tar.bz2"
|
||||
|
||||
# Version 2.2.2 introduced a requirement for a high quality
|
||||
# entropy source. "Older" linux systems (aka CentOS 7) do not
|
||||
# support get_random so we'll provide a high quality source via
|
||||
# libbsd.
|
||||
# There's no need for it in earlier versions, so 'conflict' if
|
||||
# someone's asking for an older version and also libbsd.
|
||||
# In order to install an older version, you'll need to add
|
||||
# `~libbsd`.
|
||||
variant('libbsd', default=True,
|
||||
description="Use libbsd (for high quality randomness)")
|
||||
depends_on('libbsd', when="@2.2.1:+libbsd")
|
||||
|
||||
version('2.2.2', '1ede9a41223c78528b8c5d23e69a2667')
|
||||
version('2.2.0', '2f47841c829facb346eb6e3fab5212e2')
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
args = []
|
||||
if '+libbsd' in spec and '@2.2.1:' in spec:
|
||||
args = ['--with-libbsd']
|
||||
return args
|
||||
|
Reference in New Issue
Block a user