diff options
-rw-r--r-- | PKGBUILD | 66 | ||||
-rw-r--r-- | huggle-extensions.patch | 125 | ||||
-rw-r--r-- | huggle-yaml.patch | 30 |
3 files changed, 189 insertions, 32 deletions
@@ -1,47 +1,49 @@ -# Maintainer: Samuel Damashek <samuel dot damashek at gmail dot com> -# Maintainer: Alex Xu <alex_y_xu dot yahoo at ca> +# Maintainer: AntiCompositeNumber <anticompositenumber plus aur at gmail dot com> +# Contributor: Samuel Damashek <samuel dot damashek at gmail dot com> +# Contributor: Alex Xu <alex_y_xu dot yahoo at ca> pkgname=huggle -pkgver=3.4.9 +pkgver=3.4.10 pkgrel=1 -pkgdesc="diff browser intended for dealing with vandalism and other unconstructive edits on Wikimedia projects" +pkgdesc="Anti-vandalism tool for use on MediaWiki-based projects" arch=('i686' 'x86_64') url="https://en.wikipedia.org/wiki/Wikipedia:Huggle" license=('GPL') -depends=('qt5-multimedia' 'qt5-webengine') +depends=('qt5-multimedia' 'qt5-webengine' 'yaml-cpp') makedepends=('cmake' 'ninja') -source=("git+https://github.com/huggle/huggle3-qt-lx.git#tag=${pkgver}") -sha256sums=('SKIP') +source=( + "https://github.com/huggle/huggle3-qt-lx/releases/download/${pkgver}/${pkgname}_${pkgver}.tar.gz" + "huggle-yaml.patch" + "huggle-extensions.patch" +) +sha256sums=('7dbf2c943f80eac551839535df68d1af4c19d52a026a9140a1b2fcf63f5a2249' + 'e66bb7ba73b72b08d478715d44baf096c87291e05997ad4786c1515b6574f2bb' + '823cbf583c00722bfe5ecd74a57ee7e3ef942ecb95a1704e65c226e7a2624497') prepare() { - cd "$srcdir/huggle3-qt-lx" - - # sigh - git submodule update --init - - # sigh - (cd src/huggle_core; ./update.sh) + cd "${pkgname}_${pkgver}" + # Patch extension directory to /usr/lib/huggle/extensions (T251049) + patch --forward --strip=1 --input="../huggle-extensions.patch" + # Backport dependency fix from master, remove in 3.4.11 + patch --forward --strip=1 --input="../huggle-yaml.patch" } build() { - cd "$srcdir/huggle3-qt-lx/src" - - local cmakeargs=( - -GNinja - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_INSTALL_PREFIX=/usr - -DQT5_BUILD=ON - -DWEB_ENGINE=ON - -DBUILD_SHARED_LIBS=OFF - "$srcdir/huggle3-qt-lx/src" - ) - - cmake "${cmakeargs[@]}" - - ninja + export CFLAGS+=" ${CPPFLAGS}" + export CXXFLAGS+=" ${CPPFLAGS}" + cmake -B build \ + -S "${pkgname}_${pkgver}/src" \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DINSTALL_DATA_DIR="lib/huggle" \ + -DQT5_BUILD=ON \ + -DWEB_ENGINE=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -DHUGGLE_EXT=TRUE \ + -Wno-dev \ + + make -C build } package() { - cd "$srcdir/huggle3-qt-lx/src" - DESTDIR=$pkgdir ninja install - find "$pkgdir" -name '*yaml-cpp*' -exec rm -rf {} + + make DESTDIR="$pkgdir/" -C build install } diff --git a/huggle-extensions.patch b/huggle-extensions.patch new file mode 100644 index 000000000000..1812f1fa8284 --- /dev/null +++ b/huggle-extensions.patch @@ -0,0 +1,125 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b7530e8f..4316a369 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -122,7 +122,7 @@ install(FILES ${CMAKE_SOURCE_DIR}/huggle_res/Resources/huggle3_newlogo.png DESTI + if (LINUX_SNAP) + install(DIRECTORY scripts/ DESTINATION bin/extensions FILES_MATCHING PATTERN "*.js") + else() +- install(DIRECTORY scripts/ DESTINATION share/huggle/extensions FILES_MATCHING PATTERN "*.js") ++ install(DIRECTORY scripts/ DESTINATION lib/huggle/extensions FILES_MATCHING PATTERN "*.js") + endif() + + include(CPack) +Submodule src/extensions/enwiki contains modified content +diff --git a/src/extensions/enwiki/CMakeLists.txt b/src/extensions/enwiki/CMakeLists.txt +index cbe5cce..396e013 100644 +--- a/src/extensions/enwiki/CMakeLists.txt ++++ b/src/extensions/enwiki/CMakeLists.txt +@@ -60,5 +60,5 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_en DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_en DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_en DESTINATION lib/huggle/extensions) + endif() +Submodule src/extensions/extension-flow contains modified content +diff --git a/src/extensions/extension-flow/CMakeLists.txt b/src/extensions/extension-flow/CMakeLists.txt +index 3744d6b..9a7ae91 100644 +--- a/src/extensions/extension-flow/CMakeLists.txt ++++ b/src/extensions/extension-flow/CMakeLists.txt +@@ -54,6 +54,6 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_flow DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_flow DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_flow DESTINATION lib/huggle/extensions) + endif() + +Submodule src/extensions/extension-mass-delete contains modified content +diff --git a/src/extensions/extension-mass-delete/CMakeLists.txt b/src/extensions/extension-mass-delete/CMakeLists.txt +index 05fec89..400c28e 100644 +--- a/src/extensions/extension-mass-delete/CMakeLists.txt ++++ b/src/extensions/extension-mass-delete/CMakeLists.txt +@@ -56,5 +56,5 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_nuke DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_nuke DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_nuke DESTINATION lib/huggle/extensions) + endif() +Submodule src/extensions/extension-scoring contains modified content +diff --git a/src/extensions/extension-scoring/CMakeLists.txt b/src/extensions/extension-scoring/CMakeLists.txt +index f459515..af4a7e9 100644 +--- a/src/extensions/extension-scoring/CMakeLists.txt ++++ b/src/extensions/extension-scoring/CMakeLists.txt +@@ -76,5 +76,5 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_scoring DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_scoring DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_scoring DESTINATION lib/huggle/extensions) + endif() +Submodule src/extensions/extension-splitter-helper contains modified content +diff --git a/src/extensions/extension-splitter-helper/CMakeLists.txt b/src/extensions/extension-splitter-helper/CMakeLists.txt +index d56f8a5..9fcdf82 100644 +--- a/src/extensions/extension-splitter-helper/CMakeLists.txt ++++ b/src/extensions/extension-splitter-helper/CMakeLists.txt +@@ -67,5 +67,5 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_sh DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_sh DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_sh DESTINATION lib/huggle/extensions) + endif() +Submodule src/extensions/extension-thanks contains modified content +diff --git a/src/extensions/extension-thanks/CMakeLists.txt b/src/extensions/extension-thanks/CMakeLists.txt +index f4bfa1b..df38ff8 100644 +--- a/src/extensions/extension-thanks/CMakeLists.txt ++++ b/src/extensions/extension-thanks/CMakeLists.txt +@@ -67,6 +67,6 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_thanks DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_thanks DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_thanks DESTINATION lib/huggle/extensions) + endif() + +Submodule src/extensions/mass-delivery contains modified content +diff --git a/src/extensions/mass-delivery/CMakeLists.txt b/src/extensions/mass-delivery/CMakeLists.txt +index 29c52fa..bb6a2f4 100644 +--- a/src/extensions/mass-delivery/CMakeLists.txt ++++ b/src/extensions/mass-delivery/CMakeLists.txt +@@ -75,5 +75,5 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + if (LINUX_SNAP) + INSTALL(TARGETS huggle_md DESTINATION bin/extensions) + else() +- INSTALL(TARGETS huggle_md DESTINATION share/huggle/extensions) ++ INSTALL(TARGETS huggle_md DESTINATION lib/huggle/extensions) + endif() +diff --git a/src/huggle_core/definitions_prod.hpp b/src/huggle_core/definitions_prod.hpp +index 3e1a4319..8d69cb3b 100644 +--- a/src/huggle_core/definitions_prod.hpp ++++ b/src/huggle_core/definitions_prod.hpp +@@ -216,7 +216,7 @@ namespace std { typedef decltype(nullptr) nullptr_t; } + #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/extensions" + #elif defined __linux__ + #define HUGGLE_UPDATER_PLATFORM_TYPE "linux" +- #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/local/share/huggle/extensions" ++ #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/lib/huggle/extensions" + #elif defined HUGGLE_WIN + // This is needed by yaml cpp library, otherwise it won't build with MSVC + #define YAML_CPP_DLL +diff --git a/src/huggle_core/definitions.hpp b/src/huggle_core/definitions.hpp +index 1fc5b1f..dc7a4d9 100644 +--- a/src/huggle_core/definitions.hpp ++++ b/src/huggle_core/definitions.hpp +@@ -216,7 +216,7 @@ namespace std { typedef decltype(nullptr) nullptr_t; } + #define HUGGLE_GLOBAL_EXTENSION_PATH QCoreApplication::applicationDirPath() + "/extensions" + #elif defined __linux__ + #define HUGGLE_UPDATER_PLATFORM_TYPE "linux" +- #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/local/share/huggle/extensions" ++ #define HUGGLE_GLOBAL_EXTENSION_PATH "/usr/lib/huggle/extensions" + #elif defined HUGGLE_WIN + // This is needed by yaml cpp library, otherwise it won't build with MSVC + #define YAML_CPP_DLL diff --git a/huggle-yaml.patch b/huggle-yaml.patch new file mode 100644 index 000000000000..1eba4ed19bf9 --- /dev/null +++ b/huggle-yaml.patch @@ -0,0 +1,30 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a37976e3..b7530e8f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -63,12 +63,19 @@ add_subdirectory(3rd/libirc/libirc libirc) + add_subdirectory(3rd/libirc/libircclient libircclient) + + # YAML +-option(YAML_CPP_BUILD_TOOLS "Disable tests" OFF) +-option(YAML_CPP_BUILD_TESTS "Enable testing" OFF) +-option(YAML_CPP_BUILD_TOOLS "Enable parse tools" OFF) +-option(BUILD_SHARED_LIBS "Build as shared" ON) +-include_directories("3rd/yaml-cpp/include/") +-add_subdirectory(3rd/yaml-cpp) ++find_package(YAML-CPP 0.6.3 QUIET) ++if (YAML-CPP_FOUND) ++ message(STATUS "Using system yaml-cpp") ++ include_directories(YAML_CPP_INCLUDE_DIR) ++else() ++ option(YAML_CPP_BUILD_TOOLS "Disable tests" OFF) ++ option(YAML_CPP_BUILD_TESTS "Enable testing" OFF) ++ option(YAML_CPP_BUILD_TOOLS "Enable parse tools" OFF) ++ option(BUILD_SHARED_LIBS "Build as shared" ON) ++ include_directories("3rd/yaml-cpp/include/") ++ add_subdirectory(3rd/yaml-cpp) ++endif() ++ + if (HUGGLE_EXT) + if(NOT MINGW AND WIN32) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR}/Release/extensions) |