libfuse: fix build with new glibc (#27376)
glibc 2.34+ breaks libfuse@2 (see https://bugs.gentoo.org/803923). While we are at it, backport a few patches from upstream.
This commit is contained in:
parent
e5a0986433
commit
aac505d4ff
@ -3,6 +3,7 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from spack import *
|
from spack import *
|
||||||
@ -37,6 +38,11 @@ def url_for_version(self, version):
|
|||||||
"which typically sets up udev rules and "
|
"which typically sets up udev rules and "
|
||||||
"and init script in /etc/init.d"))
|
"and init script in /etc/init.d"))
|
||||||
|
|
||||||
|
depends_on('autoconf', type='build', when='@:2')
|
||||||
|
depends_on('automake', type='build', when='@:2')
|
||||||
|
depends_on('libtool', type='build', when='@:2')
|
||||||
|
depends_on('gettext', type='build', when='@:2')
|
||||||
|
|
||||||
provides('fuse')
|
provides('fuse')
|
||||||
conflicts("+useroot", when='~system_install', msg="useroot requires system_install")
|
conflicts("+useroot", when='~system_install', msg="useroot requires system_install")
|
||||||
conflicts('platform=darwin', msg='libfuse does not support OS-X, use macfuse instead')
|
conflicts('platform=darwin', msg='libfuse does not support OS-X, use macfuse instead')
|
||||||
@ -45,6 +51,11 @@ def url_for_version(self, version):
|
|||||||
patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
|
patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
|
||||||
patch('https://src.fedoraproject.org/rpms/fuse3/raw/0519b7bf17c4dd1b31ee704d49f8ed94aa5ba6ab/f/fuse3-gcc11.patch', sha256='3ad6719d2393b46615b5787e71778917a7a6aaa189ba3c3e0fc16d110a8414ec', when='@3: %gcc@11:')
|
patch('https://src.fedoraproject.org/rpms/fuse3/raw/0519b7bf17c4dd1b31ee704d49f8ed94aa5ba6ab/f/fuse3-gcc11.patch', sha256='3ad6719d2393b46615b5787e71778917a7a6aaa189ba3c3e0fc16d110a8414ec', when='@3: %gcc@11:')
|
||||||
|
|
||||||
|
patch('https://github.com/libfuse/libfuse/commit/6d55007027dfe7b75a74899f497f075046cc5404.patch', sha256='d8c54ae932f2e7179dd05081a4a8e7aefd23553a0ef354fa25b1456386d96932', when='@:2')
|
||||||
|
patch('https://github.com/libfuse/libfuse/commit/5d38afc8a5b4a2a6e27aad7a1840046e99cd826d.patch', sha256='7f3e8e54966aca8cb64096bea2cbd4d2679b47f9c1355fe9d442ba8464d74372', when='@:2')
|
||||||
|
# https://bugs.gentoo.org/803923
|
||||||
|
patch('https://github.com/libfuse/libfuse/commit/5a43d0f724c56f8836f3f92411e0de1b5f82db32.patch', sha256='1e8b0a1b2bbaa335d92a3c46e31c928dcd53abe011214a0cbbfa7c11a3a68f1a', when='@:2')
|
||||||
|
|
||||||
executables = ['^fusermount3?$']
|
executables = ['^fusermount3?$']
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -73,6 +84,12 @@ def meson_args(self):
|
|||||||
# Before libfuse 3.x this was an autotools package
|
# Before libfuse 3.x this was an autotools package
|
||||||
@when('@:2')
|
@when('@:2')
|
||||||
def meson(self, spec, prefix):
|
def meson(self, spec, prefix):
|
||||||
|
ar_args = ['-ivf']
|
||||||
|
for dep in self.spec.dependencies(deptype='build'):
|
||||||
|
if os.path.exists(dep.prefix.share.aclocal):
|
||||||
|
ar_args.extend(['-I', dep.prefix.share.aclocal])
|
||||||
|
autoreconf(*ar_args)
|
||||||
|
|
||||||
args = [
|
args = [
|
||||||
"--prefix={0}".format(prefix),
|
"--prefix={0}".format(prefix),
|
||||||
"MOUNT_FUSE_PATH={0}".format(self.prefix.sbin),
|
"MOUNT_FUSE_PATH={0}".format(self.prefix.sbin),
|
||||||
|
Loading…
Reference in New Issue
Block a user