diff options
| author | Vitalii Koshura <lestat.de.lionkur@gmail.com> | 2021-09-10 22:37:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-10 13:37:39 -0700 |
| commit | e0aee0ddcfdab86b4f7d28371f7923fa948599d3 (patch) | |
| tree | ab4d361b119185af566ba805fc9a3319446d20d8 | |
| parent | 6676fce90e4e59cb4b4e4d04e50161bc5f9503e1 (diff) | |
| download | vcpkg-e0aee0ddcfdab86b4f7d28371f7923fa948599d3.tar.gz vcpkg-e0aee0ddcfdab86b4f7d28371f7923fa948599d3.zip | |
[boinc] Add new port (#19659)
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
| -rw-r--r-- | ports/boinc/CMakeLists.txt | 233 | ||||
| -rw-r--r-- | ports/boinc/portfile.cmake | 49 | ||||
| -rw-r--r-- | ports/boinc/vcpkg.json | 18 | ||||
| -rw-r--r-- | versions/b-/boinc.json | 9 | ||||
| -rw-r--r-- | versions/baseline.json | 4 |
5 files changed, 313 insertions, 0 deletions
diff --git a/ports/boinc/CMakeLists.txt b/ports/boinc/CMakeLists.txt new file mode 100644 index 000000000..635aa9011 --- /dev/null +++ b/ports/boinc/CMakeLists.txt @@ -0,0 +1,233 @@ +cmake_minimum_required(VERSION 3.20) +project(boinc) + +find_package(OpenSSL REQUIRED) + +set(LIBBOINC_HEADERS_WIN + lib/boinc_win.h + lib/diagnostics_win.h + lib/idlemon.h + lib/stackwalker_imports.h + lib/stackwalker_win.h +) + +set(LIBBOINC_HEADERS_UNIX + lib/synch.h + lib/unix_util.h +) + +set(LIBBOINC_HEADERS_APPLE + lib/mac/dyld_gdb.h + lib/mac/mac_backtrace.h + lib/mac/mac_spawn.h + lib/mac/QBacktrace.h + lib/mac/QCrashReport.h + lib/mac/QMachOImage.h + lib/mac/QMachOImageList.h + lib/mac/QSymbols.h + lib/mac/QTaskMemory.h + lib/mac/mac_branding.h +) + +set(LIBBOINC_HEADERS_GENERIC + lib/app_ipc.h + lib/base64.h + lib/cal_boinc.h + lib/cc_config.h + lib/cert_sig.h + lib/common_defs.h + lib/coproc.h + lib/crypt.h + lib/diagnostics.h + lib/error_numbers.h + lib/filesys.h + lib/hostinfo.h + lib/keyword.h + lib/md5.h + lib/md5_file.h + lib/mem_usage.h + lib/mfile.h + lib/miofile.h + lib/network.h + lib/notice.h + lib/opencl_boinc.h + lib/parse.h + lib/prefs.h + lib/proc_control.h + lib/procinfo.h + lib/project_init.h + lib/proxy_info.h + lib/std_fixes.h + lib/str_replace.h + lib/str_util.h + lib/url.h + lib/util.h + lib/win_util.h + lib/wslinfo.h +) + +set(LIBBOINC_SOURCES_WIN + lib/boinc_win.cpp + lib/diagnostics_win.cpp + lib/idlemon_win.cpp + lib/procinfo_win.cpp + lib/stackwalker_win.cpp + lib/win_util.cpp +) + +set(LIBBOINC_SOURCES_UNIX + lib/procinfo_unix.cpp + lib/synch.cpp + lib/unix_util.cpp +) + +set(LIBBOINC_SOURCES_APPLE + lib/procinfo_mac.cpp + lib/mac/mac_backtrace.cpp + lib/mac/mac_spawn.cpp + lib/mac/QBacktrace.c + lib/mac/QCrashReport.c + lib/mac/QMachOImage.c + lib/mac/QMachOImageList.c + lib/mac/QSymbols.c + lib/mac/QTaskMemory.c + lib/mac/mac_branding.cpp +) + +set(LIBBOINC_SOURCES_GENERIC + lib/app_ipc.cpp + lib/base64.cpp + lib/cc_config.cpp + lib/cert_sig.cpp + lib/coproc.cpp + lib/crypt.cpp + lib/diagnostics.cpp + lib/filesys.cpp + lib/hostinfo.cpp + lib/keyword.cpp + lib/md5.cpp + lib/md5_file.cpp + lib/mem_usage.cpp + lib/mfile.cpp + lib/miofile.cpp + lib/network.cpp + lib/notice.cpp + lib/opencl_boinc.cpp + lib/parse.cpp + lib/prefs.cpp + lib/proc_control.cpp + lib/procinfo.cpp + lib/project_init.cpp + lib/proxy_info.cpp + lib/shmem.cpp + lib/str_util.cpp + lib/url.cpp + lib/util.cpp + lib/wslinfo.cpp +) + +set(LIBBOINCAPI_HEADERS + api/boinc_api.h +) + +set(LIBBOINCAPI_SOURCES_WIN + lib/boinc_win.cpp +) + +set(LIBBOINCAPI_SOURCES_GENERIC + api/boinc_api.cpp +) + +if(APPLE) + set(LIBBOINC_HEADERS ${LIBBOINC_HEADERS_GENERIC} ${LIBBOINC_HEADERS_APPLE}) + set(LIBBOINC_SOURCES ${LIBBOINC_SOURCES_GENERIC} ${LIBBOINC_SOURCES_APPLE}) + + set(LIBBOINCAPI_SOURCES ${LIBBOINCAPI_SOURCES_GENERIC}) +elseif(WIN32) + set(LIBBOINC_HEADERS ${LIBBOINC_HEADERS_GENERIC} ${LIBBOINC_HEADERS_WIN}) + set(LIBBOINC_SOURCES ${LIBBOINC_SOURCES_GENERIC} ${LIBBOINC_SOURCES_WIN}) + + set(LIBBOINCAPI_SOURCES ${LIBBOINCAPI_SOURCES_GENERIC} ${LIBBOINCAPI_SOURCES_WIN}) +elseif(UNIX) + set(LIBBOINC_HEADERS ${LIBBOINC_HEADERS_GENERIC} ${LIBBOINC_HEADERS_UNIX}) + set(LIBBOINC_SOURCES ${LIBBOINC_SOURCES_GENERIC} ${LIBBOINC_SOURCES_UNIX}) + + set(LIBBOINCAPI_SOURCES ${LIBBOINCAPI_SOURCES_GENERIC}) +endif() + +add_library(boinc ${LIBBOINC_SOURCES}) +add_library(boincapi ${LIBBOINCAPI_SOURCES}) + +if(WIN32 OR APPLE) + set_target_properties(boinc PROPERTIES PREFIX "lib") + set_target_properties(boinc PROPERTIES IMPORT_PREFIX "lib") + + set_target_properties(boincapi PROPERTIES PREFIX "lib") + set_target_properties(boincapi PROPERTIES IMPORT_PREFIX "lib") +endif() + +if(APPLE) + target_include_directories(boinc PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib/mac> + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/clientgui/mac> + ) + + target_include_directories(boincapi PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib/mac> + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/clientgui/mac> + ) +elseif(WIN32) + target_compile_definitions(boinc PUBLIC + -D_CRT_SECURE_NO_WARNINGS + -DWIN32 + -D_CONSOLE + ) + + target_compile_definitions(boincapi PUBLIC + -D_CRT_SECURE_NO_WARNINGS + -DWIN32 + -D_CONSOLE + ) + + target_include_directories(boinc PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/win_build> + ) + + target_include_directories(boincapi PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/win_build> + ) +elseif(UNIX) + target_include_directories(boinc PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/config-h-${CMAKE_BUILD_TYPE}> + ) + + target_include_directories(boincapi PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/config-h-${CMAKE_BUILD_TYPE}> + ) +endif() + +target_include_directories(boinc PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib> + $<INSTALL_INTERFACE:include> +) + +target_include_directories(boincapi PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>/lib + $<INSTALL_INTERFACE:include> +) + +target_link_libraries(boinc PRIVATE + OpenSSL::SSL + OpenSSL::Crypto +) + +install(TARGETS boinc boincapi EXPORT boinc-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + ) + +install(FILES ${LIBBOINC_HEADERS} ${LIBBOINCAPI_HEADERS} DESTINATION include/boinc) +install(EXPORT boinc-config NAMESPACE unofficial::boinc:: DESTINATION share/boinc) diff --git a/ports/boinc/portfile.cmake b/ports/boinc/portfile.cmake new file mode 100644 index 000000000..d2e17db12 --- /dev/null +++ b/ports/boinc/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO BOINC/boinc + REF client_release/7.18/7.18.1 + SHA512 200587a0896aec6a7e7247132811141909aa333cb2bb9350c5ba016ffdf056413b1c5346361b311c087634b2d29cdbb204486385d8561a299b68739244c5a532 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if(VCPKG_TARGET_IS_LINUX) + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + NO_ADDITIONAL_PATHS + OPTIONS + ${OPTIONS} + --disable-server + --disable-client + --disable-manager + ) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.h DESTINATION ${SOURCE_PATH}/config-h-Release) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.h DESTINATION ${SOURCE_PATH}/config-h-Debug) + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME license) diff --git a/ports/boinc/vcpkg.json b/ports/boinc/vcpkg.json new file mode 100644 index 000000000..126e73dbf --- /dev/null +++ b/ports/boinc/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "boinc", + "version": "7.18.1", + "description": "Open-source software for volunteer computing and grid computing.", + "homepage": "https://boinc.berkeley.edu/", + "supports": "!(windows & arm) & !uwp", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/b-/boinc.json b/versions/b-/boinc.json new file mode 100644 index 000000000..63e7b8e24 --- /dev/null +++ b/versions/b-/boinc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9fcf80005012082801212b0761a61a53f92b6104", + "version": "7.18.1", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 186204d70..608ec44a4 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -452,6 +452,10 @@ "baseline": "1.18.1", "port-version": 2 }, + "boinc": { + "baseline": "7.18.1", + "port-version": 0 + }, "bond": { "baseline": "9.0.3", "port-version": 2 |
