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
This commit is contained in:
parent
76178f31ca
commit
245c1bb208
@ -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"
|
||||
|
||||
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 = []
|
||||
|
||||
|
@ -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"
|
||||
|
||||
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']
|
||||
|
@ -3,17 +3,19 @@
|
||||
#
|
||||
# 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"
|
||||
@ -35,13 +37,11 @@ def url_for_version(self, version):
|
||||
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')
|
||||
|
@ -7,15 +7,20 @@
|
||||
|
||||
|
||||
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"
|
||||
|
||||
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')
|
||||
|
Loading…
Reference in New Issue
Block a user