aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Herfst <stijnherfst@outlook.com>2019-06-19 01:27:42 +0200
committerPhil Christensen <philc@microsoft.com>2019-06-18 16:27:41 -0700
commitbba0b6b98d2cfbb9efb49d64e1a5a5a7eff23f1d (patch)
treef6e5167655af599cea4753220f81ad8c2d3a886a
parent99b39077441c17e2433c8ef0f7970611b039d377 (diff)
downloadvcpkg-bba0b6b98d2cfbb9efb49d64e1a5a5a7eff23f1d.tar.gz
vcpkg-bba0b6b98d2cfbb9efb49d64e1a5a5a7eff23f1d.zip
[casclib] Add new port (#6744)
* [casclib] Add new port
-rw-r--r--ports/casclib/CMakeLists.txt74
-rw-r--r--ports/casclib/CONTROL4
-rw-r--r--ports/casclib/ctype_for_mac.patch27
-rw-r--r--ports/casclib/portfile.cmake23
4 files changed, 128 insertions, 0 deletions
diff --git a/ports/casclib/CMakeLists.txt b/ports/casclib/CMakeLists.txt
new file mode 100644
index 000000000..4165814f5
--- /dev/null
+++ b/ports/casclib/CMakeLists.txt
@@ -0,0 +1,74 @@
+cmake_minimum_required(VERSION 3.9)
+project(CascLib)
+
+set(HEADER_FILES
+ src/CascCommon.h
+ src/CascLib.h
+ src/CascLib.def
+ src/CascPort.h
+ src/common/Array.h
+ src/common/Common.h
+ src/common/Csv.h
+ src/common/FileStream.h
+ src/common/FileTree.h
+ src/common/ListFile.h
+ src/common/Map.h
+ src/jenkins/lookup.h
+)
+
+set(SRC_FILES
+ src/CascCommon.cpp
+ src/CascDecompress.cpp
+ src/CascDecrypt.cpp
+ src/CascDumpData.cpp
+ src/CascFiles.cpp
+ src/CascFindFile.cpp
+ src/CascIndexFiles.cpp
+ src/CascOpenFile.cpp
+ src/CascOpenStorage.cpp
+ src/CascReadFile.cpp
+ src/CascRootFile_Diablo3.cpp
+ src/CascRootFile_Install.cpp
+ src/CascRootFile_MNDX.cpp
+ src/CascRootFile_OW.cpp
+ src/CascRootFile_Text.cpp
+ src/CascRootFile_TVFS.cpp
+ src/CascRootFile_WoW.cpp
+ src/common/Common.cpp
+ src/common/Csv.cpp
+ src/common/Directory.cpp
+ src/common/FileStream.cpp
+ src/common/FileTree.cpp
+ src/common/ListFile.cpp
+ src/common/RootHandler.cpp
+ src/jenkins/lookup3.c
+)
+
+set(MD5_FILES
+ src/md5/md5.cpp
+)
+
+set(ZLIB_FILES
+ src/zlib/adler32.c
+ src/zlib/crc32.c
+ src/zlib/inffast.c
+ src/zlib/inflate.c
+ src/zlib/inftrees.c
+ src/zlib/zutil.c
+)
+
+if(WIN32)
+ add_definitions(-DUNICODE -D_UNICODE)
+endif()
+
+add_library(CascLib ${SRC_FILES} ${HEADER_FILES} ${TOMCRYPT_FILES} ${ZLIB_FILES} ${MD5_FILES})
+
+set_target_properties(CascLib PROPERTIES PUBLIC_HEADER "src/CascLib.h;src/CascPort.h")
+
+install(TARGETS CascLib
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ FRAMEWORK DESTINATION /Library/Frameworks
+ PUBLIC_HEADER DESTINATION include
+ INCLUDES DESTINATION include) \ No newline at end of file
diff --git a/ports/casclib/CONTROL b/ports/casclib/CONTROL
new file mode 100644
index 000000000..a9a10ac9b
--- /dev/null
+++ b/ports/casclib/CONTROL
@@ -0,0 +1,4 @@
+Source: casclib
+Version: 1.50
+Build-Depends: zlib
+Description: An open-source implementation of library for reading CASC storage from Blizzard games since 2014 \ No newline at end of file
diff --git a/ports/casclib/ctype_for_mac.patch b/ports/casclib/ctype_for_mac.patch
new file mode 100644
index 000000000..30f790c1f
--- /dev/null
+++ b/ports/casclib/ctype_for_mac.patch
@@ -0,0 +1,27 @@
+diff --git a/src/CascPort.h b/src/CascPort.h
+index 87a2f2f..da74aef 100644
+--- a/src/CascPort.h
++++ b/src/CascPort.h
+@@ -79,14 +79,19 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/mman.h>
+- #include <unistd.h>
+ #include <fcntl.h>
+- #include <stdlib.h>
+ #include <dirent.h>
+- #include <errno.h>
++ #include <unistd.h>
+ #include <stddef.h>
++ #include <stdint.h>
++ #include <stdlib.h>
++ #include <stdio.h>
++ #include <stdarg.h>
+ #include <string.h>
++ #include <ctype.h>
++ #include <wchar.h>
+ #include <cassert>
++ #include <errno.h>
+
+ // Support for PowerPC on Max OS X
+ #if (__ppc__ == 1) || (__POWERPC__ == 1) || (_ARCH_PPC == 1)
diff --git a/ports/casclib/portfile.cmake b/ports/casclib/portfile.cmake
new file mode 100644
index 000000000..bf17bc545
--- /dev/null
+++ b/ports/casclib/portfile.cmake
@@ -0,0 +1,23 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO ladislav-zezula/CascLib
+ REF 1.50
+ SHA512 7e95e314f09e504566e6fa2b1742f986d17526fb0283af8ffb77681338c9a852d369cbd863512a20ddd3a277d10a9bf701d745f500a717826dd08e201eb6d80e
+ HEAD_REF master
+ PATCHES
+ ctype_for_mac.patch
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+)
+
+vcpkg_install_cmake()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/casclib RENAME copyright)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file