[Git][debian-gis-team/tilemaker][patch-queue/master] 10 commits: Cleanup changelog and add TODO.
ǝɹʇʇɐʃǝ◖ xıʃǝɟ (@xamanu)
gitlab at salsa.debian.org
Tue Aug 9 16:22:09 BST 2022
ǝɹʇʇɐʃǝ◖ xıʃǝɟ pushed to branch patch-queue/master at Debian GIS Project / tilemaker
Commits:
f3a39921 by Bas Couwenberg at 2022-08-03T05:40:17+02:00
Cleanup changelog and add TODO.
- - - - -
59ca3a71 by Bas Couwenberg at 2022-08-03T07:39:42+02:00
Set distribution back to UNRELEASED.
- - - - -
9fbe328a by Felix Delattre at 2022-08-03T07:53:42+00:00
Adjusted copyright information.
- - - - -
e1556c13 by Felix Delattre at 2022-08-03T07:53:54+00:00
Removed pedantic linitian error override.
- - - - -
a0480298 by Felix Delattre at 2022-08-03T08:21:25+00:00
Set distribution to unstable.
- - - - -
b7fde355 by Felix Delattre at 2022-08-03T12:58:15+00:00
Added libatomic for armel, mipsel and powerpc architectures.
- - - - -
d15deb83 by Felix Delattre at 2022-08-03T13:09:43+00:00
Set distribution back to UNRELEASED.
- - - - -
73459bc0 by Felix Delattre at 2022-08-09T15:20:20+00:00
Added patch to include latomic flag when needed.
- - - - -
3fae4194 by Felix Delattre at 2022-08-09T15:21:21+00:00
Fix manpage in makefile.
Origin: https://github.com/systemed/tilemaker/pull/423/commits/b810fd7102a43840fd60f2fac139ec745a1db5c4
Bug: https://github.com/systemed/tilemaker/pull/423
Gbp-Pq: Name 0001-Fix-manpage-in-makefiles.patch
- - - - -
f0585256 by Felix Delattre at 2022-08-09T15:21:21+00:00
Check and add latomic
Origin: https://github.com/systemed/tilemaker/pull/427/commits/d837f3ac82668d72ffd6877152824405cf6b124e
Bug: https://github.com/systemed/tilemaker/pull/427
Gbp-Pq: Name 0002-Check-and-add-latomic.patch
- - - - -
10 changed files:
- CMakeLists.txt
- Makefile
- + cmake/CheckCxxAtomic.cmake
- debian/changelog
- debian/copyright
- debian/patches/0001-Fix-manpage-in-makefiles.patch
- + debian/patches/0002-Check-and-add-latomic.patch
- debian/patches/series
- debian/rules
- − debian/source/lintian-overrides
Changes:
=====================================
CMakeLists.txt
=====================================
@@ -106,12 +106,20 @@ file(GLOB tilemaker_src_files
src/tilemaker.cpp
src/write_geometry.cpp
)
+
add_executable(tilemaker vector_tile.pb.cc osmformat.pb.cc ${tilemaker_src_files})
target_link_libraries(tilemaker ${PROTOBUF_LIBRARY} ${LIBSHP_LIBRARIES} ${SQLITE3_LIBRARIES} ${LUAJIT_LIBRARY} ${LUA_LIBRARIES} ${ZLIB_LIBRARY} ${THREAD_LIB} ${CMAKE_DL_LIBS}
Boost::system Boost::filesystem Boost::program_options Boost::iostreams)
+include(CheckCxxAtomic)
+if(NOT HAVE_CXX11_ATOMIC)
+ string(APPEND CMAKE_CXX_STANDARD_LIBRARIES
+ " ${LIBATOMIC_LINK_FLAGS}")
+endif()
+
if(MSVC)
target_link_libraries(tilemaker unofficial::sqlite3::sqlite3)
endif()
+install(FILES docs/man/tilemaker.1 DESTINATION share/man/man1)
install(TARGETS tilemaker RUNTIME DESTINATION bin)
=====================================
Makefile
=====================================
@@ -101,8 +101,8 @@ tilemaker: include/osmformat.pb.o include/vector_tile.pb.o src/mbtiles.o src/pbf
install:
install -m 0755 -d $(DESTDIR)$(prefix)/bin/
install -m 0755 tilemaker $(DESTDIR)$(prefix)/bin/
- install -d ${DESTDIR}${MANPREFIX}/man1/
- -install docs/man/tilemaker.1 ${DESTDIR}${MANPREFIX}/man1/
+ install -m 0755 -d ${DESTDIR}${MANPREFIX}/man1/
+ install docs/man/tilemaker.1 ${DESTDIR}${MANPREFIX}/man1/
clean:
rm -f tilemaker src/*.o include/*.o include/*.pb.h
=====================================
cmake/CheckCxxAtomic.cmake
=====================================
@@ -0,0 +1,66 @@
+# some platforms do not offer support for atomic primitive for all integer
+# types, in that case we need to link against libatomic
+
+include(CheckCXXSourceCompiles)
+include(CMakePushCheckState)
+
+
+function(check_cxx_atomics var)
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
+ check_cxx_source_compiles("
+#include <atomic>
+#include <cstdint>
+#include <cstddef>
+#if defined(__SIZEOF_INT128__)
+// Boost needs 16-byte atomics for tagged pointers.
+// These are implemented via inline instructions on the platform
+// if 16-byte alignment can be proven, and are delegated to libatomic
+// library routines otherwise. Whether or not alignment is provably
+// OK for a std::atomic unfortunately depends on compiler version and
+// optimization levels, and also on the details of the expression.
+// We specifically test access via an otherwise unknown pointer here
+// to ensure we get the most complex case. If this access can be
+// done without libatomic, then all accesses can be done.
+struct tagged_ptr {
+ int* ptr;
+ std::size_t tag;
+};
+void atomic16(std::atomic<tagged_ptr> *ptr)
+{
+ tagged_ptr p{nullptr, 1};
+ ptr->store(p);
+ tagged_ptr f = ptr->load();
+ tagged_ptr new_tag{nullptr, 0};
+ ptr->compare_exchange_strong(f, new_tag);
+}
+#endif
+int main() {
+#if defined(__SIZEOF_INT128__)
+ std::atomic<tagged_ptr> ptr;
+ atomic16(&ptr);
+#endif
+ std::atomic<uint8_t> w1;
+ std::atomic<uint16_t> w2;
+ std::atomic<uint32_t> w4;
+ std::atomic<uint64_t> w8;
+ return w1 + w2 + w4 + w8;
+}
+" ${var})
+endfunction(check_cxx_atomics)
+
+cmake_push_check_state()
+check_cxx_atomics(HAVE_CXX11_ATOMIC)
+cmake_pop_check_state()
+
+if(NOT HAVE_CXX11_ATOMIC)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_LIBRARIES "atomic")
+ check_cxx_atomics(HAVE_LIBATOMIC)
+ cmake_pop_check_state()
+ if(HAVE_LIBATOMIC)
+ set(LIBATOMIC_LINK_FLAGS "-latomic")
+ else()
+ message(FATAL_ERROR
+ "Host compiler ${CMAKE_CXX_COMPILER} requires libatomic, but it is not found")
+ endif()
+endif()
=====================================
debian/changelog
=====================================
@@ -1,20 +1,19 @@
+tilemaker (2.2.0-2) UNRELEASED; urgency=medium
+
+ * Added libatomic for armel, mipsel and powerpc architectures.
+
+ -- Felix Delattre <debian at xama.nu> Wed, 03 Aug 2022 12:57:08 +0000
+
tilemaker (2.2.0-1) unstable; urgency=medium
[ Felix Delattre ]
-
* New upstream release 2.2.0.
- * Lintian: ignore very-long-line-length-in-source-file.
- It's not a useful check, for fonts and test data
* Updated patches.
- * Updated copyright information.
- * New upstream release 2.1.0.
[ Bas Couwenberg ]
-
- * Team upload.
* Bump Standards-Version to 4.6.1, no changes.
- -- Felix Delattre <debian at xama.nu> Tue, 02 Aug 2022 23:40:33 +0000
+ -- Felix Delattre <debian at xama.nu> Wed, 03 Aug 2022 08:20:20 +0000
tilemaker (2.0.0+ds-1) unstable; urgency=medium
=====================================
debian/copyright
=====================================
@@ -4,7 +4,7 @@ Upstream-Contact: Richard Fairhurst <richard at systemed.net>
Source: https://github.com/systemed/tilemaker
Files: *
-Copyright: 2015-2022, tilemaker contributors
+Copyright: 2015-2021, tilemaker contributors
License: FTWPL
Files: include/sqlite_modern_cpp.h
@@ -30,7 +30,6 @@ License: OFL-1.1
Files: debian/*
Copyright: 2021-2022, Felix Delattre <debian at xama.nu>
- 2022, Bas Couwenberg <sebastic at debian.org>
License: GPL-2+
License: FTWPL
=====================================
debian/patches/0001-Fix-manpage-in-makefiles.patch
=====================================
@@ -1,9 +1,9 @@
From: Felix Delattre <felix at delattre.de>
Date: Tue, 2 Aug 2022 22:04:10 +0000
Subject: Fix manpage in makefile.
+
Origin: https://github.com/systemed/tilemaker/pull/423/commits/b810fd7102a43840fd60f2fac139ec745a1db5c4
Bug: https://github.com/systemed/tilemaker/pull/423
-
---
CMakeLists.txt | 1 +
Makefile | 4 ++--
=====================================
debian/patches/0002-Check-and-add-latomic.patch
=====================================
@@ -0,0 +1,106 @@
+From: Felix Delattre <felix at delattre.de>
+Date: Mon, 8 Aug 2022 19:18:34 +0000
+Subject: Check and add latomic
+
+Origin: https://github.com/systemed/tilemaker/pull/427/commits/d837f3ac82668d72ffd6877152824405cf6b124e
+Bug: https://github.com/systemed/tilemaker/pull/427
+---
+ CMakeLists.txt | 7 +++++
+ cmake/CheckCxxAtomic.cmake | 66 ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 73 insertions(+)
+ create mode 100644 cmake/CheckCxxAtomic.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 78bfa5c..204f612 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -106,10 +106,17 @@ file(GLOB tilemaker_src_files
+ src/tilemaker.cpp
+ src/write_geometry.cpp
+ )
++
+ add_executable(tilemaker vector_tile.pb.cc osmformat.pb.cc ${tilemaker_src_files})
+ target_link_libraries(tilemaker ${PROTOBUF_LIBRARY} ${LIBSHP_LIBRARIES} ${SQLITE3_LIBRARIES} ${LUAJIT_LIBRARY} ${LUA_LIBRARIES} ${ZLIB_LIBRARY} ${THREAD_LIB} ${CMAKE_DL_LIBS}
+ Boost::system Boost::filesystem Boost::program_options Boost::iostreams)
+
++include(CheckCxxAtomic)
++if(NOT HAVE_CXX11_ATOMIC)
++ string(APPEND CMAKE_CXX_STANDARD_LIBRARIES
++ " ${LIBATOMIC_LINK_FLAGS}")
++endif()
++
+ if(MSVC)
+ target_link_libraries(tilemaker unofficial::sqlite3::sqlite3)
+ endif()
+diff --git a/cmake/CheckCxxAtomic.cmake b/cmake/CheckCxxAtomic.cmake
+new file mode 100644
+index 0000000..a4c8a77
+--- /dev/null
++++ b/cmake/CheckCxxAtomic.cmake
+@@ -0,0 +1,66 @@
++# some platforms do not offer support for atomic primitive for all integer
++# types, in that case we need to link against libatomic
++
++include(CheckCXXSourceCompiles)
++include(CMakePushCheckState)
++
++
++function(check_cxx_atomics var)
++ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
++ check_cxx_source_compiles("
++#include <atomic>
++#include <cstdint>
++#include <cstddef>
++#if defined(__SIZEOF_INT128__)
++// Boost needs 16-byte atomics for tagged pointers.
++// These are implemented via inline instructions on the platform
++// if 16-byte alignment can be proven, and are delegated to libatomic
++// library routines otherwise. Whether or not alignment is provably
++// OK for a std::atomic unfortunately depends on compiler version and
++// optimization levels, and also on the details of the expression.
++// We specifically test access via an otherwise unknown pointer here
++// to ensure we get the most complex case. If this access can be
++// done without libatomic, then all accesses can be done.
++struct tagged_ptr {
++ int* ptr;
++ std::size_t tag;
++};
++void atomic16(std::atomic<tagged_ptr> *ptr)
++{
++ tagged_ptr p{nullptr, 1};
++ ptr->store(p);
++ tagged_ptr f = ptr->load();
++ tagged_ptr new_tag{nullptr, 0};
++ ptr->compare_exchange_strong(f, new_tag);
++}
++#endif
++int main() {
++#if defined(__SIZEOF_INT128__)
++ std::atomic<tagged_ptr> ptr;
++ atomic16(&ptr);
++#endif
++ std::atomic<uint8_t> w1;
++ std::atomic<uint16_t> w2;
++ std::atomic<uint32_t> w4;
++ std::atomic<uint64_t> w8;
++ return w1 + w2 + w4 + w8;
++}
++" ${var})
++endfunction(check_cxx_atomics)
++
++cmake_push_check_state()
++check_cxx_atomics(HAVE_CXX11_ATOMIC)
++cmake_pop_check_state()
++
++if(NOT HAVE_CXX11_ATOMIC)
++ cmake_push_check_state()
++ set(CMAKE_REQUIRED_LIBRARIES "atomic")
++ check_cxx_atomics(HAVE_LIBATOMIC)
++ cmake_pop_check_state()
++ if(HAVE_LIBATOMIC)
++ set(LIBATOMIC_LINK_FLAGS "-latomic")
++ else()
++ message(FATAL_ERROR
++ "Host compiler ${CMAKE_CXX_COMPILER} requires libatomic, but it is not found")
++ endif()
++endif()
=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
0001-Fix-manpage-in-makefiles.patch
+0002-Check-and-add-latomic.patch
=====================================
debian/rules
=====================================
@@ -12,5 +12,6 @@ TM_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's/\+.*//')
export DEB_CXXFLAGS_MAINT_APPEND=-DTM_VERSION=$(TM_VERSION)
+
%:
dh $@ --buildsystem=cmake
=====================================
debian/source/lintian-overrides deleted
=====================================
@@ -1 +0,0 @@
-tilemaker source: very-long-line-length-in-source-file *
View it on GitLab: https://salsa.debian.org/debian-gis-team/tilemaker/-/compare/b0bdeaa5def5d292d9b35ff1cab47a76e9de65c5...f058525647d6c4fabab9ca203ffce8949ba9897d
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/tilemaker/-/compare/b0bdeaa5def5d292d9b35ff1cab47a76e9de65c5...f058525647d6c4fabab9ca203ffce8949ba9897d
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20220809/3a1956b1/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list