summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/nheko/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/nheko/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix111
1 files changed, 57 insertions, 54 deletions
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 1938bae4f74..f3b304564cb 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -1,79 +1,82 @@
-{ lib, stdenv, fetchFromGitHub
-, cmake, cmark, lmdb, mkDerivation, qtbase, qtmacextras
-, qtmultimedia, qttools, mtxclient, boost, spdlog, olm, pkgconfig
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, cmark
+, lmdb
+, lmdbxx
+, tweeny
+, mkDerivation
+, qtbase
+, qtmacextras
+, qtmultimedia
+, qttools
+, qtquickcontrols2
+, qtgraphicaleffects
+, mtxclient
+, boost17x
+, spdlog
+, olm
+, pkgconfig
 , nlohmann_json
 }:
 
-# These hashes and revisions are based on those from here:
-# https://github.com/Nheko-Reborn/nheko/blob/v0.6.4/deps/CMakeLists.txt#L52
-let
-  tweeny = fetchFromGitHub {
-    owner = "mobius3";
-    repo = "tweeny";
-    rev = "b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf";
-    sha256 = "1wyyq0j7dhjd6qgvnh3knr70li47hmf5394yznkv9b1indqjx4mi";
-  };
-
-  lmdbxx = fetchFromGitHub {
-    owner = "bendiken";
-    repo = "lmdbxx";
-    rev = "0b43ca87d8cfabba392dfe884eb1edb83874de02";
-    sha256 = "1whsc5cybf9rmgyaj6qjji03fv5jbgcgygp956s3835b9f9cjg1n";
-  };
-in
 mkDerivation rec {
   pname = "nheko";
-  version = "0.6.4";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "nheko";
     rev = "v${version}";
-    sha256 = "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm";
+    sha256 = "12sxibbrn79sxkf9jrm7jrlj7l5vz15claxrrll7pkv9mv44wady";
   };
 
-  # If, on Darwin, you encounter the error
-  #   error: must specify at least one argument for '...' parameter of variadic
-  #   macro [-Werror,-Wgnu-zero-variadic-macro-arguments]
-  # Then adding this parameter is likely the fix you want.
-  #
-  # However, it looks like either cmake doesn't honor this CFLAGS variable, or
-  # darwin's compiler doesn't have the same syntax as gcc for turning off
-  # -Werror selectively.
-  #
-  # Anyway, this is something that will have to be debugged with access to a
-  # darwin-based OS. Sorry about that!
-  #
-  #preConfigure = lib.optionalString stdenv.isDarwin ''
-  #  export CFLAGS=-Wno-error=gnu-zero-variadic-macro-arguments
-  #'';
-
-  postPatch = ''
-    mkdir -p .deps/include/
-    ln -s ${tweeny}/include .deps/include/tweeny
-    ln -s ${spdlog} .deps/spdlog
-  '';
-
+  nativeBuildInputs = [
+    lmdbxx
+    cmake
+    pkgconfig
+  ];
   cmakeFlags = [
-    "-DTWEENY_INCLUDE_DIR=.deps/include"
-    "-DLMDBXX_INCLUDE_DIR=${lmdbxx}"
-    "-Dnlohmann_json_DIR=${nlohmann_json}/lib/cmake/nlohmann_json"
+    # Can be removed once either https://github.com/NixOS/nixpkgs/pull/85254 or
+    # https://github.com/NixOS/nixpkgs/pull/73940 are merged
+    "-DBoost_NO_BOOST_CMAKE=TRUE"
+  ];
+  # commit missing from latest release and recommended by upstream:
+  # https://github.com/NixOS/nixpkgs/pull/85922#issuecomment-619263903
+  patches = [
+    (fetchpatch {
+      name = "room-ids-escape-patch";
+      url = "https://github.com/Nheko-Reborn/nheko/commit/d94ac86816f9f325cba11f71344a3ca99591130d.patch";
+      sha256 = "1p0kj4a60l3jf0rfakc88adld7ccg3vfjhzia5rf2i03h35cxw8c";
+    })
   ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    mtxclient olm boost lmdb spdlog cmark
-    qtbase qtmultimedia qttools
+    nlohmann_json
+    tweeny
+    mtxclient
+    olm
+    boost17x
+    lmdb
+    spdlog
+    cmark
+    qtbase
+    qtmultimedia
+    qttools
+    qtquickcontrols2
+    qtgraphicaleffects
   ] ++ lib.optional stdenv.isDarwin qtmacextras;
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "Desktop client for the Matrix protocol";
     homepage = "https://github.com/Nheko-Reborn/nheko";
     maintainers = with maintainers; [ ekleog fpletz ];
-    platforms = platforms.unix;
+    platforms = platforms.all;
+    # Should be fixable if a higher clang version is used, see:
+    # https://github.com/NixOS/nixpkgs/pull/85922#issuecomment-619287177
+    broken = stdenv.targetPlatform.isDarwin;
     license = licenses.gpl3Plus;
   };
 }