diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb new file mode 100644 index 000000000000..13311a9a434c --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.24.8-GCC-13.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb new file mode 100644 index 000000000000..5c3ef3f7b456 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24.8-GCC-13.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_fix_bad_suid.patch b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_fix_bad_suid.patch new file mode 100644 index 000000000000..c7497079889c --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.24_fix_bad_suid.patch @@ -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" diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..d2ff38adec0b --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb new file mode 100644 index 000000000000..0c9c8976770f --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.6-GCC-13.3.0.eb @@ -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'