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:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 Adam J. Stewart
						Adam J. Stewart
					
				
			
			
				
	
			
			
			 Adam J. Stewart
						Adam J. Stewart
					
				
			
						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" | ||||
|     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" | ||||
|     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,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 @@ 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" | ||||
|     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') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user