From 3a970407d9639a2bd572ace3ba21e9bb4cadb4a5 Mon Sep 17 00:00:00 2001 From: Pavel Holba Date: Fri, 1 Nov 2024 14:40:59 +0100 Subject: [PATCH] new file: f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb new file: f/FUSE/FUSE-3.2.6_skip-utils.patch new file: f/fuse3-libs/fuse3-libs-3.3.0-19.eb --- f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb | 31 +++++++++++ f/FUSE/FUSE-3.2.6_skip-utils.patch | 53 +++++++++++++++++++ f/fuse3-libs/fuse3-libs-3.3.0-19.eb | 38 +++++++++++++ ....5.2.eb => squashfuse-0.5.2-GCC-12.3.0.eb} | 5 +- 4 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb create mode 100644 f/FUSE/FUSE-3.2.6_skip-utils.patch create mode 100644 f/fuse3-libs/fuse3-libs-3.3.0-19.eb rename s/squashfuse/{squashfuse-0.5.2.eb => squashfuse-0.5.2-GCC-12.3.0.eb} (89%) diff --git a/f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb b/f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000..2a8864cf --- /dev/null +++ b/f/FUSE/FUSE-3.2.6-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'MesonNinja' + +name = 'FUSE' +version = '3.2.6' + +homepage = 'https://github.com/libfuse/libfuse' +description = "The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libfuse/libfuse/releases/download/fuse-%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['FUSE-3.2.6_skip-utils.patch'] +checksums = [ + 'cea4dad559b3fbdbb8e4ad5f9df6083fdb7f2b904104bd507ef790d311d271cf', # fuse-3.2.6.tar.xz + '92b23223b3de7996440bf447a5023a3c2f88ef4345a2b76708023dde3c154533', # FUSE-3.2.6_skip-utils.patch +] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +configopts = '-Dutils=false' + +sanity_check_paths = { + 'files': ['lib64/libfuse%%(version_major)s.%s' % SHLIB_EXT, 'lib64/pkgconfig/fuse%(version_major)s.pc'], + 'dirs': ['include/fuse%(version_major)s'], +} + +moduleclass = 'lib' diff --git a/f/FUSE/FUSE-3.2.6_skip-utils.patch b/f/FUSE/FUSE-3.2.6_skip-utils.patch new file mode 100644 index 00000000..2bd678eb --- /dev/null +++ b/f/FUSE/FUSE-3.2.6_skip-utils.patch @@ -0,0 +1,53 @@ +add support for skip building of utils (which require root permissions to install) +cfr. https://github.com/libfuse/libfuse/pull/296 +From fec26c591d46ede494f3b2260a554348923a4bb8 Mon Sep 17 00:00:00 2001 +From: Martin Blanchard +Date: Fri, 7 Sep 2018 00:07:19 +0100 +Subject: [PATCH] Add build options for utils and examples + +Allow skipping utils build & installation (-Dutils=false) and examples +build (-Dexamples=false). By default behaviour is unchanged (both are +true: utils and examples get build). +--- + meson.build | 11 ++++++++--- + meson_options.txt | 6 ++++++ + 2 files changed, 14 insertions(+), 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 6d4aef79..7df434b7 100644 +--- a/meson.build ++++ b/meson.build +@@ -92,10 +92,15 @@ thread_dep = dependency('threads') + # + # Read build files from sub-directories + # +-subdirs = [ 'lib', 'include', 'example', 'doc', 'test' ] +-if not platform.endswith('bsd') and platform != 'dragonfly' +- subdirs += 'util' ++subdirs = [ 'lib', 'include', 'test' ] ++if get_option('utils') and not platform.endswith('bsd') and platform != 'dragonfly' ++ subdirs += [ 'util', 'doc' ] + endif ++ ++if get_option('examples') ++ subdirs += 'example' ++endif ++ + foreach n : subdirs + subdir(n) + endforeach +diff --git a/meson_options.txt b/meson_options.txt +index 983fcacc..c08e38e4 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -3,3 +3,9 @@ option('disable-mtab', type : 'boolean', value : false, + + option('udevrulesdir', type : 'string', value : '', + description: 'Where to install udev rules (if empty, query pkg-config(1))') ++ ++option('utils', type : 'boolean', value : true, ++ description: 'Wheter or not to build and install helper programs') ++ ++option('examples', type : 'boolean', value : true, ++ description: 'Wheter or not to build example programs') +\ No newline at end of file diff --git a/f/fuse3-libs/fuse3-libs-3.3.0-19.eb b/f/fuse3-libs/fuse3-libs-3.3.0-19.eb new file mode 100644 index 00000000..2e74df2a --- /dev/null +++ b/f/fuse3-libs/fuse3-libs-3.3.0-19.eb @@ -0,0 +1,38 @@ +# IT4Innovations +# PH 2024 + +easyblock = 'Binary' + +name = 'fuse3-libs' +version = '3.3.0-19' +toolchain = SYSTEM + +homepage = 'http://fuse.sf.net' +description = "File System in Userspace (FUSE) v3 libraries" +# license = 'LGPLv2+' + +# Rocky Linux BaseOS x86_64 Official repository URL +source_urls = ['https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/f'] +sources = ['fuse3-libs-3.3.0-19.el8.x86_64.rpm'] +checksums = ['e3d7a931410bdd4a0c1339332e30a06699da1d2f2daf56145e70b229492d4c81'] + +#dependencies = [ +# ('glibc', '2.28'), # Provides `libc.so.6(GLIBC_2.28)(64bit)` +#] + +sanity_check_paths = { + 'files': ['lib64/libfuse3.so.3', 'lib64/libfuse3.so.3.3.0'], + 'dirs': ['/usr/lib64'] +} + +moduleclass = 'tools' + +#postinstallcmds = [ + # Linking to /usr/lib64 ensures that programs can find the libraries +# 'ln -s %(installdir)s/lib64/libfuse3.so.3 /usr/lib64/libfuse3.so.3', +#] + +postinstallcmds = [ + # Create a symbolic link for the library + 'ln -s %(installdir)s/lib64/libfuse3.so.3.3.0 %(installdir)s/lib64/libfuse3.so.3' +] diff --git a/s/squashfuse/squashfuse-0.5.2.eb b/s/squashfuse/squashfuse-0.5.2-GCC-12.3.0.eb similarity index 89% rename from s/squashfuse/squashfuse-0.5.2.eb rename to s/squashfuse/squashfuse-0.5.2-GCC-12.3.0.eb index e2682fd4..4b808db4 100644 --- a/s/squashfuse/squashfuse-0.5.2.eb +++ b/s/squashfuse/squashfuse-0.5.2-GCC-12.3.0.eb @@ -19,8 +19,9 @@ checksums = ['54e4baaa20796e86a214a1f62bab07c7c361fb7a598375576d585712691178f5'] toolchain = {'name': 'GCC', 'version': '12.3.0'} dependencies = [ - ('FUSE', '3.16.2'), - ('zlib', '1.2.13') + ('FUSE', '3.2.6'), + ('zlib', '1.2.13'), + # ('fuse3-libs', '3.3.0-19','',True) ]