Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

[libstxxl] updated to 1.4.0 release #25163

Closed
wants to merge 1 commit into from

5 participants

@DennisOSRM

Updates the formula to today's 1.4.0 release. Simplifies formula as upstream patches were integrated into the release.

@mikemcquaid
Owner

Doesn't build on 10.7/8.

@adamv
Owner
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/lib/common/cmdline.cpp:13:
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/common/cmdline.h:23:
In file included from /tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/common/utils.h:30:
/tmp/libstxxl-dQJR/stxxl-1.4.0/include/stxxl/bits/compat/type_traits.h:20:10: fatal error: 'type_traits' file not found
#include <type_traits>

Is Xcode 4 / TR1 support still expected, or is this Xcode 5 only now?

@DennisOSRM

Already in contact with the maintainer

@mikemcquaid
Owner

May just need appropriate fails_withs.

@mistydemeo
Owner

No core parts of STXXL require C++11.

And support marked back to GCC 3.x, so it should work with libstdc++.

@mistydemeo
Owner

@DennisOSRM Where is that conversation happening?

@DennisOSRM

@mistydemeo private mail exchange so far. Here's the gist:

clang defines GXX_EXPERIMENTAL_CXX0X by default which collides with the ifdefs in include/stxxl/bits/compat/type_traits.h

Most probably it suffices to reorder the checks in that file, but I don"t have a machine to test right now. I am supposed not to misuse the CI test machines for that, right?

@mikemcquaid
Owner

Depends how quick the build is. If it only takes <5m then feel free.

@DennisOSRM

Appended a patch to the PR, but github appears to not pick it up automatically: https://github.com/DennisOSRM/homebrew/compare/libstxxl-1.4.0

@adamv
Owner

You need to git push -f to update here.

@mikemcquaid
Owner

@adamv Think this is something weird with PRs post-migration, actually.

@adamv
Owner

@BrewTestBot test this please

@adamv adamv self-assigned this
@adamv adamv referenced this pull request from a commit
@DennisOSRM DennisOSRM libstxxl 1.4.0
Closes #25163.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
6b64acd
@adamv adamv referenced this pull request
Closed

libstxxl 1.4.0 #27317

@adamv
Owner

Doesn't seem to be working on 10.8 or 10.7: #27317

@adamv
Owner

Homepage says "Mac OS X - clang++ (3.3)" so presumably this should work on 10.8 with Xcode 5.

@adamv
Owner

This Cmake build is not specifying the install prefix, and this software is trying to install directly into /usr/local now instead of the prefix.

@adamv
Owner

This needs to be rebased on master for further review.

@adamv
Owner

Probably going to redact this entirely from the main repo.

@DennisOSRM

rebased to master.

@DennisOSRM DennisOSRM [libstxxl] updated to 1.4.0 release
fix compilation on 10.7 and 10.8

apply patch on old OS X versions, further include fixes for 10.7/10.8
f59084a
@DennisOSRM

also squashed into a single commit. Is there a way to trigger a rebuild by the jenkins bot?

@adamv
Owner

force-pushing retriggers the bot

@adamv
Owner

@Homebrew/owners can a maintainer with better knowledge of the C++11 DSL bits take a look at this?

@adamv adamv removed their assignment
@mistydemeo
Owner

@BrewTestBot test this please

@mistydemeo
Owner

This fails on 10.7 and 10.8 still. Is it expected to build there?

See #29505 for what happens when they're built in C++11 mode.

@mistydemeo
Owner

The error:

/tmp/libstxxl-nYie/stxxl-1.4.0/include/stxxl/bits/compat/type_traits.h:33:7: error: no member named 'remove_const' in namespace 'std'; did you mean 'std::tr1::remove_const'?
using std::remove_const;
      ^~~~~~~~~~~~~~~~~
      std::tr1::remove_const
/usr/include/c++/4.2.1/tr1/type_traits:521:12: note: 'std::tr1::remove_const' declared here
    struct remove_const
           ^
@mistydemeo
Owner

Reported the issue upstream: stxxl/stxxl#7

@nijikon nijikon referenced this pull request
Closed

libstxxl 1.4.0 #29980

@nijikon

@mikemcquaid We can close this, #29980 fixed it.

@mikemcquaid mikemcquaid closed this
@mikemcquaid
Owner

@nijikon In these cases add "Closes #25163" in the commit message, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 12, 2014
  1. @DennisOSRM

    [libstxxl] updated to 1.4.0 release

    DennisOSRM authored
    fix compilation on 10.7 and 10.8
    
    apply patch on old OS X versions, further include fixes for 10.7/10.8
This page is out of date. Refresh to see the latest.
Showing with 77 additions and 39 deletions.
  1. +77 −39 Library/Formula/libstxxl.rb
View
116 Library/Formula/libstxxl.rb
@@ -2,51 +2,89 @@
class Libstxxl < Formula
homepage 'http://stxxl.sourceforge.net/'
- url 'https://downloads.sourceforge.net/project/stxxl/stxxl/1.3.1/stxxl-1.3.1.tar.gz'
- sha1 '5fba2bb26b919a07e966b2f69ae29aa671892a7d'
+ url 'https://github.com/stxxl/stxxl/archive/1.4.0.tar.gz'
+ sha1 '57230314bf136e477d6d96d0f68030af1f652278'
# issue has been rectified in upstream and future 1.4.0 release
- patch :DATA if MacOS.version >= :mavericks
+ depends_on 'cmake' => :build
+
+ # compile fixes for 10.7 and 10.8, submitted upstream
+ # https://github.com/stxxl/stxxl/pull/2
+ def patches; DATA; end if MacOS.version < :mavericks
def install
- ENV['COMPILER'] = ENV.cxx
- if MacOS.version >= :mavericks
- inreplace 'make.settings.gnu' do |s|
- s.gsub! /USE_MACOSX.*no/, 'USE_MACOSX ?= yes#'
- s.gsub! /#STXXL_SPECIFIC\s*\+=.*$/, 'STXXL_SPECIFIC += -std=c++0x'
- end
+ mkdir "build" do
+ system "cmake", "..", "-DCMAKE_BUILD_TYPE=Release"
+ system "make install"
end
- system "make", "config_gnu", "USE_MACOSX=yes"
- system "make", "library_g++", "USE_MACOSX=yes"
-
- prefix.install 'include'
- lib.install 'lib/libstxxl.a'
end
end
__END__
-Index: utils/mlock.cpp
-===================================================================
---- stxxl-1.3.1/utils/mlock.cpp (revision 3229)
-+++ stxxl-1.3.1/utils/mlock.cpp (working copy)
-@@ -18,6 +18,9 @@
- #include <iostream>
- #include <sys/mman.h>
-
-+#include <chrono>
-+#include <thread>
-+
- int main(int argc, char ** argv)
- {
- if (argc == 2) {
-@@ -28,8 +31,9 @@
- c[i] = 42;
- if (mlock(c, M) == 0) {
- std::cout << "mlock(, " << M << ") successful, press Ctrl-C to finish" << std::endl;
-+ std::chrono::seconds duration(86400);
- while (1)
-- sleep(86400);
-+ std::this_thread::sleep_for(duration);
- } else {
- std::cerr << "mlock(, " << M << ") failed!" << std::endl;
- return 1;
+diff --git a/include/stxxl/bits/compat/hash_map.h b/include/stxxl/bits/compat/hash_map.h
+index d955b31..8c5c365 100644
+--- a/include/stxxl/bits/compat/hash_map.h
++++ b/include/stxxl/bits/compat/hash_map.h
+@@ -19,7 +19,7 @@
+ #include <stxxl/bits/config.h>
+ #include <stxxl/bits/namespace.h>
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ #include <unordered_map>
+ #elif STXXL_MSVC
+ #include <hash_map>
+@@ -34,7 +34,7 @@ STXXL_BEGIN_NAMESPACE
+
+ template <class _Tp>
+ struct compat_hash {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ typedef std::hash<_Tp> result;
+ #elif STXXL_MSVC
+ typedef stdext::hash_compare<_Tp> result;
+@@ -48,7 +48,7 @@ struct compat_hash {
+
+ template <class _Key, class _Tp, class _Hash = typename compat_hash<_Key>::result>
+ struct compat_hash_map {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ typedef std::unordered_map<_Key, _Tp, _Hash> result;
+ #elif STXXL_MSVC
+ typedef stdext::hash_map<_Key, _Tp, _Hash> result;
+diff --git a/include/stxxl/bits/compat/type_traits.h b/include/stxxl/bits/compat/type_traits.h
+index 08a519e..8ec51be 100644
+--- a/include/stxxl/bits/compat/type_traits.h
++++ b/include/stxxl/bits/compat/type_traits.h
+@@ -16,7 +16,7 @@
+ #include <stxxl/bits/config.h>
+ #include <stxxl/bits/namespace.h>
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+-#include <type_traits>
++#include <tr1/type_traits>
+ #elif defined(__GNUG__) && (__GNUC__ >= 4)
+ #include <tr1/type_traits>
+@@ -29,7 +29,7 @@ STXXL_BEGIN_NAMESPACE
+
+ namespace compat {
+
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if __cplusplus >= 201103L
+ using std::remove_const;
+ #elif defined(__GNUG__) && (__GNUC__ >= 4)
+ using std::tr1::remove_const;
+diff --git a/include/stxxl/bits/compat/unique_ptr.h b/include/stxxl/bits/compat/unique_ptr.h
+index 7554a0a..e1ecaf0 100644
+--- a/include/stxxl/bits/compat/unique_ptr.h
++++ b/include/stxxl/bits/compat/unique_ptr.h
+@@ -24,7 +24,7 @@ STXXL_BEGIN_NAMESPACE
+
+ template <class _Tp>
+ struct compat_unique_ptr {
+-#if defined(__GXX_EXPERIMENTAL_CXX0X__) && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400)
++#if __cplusplus >= 201103L && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400)
+ typedef std::unique_ptr<_Tp> result;
+ #else
+ // auto_ptr is inherently broken and is deprecated by unique_ptr in c++0x
Something went wrong with that request. Please try again.