diff --git a/PKGBUILD b/PKGBUILD index 77cd94a..4d5af18 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -10,34 +10,29 @@ arch=('x86_64') url="https://www.wiz.cn" license=('GPL3') depends=('desktop-file-utils' 'hicolor-icon-theme' 'xdg-utils' 'qt5-websockets' 'qt5-webengine' - 'qt5-svg') # 'crypto++') + 'qt5-svg' 'crypto++' 'openssl') # shared clucene/quazip triggers segfault -makedepends=('cmake' 'qt5-tools' 'boost') -source=("$pkgname-$_commit.tar.gz::https://github.com/WizTeam/WizQTClient/archive/$_commit.tar.gz") -sha512sums=('35b86abbde7d234b5ebcd66b9912ffddbf272a5ab7ff99ca408eb6a66366ab1c00a0c88241fd702f4f8d968c06a7c53722595eb4085938a5b5c726cfad38a832') +makedepends=('cmake' 'qt5-tools') +source=("$pkgname-$_commit.tar.gz::https://github.com/WizTeam/WizQTClient/archive/$_commit.tar.gz" + wiznote-2.8.5.patch) +sha512sums=('35b86abbde7d234b5ebcd66b9912ffddbf272a5ab7ff99ca408eb6a66366ab1c00a0c88241fd702f4f8d968c06a7c53722595eb4085938a5b5c726cfad38a832' + '355f020d841e3ec712215d502e4266398f096eec4355f106addab4b8aaad7ad8d99b608a64d31239bfefeedf1f748ee18e591636db113f20cc495a5b6c4dad24') prepare() { - #sed -e 's/add_subdirectory(cryptopp)//' \ - # -i WizQTClient-$_commit/lib/CMakeLists.txt - #sed -e 's/cryptlib/cryptopp/' \ - # -i WizQTClient-$_commit/src/CMakeLists.txt + #remove unused bundled libraries + rm -r WizQTClient-$_commit/lib/{cryptopp,openssl}/ - sed -i '/#include /a #include ' WizQTClient-$_commit/src/sync/WizAvatarHost.cpp - - rm -rf build; mkdir build + patch -Np1 -i ../wiznote-2.8.5.patch -d WizQTClient-$_commit } build() { - cd build - - cmake \ + cmake -B build -S WizQTClient-$_commit \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ - ../WizQTClient-$_commit - make + -Wno-dev + cmake --build build } package() { - cd build - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" cmake --install build } diff --git a/wiznote-2.8.5.patch b/wiznote-2.8.5.patch new file mode 100644 index 0000000..f6ed407 --- /dev/null +++ b/wiznote-2.8.5.patch @@ -0,0 +1,67 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index dbe317c..82cc27e 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -8,7 +8,6 @@ if(NOT ZLIB_FOUND) + set(ZLIB_LIBRARY zlib) + endif(NOT ZLIB_FOUND) + +-add_subdirectory(cryptopp) + add_subdirectory(quazip) + #add_subdirectory(aggregation) + #add_subdirectory(extensionsystem) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e2c99e0..df5124a 100755 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -518,7 +518,6 @@ include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/lib +- ${CMAKE_SOURCE_DIR}/lib/openssl/include + ) + + if (APPLE) +@@ -567,7 +566,7 @@ if(UNIX) + -lpthread + X11 + quazip +- cryptlib ++ cryptopp + Qt5::Svg + Qt5::WebEngine + Qt5::WebChannel +diff --git a/src/share/WizEnc.cpp b/src/share/WizEnc.cpp +index 7cfc4bf..aed5a31 100755 +--- a/src/share/WizEnc.cpp ++++ b/src/share/WizEnc.cpp +@@ -110,7 +110,7 @@ bool WizAES::encrypt(QDataStream* pStreamSrc, QDataStream* pStreamDest) + memcpy(padding, pBufferSrc + prefix, pad); + } + memset(padding + pad, 16 - pad, 16 - pad); +- enc.ProcessLastBlock(pBufferDest + prefix, padding, 16); ++ enc.ProcessLastBlock(pBufferDest + prefix, 16, padding, 16); + + if (pStreamDest->writeRawData((char *)pBufferDest, prefix + 16) == -1) { + //throw std::exception("Failed to write data to stream!"); +@@ -232,7 +232,7 @@ bool WizAES::decrypt(QDataStream* pStreamSrc, QDataStream* pStreamDest) + return false; + } + +- dec.ProcessLastBlock(padding, pBufferSrc, 16); ++ dec.ProcessLastBlock(padding, 16, pBufferSrc, 16); + int pad = padding[15]; + if (pad > 16) { + //throw std::exception("Failed to process last block!\nInvalid password?"); +diff --git a/src/sync/WizAvatarHost.cpp b/src/sync/WizAvatarHost.cpp +index 29374d7..f367734 100755 +--- a/src/sync/WizAvatarHost.cpp ++++ b/src/sync/WizAvatarHost.cpp +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include "WizApiEntry.h" + #include "../utils/WizPathResolve.h"