aboutsummaryrefslogtreecommitdiff
path: root/ports/duktape
diff options
context:
space:
mode:
authorVictor Romero <romerosanchezv@gmail.com>2019-05-02 22:57:43 -0700
committerGitHub <noreply@github.com>2019-05-02 22:57:43 -0700
commit050e71d01dc9e65e6cdf1d13534fc14889e4ae38 (patch)
tree7e39943693b8ac392f37d43a03c66815c6048963 /ports/duktape
parentb72f36e8cdd96ec482785e33f72f99cceebda8ad (diff)
downloadvcpkg-050e71d01dc9e65e6cdf1d13534fc14889e4ae38.tar.gz
vcpkg-050e71d01dc9e65e6cdf1d13534fc14889e4ae38.zip
Remove references to CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#5937)
* [various ports] remove references to CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * [alac,benchmark,capnproto] Fix check_linkage call * [fastlz] Fix SHA512 * [coroutine] Fix dynamic build * [folly] Find double-conversion * [gamma] Use vcpkg_from_github * [librsync] Enable static builds * [netcdf-cxx4] Fix SHA512 * [octomap] Fix static build * [tidy-html5] Fix static build * [various ports] remove custom messages for shared/static builds, modernize some scripts in the meantime * [folly] Use ras0219's fix for link paths * [octomap] Fix exported targets * [uvatlas] Set tool download SHA512 * [duktape+python2] fix portfile to call configure with correct python version, manage python2 also outside win32 * [suitesparse] osx fix * [gtkmm] Call vcpkg_check_linkage after including vcpkg functions * [duktape] Resolve conflicts * [duktape] FIxed typo in Python paths * [wangle] Find zlib * [openssl-uwp] Fix SHA512 * [glib] Allow static builds on non-Windows * [suitesparse] Fix build on Windows * [multiple ports] Bump CONTROL version * [multiple ports] Fix description indent * [directxtk] Fix CONTROL file * [bde,duktape,qpid-proton] Build packages with python2 installed * [binn] remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * [gdal,live555,uriparser] Fix regressions * [live555] Update to 2019.04.24
Diffstat (limited to 'ports/duktape')
-rw-r--r--ports/duktape/CMakeLists.txt11
-rw-r--r--ports/duktape/CONTROL8
-rw-r--r--ports/duktape/portfile.cmake51
3 files changed, 51 insertions, 19 deletions
diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt
index f62a9c56e..3a9c869de 100644
--- a/ports/duktape/CMakeLists.txt
+++ b/ports/duktape/CMakeLists.txt
@@ -1,20 +1,21 @@
-# CMAKE project for duktape
-option(SOURCE_PATH "Root directory.")
-
project (duktape)
-file(GLOB_RECURSE DUKTAPE_SOURCES "${SOURCE_PATH}/src/*.c")
-file(GLOB_RECURSE DUKTAPE_HEADERS "${SOURCE_PATH}/src/*.h")
+file(GLOB_RECURSE DUKTAPE_SOURCES "src/*.c")
+file(GLOB_RECURSE DUKTAPE_HEADERS "src/*.h")
if (BUILD_SHARED_LIBS)
add_definitions(-DDUK_F_DLL_BUILD)
endif ()
+include_directories("src/")
+
add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS})
set_target_properties("duktape" PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}")
install(TARGETS duktape
+ EXPORT duktape-targets
ARCHIVE DESTINATION "lib"
RUNTIME DESTINATION "bin"
PUBLIC_HEADER DESTINATION "include")
+
diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL
index b0f599dd8..3d70426b9 100644
--- a/ports/duktape/CONTROL
+++ b/ports/duktape/CONTROL
@@ -1,4 +1,4 @@
-Source: duktape
-Version: 2.0.3-4
-Description: Embeddable Javascript engine with a focus on portability and compact footprint.
-Build-Depends:
+Source: duktape
+Version: 2.0.3-5
+Description: Embeddable Javascript engine with a focus on portability and compact footprint.
+Build-Depends:
diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake
index f4aa4f805..2c28d3a59 100644
--- a/ports/duktape/portfile.cmake
+++ b/ports/duktape/portfile.cmake
@@ -1,21 +1,52 @@
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/duktape-2.0.3)
-set(CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR})
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "https://github.com/svaarala/duktape/releases/download/v2.0.3/duktape-2.0.3.tar.xz"
- FILENAME "duktape-2.0.3.tar.xz"
- SHA512 ba21731242d953d82c677e1205e3596e270e6d57156a0bca8068fc3b6a35996af69bcfac979b871a7e3eab31f28a06cb99078f0b3eaac54be9c5899f57f4100e
+
+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()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO svaarala/duktape
+ REF v2.0.3
+ SHA512 6ad189f6f9291cbd7eb7227113302fd0c204018611bb37bf4acd7f6b0eb2a75837dac8fb9fba441a0d76e6f1dbad62e4750a6645f65de31611b089f6922bad26
+ HEAD_REF master
)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+if(CMAKE_HOST_WIN32)
+ set(EXECUTABLE_SUFFIX ".exe")
+else()
+ set(EXECUTABLE_SUFFIX "")
+endif()
+
+vcpkg_find_acquire_program(PYTHON2)
+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_download_distfile(GET_PIP
+ URLS "https://bootstrap.pypa.io/get-pip.py"
+ FILENAME "tools/python/python2/get-pip.py"
+ SHA512 fdbcef1037dca7cc914e2304af657ebd08239cd18c3e79786dc25c8ea39957674e012d7ea8ae2c99006e4b61d3a5e24669ac5771dc186697fd9fdb40b6cc07ae
+ )
+ execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON2_DIR}/get-pip.py)
+ endif()
+ execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml)
+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 "${CMAKE_CURRENT_LIST_DIR}/duk_config.h.patch"
+ PATCHES
+ duk_config.h.patch
)
vcpkg_configure_cmake(
- SOURCE_PATH ${CMAKE_PATH}
- OPTIONS -DSOURCE_PATH=${SOURCE_PATH}
+ SOURCE_PATH ${SOURCE_PATH}
)
vcpkg_install_cmake()