nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 pkg-config,
6 ncurses,
7 which,
8 cmake,
9 wrapQtAppsHook,
10 qtwebengine,
11 yaml-cpp,
12 libirc,
13}:
14
15stdenv.mkDerivation rec {
16 pname = "huggle";
17 version = "3.4.13";
18
19 src = fetchFromGitHub {
20 owner = "huggle";
21 repo = "huggle3-qt-lx";
22 rev = version;
23 sha256 = "sha256-f7Oo6x262Ju9KY8f/xjm9gL6I1fRCaDsQWGWJMUNUfY=";
24 fetchSubmodules = true;
25 };
26
27 nativeBuildInputs = [
28 wrapQtAppsHook
29 pkg-config
30 which
31 cmake
32 ];
33 buildInputs = [
34 ncurses
35 yaml-cpp
36 qtwebengine
37 libirc
38 ];
39
40 patches = [
41 ./00-remove-third-party.patch
42 ./01-extensions.patch
43 ];
44 postPatch = ''
45 rm -r src/3rd
46 echo ${version} > src/huggle_core/version.txt
47 substituteInPlace src/huggle_core/definitions_prod.hpp --subst-var out
48 substituteInPlace src/CMakeLists.txt --replace '@libirc_includes@' '${libirc.out}'
49 '';
50
51 cmakeBuildType = "None";
52
53 cmakeFlags = [
54 "-S"
55 "/build/source/src"
56 "-DINSTALL_DATA_DIR=bin"
57 "-DQT5_BUILD=ON"
58 "-DWEB_ENGINE=ON"
59 "-DBUILD_SHARED_LIBS=OFF"
60 "-Wno-dev"
61 "-DHUGGLE_EXT=TRUE"
62 ];
63
64 installTargets = [ "install" ];
65
66 meta = with lib; {
67 description = "Anti-vandalism tool for use on MediaWiki-based projects";
68 mainProgram = "huggle";
69 homepage = "https://github.com/huggle/huggle3-qt-lx";
70 license = licenses.gpl3Only;
71 maintainers = [ maintainers.fee1-dead ];
72 platforms = platforms.x86_64;
73 };
74}