From 6648797d644d9b9318ea0f282d5e123a34e78f15 Mon Sep 17 00:00:00 2001 From: Long Huan <8551701+longhuan2018@users.noreply.github.com> Date: Thu, 17 Dec 2020 16:14:10 +0800 Subject: [PATCH] [readosm] Update to 1.1.0a (#15038) --- ports/readosm/CONTROL | 6 +- ports/readosm/fix-makefiles.patch | 9 +- ports/readosm/fix-version-macro.patch | 13 --- ports/readosm/portfile.cmake | 145 +++++++++++++------------- scripts/ci.baseline.txt | 2 + 5 files changed, 82 insertions(+), 93 deletions(-) delete mode 100644 ports/readosm/fix-version-macro.patch diff --git a/ports/readosm/CONTROL b/ports/readosm/CONTROL index 7a2d817ff7f5d9..686cc22c9c4797 100644 --- a/ports/readosm/CONTROL +++ b/ports/readosm/CONTROL @@ -1,7 +1,5 @@ Source: readosm -Version: 1.1.0 -Port-Version: 3 +Version: 1.1.0a Homepage: https://www.gaia-gis.it/gaia-sins/readosm-sources Description: ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf) -Build-Depends: expat, zlib -Supports: !(linux|osx|uwp) +Build-Depends: expat, zlib \ No newline at end of file diff --git a/ports/readosm/fix-makefiles.patch b/ports/readosm/fix-makefiles.patch index 3904b5136aa488..ea78af8572c730 100644 --- a/ports/readosm/fix-makefiles.patch +++ b/ports/readosm/fix-makefiles.patch @@ -1,13 +1,13 @@ diff --git a/makefile.vc b/makefile.vc -index 791aedf..d294548 100644 +index 8edb536b9..33fd83e35 100644 --- a/makefile.vc +++ b/makefile.vc @@ -8,7 +8,7 @@ LIBOBJ = src\readosm.obj src\osmxml.obj \ src\protobuf.obj src\osm_objects.obj READOSM_DLL = readosm$(VERSION).dll --CFLAGS = /nologo -IC:\OSGeo4W\include -Iheaders $(OPTFLAGS) -+CFLAGS = /nologo -I$(INSTALLED_ROOT)\include -Iheaders $(OPTFLAGS) +-CFLAGS = /nologo -I. -Iheaders -IC:\OSGeo4W\include $(OPTFLAGS) ++CFLAGS = /nologo -I. -Iheaders -I$(INSTALLED_ROOT)\include $(OPTFLAGS) default: all @@ -15,7 +15,7 @@ index 791aedf..d294548 100644 $(READOSM_DLL): readosm_i.lib readosm_i.lib: $(LIBOBJ) -- link /debug /dll /out:$(READOSM_DLL) \ +- link /dll /out:$(READOSM_DLL) \ + link $(LINK_FLAGS) /dll /out:$(READOSM_DLL) \ /implib:readosm_i.lib $(LIBOBJ) \ - C:\OSGeo4w\lib\libexpat.lib C:\OSGeo4w\lib\zlib.lib @@ -32,6 +32,7 @@ index 791aedf..d294548 100644 del *.pdb install: all + diff --git a/nmake.opt b/nmake.opt index 5e45c0e..61c44f9 100644 --- a/nmake.opt diff --git a/ports/readosm/fix-version-macro.patch b/ports/readosm/fix-version-macro.patch deleted file mode 100644 index b091b33597974a..00000000000000 --- a/ports/readosm/fix-version-macro.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/readosm.c b/src/readosm.c -index e1dda27..7977339 100644 ---- a/src/readosm.c -+++ b/src/readosm.c -@@ -50,7 +50,7 @@ - - #if defined(_WIN32) && !defined(__MINGW32__) - /* MSVC: avoiding to include at all config.h */ --#define VERSION 1.1.0 -+#define VERSION "1.1.0" - #else - #include "config.h" - #endif diff --git a/ports/readosm/portfile.cmake b/ports/readosm/portfile.cmake index 522e6fdf53b99d..9316b7d853c153 100644 --- a/ports/readosm/portfile.cmake +++ b/ports/readosm/portfile.cmake @@ -1,88 +1,89 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP") - +set(READOSM_VERSION_STR "1.1.0a") vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-1.1.0.tar.gz" - FILENAME "readosm-1.1.0.tar.gz" - SHA512 d3581f564c4461c6a1a3d5fd7d18a262c884b2ac935530064bfaebd6c05d692fb92cc600fb40e87e03f7160ebf0eeeb05f51a0e257935d056b233fe28fc01a11 + URLS "http://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-${READOSM_VERSION_STR}.tar.gz" + FILENAME "readosm-${READOSM_VERSION_STR}.tar.gz" + SHA512 ec8516cdd0b02027cef8674926653f8bc76e2082c778b02fb2ebcfa6d01e21757aaa4fd5d5104059e2f5ba97190183e60184f381bfd592a635805aa35cd7a682 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES fix-makefiles.patch - fix-version-macro.patch -) - -find_program(NMAKE nmake) + ) -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"") - set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/libexpat.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"") - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") -else() - set(LIBS_ALL_DBG "\"${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib\" \"${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib\"") - set(LIBS_ALL_REL "\"${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib\" \"${CURRENT_INSTALLED_DIR}/lib/zlib.lib\"") - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") -endif() - -################ -# Debug build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(CL_FLAGS_DBG "/MDd /Zi") + set(CL_FLAGS_REL "/MD /Ox") + set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib") + set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib") + else() + set(CL_FLAGS_DBG "/MTd /Zi") + set(CL_FLAGS_REL "/MT /Ox") + set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib") + set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib") + endif() - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" - "LIBS_ALL=${LIBS_ALL_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug - ) - vcpkg_copy_pdbs() - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") -endif() + if(VCPKG_TARGET_IS_UWP) + set(UWP_LIBS windowsapp.lib) + set(UWP_LINK_FLAGS /APPCONTAINER) + endif() -################ -# Release build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Building ${TARGET_TRIPLET}-rel") + set(LIBS_ALL_DBG + "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ + ${UWP_LIBS} \ + ${EXPAT_LIBS_DBG}" + ) + set(LIBS_ALL_REL + "${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ + ${UWP_LIBS} \ + ${EXPAT_LIBS_REL}" + ) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" - "LIBS_ALL=${LIBS_ALL_REL}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-release - ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() + string(REPLACE "/" "\\\\" INST_DIR ${CURRENT_PACKAGES_DIR}) + list(APPEND OPTIONS_RELEASE + "LINK_FLAGS=${UWP_LINK_FLAGS}" "INST_DIR=${INST_DIR}" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" + ) + list(APPEND OPTIONS_DEBUG + "LINK_FLAGS=${UWP_LINK_FLAGS} /debug" "INST_DIR=${INST_DIR}\\debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" + ) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + vcpkg_install_nmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib) + else() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/lib/readosm.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib) endif() -endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX + vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + ) -message(STATUS "Packaging ${TARGET_TRIPLET} done") + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS + "LIBS=-lpthread -ldl -lstdc++ -lm" + ) + + vcpkg_install_make() + vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) +endif() -#Handle copyright +# Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index cf3dbfae391cd1..03b011fef455e1 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1426,6 +1426,8 @@ soundtouch:x64-windows-static=fail spaceland:arm64-windows=fail spaceland:arm-uwp=fail spaceland:x64-uwp=fail +spatialite-tools:x64-linux=fail +spatialite-tools:x64-osx=fail spdk:x64-linux=fail spdk-dpdk:arm64-windows=fail spdk-dpdk:arm-uwp=fail