From 38e152cb2993b198ea77c26ce28687f506f5e3fb Mon Sep 17 00:00:00 2001 From: John Camp Date: Thu, 20 Oct 2016 00:29:38 -0400 Subject: Added package for PDCurses --- ports/pdcurses/CONTROL | 3 +++ ports/pdcurses/LICENSE | 7 +++++++ ports/pdcurses/portfile.cmake | 26 ++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 ports/pdcurses/CONTROL create mode 100644 ports/pdcurses/LICENSE create mode 100644 ports/pdcurses/portfile.cmake diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL new file mode 100644 index 000000000..66f0f4535 --- /dev/null +++ b/ports/pdcurses/CONTROL @@ -0,0 +1,3 @@ +Source: pdcurses +Version: 3.4 +Description: Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model. diff --git a/ports/pdcurses/LICENSE b/ports/pdcurses/LICENSE new file mode 100644 index 000000000..ec633d8f2 --- /dev/null +++ b/ports/pdcurses/LICENSE @@ -0,0 +1,7 @@ +The core package is in the public domain, but small portions of PDCurses are subject to copyright under various licenses. + +The win32 files are released to the public domain. + +If you use PDCurses in an application, an acknowledgement would be appreciated, but is not mandatory. If you make corrections or enhancements to PDCurses, please forward them to the current maintainer for the benefit of other users. + +This software is provided AS IS with NO WARRANTY whatsoever. \ No newline at end of file diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake new file mode 100644 index 000000000..c9fdb7fbc --- /dev/null +++ b/ports/pdcurses/portfile.cmake @@ -0,0 +1,26 @@ +include(${CMAKE_TRIPLET_FILE}) +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/PDCurses-3.4) +find_program(NMAKE nmake) + +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/pdcurses/files/latest/download?source=files" + FILENAME "pdcurs34.zip" + SHA512 cf2144359935ea553954e60e74318168d4c6fcee48648dfec74325742a61786b285c59ad0a014cc1f4039a332c3dbf2031c64865025a0cd25ef8faacc5827d05 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +message(STATUS "Build ${TARGET_TRIPLET}") +vcpkg_execute_required_process( + COMMAND ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y PDCLIBS + WORKING_DIRECTORY ${SOURCE_PATH}/win32 + LOGNAME build-${TARGET_TRIPLET} +) +message(STATUS "Build ${TARGET_TRIPLET} done") + +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) +file(COPY ${SOURCE_PATH}/win32/pdcurses.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/win32/panel.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/curses.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/panel.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/term.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -- cgit v1.2.3 From d226583ed168013d5bf9200a28978f1cbfa2800e Mon Sep 17 00:00:00 2001 From: John Camp Date: Fri, 21 Oct 2016 00:32:17 -0400 Subject: Changed the download link to a static link. The different download link packaged the zip slightly differently, changing the hash as well as the src path. --- ports/pdcurses/portfile.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index c9fdb7fbc..be2f1fc4f 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -1,18 +1,18 @@ include(${CMAKE_TRIPLET_FILE}) include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/PDCurses-3.4) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) find_program(NMAKE nmake) vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/pdcurses/files/latest/download?source=files" + URLS "http://downloads.sourceforge.net/project/pdcurses/pdcurses/3.4/pdcurs34.zip" FILENAME "pdcurs34.zip" - SHA512 cf2144359935ea553954e60e74318168d4c6fcee48648dfec74325742a61786b285c59ad0a014cc1f4039a332c3dbf2031c64865025a0cd25ef8faacc5827d05 + SHA512 0b916bfe37517abb80df7313608cc4e1ed7659a41ce82763000dfdfa5b8311ffd439193c74fc84a591f343147212bf1caf89e7db71f1f7e4fa70f534834cb039 ) vcpkg_extract_source_archive(${ARCHIVE}) message(STATUS "Build ${TARGET_TRIPLET}") vcpkg_execute_required_process( - COMMAND ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y PDCLIBS + COMMAND ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y WORKING_DIRECTORY ${SOURCE_PATH}/win32 LOGNAME build-${TARGET_TRIPLET} ) -- cgit v1.2.3 From 05bc52d39ac0f0c164e5cbe3b7bfb9a97b5fab49 Mon Sep 17 00:00:00 2001 From: John Camp Date: Fri, 28 Oct 2016 00:12:52 -0400 Subject: Re-wrote portfile to support dynamic libraries --- ports/pdcurses/portfile.cmake | 51 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index be2f1fc4f..607a93b7d 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -10,17 +10,48 @@ vcpkg_download_distfile(ARCHIVE ) vcpkg_extract_source_archive(${ARCHIVE}) -message(STATUS "Build ${TARGET_TRIPLET}") +set(PDC_NMAKE_CMD ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y) +set(PDC_NMAKE_CWD ${SOURCE_PATH}/win32) +set(PDC_PDCLIB ${SOURCE_PATH}/win32/pdcurses) +set(PDC_PANELLIB ${SOURCE_PATH}/win32/panel) +set(PDC_OUTPUT bin) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(PDC_PDCLIB ${PDC_PDCLIB}.lib) + set(PDC_PANELLIB ${PDC_PANELLIB}.lib) + set(PDC_OUTPUT lib) +else() + set(PDC_PDCLIB ${PDC_PDCLIB}.dll) + set(PDC_PANELLIB ${PDC_PANELLIB}.dll) + set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) +endif() + +message(STATUS "Build ${TARGET_TRIPLET}-rel") +vcpkg_execute_required_process( + COMMAND ${PDC_NMAKE_CMD} + WORKING_DIRECTORY ${PDC_NMAKE_CWD} + LOGNAME build-${TARGET_TRIPLET}-rel +) +message(STATUS "Build ${TARGET_TRIPLET}-rel done") +file ( + COPY ${PDC_PDCLIB} ${PDC_PANELLIB} + DESTINATION ${CURRENT_PACKAGES_DIR}/${PDC_OUTPUT} +) + +message(STATUS "Build ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( - COMMAND ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y - WORKING_DIRECTORY ${SOURCE_PATH}/win32 - LOGNAME build-${TARGET_TRIPLET} + COMMAND ${PDC_NMAKE_CMD} DEBUG=Y + WORKING_DIRECTORY ${PDC_NMAKE_CWD} + LOGNAME build-${TARGET_TRIPLET}-dbg +) +message(STATUS "Build ${TARGET_TRIPLET}-dbg done") +file ( + COPY ${PDC_PDCLIB} ${PDC_PANELLIB} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${PDC_OUTPUT} ) -message(STATUS "Build ${TARGET_TRIPLET} done") +file( + COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h ${SOURCE_PATH}/term.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) -file(COPY ${SOURCE_PATH}/win32/pdcurses.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/win32/panel.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/curses.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/panel.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/term.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -- cgit v1.2.3 From b2e9efee976083ca6631a7db6c01551536c4384d Mon Sep 17 00:00:00 2001 From: John Camp Date: Fri, 28 Oct 2016 00:15:32 -0400 Subject: Removed panel library. Panel is not emitted as a dll, and is actually just a copy of the pdcurses library anyway. --- ports/pdcurses/portfile.cmake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index 607a93b7d..4b993f73f 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -13,16 +13,13 @@ vcpkg_extract_source_archive(${ARCHIVE}) set(PDC_NMAKE_CMD ${NMAKE} -f vcwin32.mak WIDE=Y UTF8=Y) set(PDC_NMAKE_CWD ${SOURCE_PATH}/win32) set(PDC_PDCLIB ${SOURCE_PATH}/win32/pdcurses) -set(PDC_PANELLIB ${SOURCE_PATH}/win32/panel) set(PDC_OUTPUT bin) if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(PDC_PDCLIB ${PDC_PDCLIB}.lib) - set(PDC_PANELLIB ${PDC_PANELLIB}.lib) set(PDC_OUTPUT lib) else() set(PDC_PDCLIB ${PDC_PDCLIB}.dll) - set(PDC_PANELLIB ${PDC_PANELLIB}.dll) set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) endif() @@ -34,7 +31,7 @@ vcpkg_execute_required_process( ) message(STATUS "Build ${TARGET_TRIPLET}-rel done") file ( - COPY ${PDC_PDCLIB} ${PDC_PANELLIB} + COPY ${PDC_PDCLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/${PDC_OUTPUT} ) @@ -46,7 +43,7 @@ vcpkg_execute_required_process( ) message(STATUS "Build ${TARGET_TRIPLET}-dbg done") file ( - COPY ${PDC_PDCLIB} ${PDC_PANELLIB} + COPY ${PDC_PDCLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${PDC_OUTPUT} ) -- cgit v1.2.3 From 7805bdff8cc38c83aaf2b5ea5ecc3042634fb017 Mon Sep 17 00:00:00 2001 From: John Camp Date: Fri, 28 Oct 2016 02:13:50 -0400 Subject: Added a fatal error for 64-bit builds. --- ports/pdcurses/portfile.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index 4b993f73f..10ff551c0 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -1,4 +1,9 @@ include(${CMAKE_TRIPLET_FILE}) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + message(FATAL_ERROR "64-bit builds are not supported for PDCurses.") +endif() + include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) find_program(NMAKE nmake) -- cgit v1.2.3 From 016406a52b54603dcb095b57992892222c78614d Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 31 Oct 2016 09:48:58 -0700 Subject: [pdcurses] Lib files are also required in dynamic linkage --- ports/pdcurses/portfile.cmake | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index 10ff551c0..2f3429d68 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -20,11 +20,7 @@ set(PDC_NMAKE_CWD ${SOURCE_PATH}/win32) set(PDC_PDCLIB ${SOURCE_PATH}/win32/pdcurses) set(PDC_OUTPUT bin) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(PDC_PDCLIB ${PDC_PDCLIB}.lib) - set(PDC_OUTPUT lib) -else() - set(PDC_PDCLIB ${PDC_PDCLIB}.dll) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) endif() @@ -35,10 +31,17 @@ vcpkg_execute_required_process( LOGNAME build-${TARGET_TRIPLET}-rel ) message(STATUS "Build ${TARGET_TRIPLET}-rel done") + file ( - COPY ${PDC_PDCLIB} - DESTINATION ${CURRENT_PACKAGES_DIR}/${PDC_OUTPUT} + COPY ${PDC_PDCLIB}.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file ( + COPY ${PDC_PDCLIB}.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin + ) +endif() message(STATUS "Build ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( @@ -47,13 +50,22 @@ vcpkg_execute_required_process( LOGNAME build-${TARGET_TRIPLET}-dbg ) message(STATUS "Build ${TARGET_TRIPLET}-dbg done") + file ( - COPY ${PDC_PDCLIB} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${PDC_OUTPUT} + COPY ${PDC_PDCLIB}.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file ( + COPY ${PDC_PDCLIB}.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin + ) +endif() file( COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h ${SOURCE_PATH}/term.h DESTINATION ${CURRENT_PACKAGES_DIR}/include ) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) + +vcpkg_copy_pdbs() -- cgit v1.2.3