summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD66
-rw-r--r--huggle-extensions.patch125
-rw-r--r--huggle-yaml.patch30
3 files changed, 189 insertions, 32 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 8f361034f558..8c32493157c2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)