[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