aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Wróbel <me@dawidwrobel.com>2021-05-25 16:55:06 -0400
committerGitHub <noreply@github.com>2021-05-25 13:55:06 -0700
commit83f9a6c469bcfe5bca6c990099e321427ad0db97 (patch)
tree08f5f7e6995eb2c9530a9d3c41dd6882720f789c
parenta47809ed9e83af1cf31cc59da76def9fe826e83e (diff)
downloadvcpkg-83f9a6c469bcfe5bca6c990099e321427ad0db97.tar.gz
vcpkg-83f9a6c469bcfe5bca6c990099e321427ad0db97.zip
[libtasn1] Add Windows support, update to 4.17 (#16953)
* [libtasn1] add Windows support * [libtasn1] Supply absolute paths to standard headers in MSVC * [libgpg-error] only apply MSVC patch on Windows * [libtasn1] fix ar-lib issue * [libtasn1] fix #include in sys_types.h as well * [libtasn1] fix Windows builds * [libtasn1] update to 4.17 * [libtasn1] fail x64-windows-static-md builds for now * [libtasn1] update versions * [libtasn1] wrap paths in double quotes * [libtasn1] update versions Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
-rw-r--r--ports/libtasn1/msvc_fixes.patch86
-rw-r--r--ports/libtasn1/portfile.cmake31
-rw-r--r--ports/libtasn1/vcpkg.json15
-rw-r--r--scripts/ci.baseline.txt1
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/l-/libtasn1.json5
6 files changed, 129 insertions, 13 deletions
diff --git a/ports/libtasn1/msvc_fixes.patch b/ports/libtasn1/msvc_fixes.patch
new file mode 100644
index 000000000..0554ff60a
--- /dev/null
+++ b/ports/libtasn1/msvc_fixes.patch
@@ -0,0 +1,86 @@
+diff --git a/src/asn1Coding.c b/src/asn1Coding.c
+index 86c1d07..6fcfc4d 100644
+--- a/src/asn1Coding.c
++++ b/src/asn1Coding.c
+@@ -23,7 +23,12 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif
++#ifdef _MSC_VER
++#include <io.h>
++#endif
+ #include <getopt.h>
+ #include <assert.h>
+
+diff --git a/src/asn1Decoding.c b/src/asn1Decoding.c
+index c6f192e..3e4e21d 100644
+--- a/src/asn1Decoding.c
++++ b/src/asn1Decoding.c
+@@ -23,7 +23,12 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif
++#ifdef _MSC_VER
++#include <io.h>
++#endif
+ #include <getopt.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+diff --git a/src/asn1Parser.c b/src/asn1Parser.c
+index b6844a8..445c716 100644
+--- a/src/asn1Parser.c
++++ b/src/asn1Parser.c
+@@ -23,7 +23,12 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif
++#ifdef _MSC_VER
++#include <io.h>
++#endif
+ #include <getopt.h>
+ #include <assert.h>
+
+diff --git a/src/benchmark.c b/src/benchmark.c
+index 010d58e..6c613df 100644
+--- a/src/benchmark.c
++++ b/src/benchmark.c
+@@ -21,9 +21,16 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <signal.h>
++#ifndef _MSC_VER
+ #include <sys/time.h>
++#endif
+ #include <time.h>
++#ifdef HAVE_UNISTD_H
+ #include <unistd.h>
++#endif
++#ifdef _MSC_VER
++#include <io.h>
++#endif
+ #include "benchmark.h"
+
+ int benchmark_must_finish = 0;
+diff --git a/src/benchmark.h b/src/benchmark.h
+index 3272649..6b6bf32 100644
+--- a/src/benchmark.h
++++ b/src/benchmark.h
+@@ -21,7 +21,9 @@
+ # define BENCHMARK_H
+
+ #include <config.h>
++#ifndef _MSC_VER
+ #include <sys/time.h>
++#endif
+ #include <time.h>
+ #include <signal.h>
+ #if defined _WIN32
diff --git a/ports/libtasn1/portfile.cmake b/ports/libtasn1/portfile.cmake
index a1b587ea5..80ca7d2b8 100644
--- a/ports/libtasn1/portfile.cmake
+++ b/ports/libtasn1/portfile.cmake
@@ -1,32 +1,47 @@
-set(VERSION 4.16.0)
+set(VERSION 4.17.0)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(PATCHES msvc_fixes.patch)
+endif()
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnu.org/gnu/libtasn1/libtasn1-${VERSION}.tar.gz"
FILENAME "libtasn1-${VERSION}.tar.gz"
- SHA512 b356249535d5d592f9b59de39d21e26dd0f3f00ea47c9cef292cdd878042ea41ecbb7c8d2f02ac5839f5210092fe92a25acd343260ddf644887b031b167c2e71
+ SHA512 9cbd920196d1e4c8f5aa613259cded2510d40edb583ce20cc2702e2dee9bf32bee85a159c74600ffbebc2af2787e28ed0fe0adf15fc46839283747f4fe166d3d
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
REF ${VERSION}
+ PATCHES
+ ${PATCHES}
)
-# restore the default ac_cv_prog_cc_g flags, otherwise it fails to compile
-set(VCPKG_C_FLAGS "-g -O2")
-set(VCPKG_CXX_FLAGS "-g -O2")
+if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW)
+ # $LIBS is an environment variable that vcpkg already pre-populated with some libraries.
+ # We need to re-purpose it when passing LIBS option to make to avoid overriding the vcpkg's own list.
+ set(EXTRA_OPTS "LIBS=\"$LIBS -lgettimeofday -lgetopt\"")
+else()
+ # restore the default ac_cv_prog_cc_g flags, otherwise it fails to compile
+ set(EXTRA_OPTS)
+ set(VCPKG_C_FLAGS "-g -O2")
+ set(VCPKG_CXX_FLAGS "-g -O2")
+endif()
set(ENV{GTKDOCIZE} true)
vcpkg_configure_make(
AUTOCONFIG
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
+ --disable-doc
--disable-gtk-doc
+ --disable-gcc-warnings
+ ${EXTRA_OPTS}
)
vcpkg_install_make()
vcpkg_fixup_pkgconfig()
-vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools" "${CURRENT_PACKAGES_DIR}/debug/share")
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/libtasn1/vcpkg.json b/ports/libtasn1/vcpkg.json
index b89caf469..f5490dc89 100644
--- a/ports/libtasn1/vcpkg.json
+++ b/ports/libtasn1/vcpkg.json
@@ -1,8 +1,17 @@
{
"name": "libtasn1",
- "version": "4.16.0",
- "port-version": 1,
+ "version": "4.17.0",
"description": "A secure communications library implementing the SSL, TLS and DTLS protocols",
"homepage": "https://www.gnutls.org/",
- "supports": "!windows"
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "getopt",
+ "platform": "windows"
+ },
+ {
+ "name": "gettimeofday",
+ "platform": "windows"
+ }
+ ]
}
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 27000bc03..efd858e7f 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -761,6 +761,7 @@ libssh:arm-uwp=fail
libssh:x64-uwp=fail
libstk:arm-uwp=fail
libstk:x64-uwp=fail
+libtasn1:x64-windows-static-md=fail
libtins:arm-uwp=fail
libtins:x64-uwp=fail
libtomcrypt:arm64-windows=fail
diff --git a/versions/baseline.json b/versions/baseline.json
index f3162fbdc..04a640f23 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3557,8 +3557,8 @@
"port-version": 2
},
"libtasn1": {
- "baseline": "4.16.0",
- "port-version": 1
+ "baseline": "4.17.0",
+ "port-version": 0
},
"libtcod": {
"baseline": "1.18.0",
diff --git a/versions/l-/libtasn1.json b/versions/l-/libtasn1.json
index c7a142658..462949cc4 100644
--- a/versions/l-/libtasn1.json
+++ b/versions/l-/libtasn1.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "63ad8395545c61a38b7564108d2c1c4b7a6bbf12",
+ "version": "4.17.0",
+ "port-version": 0
+ },
+ {
"git-tree": "11a07d986211ef12d636380ed414b1e2350b8041",
"version": "4.16.0",
"port-version": 1