intel-xed: add version 12.0.1 (#20676)

* intel-xed: add version 12.0.1

Rework the version numbers for intel-xed, now that xed has actual
releases and tags.  Add releases 11.2.0 and 12.0.1.  Rename 2019.03.01
to 10.2019.03 as a legacy version that fits in the new order.

Add variant +pic to compile libxed.a with PIC code so that it can be
linked into another shared library.

Add conflict for aarch64.
Add mwkrentel as maintainer.
This commit is contained in:
Mark W. Krentel 2021-01-13 13:46:38 -06:00 committed by GitHub
parent 21a0a2f6bb
commit 54a4f0fc35
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,38 +13,34 @@ class IntelXed(Package):
homepage = "https://intelxed.github.io/" homepage = "https://intelxed.github.io/"
git = "https://github.com/intelxed/xed.git" git = "https://github.com/intelxed/xed.git"
maintainers = ['mwkrentel']
# The version name and git commit hashes for the main xed repo and mbuild_git = 'https://github.com/intelxed/mbuild.git'
# the mbuild resource. Xed doesn't have official releases, only
# git commits.
version_list = [('2019.03.01', # Current versions now have actual releases and tags.
'b7231de4c808db821d64f4018d15412640c34113', version('master', branch='master')
'176544e1fb54b6bfb40f596111368981d287e951'), version('12.0.1', tag='12.0.1')
('2018.02.14', version('11.2.0', tag='11.2.0')
'44d06033b69aef2c20ab01bfb518c52cd71bb537',
'bb9123152a330c7fa1ff1a502950dc199c83e177')]
version('develop', branch='master') # The old 2019.03.01 version (before there were tags).
resource(name='mbuild', version('10.2019.03', commit='b7231de4c808db821d64f4018d15412640c34113')
git='https://github.com/intelxed/mbuild.git',
branch='master', placement='mbuild',
when='@develop')
for (vers, xed_hash, mbuild_hash) in version_list: resource(name='mbuild', placement='mbuild', git=mbuild_git,
version(vers, commit=xed_hash) branch='master', when='@master')
resource(name='mbuild',
git='https://github.com/intelxed/mbuild.git', resource(name='mbuild', placement='mbuild', git=mbuild_git,
commit=mbuild_hash, commit='3e8eb33aada4153c21c4261b35e5f51f6e2019e8', when='@:999')
when='@{0}'.format(vers))
variant('debug', default=False, description='Enable debug symbols') variant('debug', default=False, description='Enable debug symbols')
variant('pic', default=False,
description='Compile with position independent code.')
# python module 'platform.linux_distribution' was removed in python 3.8 # The current mfile uses python3 by name.
depends_on('python@2.7:3.7', type='build') depends_on('python@3.4:', type='build')
conflicts('target=ppc64:', msg='intel-xed only runs on x86') conflicts('target=ppc64:', msg='intel-xed only runs on x86')
conflicts('target=ppc64le:', msg='intel-xed only runs on x86') conflicts('target=ppc64le:', msg='intel-xed only runs on x86')
conflicts('target=aarch64:', msg='intel-xed only runs on x86')
mycflags = [] mycflags = []
@ -52,6 +48,10 @@ class IntelXed(Package):
def flag_handler(self, name, flags): def flag_handler(self, name, flags):
if name == 'cflags': if name == 'cflags':
self.mycflags = flags self.mycflags = flags
if '+pic' in self.spec:
flags.append(self.compiler.cc_pic_flag)
return (flags, None, None) return (flags, None, None)
def install(self, spec, prefix): def install(self, spec, prefix):
@ -93,9 +93,15 @@ def install(self, spec, prefix):
install(join_path('obj', 'lib*.so'), prefix.lib) install(join_path('obj', 'lib*.so'), prefix.lib)
# Install the xed program # Starting with 11.x, the install files are moved or copied into
# subdirs of obj/wkit.
if spec.satisfies('@11.0:'):
wkit = join_path('obj', 'wkit')
install(join_path(wkit, 'bin', 'xed'), prefix.bin)
install(join_path(wkit, 'include', 'xed', '*.h'), prefix.include)
else:
# Old 2019.03.01 paths.
install(join_path('obj', 'examples', 'xed'), prefix.bin) install(join_path('obj', 'examples', 'xed'), prefix.bin)
install(join_path('include', 'public', 'xed', '*.h'),
# Install header files. prefix.include)
install(join_path('include', 'public', 'xed', '*.h'), prefix.include)
install(join_path('obj', '*.h'), prefix.include) install(join_path('obj', '*.h'), prefix.include)