Add fuse virtual dependency, new macfuse package (#23904)
This commit is contained in:
parent
b91dff4aaf
commit
ef56462867
@ -21,12 +21,10 @@ packages:
|
|||||||
- gcc
|
- gcc
|
||||||
- intel
|
- intel
|
||||||
providers:
|
providers:
|
||||||
elf:
|
elf: [libelf]
|
||||||
- libelf
|
fuse: [macfuse]
|
||||||
unwind:
|
unwind: [apple-libunwind]
|
||||||
- apple-libunwind
|
uuid: [apple-libuuid]
|
||||||
uuid:
|
|
||||||
- apple-libuuid
|
|
||||||
apple-libunwind:
|
apple-libunwind:
|
||||||
buildable: false
|
buildable: false
|
||||||
externals:
|
externals:
|
||||||
|
@ -24,6 +24,7 @@ packages:
|
|||||||
elf: [elfutils]
|
elf: [elfutils]
|
||||||
fftw-api: [fftw, amdfftw]
|
fftw-api: [fftw, amdfftw]
|
||||||
flame: [libflame, amdlibflame]
|
flame: [libflame, amdlibflame]
|
||||||
|
fuse: [libfuse]
|
||||||
gl: [mesa+opengl, mesa18, opengl]
|
gl: [mesa+opengl, mesa18, opengl]
|
||||||
glu: [mesa-glu, openglu]
|
glu: [mesa-glu, openglu]
|
||||||
glx: [mesa+glx, mesa18+glx, opengl]
|
glx: [mesa+glx, mesa18+glx, opengl]
|
||||||
|
@ -24,4 +24,4 @@ class FuseOverlayfs(AutotoolsPackage):
|
|||||||
depends_on('automake', type='build')
|
depends_on('automake', type='build')
|
||||||
depends_on('libtool', type='build')
|
depends_on('libtool', type='build')
|
||||||
depends_on('m4', type='build')
|
depends_on('m4', type='build')
|
||||||
depends_on('libfuse')
|
depends_on('fuse')
|
||||||
|
@ -34,7 +34,9 @@ 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"))
|
||||||
|
|
||||||
|
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')
|
||||||
|
|
||||||
# Drops the install script which does system configuration
|
# Drops the install script which does system configuration
|
||||||
patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
|
patch('0001-Do-not-run-install-script.patch', when='@3: ~system_install')
|
||||||
|
46
var/spack/repos/builtin/packages/macfuse/package.py
Normal file
46
var/spack/repos/builtin/packages/macfuse/package.py
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
||||||
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Macfuse(Package):
|
||||||
|
"""FUSE for macOS allows you to extend macOS via third party file systems."""
|
||||||
|
|
||||||
|
homepage = "https://osxfuse.github.io/"
|
||||||
|
git = "https://github.com/osxfuse/osxfuse.git"
|
||||||
|
has_code = False # only distributed in binary form
|
||||||
|
|
||||||
|
version('4.1.2')
|
||||||
|
|
||||||
|
provides('fuse')
|
||||||
|
conflicts('platform=linux', msg='macfuse does not support linux, use libfuse instead')
|
||||||
|
conflicts('platform=cray', msg='macfuse does not support cray, use libfuse instead')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
msg = """
|
||||||
|
macFUSE is only distributed in binary form.
|
||||||
|
To use macFUSE with Spack, manually download the .dmg from:
|
||||||
|
|
||||||
|
https://github.com/osxfuse/osxfuse/releases
|
||||||
|
|
||||||
|
and double-click to install. Once macFUSE is installed,
|
||||||
|
add it as an external package by running:
|
||||||
|
|
||||||
|
$ spack config edit packages
|
||||||
|
|
||||||
|
and add an entry like so:
|
||||||
|
|
||||||
|
packages:
|
||||||
|
macfuse:
|
||||||
|
buildable: false
|
||||||
|
externals:
|
||||||
|
- spec: macfuse@4.1.2
|
||||||
|
prefix: /Library/Frameworks/macFUSE.framework"""
|
||||||
|
|
||||||
|
raise InstallError(msg)
|
||||||
|
|
||||||
|
def setup_dependent_run_environment(self, env, dependent_spec):
|
||||||
|
env.set('FUSE_LIBRARY_PATH', self.prefix.macFUSE)
|
@ -17,3 +17,4 @@ class PyFusepy(PythonPackage):
|
|||||||
version('2.0.4', sha256='10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86a838ff49cdaf6c')
|
version('2.0.4', sha256='10f5c7f5414241bffecdc333c4d3a725f1d6605cae6b4eaf86a838ff49cdaf6c')
|
||||||
|
|
||||||
depends_on('py-setuptools', type='build')
|
depends_on('py-setuptools', type='build')
|
||||||
|
depends_on('fuse@2.6:')
|
||||||
|
@ -31,8 +31,8 @@ class Squashfuse(AutotoolsPackage):
|
|||||||
|
|
||||||
conflicts('~shared', when='~static', msg="Enable shared, static or both")
|
conflicts('~shared', when='~static', msg="Enable shared, static or both")
|
||||||
|
|
||||||
depends_on('libfuse@2.5:')
|
depends_on('fuse@2.5:')
|
||||||
depends_on('libfuse@:2.99', when='@:0.1.103')
|
depends_on('fuse@:2.99', when='@:0.1.103')
|
||||||
|
|
||||||
# Note: typically libfuse is external, but this implies that you have to make
|
# Note: typically libfuse is external, but this implies that you have to make
|
||||||
# pkg-config external too, because spack's pkg-config doesn't know how to
|
# pkg-config external too, because spack's pkg-config doesn't know how to
|
||||||
|
@ -18,7 +18,7 @@ class Sshfs(MesonPackage):
|
|||||||
version('3.7.1', sha256='fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750')
|
version('3.7.1', sha256='fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750')
|
||||||
|
|
||||||
depends_on('glib')
|
depends_on('glib')
|
||||||
depends_on('libfuse@3.1.0:')
|
depends_on('fuse@3.1.0:')
|
||||||
|
|
||||||
# used for libfuse; when libfuse is external, make sure that pkgconfig is
|
# used for libfuse; when libfuse is external, make sure that pkgconfig is
|
||||||
# external too, since spack's pkgconfig might not be able to locate libfuse.
|
# external too, since spack's pkgconfig might not be able to locate libfuse.
|
||||||
|
Loading…
Reference in New Issue
Block a user