Add fuse virtual dependency, new macfuse package (#23904)
This commit is contained in:
parent
b91dff4aaf
commit
ef56462867
8 changed files with 58 additions and 10 deletions
|
@ -21,12 +21,10 @@ packages:
|
|||
- gcc
|
||||
- intel
|
||||
providers:
|
||||
elf:
|
||||
- libelf
|
||||
unwind:
|
||||
- apple-libunwind
|
||||
uuid:
|
||||
- apple-libuuid
|
||||
elf: [libelf]
|
||||
fuse: [macfuse]
|
||||
unwind: [apple-libunwind]
|
||||
uuid: [apple-libuuid]
|
||||
apple-libunwind:
|
||||
buildable: false
|
||||
externals:
|
||||
|
|
|
@ -24,6 +24,7 @@ packages:
|
|||
elf: [elfutils]
|
||||
fftw-api: [fftw, amdfftw]
|
||||
flame: [libflame, amdlibflame]
|
||||
fuse: [libfuse]
|
||||
gl: [mesa+opengl, mesa18, opengl]
|
||||
glu: [mesa-glu, openglu]
|
||||
glx: [mesa+glx, mesa18+glx, opengl]
|
||||
|
|
|
@ -24,4 +24,4 @@ class FuseOverlayfs(AutotoolsPackage):
|
|||
depends_on('automake', type='build')
|
||||
depends_on('libtool', 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 "
|
||||
"and init script in /etc/init.d"))
|
||||
|
||||
provides('fuse')
|
||||
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
|
||||
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')
|
||||
|
||||
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")
|
||||
|
||||
depends_on('libfuse@2.5:')
|
||||
depends_on('libfuse@:2.99', when='@:0.1.103')
|
||||
depends_on('fuse@2.5:')
|
||||
depends_on('fuse@:2.99', when='@:0.1.103')
|
||||
|
||||
# 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
|
||||
|
|
|
@ -18,7 +18,7 @@ class Sshfs(MesonPackage):
|
|||
version('3.7.1', sha256='fe5d3436d61b46974889e0c4515899c21a9d67851e3793c209989f72353d7750')
|
||||
|
||||
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
|
||||
# external too, since spack's pkgconfig might not be able to locate libfuse.
|
||||
|
|
Loading…
Reference in a new issue