Skip to content

Commit

Permalink
Merge pull request easybuilders#19162 from Micket/20231106191814_new_…
Browse files Browse the repository at this point in the history
…pr_libxslt1138

{lib}[GCCcore/13.2.0] libxslt v1.1.38, nettle v3.9.1, Xvfb v21.1.9, ...
  • Loading branch information
SebastianAchilles authored Nov 11, 2023
2 parents 039425e + bfb5cb0 commit 713349b
Show file tree
Hide file tree
Showing 4 changed files with 229 additions and 0 deletions.
36 changes: 36 additions & 0 deletions easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
easyblock = 'ConfigureMake'

name = 'libxslt'
version = '1.1.38'

homepage = 'http://xmlsoft.org/'
description = """Libxslt is the XSLT C library developed for the GNOME project
(but usable outside of the Gnome platform)."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/']
sources = [SOURCE_TAR_XZ]
checksums = ['1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1']

builddependencies = [
('binutils', '2.40'),
('pkgconf', '2.0.3'),
]

dependencies = [
('zlib', '1.2.13'),
('libxml2', '2.11.5'),
]

# Make sure it doesn't pick up OS installed libgcrypt or Python
# enable building static libs
configopts = '--with-crypto=no --with-python=no --enable-static=yes '

sanity_check_paths = {
'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a',
'lib/libexslt.%s' % SHLIB_EXT, 'lib/libexslt.a'],
'dirs': ['include/libxslt', 'include/libexslt'],
}

moduleclass = 'lib'
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'ConfigureMake'

name = 'nettle'
version = '3.9.1'

homepage = 'https://www.lysator.liu.se/~nisse/nettle/'
description = """Nettle is a cryptographic library that is designed to fit easily
in more or less any context: In crypto toolkits for object-oriented
languages (C++, Python, Pike, ...), in applications like LSH or GNUPG,
or even in kernel space."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

source_urls = [GNU_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3']

builddependencies = [
('binutils', '2.40'),
('Autotools', '20220317'),
]

dependencies = [
('GMP', '6.3.0'),
]

configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1

sanity_check_paths = {
'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] +
[('lib/libhogweed.a', 'lib64/libhogweed.a'),
('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT),
('lib/libnettle.a', 'lib64/libnettle.a'),
('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)],
'dirs': ['include/nettle'],
}

moduleclass = 'lib'
126 changes: 126 additions & 0 deletions easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.9-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
easyblock = 'Bundle'

name = 'Xvfb'
version = '21.1.9'

homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml'
description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices.
It emulates a dumb framebuffer using virtual memory."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

builddependencies = [
('binutils', '2.40'),
('pkgconf', '2.0.3'),
('Python', '3.11.5'),
('Meson', '1.2.3'),
('Ninja', '1.11.1'),
('libxslt', '1.1.38'),
('gettext', '0.22'),
('Bison', '3.8.2'),
]

dependencies = [
('X11', '20231019'),
('pixman', '0.42.2'),
('libdrm', '2.4.117'),
('Mesa', '23.1.9'),
('nettle', '3.9.1'),
('libunwind', '1.6.2'),
('XZ', '5.4.4'),
]

default_easyblock = 'ConfigureMake'

local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin "
local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind "
local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11"

# use 'make V=1' to see compiler commands
local_xvfb_buildopts = "V=1 "

# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'"
local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" '
local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"'

default_component_specs = {
'sources': [SOURCE_TAR_GZ],
'start_dir': '%(name)s-%(version)s',
}

local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && "
local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && "

components = [
('mkfontscale', '1.2.2', {
'source_urls': ['https://www.x.org/archive/individual/app/'],
'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'],
}),
('mkfontdir', '1.0.7', {
'source_urls': ['https://www.x.org/archive/individual/app/'],
'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'],
}),
('bdftopcf', '1.1', {
'source_urls': ['https://www.x.org/archive/individual/app/'],
'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'],
}),
('font-util', '1.4.1', {
'source_urls': ['https://www.x.org/archive/individual/font/'],
'checksums': ['f029ae80cdd75d89bee7f7af61c21e07982adfb9f72344a158b99f91f77ef5ed'],
}),
('font-misc-misc', '1.1.3', {
'source_urls': ['https://www.x.org/archive/individual/font/'],
'checksums': ['bece4a9482b3cb6f7fad2164fd3b394d22dfe1ad2f96f60030a703bcff30f5a5'],
'preconfigopts': local_font_misc_preconfigopts,
}),
('xkbcomp', '1.4.6', {
'source_urls': ['https://www.x.org/archive/individual/app/'],
'checksums': ['b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987'],
}),
('xkeyboard-config', '2.40', {
'easyblock': 'MesonNinja',
'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'],
'sources': [SOURCE_TAR_XZ],
'checksums': ['7a3dba1bec7dc7191432da021242d17c9cf6c89690e6c57b0de048ff8c9d2ae3'],
'configopts': '-Dxorg-rules-symlinks=true',
}),
('xauth', '1.1.2', {
'source_urls': ['https://www.x.org/releases/individual/app/'],
'checksums': ['84d27a1023d8da524c134f424b312e53cb96e08871f96868aa20316bfcbbc054'],
}),
('libxcvt', '0.1.2', {
'easyblock': 'MesonNinja',
'source_urls': ['https://www.x.org/archive/individual/lib/'],
'sources': [SOURCE_TAR_XZ],
'checksums': ['0561690544796e25cfbd71806ba1b0d797ffe464e9796411123e79450f71db38'],
}),
(name, version, {
'source_urls': ['https://www.x.org/releases/individual/xserver/'],
'sources': ['xorg-server-%(version)s.tar.gz'],
'patches': [('xvfb-run', '.')],
'checksums': [
'455ac22c411b3e74adb4d1b3fd48b9037b6b5ba9260247c59b669f67a08fd26e', # xorg-server-21.1.9.tar.gz
'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run
],
'start_dir': 'xorg-server-%(version)s',
'configopts': local_xvfb_configopts,
'buildopts': local_xvfb_buildopts,
'installopts': local_xvfb_buildopts,
}),
]

# enable exec permissions for xvfb-run after copying;
# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works
postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"]

sanity_check_paths = {
'files': ['bin/Xvfb', 'bin/xvfb-run'],
'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'],
}

sanity_check_commands = [
"xvfb-run --help",
"xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello",
]

moduleclass = 'vis'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'ConfigureMake'

name = 'xproto'
version = '7.0.31'

homepage = 'https://www.freedesktop.org/wiki/Software/xlibs'
description = "X protocol and ancillary headers"

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}

source_urls = [XORG_PROTO_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7']

builddependencies = [
('binutils', '2.40'),
('xorg-macros', '1.20.0'),
]

sanity_check_paths = {
'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', 'Xatom.h',
'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h',
'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h',
'Xarch.h', 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h',
'Xproto.h', 'Xthreads.h', 'XWDFile.h', 'Xwinsock.h']],
'dirs': []
}

moduleclass = 'devel'

0 comments on commit 713349b

Please sign in to comment.