unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#47273] mtxclient -> 0.4.1 Nheko -> 0.8.1
@ 2021-03-20  1:22 K I
  2021-03-20  9:33 ` Nicolò Balzarotti
  0 siblings, 1 reply; 2+ messages in thread
From: K I @ 2021-03-20  1:22 UTC (permalink / raw)
  To: 47273

Hello,

I do not know my way around git so I am offering this code to someone if they want to add it to guix proper. There were only slight changes needed.

Both packages built and ran for me.

(define-public mtxclient
  (package
    (name "mtxclient")
    (version "0.4.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Nheko-Reborn/mtxclient")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n"))))
    (arguments
     `(#:configure-flags
       (list
        ;; Disable example binaries (not installed)
        "-DBUILD_LIB_EXAMPLES=OFF")
       #:phases
       (modify-phases %standard-phases
         (add-before 'configure 'disable-network-tests
           (lambda _
             (substitute* "CMakeLists.txt"
               (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|Pushrules)")
                "# add_test"))
             #t))
         (add-before 'configure 'set-home
           (lambda _
             ;; Tries to create package registry file
             ;; So, set HOME.
             (setenv "HOME" "/tmp")
             #t)))))
    (build-system cmake-build-system)
    (inputs
     `(("boost" ,boost)
       ("json-modern-cxx" ,json-modern-cxx)
       ("libolm" ,libolm)
       ("libsodium" ,libsodium)
       ("openssl" ,openssl)
       ("spdlog" ,spdlog)
       ("zlib" ,zlib)))
    (native-inputs
     `(("googletest" ,googletest)
       ("pkg-config" ,pkg-config)))
    (home-page "https://github.com/Nheko-Reborn/mtxclient")
    (synopsis "Client API library for the Matrix protocol")
    (description "@code{mtxclient} is a C++ library that implements client API for the Matrix protocol.  It is built on to of @code{Boost.Asio}.")
    (license license:expat)))

(define-public nheko
  (package
    (name "nheko")
    (version "0.8.1")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/Nheko-Reborn/nheko")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1v7k3ifzi05fdr06hmws1wkfl1bmhrnam3dbwahp086vkj0r8524"))))
    (arguments
     `(#:tests? #f                      ;no test target
       #:configure-flags
       (list
        "-DCMAKE_BUILD_TYPE=Release"
        "-DCMAKE_CXX_FLAGS=-fpermissive")
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'remove-Werror
           (lambda _
             (substitute* "CMakeLists.txt"
               (("-Werror") ""))
             #t))
         (add-after 'unpack 'fix-determinism
           (lambda _
             ;; Make Qt deterministic.
             (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
             #t)))))
    (build-system qt-build-system)
    (inputs
     `(("boost" ,boost)
       ("cmark" ,cmark)
       ("json-modern-cxx" ,json-modern-cxx)
       ("libolm" ,libolm)
       ("lmdb" ,lmdb)
       ("lmdbxx" ,lmdbxx)
       ("mtxclient-new" ,mtxclient-new)
       ("openssl" ,openssl)
       ("qtbase" ,qtbase)
       ("qtdeclarative" ,qtdeclarative)
       ("qtgraphicaleffects" ,qtgraphicaleffects)
       ("qtkeychain" ,qtkeychain)
       ("qtmultimedia" ,qtmultimedia)
       ("qtquickcontrols2" ,qtquickcontrols2)
       ("qtsvg" ,qtsvg)
       ("spdlog" ,spdlog)
       ("tweeny" ,tweeny)
       ("zlib" ,zlib)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("qtlinguist" ,qttools)))
    (home-page "https://github.com/Nheko-Reborn/nheko")
    (synopsis "Desktop client for Matrix using Qt and C++14")
    (description "@code{Nheko} want to provide a native desktop app for the
Matrix protocol that feels more like a mainstream chat app and less like an IRC
client.

There is support for:
@itemize
@item E2E encryption (text messages only: attachments are currently sent unencrypted).
@item User registration.
@item Creating, joining & leaving rooms.
@item Sending & receiving invites.
@item Sending & receiving files and emoji.
@item Typing notifications.
@item Username auto-completion.
@item Message & mention notifications.
@item Redacting messages.
@item Read receipts.
@item Basic communities support.
@item Room switcher (@key{ctrl-K}).
@item Light, Dark & System themes.
@end itemize")
    (license license:gpl3+)))



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-20  9:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-20  1:22 [bug#47273] mtxclient -> 0.4.1 Nheko -> 0.8.1 K I
2021-03-20  9:33 ` Nicolò Balzarotti

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).