early-access version 2853
This commit is contained in:
12
externals/vcpkg/ports/nss/01-nspr-no-lib-prefix.patch
vendored
Executable file
12
externals/vcpkg/ports/nss/01-nspr-no-lib-prefix.patch
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
diff -ur x64-windows-rel/nss/coreconf/config.gypi src/3.66-485ec2a7fc.clean/nss/coreconf/config.gypi
|
||||
--- a/nss/coreconf/config.gypi 2021-05-28 02:50:43.000000000 -0700
|
||||
+++ b/nss/coreconf/config.gypi 2021-11-09 07:51:35.884650900 -0800
|
||||
@@ -44,7 +44,7 @@
|
||||
}],
|
||||
['OS=="win"', {
|
||||
'use_system_zlib%': 0,
|
||||
- 'nspr_libs%': ['libnspr4.lib', 'libplc4.lib', 'libplds4.lib'],
|
||||
+ 'nspr_libs%': ['nspr4.lib', 'plc4.lib', 'plds4.lib'],
|
||||
'zlib_libs%': [],
|
||||
#TODO
|
||||
'moz_debug_flags%': '',
|
||||
15
externals/vcpkg/ports/nss/02-gen-debug-info-for-release.patch
vendored
Executable file
15
externals/vcpkg/ports/nss/02-gen-debug-info-for-release.patch
vendored
Executable file
@@ -0,0 +1,15 @@
|
||||
diff -ur
|
||||
--- a/nss/coreconf/config.gypi 2021-11-09 22:46:52.555246500 -0800
|
||||
+++ b/nss/coreconf/config.gypi 2021-11-10 00:49:48.044560100 -0800
|
||||
@@ -638,9 +638,11 @@
|
||||
'VCCLCompilerTool': {
|
||||
'Optimization': '<(release_optimization_level)',
|
||||
'RuntimeLibrary': '2', # /MD
|
||||
+ 'DebugInformationFormat': '3',
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'LinkIncremental': '1',
|
||||
+ 'GenerateDebugInformation' : 'true',
|
||||
},
|
||||
},
|
||||
},
|
||||
208
externals/vcpkg/ports/nss/portfile.cmake
vendored
Executable file
208
externals/vcpkg/ports/nss/portfile.cmake
vendored
Executable file
@@ -0,0 +1,208 @@
|
||||
set(NSS_VERSION "3.78")
|
||||
string(REPLACE "." "_" V_URL ${NSS_VERSION})
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://ftp.mozilla.org/pub/security/nss/releases/NSS_${V_URL}_RTM/src/nss-${NSS_VERSION}.tar.gz"
|
||||
FILENAME "nss-${NSS_VERSION}.tar.gz"
|
||||
SHA512 ab54d838f41f963fdd4b87477b1e769186ae1f138f7c5d764cd6873be4791146d14dcc85697a2ca92e08f3bfcbeb61d64e26e7b5398095272c18a8196d43ac6c
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
REF "${NSS_VERSION}"
|
||||
PATCHES "01-nspr-no-lib-prefix.patch"
|
||||
)
|
||||
|
||||
# setup ninja
|
||||
vcpkg_find_acquire_program(NINJA)
|
||||
get_filename_component(NINJA_ROOT "${NINJA}" DIRECTORY)
|
||||
list(APPEND CMAKE_PROGRAM_PATH "${NINJA_ROOT}")
|
||||
vcpkg_add_to_path(APPEND "${NINJA_ROOT}")
|
||||
|
||||
# setup mozbuild for windows
|
||||
if (VCPKG_TARGET_IS_WINDOWS)
|
||||
set(MOZBUILD_ROOT "${CURRENT_HOST_INSTALLED_DIR}/tools/mozbuild")
|
||||
|
||||
set(MOZBUILD_BINDIR "${MOZBUILD_ROOT}/bin")
|
||||
vcpkg_add_to_path(PREPEND "${MOZBUILD_BINDIR}")
|
||||
|
||||
set(MOZBUILD_MSYS_ROOT "${MOZBUILD_ROOT}/msys")
|
||||
vcpkg_add_to_path(PREPEND "${MOZBUILD_MSYS_ROOT}/bin")
|
||||
|
||||
find_program(MOZBUILD_MAKE_COMMAND make PATHS "${MOZBUILD_MSYS_ROOT}/bin" NO_DEFAULT_PATH REQUIRED)
|
||||
message(STATUS "Found make: ${MOZBUILD_MAKE_COMMAND}")
|
||||
|
||||
find_program(MOZBUILD_BASH bash PATHS "${MOZBUILD_MSYS_ROOT}/bin" NO_DEFAULT_PATH REQUIRED)
|
||||
message(STATUS "Found bash: ${MOZBUILD_BASH}")
|
||||
|
||||
set(MOZBUILD_PYTHON_ROOT "${MOZBUILD_ROOT}/python")
|
||||
find_program(MOZBUILD_PYTHON python PATHS "${MOZBUILD_ROOT}/python" NO_DEFAULT_PATH REQUIRED)
|
||||
message(STATUS "Found python: ${MOZBUILD_PYTHON}")
|
||||
vcpkg_add_to_path(PREPEND "${MOZBUILD_PYTHON_ROOT}")
|
||||
|
||||
else()
|
||||
# TODO: setup non-windows build environment
|
||||
|
||||
endif()
|
||||
|
||||
set(GYP_NSS_ROOT "${CURRENT_HOST_INSTALLED_DIR}/tools/gyp-nss")
|
||||
if (VCPKG_HOST_IS_WINDOWS)
|
||||
find_file(GYP_NSS NAMES gyp.bat PATHS "${GYP_NSS_ROOT}" NO_DEFAULT_PATH REQUIRED)
|
||||
else()
|
||||
find_program(GYP_NSS NAMES gyp PATHS "${GYP_NSS_ROOT}" NO_DEFAULT_PATH REQUIRED)
|
||||
endif()
|
||||
vcpkg_add_to_path(PREPEND "${GYP_NSS_ROOT}")
|
||||
message(STATUS "Found gyp: ${GYP_NSS}")
|
||||
|
||||
# setup paths
|
||||
execute_process(
|
||||
COMMAND ${MOZBUILD_BASH} -c pwd
|
||||
WORKING_DIRECTORY ${CURRENT_INSTALLED_DIR}/include
|
||||
OUTPUT_VARIABLE VCPKG_INCLUDEDIR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
message(STATUS "Using headers from: ${VCPKG_INCLUDEDIR} arch: ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
|
||||
execute_process(
|
||||
COMMAND ${MOZBUILD_BASH} -c pwd
|
||||
WORKING_DIRECTORY ${CURRENT_INSTALLED_DIR}/lib
|
||||
OUTPUT_VARIABLE VCPKG_LIBDIR
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
message(STATUS "Using libraries from: ${VCPKG_LIBDIR} arch: ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
|
||||
#
|
||||
# get to work
|
||||
#
|
||||
|
||||
# see help.txt in nss root
|
||||
set(OPTIONS
|
||||
"-v" "-g"
|
||||
"--disable-tests"
|
||||
"--with-nspr=${VCPKG_INCLUDEDIR}/nspr:${VCPKG_LIBDIR}"
|
||||
"--system-sqlite"
|
||||
"-Dsign_libs=0"
|
||||
)
|
||||
|
||||
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
|
||||
list(APPEND OPTIONS "--target=x64")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
list(APPEND OPTIONS "--target=ia32")
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported arch: ${VCPKG_TARGET_ARCHITECTURE}")
|
||||
endif()
|
||||
|
||||
if (VCPKG_TARGET_IS_WINDOWS)
|
||||
list(APPEND OPTIONS
|
||||
"--msvc"
|
||||
)
|
||||
endif()
|
||||
|
||||
set(VCPKG_BINARY_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}")
|
||||
|
||||
# build debug
|
||||
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
message(STATUS "Copying sources to debug build dir ...")
|
||||
file(COPY "${SOURCE_PATH}/nss" DESTINATION "${VCPKG_BINARY_DIR}-dbg")
|
||||
message(STATUS "Building debug ...")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${MOZBUILD_BASH} ./build.sh ${OPTIONS}
|
||||
WORKING_DIRECTORY ${VCPKG_BINARY_DIR}-dbg/nss
|
||||
LOGNAME build-${TARGET_TRIPLET}${short_buildtype}
|
||||
)
|
||||
endif()
|
||||
|
||||
# build release
|
||||
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
message(STATUS "Copying sources to release build dir ...")
|
||||
file(COPY "${SOURCE_PATH}/nss" DESTINATION "${VCPKG_BINARY_DIR}-rel")
|
||||
message(STATUS "Building release ...")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND ${MOZBUILD_BASH} ./build.sh ${OPTIONS} "--opt"
|
||||
WORKING_DIRECTORY ${VCPKG_BINARY_DIR}-rel/nss
|
||||
LOGNAME build-${TARGET_TRIPLET}${short_buildtype}
|
||||
)
|
||||
endif()
|
||||
|
||||
#
|
||||
# VCPKG FHS adjustments
|
||||
#
|
||||
|
||||
# Headers
|
||||
|
||||
file(
|
||||
COPY "${VCPKG_BINARY_DIR}-rel/dist/public/nss"
|
||||
DESTINATION "${CURRENT_PACKAGES_DIR}/include"
|
||||
)
|
||||
|
||||
file(
|
||||
COPY "${VCPKG_BINARY_DIR}-rel/dist/private/nss/"
|
||||
DESTINATION "${CURRENT_PACKAGES_DIR}/include/nss/private"
|
||||
)
|
||||
|
||||
# Release libraries
|
||||
|
||||
file(GLOB LIB_RELEASE
|
||||
"${VCPKG_BINARY_DIR}-rel/dist/Release/lib/*.dll"
|
||||
"${VCPKG_BINARY_DIR}-rel/dist/Release/lib/*.pdb"
|
||||
)
|
||||
list(LENGTH LIB_RELEASE LIB_RELEASE_SIZE)
|
||||
|
||||
if (LIB_RELEASE_SIZE GREATER 0)
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin")
|
||||
|
||||
foreach(path ${LIB_RELEASE})
|
||||
get_filename_component(name "${path}" NAME)
|
||||
file(RENAME "${path}" "${CURRENT_PACKAGES_DIR}/bin/${name}")
|
||||
endforeach()
|
||||
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib")
|
||||
file(COPY "${VCPKG_BINARY_DIR}-rel/dist/Release/lib" DESTINATION "${CURRENT_PACKAGES_DIR}")
|
||||
endif()
|
||||
|
||||
# Release tools
|
||||
|
||||
vcpkg_copy_tools(
|
||||
TOOL_NAMES
|
||||
"certutil"
|
||||
"cmsutil"
|
||||
"crlutil"
|
||||
"hw-support"
|
||||
"modutil"
|
||||
"nss"
|
||||
"pk12util"
|
||||
"pwdecrypt"
|
||||
"shlibsign"
|
||||
"signtool"
|
||||
"signver"
|
||||
"ssltap"
|
||||
"symkeyutil"
|
||||
"validation"
|
||||
SEARCH_DIR "${VCPKG_BINARY_DIR}-rel/dist/Release/bin/"
|
||||
DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}"
|
||||
)
|
||||
|
||||
# Debug libraries
|
||||
if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(GLOB LIB_DEBUG
|
||||
"${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib/*.dll"
|
||||
"${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib/*.pdb"
|
||||
)
|
||||
list(LENGTH LIB_DEBUG LIB_DEBUG_SIZE)
|
||||
|
||||
if (LIB_DEBUG_SIZE GREATER 0)
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
|
||||
foreach(path ${LIB_DEBUG})
|
||||
get_filename_component(name "${path}" NAME)
|
||||
file(RENAME "${path}" "${CURRENT_PACKAGES_DIR}/debug/bin/${name}")
|
||||
endforeach()
|
||||
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib")
|
||||
file(COPY "${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Copy license
|
||||
file(INSTALL "${SOURCE_PATH}/nss/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/nss" RENAME copyright)
|
||||
20
externals/vcpkg/ports/nss/vcpkg.json
vendored
Executable file
20
externals/vcpkg/ports/nss/vcpkg.json
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "nss",
|
||||
"version": "3.78",
|
||||
"description": "Network Security Services from Mozilla",
|
||||
"homepage": "https://ftp.mozilla.org/pub/security/nss/releases/",
|
||||
"license": "MPL-2.0",
|
||||
"supports": "windows & !arm",
|
||||
"dependencies": [
|
||||
"nspr",
|
||||
"sqlite3",
|
||||
{
|
||||
"name": "vcpkg-tool-gyp-nss",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-tool-mozbuild",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user