Skip to content

Commit

Permalink
Merge pull request #21723 from stefan-wolfsheimer/wxWidgets-3.2.6
Browse files Browse the repository at this point in the history
{vis}[GCC/13.3.0] GStreamer-1.24.8-GCC-13.3.0.eb GST-plugins-base-1.24.8-GCC-13.3.0.eb Graphene-1.10.8-GCCcore-13.3.0.eb wxWidgets-3.2.6-GCC-13.3.0.eb
  • Loading branch information
smoors authored Nov 7, 2024
2 parents 2b48bd0 + f234be4 commit 880d6c2
Show file tree
Hide file tree
Showing 5 changed files with 215 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
easyblock = 'MesonNinja'

name = 'GST-plugins-base'
version = '1.24.8'

homepage = 'https://gstreamer.freedesktop.org/'
description = """GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple
Ogg/Vorbis playback, audio/video streaming to complex audio
(mixing) and video (non-linear editing) processing."""

toolchain = {'name': 'GCC', 'version': '13.3.0'}

source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base']
sources = [SOURCELOWER_TAR_XZ]
checksums = ['10fb31743750ccd498d3933e8aaecda563ebc65596a6ab875b47ee936e4b9599']

builddependencies = [
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('GObject-Introspection', '1.80.1'),
('gettext', '0.22.5'),
('pkgconf', '2.2.0'),
('Bison', '3.8.2'),
]

dependencies = [
('zlib', '1.3.1'),
('GLib', '2.80.4'),
('GStreamer', '1.24.8'),
('Gdk-Pixbuf', '2.42.11'),
('X11', '20240607'),
('Mesa', '24.1.3'),
('Graphene', '1.10.8'),
]

sanity_check_paths = {
'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] +
['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']],
'dirs': ['include', 'share']
}

moduleclass = 'vis'
47 changes: 47 additions & 0 deletions easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
easyblock = 'MesonNinja'

name = 'GStreamer'
version = '1.24.8'

homepage = 'https://gstreamer.freedesktop.org/'
description = """GStreamer is a library for constructing graphs of media-handling
components. The applications it supports range from simple
Ogg/Vorbis playback, audio/video streaming to complex audio
(mixing) and video (non-linear editing) processing."""

toolchain = {'name': 'GCC', 'version': '13.3.0'}

source_urls = ['https://%(namelower)s.freedesktop.org/src/%(namelower)s']
sources = [SOURCELOWER_TAR_XZ]
patches = ['%(name)s-1.24_fix_bad_suid.patch']
checksums = ['b807dbf36c5d2b3ce1c604133ed0c737350f9523ce4d8d644a1177c5f9d6ded3', # gstreamer-1.24.8.tar.xz
'e40c8b195cc9d44f2d9b92e57608e097ef8dac6fa761c5610fcb836f88610cb1', # %(name)s-1.24_fix_bad_suid.patch
]

builddependencies = [
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('Perl', '5.38.2'),
('Bison', '3.8.2'),
('flex', '2.6.4'),
('GObject-Introspection', '1.80.1'),
('gettext', '0.22.5'),
('pkgconf', '2.2.0'),
]
dependencies = [
('Python', '3.12.3'),
('zlib', '1.3.1'),
('GMP', '6.3.0'),
('GSL', '2.8'),
('GLib', '2.80.4'),
('libunwind', '1.8.1'),
('elfutils', '0.191'),
]


sanity_check_paths = {
'files': [],
'dirs': ['include', 'share', 'libexec'],
}

moduleclass = 'vis'
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Do NOT make files setuid or try to do setcap.
That's a recipe for disaster.
Åke Sandgren, 20221031
Stefan Wolfsheimer, upated to version 1.24.8

--- gstreamer-1.24.8.orig/libs/gst/helpers/ptp/ptp_helper_post_install.sh 2024-09-19 12:01:21.000000000 +0200
+++ gstreamer-1.24.8/libs/gst/helpers/ptp/ptp_helper_post_install.sh 2024-10-22 17:43:55.971711002 +0200
@@ -11,14 +11,10 @@
setuid-root)
echo "$0: permissions before: "
ls -l "$ptp_helper"
- chown root "$ptp_helper" || true
- chmod u+s "$ptp_helper" || true
echo "$0: permissions after: "
ls -l "$ptp_helper"
;;
capabilities)
- echo "Calling $setcap cap_sys_nice,cap_net_bind_service,cap_net_admin+ep $ptp_helper"
- $setcap cap_sys_nice,cap_net_bind_service,cap_net_admin+ep "$ptp_helper" || true
;;
none)
echo "No perms/caps to set for $ptp_helper"
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
easyblock = 'MesonNinja'

name = 'Graphene'
version = '1.10.8'

homepage = 'https://ebassi.github.io/graphene/'
description = "Graphene is a thin layer of types for graphic libraries"

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

github_account = 'ebassi'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['%(version)s.tar.gz']
checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed']

builddependencies = [
('Meson', '1.4.0'),
('Ninja', '1.12.1'),
('pkgconf', '2.2.0'),
('GObject-Introspection', '1.80.1'),
('binutils', '2.42'),
]
dependencies = [('GLib', '2.80.4')]

configopts = "-Dgobject_types=true -Dintrospection=enabled"

sanity_check_paths = {
'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'],
'dirs': ['include/graphene-1.0', 'lib/pkgconfig'],
}

moduleclass = 'lib'
71 changes: 71 additions & 0 deletions easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
easyblock = 'ConfigureMake'

name = 'wxWidgets'
version = '3.2.6'

homepage = 'https://www.wxwidgets.org'
description = """wxWidgets is a C++ library that lets developers create
applications for Windows, Mac OS X, Linux and other platforms with a
single code base. It has popular language bindings for Python, Perl,
Ruby and many other languages, and unlike other cross-platform toolkits,
wxWidgets gives applications a truly native look and feel because it
uses the platform's native API rather than emulating the GUI."""

toolchain = {'name': 'GCC', 'version': '13.3.0'}
toolchainopts = {'pic': True}

github_account = 'wxWidgets'
source_urls = [GITHUB_RELEASE]
sources = [SOURCE_TAR_BZ2]
checksums = ['939e5b77ddc5b6092d1d7d29491fe67010a2433cf9b9c0d841ee4d04acb9dce7']

builddependencies = [
('gettext', '0.22.5'),
('pkgconf', '2.2.0'),
('Python', '3.12.3'),
]

dependencies = [
('libpng', '1.6.43'),
('zlib', '1.3.1'),
('libjpeg-turbo', '3.0.1'),
('XZ', '5.4.5'),
('jbigkit', '2.1'),
('LibTIFF', '4.6.0'),
('expat', '2.6.2'),
('GTK3', '3.24.42'),
('X11', '20240607'),
('Mesa', '24.1.3'),
('libGLU', '9.0.3'),
('SDL2', '2.30.6'),
('cairo', '1.18.0'),
('GST-plugins-base', '1.24.8'),
('GLib', '2.80.4'),
]

local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include'

preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext

configopts = '--enable-intl --enable-ipv6 '
# Options required by wxPython
configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS '
# Note: the configure step might claim to find OpenGL headers in
# /usr/include, but it will still use the ones from the Mesa dependency above
configopts += '--with-opengl '
configopts += '--enable-unicode --enable-sound --enable-graphics_ctx '
configopts += '--enable-mediactrl --enable-display --enable-geometry '
configopts += '--enable-debug_flag --enable-optimise --disable-debugreport '
configopts += '--enable-autoidman --with-sdl '
configopts += '--disable-webview --disable-webviewwebkit '
configopts += '--disable-tests '


prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext

sanity_check_paths = {
'files': ['bin/wx-config', 'bin/wxrc'],
'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'],
}

moduleclass = 'vis'

0 comments on commit 880d6c2

Please sign in to comment.