From 429dbe70872b050453d41d8f09733a4deb1ed804 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sun, 19 Oct 2014 00:19:38 +0200 Subject: Rename 605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch to 605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch. It is an nxcomp patch that needs to be applied in the nx-libs-lite _and_ the nx-libs-full tarball release. --- debian/changelog | 4 ++ ...ont-use-STL-internals-on-libc++.full+lite.patch | 52 ++++++++++++++++++++++ ...s.h-dont-use-STL-internals-on-libc++.full.patch | 52 ---------------------- debian/patches/series | 2 +- 4 files changed, 57 insertions(+), 53 deletions(-) create mode 100644 debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch delete mode 100644 debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch diff --git a/debian/changelog b/debian/changelog index f90efa2c3..69fc02d81 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,10 @@ nx-libs (2:3.5.0.28-0x2go1) UNRELEASED; urgency=medium (Description: and Author: field). * Add 607_nxcomp_macosx-X11-launcher-in-private-tmp.full+lite.patch. Fix check for launchd socket path in $DISPLAY on recent Mac OS X systems. + * Rename 605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch to + 605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch. It is + an nxcomp patch that needs to be applied in the nx-libs-lite _and_ the + nx-libs-full tarball release. * debian/libnx-x11.postinst: + Don't use dpkg-architecture (bin:package dpkg-dev) in postinst script. Instead prep a libnx-x11.postinst script at build time. (Fixes: diff --git a/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch b/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch new file mode 100644 index 000000000..60f33ce3f --- /dev/null +++ b/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch @@ -0,0 +1,52 @@ +Description: In Types.h, don't use STL internals on libc++. +Author: Clemens Lang +Abstract: + The nx-libs-lite package does not compile on OS X Mavericks because + Apple's clang compilers now default to compiling against the libc++ STL + rather than (their outdated copy of) libstdc++. + . + While the compiler still allows changing that, we should not rely on + this being possible forever. + . + The compiler chokes in Types.h, specifically the clear() methods in + subclasses of vectors that use implementation details of the GNU STL. + The attached patch fixes these compilation issues by not overriding the + clear() method when compiling against libc++, since the libc++ headers + seem to do essentially the same as the overriden method. +--- a/nxcomp/Types.h 2013-11-05 01:35:22.000000000 +0100 ++++ b/nxcomp/Types.h 2013-11-05 01:37:30.000000000 +0100 +@@ -55,6 +55,9 @@ + return &*(vector < unsigned char >::begin()); + } + ++ // Avoid overriding clear() when using libc++. Fiddling with STL internals ++ // doesn't really seem like a good idea to me anyway. ++ #ifndef _LIBCPP_VECTOR + void clear() + { + #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) +@@ -95,12 +98,16 @@ + + #endif /* #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) */ + } ++ #endif /* #ifdef _LIBCPP_VECTOR */ + }; + + class T_messages : public vector < Message * > + { + public: + ++ // Avoid overriding clear() when using libc++. Fiddling with STL internals ++ // doesn't really seem like a good idea to me anyway. ++ #ifndef _LIBCPP_VECTOR + void clear() + { + #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) +@@ -141,6 +148,7 @@ + + #endif /* #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) */ + } ++ #endif /* #ifndef _LIBCPP_VECTOR */ + }; + + typedef md5_byte_t * T_checksum; diff --git a/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch b/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch deleted file mode 100644 index 60f33ce3f..000000000 --- a/debian/patches/605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch +++ /dev/null @@ -1,52 +0,0 @@ -Description: In Types.h, don't use STL internals on libc++. -Author: Clemens Lang -Abstract: - The nx-libs-lite package does not compile on OS X Mavericks because - Apple's clang compilers now default to compiling against the libc++ STL - rather than (their outdated copy of) libstdc++. - . - While the compiler still allows changing that, we should not rely on - this being possible forever. - . - The compiler chokes in Types.h, specifically the clear() methods in - subclasses of vectors that use implementation details of the GNU STL. - The attached patch fixes these compilation issues by not overriding the - clear() method when compiling against libc++, since the libc++ headers - seem to do essentially the same as the overriden method. ---- a/nxcomp/Types.h 2013-11-05 01:35:22.000000000 +0100 -+++ b/nxcomp/Types.h 2013-11-05 01:37:30.000000000 +0100 -@@ -55,6 +55,9 @@ - return &*(vector < unsigned char >::begin()); - } - -+ // Avoid overriding clear() when using libc++. Fiddling with STL internals -+ // doesn't really seem like a good idea to me anyway. -+ #ifndef _LIBCPP_VECTOR - void clear() - { - #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) -@@ -95,12 +98,16 @@ - - #endif /* #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) */ - } -+ #endif /* #ifdef _LIBCPP_VECTOR */ - }; - - class T_messages : public vector < Message * > - { - public: - -+ // Avoid overriding clear() when using libc++. Fiddling with STL internals -+ // doesn't really seem like a good idea to me anyway. -+ #ifndef _LIBCPP_VECTOR - void clear() - { - #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) -@@ -141,6 +148,7 @@ - - #endif /* #if defined(__STL_USE_STD_ALLOCATORS) || defined(__GLIBCPP_INTERNAL_VECTOR_H) */ - } -+ #endif /* #ifndef _LIBCPP_VECTOR */ - }; - - typedef md5_byte_t * T_checksum; diff --git a/debian/patches/series b/debian/patches/series index 806cb3d29..cf6eaf30d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -66,7 +66,7 @@ 602_nx-X11_initgroups.full.patch 603_nx-X11_compilation_warnings.full.patch 604_nx-X11_recent-freetype-API.full.patch -605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full.patch +605_nxcomp_Types.h-dont-use-STL-internals-on-libc++.full+lite.patch 606_nx-X11_build-on-aarch64.full.patch 607_nxcomp_macosx-X11-launcher-in-private-tmp.full+lite.patch 990_fix-DEBUG-and-TEST-builds.full.patch -- cgit v1.2.3