nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 fetchpatch,
6 cmake,
7 olm,
8 openssl,
9 qtbase,
10 qtmultimedia,
11 qtkeychain,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "libquotient";
16 version = "0.9.5";
17
18 outputs = [
19 "out"
20 "dev"
21 ];
22
23 src = fetchFromGitHub {
24 owner = "quotient-im";
25 repo = "libQuotient";
26 rev = version;
27 hash = "sha256-wdIE5LI4l3WUvpGfoJBL8sjBl2k8NfZTh9CjfJc9FIA=";
28 };
29
30 patches = [
31 # Qt 6.10 compat
32 # FIXME: remove in next update
33 (fetchpatch {
34 url = "https://github.com/quotient-im/libQuotient/commit/ea83157eed37ff97ab275a5d14c971f0a5a70595.diff";
35 hash = "sha256-JMdcywGgZ0Gev/Nce4oPiMJQxTBJYPoq+WoT3WLWWNQ=";
36 })
37 ];
38
39 nativeBuildInputs = [ cmake ];
40
41 propagatedBuildInputs = [
42 qtbase
43 qtkeychain
44 olm
45 openssl
46 qtmultimedia
47 ];
48
49 cmakeFlags = [
50 "-DQuotient_ENABLE_E2EE=ON"
51 ];
52
53 # https://github.com/quotient-im/libQuotient/issues/551
54 postPatch = ''
55 substituteInPlace Quotient.pc.in \
56 --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \
57 --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@
58 '';
59
60 dontWrapQtApps = true;
61
62 postInstall = ''
63 # causes cyclic dependency but is not used
64 rm $out/share/ndk-modules/Android.mk
65 '';
66
67 meta = {
68 description = "Qt5/Qt6 library to write cross-platform clients for Matrix";
69 homepage = "https://quotient-im.github.io/libQuotient/";
70 license = lib.licenses.lgpl21;
71 maintainers = with lib.maintainers; [
72 matthiasbeyer
73 ];
74 };
75}