diff options
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/nheko/default.nix')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/nheko/default.nix | 111 |
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; }; } |