[MacPorts] #40840: s3fs: Update to 1.73 and switch to OSXFuse
MacPorts
noreply at macports.org
Tue Jun 27 15:29:54 UTC 2017
#40840: s3fs: Update to 1.73 and switch to OSXFuse
----------------------------+--------------------------------
Reporter: genecrucean@… | Owner: macports-tickets@…
Type: update | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: haspatch
Port: s3fs |
----------------------------+--------------------------------
Comment (by huets):
I am new to macports debugging and I will try to make a modest
contribution to solve this problem.
The compilation of s3fs 1.61 also fails on my machine which has the
following configuration:[[BR]]
Apple LLVM version 8.1.0 (clang-802.0.38)[[BR]]
Target: x86_64-apple-darwin16.5.0[[BR]]
Problems:[[BR]]
1) fuse4x not found[[BR]]
2) after installing osxfuse, the previous problem disappear but s3fs does
not build.
the problem is due to the included map file:
{{{
:info:build
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map:478:17:
error: no matching function for call to object of type 'const
case_insensitive_compare_func'
:info:build {return static_cast<const
_Compare&>(*this)(__x.__cc.first, __y);}
:info:build ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__tree:2443:14:
note: in instantiation of member function
'std::__1::__map_value_compare<std::__1::basic_string<char>,
std::__1::__value_type<std::__1::basic_string<char>,
std::__1::basic_string<char> >, case_insensitive_compare_func,
true>::operator()' requested here
}}}
This included map file version seems unsupported:[[BR]]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/map
s3fs compiles after adding this line at the end of the Portfile, to tell
macports to use libstdc++ and not libc++, nevertheless, libstdc++ seems
deprecated.
{{{
configure.cxx_stdlib {libstdc++}
}}}
(I found the instructions to build a local Protfile here:[[BR]]
https://guide.macports.org/chunked/development.local-repositories.html)
I also made the following Portfile to build a newer version of s3f:
{{{
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c
-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name s3fs
version 1.82
revision 1
categories fuse
platforms darwin
maintainers nomaintainer
description Amazon S3 filesystem for FUSE
long_description \
FUSE-based file system backed by Amazon S3. Mount a bucket as a \
local file system read/write. Store files/folders natively and \
transparently.
homepage https://github.com/s3fs-fuse/s3fs-fuse/archive/
distfiles v${version}.tar.gz
master_sites ${homepage}
license GPL-2
checksums rmd160 c57169e56e3b5764cc6f88f9389777db877209c1 \
sha256
8a40f0b11b558b6d733eeff4fcc025cc416df37b6732001bb0c630f6d6d760dd
depends_build path:bin/pkg-config:pkgconfig
depends_lib port:curl \
port:libxml2 \
path:lib/pkgconfig/fuse.pc:osxfuse \
bin:ssh:openssh
post-extract {
file rename ${workpath}/s3fs-fuse-${version} ${workpath}/s3fs-${version}
# https://github.com/s3fs-fuse/s3fs-fuse/issues/600
# https://stackoverflow.com/questions/21903805/how-to-download-a-single-
commit-diff-from-github
# https://owenou.com/ten-things-you-didnt-know-git-and-github-could-do
system -W ${worksrcpath} "wget https://github.com/s3fs-fuse/s3fs-
fuse/commit/0c6a3882a27483f0fd9f5196be7cf3e2836f6654.patch"
system -W ${worksrcpath} "patch --verbose ./src/cache.cpp
./0c6a3882a27483f0fd9f5196be7cf3e2836f6654.patch"
}
# no configure file, have to execute autogen.sh
use_autoreconf yes
}}}
I hope this will help...
--
Ticket URL: <https://trac.macports.org/ticket/40840#comment:11>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list