aboutsummaryrefslogtreecommitdiff
path: root/ports/duktape
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-10-07 19:35:13 +0200
committerCurtis J Bezault <curtbezault@gmail.com>2019-10-07 10:35:13 -0700
commit726c11148105a97aef39bec024fdb7c140b1b154 (patch)
tree26bd2aee0c13a8351b259cc4ffffaf0efededb4e /ports/duktape
parente86ff2cc54bda9e9ee322ab69141e7113d5c40a9 (diff)
downloadvcpkg-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.txt52
-rw-r--r--ports/duktape/CONTROL3
-rw-r--r--ports/duktape/duk_config.h.patch13
-rw-r--r--ports/duktape/duktapeConfig.cmake.in (renamed from ports/duktape/duktapeConfig.cmake)0
-rw-r--r--ports/duktape/portfile.cmake53
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)