From bba0b6b98d2cfbb9efb49d64e1a5a5a7eff23f1d Mon Sep 17 00:00:00 2001 From: Stijn Herfst Date: Wed, 19 Jun 2019 01:27:42 +0200 Subject: [casclib] Add new port (#6744) * [casclib] Add new port --- ports/casclib/CMakeLists.txt | 74 +++++++++++++++++++++++++++++++++++++++ ports/casclib/CONTROL | 4 +++ ports/casclib/ctype_for_mac.patch | 27 ++++++++++++++ ports/casclib/portfile.cmake | 23 ++++++++++++ 4 files changed, 128 insertions(+) create mode 100644 ports/casclib/CMakeLists.txt create mode 100644 ports/casclib/CONTROL create mode 100644 ports/casclib/ctype_for_mac.patch create mode 100644 ports/casclib/portfile.cmake 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 + #include + #include +- #include + #include +- #include + #include +- #include ++ #include + #include ++ #include ++ #include ++ #include ++ #include + #include ++ #include ++ #include + #include ++ #include + + // 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 -- cgit v1.2.3