diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2020-02-04 15:42:23 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-04 15:42:23 -0800 |
| commit | 1fd6cc945d215c45b1ecb0b94833fed88a5c6bf2 (patch) | |
| tree | 88e010e0b7eb6d4571aade620bc742a35414a08c | |
| parent | a692a06a97d224a390f37b0f815273ec7c20cc6c (diff) | |
| parent | 58a904d06894ef67fd676805a5d06a3a1a868faf (diff) | |
| download | vcpkg-1fd6cc945d215c45b1ecb0b94833fed88a5c6bf2.tar.gz vcpkg-1fd6cc945d215c45b1ecb0b94833fed88a5c6bf2.zip | |
Merge pull request #8842 from JackBoosY/dev/jack/upgrade_libi
[libideviceactivation libimobiledevice libusbmuxd] Upgrade version, modify build process
| -rw-r--r-- | ports/libideviceactivation/CMakeLists.txt | 39 | ||||
| -rw-r--r-- | ports/libideviceactivation/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libideviceactivation/libcurl_d.patch | 22 | ||||
| -rw-r--r-- | ports/libideviceactivation/portfile.cmake | 27 | ||||
| -rw-r--r-- | ports/libimobiledevice/CMakeLists.txt | 49 | ||||
| -rw-r--r-- | ports/libimobiledevice/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libimobiledevice/portfile.cmake | 26 | ||||
| -rw-r--r-- | ports/libusbmuxd/CMakeLists.txt | 42 | ||||
| -rw-r--r-- | ports/libusbmuxd/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libusbmuxd/fix-win-build.patch | 20 | ||||
| -rw-r--r-- | ports/libusbmuxd/portfile.cmake | 31 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 1 |
12 files changed, 194 insertions, 71 deletions
diff --git a/ports/libideviceactivation/CMakeLists.txt b/ports/libideviceactivation/CMakeLists.txt new file mode 100644 index 000000000..3b4095eba --- /dev/null +++ b/ports/libideviceactivation/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.0) +project(libideviceactivation C) + +# find dependencies +find_library(libplist plist REQUIRED) +find_path(libimobiledevice_INCLUDES endianness.h) +find_library(libimobiledevice libimobiledevice REQUIRED) +find_package(LibXml2 REQUIRED) +find_package(CURL REQUIRED) + +# ready to create library +file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c) + +file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h) +file(GLOB_RECURSE IDVCACTV_SRC src/*.c) + +add_library(libideviceactivation ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR}) +target_include_directories(libideviceactivation PRIVATE ${libimobiledevice_INCLUDES} ${LIBXML2_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} include) +target_compile_definitions(libideviceactivation PRIVATE -DHAVE_OPENSSL) +target_link_libraries(libideviceactivation PRIVATE ${libplist} ${libimobiledevice} ${CURL_LIBRARIES} ${LIBXML2_LIBRARIES}) + +# install +install( + TARGETS libideviceactivation + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/src/libideviceactivation-1.0.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc + @ONLY +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc + DESTINATION lib/pkgconfig +) + +install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include)
\ No newline at end of file diff --git a/ports/libideviceactivation/CONTROL b/ports/libideviceactivation/CONTROL index 8ff0a857e..9fc1ed98e 100644 --- a/ports/libideviceactivation/CONTROL +++ b/ports/libideviceactivation/CONTROL @@ -1,4 +1,4 @@ Source: libideviceactivation
-Version: 1.2.68-1
+Version: 1.2.137 Description: A library to handle the activation process of iOS devices
-Build-Depends: libimobiledevice, libxml2, curl
\ No newline at end of file +Build-Depends: libimobiledevice, libxml2, curl, libplist
\ No newline at end of file diff --git a/ports/libideviceactivation/libcurl_d.patch b/ports/libideviceactivation/libcurl_d.patch deleted file mode 100644 index 69f1bf53b..000000000 --- a/ports/libideviceactivation/libcurl_d.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj -index ba473f7a..47a20d15 100644 ---- a/libideviceactivation.vcxproj -+++ b/libideviceactivation.vcxproj -@@ -76,7 +76,7 @@ - <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> - </ClCompile> - <Link> -- <AdditionalDependencies>libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> -+ <AdditionalDependencies>libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> -@@ -89,7 +89,7 @@ - <ProgramDataBaseFileName>$(OutDir)$(ProjectName).pdb</ProgramDataBaseFileName> - </ClCompile> - <Link> -- <AdditionalDependencies>libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> -+ <AdditionalDependencies>libcurl-d.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake index 7e4776c69..87eecc757 100644 --- a/ports/libideviceactivation/portfile.cmake +++ b/ports/libideviceactivation/portfile.cmake @@ -1,23 +1,22 @@ -include(vcpkg_common_functions)
-
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libideviceactivation
- REF v1.2.68
- SHA512 c2742bba2d90c21e853255c9ef1b9a63560c3e65541a0a3daaace9b0c48d236b7947008dbcd6e42622251015b686758ebc6b564e379d831cb4f52af812430140
+ REF de6008a6bd66a96bb11468b8b137704f0fef2c54 # v1.2.137 + SHA512 cdf72702c465cb3e405db067fa96e2979b8c32e7798bcdb9e7286c4bc9392639cb0d31622c321453f635ef5212e645d300f3b420a847fb16fa05425c4882be95
HEAD_REF msvc-master
- PATCHES libcurl_d.patch
)
-vcpkg_install_msbuild(
+configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
+
+vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PROJECT_SUBPATH libideviceactivation.sln
- INCLUDES_SUBPATH include
- LICENSE_SUBPATH COPYING
- USE_VCPKG_INTEGRATION
- ALLOW_ROOT_INCLUDES
+ PREFER_NINJA
)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am)
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libimobiledevice/CMakeLists.txt b/ports/libimobiledevice/CMakeLists.txt new file mode 100644 index 000000000..2e71ec0cd --- /dev/null +++ b/ports/libimobiledevice/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 3.0) +project(libimobiledevice C) + +# find dependencies +find_library(libplist plist REQUIRED) +find_library(libusbmuxd libusbmuxd REQUIRED) +find_package(OpenSSL REQUIRED) +find_path(dirent_INCLUDE_DIR dirent.h) +if (WIN32) + find_library(getopt getopt REQUIRED) +endif() + +# ready to create library +file(GLOB_RECURSE IMOBDEV_COMMON_HDR common/*.h) +file(GLOB_RECURSE IMOBDEV_COMMON_SRC common/*.c) + +file(GLOB IMOBDEV_PUBLIC_HDR include/*.h) +file(GLOB IMOBDEV_PUBLIC_SUB_HDR include/libimobiledevice/*.h) +file(GLOB_RECURSE IMOBDEV_PRIVATE_HDR src/*.h) +file(GLOB_RECURSE IMOBDEV_SRC src/*.c) + +add_library(libimobiledevice ${IMOBDEV_SRC} ${IMOBDEV_PUBLIC_HDR} ${IMOBDEV_PUBLIC_SUB_HDR} ${IMOBDEV_PRIVATE_HDR} ${IMOBDEV_COMMON_HDR} ${IMOBDEV_COMMON_SRC}) +target_include_directories(libimobiledevice PRIVATE ${dirent_INCLUDE_DIR} include .) +target_compile_definitions(libimobiledevice PRIVATE -DHAVE_OPENSSL) +target_link_libraries(libimobiledevice PRIVATE ${libplist} ${libusbmuxd} ${getopt} OpenSSL::SSL OpenSSL::Crypto) +if (WIN32) + target_link_libraries(libimobiledevice PRIVATE Ws2_32) +else() +endif() + +# install +install( + TARGETS libimobiledevice + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/src/libimobiledevice-1.0.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc + @ONLY +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc + DESTINATION lib/libimobiledevice +) + +install(FILES ${IMOBDEV_PUBLIC_HDR} DESTINATION include) +install(FILES ${IMOBDEV_PUBLIC_SUB_HDR} DESTINATION include/libimobiledevice)
\ No newline at end of file diff --git a/ports/libimobiledevice/CONTROL b/ports/libimobiledevice/CONTROL index 0a6a21bf8..d5234beb7 100644 --- a/ports/libimobiledevice/CONTROL +++ b/ports/libimobiledevice/CONTROL @@ -1,4 +1,4 @@ Source: libimobiledevice
-Version: 1.2.76 +Version: 1.2.137 Description: A cross-platform protocol library to communicate with iOS devices
Build-Depends: libplist, libusbmuxd, openssl, dirent, getopt
\ No newline at end of file diff --git a/ports/libimobiledevice/portfile.cmake b/ports/libimobiledevice/portfile.cmake index f91cad8cc..1972473e1 100644 --- a/ports/libimobiledevice/portfile.cmake +++ b/ports/libimobiledevice/portfile.cmake @@ -1,20 +1,22 @@ -include(vcpkg_common_functions)
-
-vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libimobiledevice
- REF d6b24aae971b990d2777a88ec3a1e31b40d6152f - SHA512 75e45162fecd80464846ff51c9b3e722017f738de8f6b55e9f41f5eadcd93730b12512087d427badbc0c2b54a76a66359a472ab5bc5be5fa02826db1171565d0
+ REF 7cf5cb4b9675ddcaed5ea3d7ee2c8848da18d691 # v1.2.137 + SHA512 cfc32d3414af333d3410c292660b526f2339d210bc2cc3ddf1de87c951bff526c731c4d61609441b3c1ce8e2d1398e6d4c35fdae3e7434bfd5050e5975047a11
HEAD_REF msvc-master
)
-vcpkg_install_msbuild(
+configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
+
+vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PROJECT_SUBPATH libimobiledevice.sln
- INCLUDES_SUBPATH include
- LICENSE_SUBPATH COPYING
- REMOVE_ROOT_INCLUDES
- USE_VCPKG_INTEGRATION
+ PREFER_NINJA
)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/ports/libusbmuxd/CMakeLists.txt b/ports/libusbmuxd/CMakeLists.txt new file mode 100644 index 000000000..3b314fb35 --- /dev/null +++ b/ports/libusbmuxd/CMakeLists.txt @@ -0,0 +1,42 @@ +cmake_minimum_required(VERSION 3.0) +project(libusbmuxd C) + +# find dependencies +find_path(libplist_INCLUDES plist.h PATH_SUFFIXES plist) +set(libplist_INCLUDES ${libplist_INCLUDES}/../) +find_library(libplist plist REQUIRED) + +# ready to create library +file(GLOB_RECURSE IDVCACTV_TOOLS_HDR common/*.h) +file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c) + +file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h) +file(GLOB_RECURSE IDVCACTV_SRC src/*.c) + +add_library(libusbmuxd ${IDVCACTV_TOOLS_HDR} ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR}) +target_include_directories(libusbmuxd PRIVATE ${libplist_INCLUDES} include common) +target_compile_definitions(libusbmuxd PRIVATE -DPACKAGE_STRING="1.2.77") +if (WIN32) + target_compile_definitions(libusbmuxd PRIVATE -DWIN32) + target_link_libraries(libusbmuxd PRIVATE Ws2_32) +endif() +target_link_libraries(libusbmuxd PRIVATE ${libplist}) + +# install +install( + TARGETS libusbmuxd + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/libusbmuxd.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc + @ONLY +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd.pc + DESTINATION lib/pkgconfig +) + +install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include)
\ No newline at end of file diff --git a/ports/libusbmuxd/CONTROL b/ports/libusbmuxd/CONTROL index f17e7222c..8a0f37e41 100644 --- a/ports/libusbmuxd/CONTROL +++ b/ports/libusbmuxd/CONTROL @@ -1,4 +1,4 @@ Source: libusbmuxd
-Version: 1.2.77-1
+Version: 1.2.137
Description: A client library to multiplex connections from and to iOS devices
Build-Depends: libplist
diff --git a/ports/libusbmuxd/fix-win-build.patch b/ports/libusbmuxd/fix-win-build.patch new file mode 100644 index 000000000..a1b7f2ef2 --- /dev/null +++ b/ports/libusbmuxd/fix-win-build.patch @@ -0,0 +1,20 @@ +diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c +index e85cf4a..35ed1b5 100644 +--- a/src/libusbmuxd.c ++++ b/src/libusbmuxd.c +@@ -86,6 +86,15 @@ static char* stpncpy(char *dst, const char *src, size_t len) + } + #endif + ++#ifdef WIN32 ++int strcasecmp(char *s1, char *s2) ++{ ++ while (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++)) ++ if (*s1++ == '\0') return 0; ++ return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2)); ++} ++#endif ++ + #include <plist/plist.h> + #define PLIST_CLIENT_VERSION_STRING PACKAGE_STRING + #define PLIST_LIBUSBMUX_VERSION 3 diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake index acf6bba6c..714497d55 100644 --- a/ports/libusbmuxd/portfile.cmake +++ b/ports/libusbmuxd/portfile.cmake @@ -1,28 +1,23 @@ -include(vcpkg_common_functions)
-
-vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/libusbmuxd
- REF a4422aa65f3635d99c3b80fad18f093ef3c5f653
- SHA512 9446bbcd6b901e6183f6e86d7fe7301c01182ae5b9330182fbca529bb1db54250cd6012256a420d457a7243388811c94bb2ecf5a0747238714d00b3850e60e8e
+ REF b9643ca81b8274fbb2411d3c66c4edf103f6a711 # v1.2.137
+ SHA512 f4c9537349bfac2140c809be24cc573d92087a57f20d90e2abd46d0a2098e31ccd283ab776302b61470fb08d45f8dc2cfb8bd8678cba7db5b2a9b51c270a3cc8
HEAD_REF msvc-master
+ PATCHES fix-win-build.patch
)
-set(ENV{_CL_} "$ENV{_CL_} /GL-")
-set(ENV{_LINK_} "$ENV{_LINK_} /LTCG:OFF")
+configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
-vcpkg_install_msbuild(
+vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
- PROJECT_SUBPATH libusbmuxd.sln
- INCLUDES_SUBPATH include
- LICENSE_SUBPATH COPYING
- USE_VCPKG_INTEGRATION
- ALLOW_ROOT_INCLUDES
+ PREFER_NINJA
)
-file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am")
-if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
-endif()
\ No newline at end of file +vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index f5a15d9ef..2f9b1d17d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -923,7 +923,6 @@ libusb:arm-uwp=fail libusb:x64-linux=fail
libusb:x64-osx=fail
libusb:x64-uwp=fail
-libusbmuxd:arm64-windows=fail
libusbmuxd:arm-uwp=fail
libusbmuxd:x64-uwp=fail
libusbmuxd:x64-linux=fail
|
