summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2019-10-01 22:35:51 +0200
committerAdam J. Stewart <ajstewart426@gmail.com>2019-10-01 15:35:50 -0500
commit245c1bb20895931263acb068a6e5a109c143fa03 (patch)
treef4118f3d8bee2d1d1a54b7fe7dd3625371683638
parent76178f31ca89e81d6f97c3fcf322bd3100322634 (diff)
downloadspack-245c1bb20895931263acb068a6e5a109c143fa03.tar.gz
spack-245c1bb20895931263acb068a6e5a109c143fa03.tar.bz2
spack-245c1bb20895931263acb068a6e5a109c143fa03.tar.xz
spack-245c1bb20895931263acb068a6e5a109c143fa03.zip
libaio: fixed a condition that checks whether we are running on OS X (#12976)
* libaio: fixed a condition that checks whether we are running on OS X * libaio: simplified package by adding an explicit conflict for darwin * libaio: added information to the docstring * fio: added version 3.16, added conflict when using libaio, docstring * lvm2: conflict due to libaio dep, improved docstring, simpler install * mariadb: conflict due to libaio dep, improved docstring, version 10.4.7 * mariadb: the dependency on libaio is now conditional, removed conflict * mariadb: fixed a typo in previous commit Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * libaio: turned into a MakefilePackage
-rw-r--r--var/spack/repos/builtin/packages/fio/package.py16
-rw-r--r--var/spack/repos/builtin/packages/libaio/package.py24
-rw-r--r--var/spack/repos/builtin/packages/lvm2/package.py36
-rw-r--r--var/spack/repos/builtin/packages/mariadb/package.py13
4 files changed, 52 insertions, 37 deletions
diff --git a/var/spack/repos/builtin/packages/fio/package.py b/var/spack/repos/builtin/packages/fio/package.py
index 9f1f30273b..29f02c8b80 100644
--- a/var/spack/repos/builtin/packages/fio/package.py
+++ b/var/spack/repos/builtin/packages/fio/package.py
@@ -3,15 +3,20 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
-
class Fio(AutotoolsPackage):
- """Flexible I/O Tester."""
+ """Flexible I/O Tester.
+
+ Fio spawns a number of threads or processes doing a particular type of I/O
+ action as specified by the user. fio takes a number of global parameters,
+ each inherited by the thread unless otherwise parameters given to them
+ overriding that setting is given.
+ """
homepage = "https://github.com/axboe/fio"
- url = "https://github.com/axboe/fio/archive/fio-2.19.tar.gz"
+ url = "https://github.com/axboe/fio/archive/fio-2.19.tar.gz"
+ version('3.16', sha256='c7731a9e831581bab7104da9ea60c9f44e594438dbe95dff26726ca0285e7b93')
version('2.19', '67125b60210a4daa689a4626fc66c612')
variant('gui', default=False, description='Enable building of gtk gfio')
@@ -24,6 +29,9 @@ class Fio(AutotoolsPackage):
depends_on('py-sphinx', type='build', when='+doc')
+ conflicts('+libaio', when='platform=darwin',
+ msg='libaio does not support Darwin')
+
def configure_args(self):
config_args = []
diff --git a/var/spack/repos/builtin/packages/libaio/package.py b/var/spack/repos/builtin/packages/libaio/package.py
index 26919f67c8..638d57892d 100644
--- a/var/spack/repos/builtin/packages/libaio/package.py
+++ b/var/spack/repos/builtin/packages/libaio/package.py
@@ -3,22 +3,24 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+class Libaio(MakefilePackage):
+ """Linux native Asynchronous I/O interface library.
-class Libaio(Package):
- """This is the linux native Asynchronous I/O interface library."""
+ AIO enables even a single application thread to overlap I/O operations
+ with other processing, by providing an interface for submitting one or
+ more I/O requests in one system call (io_submit()) without waiting for
+ completion, and a separate interface (io_getevents()) to reap completed
+ I/O operations associated with a given completion group.
+ """
homepage = "http://lse.sourceforge.net/io/aio.html"
- url = "https://debian.inf.tu-dresden.de/debian/pool/main/liba/libaio/libaio_0.3.110.orig.tar.gz"
+ url = "https://debian.inf.tu-dresden.de/debian/pool/main/liba/libaio/libaio_0.3.110.orig.tar.gz"
version('0.3.110', '2a35602e43778383e2f4907a4ca39ab8')
- def install(self, spec, prefix):
- # libaio is not supported on OS X
- if spec.satisfies('arch=darwin-x86_64'):
- # create a dummy directory
- mkdir(prefix.lib)
- return
+ conflicts('platform=darwin', msg="libaio is a linux specific library")
- make('prefix={0}'.format(prefix), 'install')
+ @property
+ def install_targets(self):
+ return ['prefix={0}'.format(self.spec.prefix), 'install']
diff --git a/var/spack/repos/builtin/packages/lvm2/package.py b/var/spack/repos/builtin/packages/lvm2/package.py
index 18d9ef205d..f49c8371a2 100644
--- a/var/spack/repos/builtin/packages/lvm2/package.py
+++ b/var/spack/repos/builtin/packages/lvm2/package.py
@@ -3,20 +3,22 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
-
class Lvm2(AutotoolsPackage):
"""LVM2 is the userspace toolset that provides logical volume
- management facilities on linux. To use it you need 3 things:
- device-mapper in your kernel, the userspace device-mapper support
- library (libdevmapper) and the userspace LVM2 tools (dmsetup). These
- userspace components, and associated header files, are provided by this
- package. See http://sources.redhat.com/dm/ for additional information
- about the device-mapper kernel and userspace components."""
+ management facilities on linux.
+
+ To use it you need 3 things: device-mapper in your kernel, the userspace
+ device-mapper support library (libdevmapper) and the userspace LVM2 tools
+ (dmsetup). These userspace components, and associated header files, are
+ provided by this package.
+
+ See http://sources.redhat.com/dm/ for additional information
+ about the device-mapper kernel and userspace components.
+ """
homepage = "https://www.sourceware.org/lvm2"
- url = "https://sourceware.org/pub/lvm2/releases/LVM2.2.03.05.tgz"
+ url = "https://sourceware.org/pub/lvm2/releases/LVM2.2.03.05.tgz"
version('2.03.05', sha256='ca52815c999b20c6d25e3192f142f081b93d01f07b9d787e99664b169dba2700')
version('2.03.04', sha256='f151f36fc0039997d2d9369b607b9262568b1a268afe19fd1535807355402142')
@@ -35,13 +37,11 @@ class Lvm2(AutotoolsPackage):
depends_on('libaio')
depends_on('pkgconfig', type='build', when='+pkgconfig')
+ conflicts('platform=darwin',
+ msg='lvm2 depends on libaio which does not support Darwin')
+
def configure_args(self):
- args = ['--with-confdir={0}'.
- format(self.prefix.etc),
- '--with-default-system-dir={0}'.
- format(self.prefix.etc.lvm)]
- if self.spec.satisfies('+pkgconfig'):
- args.append('--enable-pkgconfig')
- else:
- args.append('--disable-pkgconfig')
- return args
+ return [
+ '--with-confdir={0}'.format(self.prefix.etc),
+ '--with-default-system-dir={0}'.format(self.prefix.etc.lvm)
+ ] + self.enable_or_disable('pkgconfig')
diff --git a/var/spack/repos/builtin/packages/mariadb/package.py b/var/spack/repos/builtin/packages/mariadb/package.py
index fed976ef38..c094da8865 100644
--- a/var/spack/repos/builtin/packages/mariadb/package.py
+++ b/var/spack/repos/builtin/packages/mariadb/package.py
@@ -7,15 +7,20 @@ from spack import *
class Mariadb(CMakePackage):
- """MariaDB turns data into structured information in a wide array of
+ """MariaDB Server is one of the most popular database servers
+ in the world.
+
+ MariaDB turns data into structured information in a wide array of
applications, ranging from banking to websites. It is an enhanced, drop-in
replacement for MySQL. MariaDB is used because it is fast, scalable and
robust, with a rich ecosystem of storage engines, plugins and many other
- tools make it very versatile for a wide variety of use cases."""
+ tools make it very versatile for a wide variety of use cases.
+ """
homepage = "https://mariadb.org/about/"
- url = "http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-10.2.8/source/mariadb-10.2.8.tar.gz"
+ url = "http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-10.2.8/source/mariadb-10.2.8.tar.gz"
+ version('10.4.7', sha256='c8e6a6d0bb4f22c416ed675d24682a3ecfa383c5283efee70c8edf131374d817')
version('10.2.8', 'f93cbd5bfde3c0d082994764ff7db580')
version('10.1.23', '1a7392cc05c7c249acd4495022719ca8')
version('5.5.56', '8bc7772fea3e11b0bc1a09d2278e2e32')
@@ -32,7 +37,7 @@ class Mariadb(CMakePackage):
depends_on('pkgconfig', type='build')
depends_on('bison', type='build')
depends_on('jemalloc')
- depends_on('libaio')
+ depends_on('libaio', when='platform=linux')
depends_on('libedit')
depends_on('libevent', when='+nonblocking')
depends_on('ncurses')