diff options
| author | Stefano Sinigardi <stesinigardi@hotmail.com> | 2019-10-07 19:35:13 +0200 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-10-07 10:35:13 -0700 |
| commit | 726c11148105a97aef39bec024fdb7c140b1b154 (patch) | |
| tree | 26bd2aee0c13a8351b259cc4ffffaf0efededb4e /ports/duktape | |
| parent | e86ff2cc54bda9e9ee322ab69141e7113d5c40a9 (diff) | |
| download | vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.tar.gz vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.zip | |
[vcpkg] fatal_error when patch fails to apply (#8087)
vcpkg will now fail on failure to apply patches except when using `--head`.
Diffstat (limited to 'ports/duktape')
| -rw-r--r-- | ports/duktape/CMakeLists.txt | 52 | ||||
| -rw-r--r-- | ports/duktape/CONTROL | 3 | ||||
| -rw-r--r-- | ports/duktape/duk_config.h.patch | 13 | ||||
| -rw-r--r-- | ports/duktape/duktapeConfig.cmake.in (renamed from ports/duktape/duktapeConfig.cmake) | 0 | ||||
| -rw-r--r-- | ports/duktape/portfile.cmake | 53 |
5 files changed, 67 insertions, 54 deletions
diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index 3986c4df1..ebf2f32d8 100644 --- a/ports/duktape/CMakeLists.txt +++ b/ports/duktape/CMakeLists.txt @@ -1,23 +1,53 @@ cmake_minimum_required(VERSION 3.14) -project (duktape) -file(GLOB_RECURSE DUKTAPE_SOURCES "src/*.c") -file(GLOB_RECURSE DUKTAPE_HEADERS "src/*.h") +set(duktape_MAJOR_VERSION 2) +set(duktape_MINOR_VERSION 4) +set(duktape_PATCH_VERSION 0) +set(duktape_VERSION ${duktape_MAJOR_VERSION}.${duktape_MINOR_VERSION}.${duktape_PATCH_VERSION}) -if (BUILD_SHARED_LIBS) - add_definitions(-DDUK_F_DLL_BUILD) -endif () +option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF) +option(BUILD_SHARED_LIBS "Create duktape as a shared library" ON) + +project(duktape VERSION ${duktape_VERSION}) -include_directories("src/") +file(GLOB_RECURSE DUKTAPE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/src/*.c") +file(GLOB_RECURSE DUKTAPE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/src/*.h") add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS}) +target_include_directories(duktape PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src") +set_target_properties(duktape PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") -set_target_properties("duktape" PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") +if (BUILD_SHARED_LIBS) + target_compile_definitions(duktape PRIVATE -DDUK_F_DLL_BUILD) +endif () install(TARGETS duktape - EXPORT duktape-targets + EXPORT duktapeTargets ARCHIVE DESTINATION "lib" + LIBRARY DESTINATION "lib" RUNTIME DESTINATION "bin" - PUBLIC_HEADER DESTINATION "include") - + PUBLIC_HEADER DESTINATION "include" + COMPONENT dev +) + +install(EXPORT duktapeTargets + FILE duktapeTargets.cmake + NAMESPACE duktape:: + DESTINATION "share/duktape" +) + +export(PACKAGE duktape) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file("${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" + COMPATIBILITY SameMajorVersion +) + +configure_file(duktapeConfig.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" @ONLY) + +install(FILES + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" + "${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" + DESTINATION "share/duktape" +) diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL index 27fe7556c..da9322737 100644 --- a/ports/duktape/CONTROL +++ b/ports/duktape/CONTROL @@ -1,5 +1,4 @@ Source: duktape
-Version: 2.4.0-4
+Version: 2.4.0-5
Homepage: https://github.com/svaarala/duktape
Description: Embeddable Javascript engine with a focus on portability and compact footprint.
-Build-Depends:
diff --git a/ports/duktape/duk_config.h.patch b/ports/duktape/duk_config.h.patch deleted file mode 100644 index d0be961ce..000000000 --- a/ports/duktape/duk_config.h.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/duk_config.h b/src/duk_config.h -index a942563..8d3d309 100644 ---- a/src/duk_config.h -+++ b/src/duk_config.h -@@ -64,7 +64,7 @@ - - /* DLL build detection */ - /* not configured for DLL build */ --#undef DUK_F_DLL_BUILD -+// #undef DUK_F_DLL_BUILD - - /* Apple OSX, iOS */ - #if defined(__APPLE__) diff --git a/ports/duktape/duktapeConfig.cmake b/ports/duktape/duktapeConfig.cmake.in index 56d7798fd..56d7798fd 100644 --- a/ports/duktape/duktapeConfig.cmake +++ b/ports/duktape/duktapeConfig.cmake.in diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake index 3f9b03e41..66d1010c8 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -2,7 +2,7 @@ include(vcpkg_common_functions) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") message("${PORT} currently requires the following tools from the system package manager:\n python-yaml\n\nThis can be installed on Ubuntu systems via apt-get install python-yaml PYTHON2-yaml (depending on your current python default interpreter)") -endif() +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -13,7 +13,7 @@ vcpkg_from_github( ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/duktapeConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/duktapeConfig.cmake.in DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) if(CMAKE_HOST_WIN32) @@ -27,27 +27,33 @@ get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) vcpkg_add_to_path("${PYTHON2_DIR}") if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX}) if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) - vcpkg_from_github( - OUT_SOURCE_PATH PYFILE_PATH - REPO pypa/get-pip - REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25 - SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a - HEAD_REF master - ) - execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYFILE_PATH}/get-pip.py) + vcpkg_from_github( + OUT_SOURCE_PATH PYFILE_PATH + REPO pypa/get-pip + REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25 + SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a + HEAD_REF master + ) + execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYFILE_PATH}/get-pip.py --user) endif() - execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml) + execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml --user) else() execute_process(COMMAND ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX} pyyaml) endif() execute_process(COMMAND ${PYTHON2} ${SOURCE_PATH}/tools/configure.py --source-directory ${SOURCE_PATH}/src-input --output-directory ${SOURCE_PATH}/src --config-metadata ${SOURCE_PATH}/config -DDUK_USE_FASTINT) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - duk_config.h.patch -) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") + file(READ ${DUK_CONFIG_H_PATH} CONTENT) + string(REPLACE "#undef DUK_F_DLL_BUILD" "#define DUK_F_DLL_BUILD" CONTENT "${CONTENT}") + file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") +else() + set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") + file(READ ${DUK_CONFIG_H_PATH} CONTENT) + string(REPLACE "#define DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" CONTENT "${CONTENT}") + file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") +endif() vcpkg_configure_cmake( PREFER_NINJA @@ -56,19 +62,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -set(DUK_CONFIG_H_PATH "${CURRENT_PACKAGES_DIR}/include/duk_config.h") -file(READ ${DUK_CONFIG_H_PATH} CONTENT) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "// #undef DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD\n#define DUK_F_DLL_BUILD" CONTENT "${CONTENT}") -else() - string(REPLACE "// #undef DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" CONTENT "${CONTENT}") -endif() -file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") -# Remove debug include file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Copy copright information -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/duktape" RENAME "copyright") - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |
