From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id +Ft7Opp7iGAHBQAAgWs5BA (envelope-from ) for ; Tue, 27 Apr 2021 23:01:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id ELEcNpp7iGC3JgAAB5/wlQ (envelope-from ) for ; Tue, 27 Apr 2021 21:01:14 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id F2E3F15008 for ; Tue, 27 Apr 2021 23:01:13 +0200 (CEST) Received: from localhost ([::1]:34284 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lbUpV-0002n1-3E for larch@yhetil.org; Tue, 27 Apr 2021 17:01:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lbUpL-0002mh-2y for guix-patches@gnu.org; Tue, 27 Apr 2021 17:01:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39496) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lbUpK-0004CI-Je for guix-patches@gnu.org; Tue, 27 Apr 2021 17:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lbUpK-0007uN-Hb for guix-patches@gnu.org; Tue, 27 Apr 2021 17:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#46012] Acknowledgement (Upgrade Nheko) Resent-From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 27 Apr 2021 21:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46012 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxime Devos , 46012@debbugs.gnu.org Received: via spool by 46012-submit@debbugs.gnu.org id=B46012.161955724630371 (code B ref 46012); Tue, 27 Apr 2021 21:01:02 +0000 Received: (at 46012) by debbugs.gnu.org; 27 Apr 2021 21:00:46 +0000 Received: from localhost ([127.0.0.1]:51042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lbUou-0007tb-6K for submit@debbugs.gnu.org; Tue, 27 Apr 2021 17:00:46 -0400 Received: from mail-ed1-f52.google.com ([209.85.208.52]:36533) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lbUoo-0007tL-GI for 46012@debbugs.gnu.org; Tue, 27 Apr 2021 17:00:35 -0400 Received: by mail-ed1-f52.google.com with SMTP id q6so12339854edr.3 for <46012@debbugs.gnu.org>; Tue, 27 Apr 2021 14:00:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:in-reply-to:references:date:message-id:mime-version; bh=enFdPwJEcvtKSzBLVN98l3rZpeN8NsqYlPMhYJQG68s=; b=fUJ7L27IYqguURZylo52QqRaj2CHl/W9tiqDIQFhmetdCGdQVFN+XIDC3PkOpMNgfK 5mBR6/T8XMKpKpyVEKSWkmYN8yxzwNwlTZFHHYeiTatWnYLOHpue0MzmVRCUrHK74k1a ZlvBUSq/0VdNU/OargYj4J1Ah/68nJoW740M3rb5WFuas04TKb4zh7haxQGOJYQ4zxgt xQgiHSc0SYf0dpZGCS5v7hzjLNP2TgcDyXmuwt1ntm/cOm75SY0RADM6LkQjKr9XQpV1 IZtfJF2PE+GbXK9nU89Dmop3MdaUffaZbPfQ0sSkBukbOtEAXcBvnVyzD4Vfq04lGziG cFIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:in-reply-to:references:date :message-id:mime-version; bh=enFdPwJEcvtKSzBLVN98l3rZpeN8NsqYlPMhYJQG68s=; b=qhzaaBfcZzC4y/nz4LAb038n3JHH5aCXUBG30Yo2k+v8ODARdKRXaipPmgKG5OiBho kx5Q199tt3cPB+T8wEDnADX+945ASBoah0f+NYK/twOBv00wN4o6nyp+POibdFQ8K6w4 uTZoHXeanaxfh+ivWGFakSfcx1OknZnavibx6vxm1BUWW4DWEYbQmSiPdT3+dfDdGWg2 m7UeHlaWPAQEz+/L5Ht9dAmgoJSBtbQqnEIVnA+Brr3cVPxcRe9hO/BI/RqhPJTohW9U kuM6Wzv5q11iqqEYNnsm/0tqpvOy8dp+vQ8bNwIHjDAbVmYcpaW1lRkfkrDoSXPyzxr/ Fzaw== X-Gm-Message-State: AOAM530b2zc6W57yoERpc+xm9+eo8kqCCx91LF2xpm6k3dqno/WUsYx2 vR67xsfGuSWaBt9Xl/SHzGDJZLpCkJw= X-Google-Smtp-Source: ABdhPJxvebZTuNUiwPtGJeUQYTpptfF1spj/LqYaT5Lge0iI1zPGbkw56xLI3sxYqd2T9SZU4UNpYQ== X-Received: by 2002:aa7:dc54:: with SMTP id g20mr6660564edu.266.1619557224498; Tue, 27 Apr 2021 14:00:24 -0700 (PDT) Received: from guixSD (host-79-17-142-89.retail.telecomitalia.it. [79.17.142.89]) by smtp.gmail.com with ESMTPSA id v14sm1533055eds.34.2021.04.27.14.00.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Apr 2021 14:00:23 -0700 (PDT) From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti In-Reply-To: <0d873a1e5f8db448e279d558d9f6845e161cccb7.camel@telenet.be> References: <875z3ryvk0.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87ft2mc7a4.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87k0onrfu7.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <0d873a1e5f8db448e279d558d9f6845e161cccb7.camel@telenet.be> Date: Tue, 27 Apr 2021 23:00:22 +0200 Message-ID: <87eeevqw7t.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1619557274; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=enFdPwJEcvtKSzBLVN98l3rZpeN8NsqYlPMhYJQG68s=; b=GiqeKHi7Pw+sRsdu9AFLvGzcxBYcb+iiaIhyXangBvtt0EVByevgGz3Il+DaPD4OY7/xGq XxCve3Mze5p7ZDD0atNUn+/oZ3SgHRFPFXwHDlDeJLxs526o7pAUR2qw/1uJp1RGJSMP4S 2Ca9auLA5N2vw3u0/4HADYCHhmpUHPoUBiHRrMeUnMEcqjlU/OxekAHmAj00Y+CgEX5WC/ A9DevmU2BqG3tbSrSgL5sPARnIA6lLubsSz/mWoYwu8iieyO/dsMThGkC7iR8whQufSYwC 1mTGZioiZlNUm6xdkLOTCwn094yUdRKkz0e/mQviS2ypeDfY8RE/lVUrmbwBaQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1619557274; a=rsa-sha256; cv=none; b=X/i2BCOLq0B6VAZFokpYMgB5JDmGhHIvgawVfUWI6x3wfzCqMNWBHYpe7HGrvxkUae5O2i MQCpT1j1FL4xPu0cLXFNiYy4/akdwImOk7ooSnEuYnRcgATez0bxja36ZivhIWt1nswYEP p+SR3MynB3kehD/LrHn9Zb/h/usRJIYK9gvlFL1NcSSrgx1FGI0uddRe1YFqVzYJQ8WvJw XjDQG6J5NM4ecXi1HBvtW2eO6r7J43IWpZtXpDjI9HSreaN4qphv5aYr+ux3vo7GmYHKzm HruwbNiUDX6L1q+6H8ik8UqadQFBrMdOh8Wa7XZkAoDsxDuedZP15F3h2ZxwTg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20161025 header.b=fUJ7L27I; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -1.35 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20161025 header.b=fUJ7L27I; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: F2E3F15008 X-Spam-Score: -1.35 X-Migadu-Scanner: scn0.migadu.com X-TUID: +lo7h9c/Sv9l --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Maxime, many thanks for the review! Maxime Devos writes: > Nicol=C3=B2 Balzarotti schreef op di 27-04-2021 om 15:56 [+0200]: >> + (synopsis "C++ header-only HTTP/HTTPS server and client library") >> + (description "cpp-httplib is a C++11 single-file header-only cross >> +platform blocking HTTP/HTTPS library, easy to setup. Just include the >> +@file{httplib.h} file in your code!") > > This is a little misleading, as shared libraries are build, as BUILD_SHAR= ED_LIBS > is enabled. Maybe "cpp-http is a single-file header-only library" --> > "cpp-http can be used as a single-file header-only=20 > library"? > I removed it from the synopsis, and reworded the description to: 1. make it sound less like marketing, and keeping the single-header thing as a bonu= s. > About =E2=80=98header-only=E2=80=99: this is true, but ultimately irrelev= ant to the user > (=3D C++ developer on a Guix System or using Guix on top of a foreign dis= tro). > But there's also a desirable thing called =E2=80=98portability=E2=80=99, = the user might be > searching for a single-header web server software to distribute to other > people (not on Guix) in source form ... > > I'm conflicted if "single-file header" should be included in the descript= ion. > If you decide to remove it, I suggest you add a comment like > > ;; this package is not graftable, as everything is implemented in a sin= gle > ;; header > > to prevent trouble in a (admittedly somewhat far-fetched, no insult inten= ded > to its developers) future where cpp-httplib becomes a very popular depend= ency > in Guix. > I don't know enought about grafts, so I trust you on that. I did not know where to put the comment, so I added it at the very top. I also noticed that this was updated since last time, so I updated it to 0.8.8 (latest tagged version). >> + #:phases >> + (modify-phases %standard-phases >> + (replace 'check >> + (lambda* (#:key source #:allow-other-keys) >> + ;; openssl genrsa wants to write a file in the git checkout >> + (copy-file (string-append source "/test") "test") >> + (chmod "test" #o744) >> + (invoke "make")))))) > > Tests most likely should not be run when cross-compiling. > I'm not 100% sure, but you might need to do something like > >> + (lambda* (#:key tests? source #:allow-other-keys) >> + ;; openssl genrsa wants to write a file in the git checkout >> + (when tests? >> + (copy-file > (string-append source "/test") "test") >> + (chmod "test" #o744) >> + (invoke "make"))))))) > Didn't think about that, I wrapped it in a `when tests?` (and added `tests?` as argument to the lambda) as you suggested. I also changed it a bit making it more clear. There are now tests requiring network access, so I disabled them. > >> + ("zlib" ,zlib))) > > In I see > a few lines > > #ifdef CPPHTTPLIB_ZLIB_SUPPORT > #include > #endif > > so it seems zlib should be in (inputs ...) instead. > > I also saw these lines: > > #ifdef CPPHTTPLIB_BROTLI_SUPPORT > #include > #include > #endif > > Would it be useful to include brotli? > > #ifdef CPPHTTPLIB_OPENSSL_SUPPORT > #include > #include > ... > > Likewise, for openssl? Sure, added brotli and moved openssl to inputs. I also aadded the "HTTPLIB_REQUIRE_" flags just to be sure they are used int the build. They shouldn't be needed as HTTPLIB_USE_*_IF_AVAILABLE defaults to ON, but if they change default we are covered. Regarding why openssl and zlib were in native-inputs, this is (probably) how it went: I built it without openssl, tests failed to run because the command openssl was required to generate a certificate, so I added it to native-inputs. Then probably I added zlib not noticing I placed it under native-inputs, at least that's how I think it went. nheko still builds and run, so here the v5 of the series. > > Greetings, > Maxime. Thanks, Nicol=C3=B2 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0001-gnu-Add-cpp-httplib.patch Content-Transfer-Encoding: quoted-printable >From 5ea66aa57f81976d39c60f59357ddf6027fadabb Mon Sep 17 00:00:00 2001 From: nixo Date: Wed, 27 Jan 2021 23:44:04 +0100 Subject: [PATCH v5 1/4] gnu: Add cpp-httplib. * gnu/packages/cpp.scm (cpp-httplib): New variable. --- gnu/packages/cpp.scm | 63 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 58345e7c33..307e5c3028 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -18,7 +18,7 @@ ;;; Copyright =C2=A9 2020 Brett Gilio ;;; Copyright =C2=A9 2020 Milkey Mouse ;;; Copyright =C2=A9 2021 Raghav Gururajan - +;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +65,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages pretty-print) @@ -555,6 +556,66 @@ tools: @end itemize\n") (license license:bsd-3))) =20 +(define-public cpp-httplib + ;; this package is not graftable, as everything is implemented in a sing= le + ;; header + (package + (name "cpp-httplib") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yhirose/cpp-httplib") + (commit (string-append "v" version)))) + (sha256 + (base32 "0c0gyfbvm34bgrqy9fhfxw1f8nb9zhf063j7xq91k892flb7qm1c")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + '("-DBUILD_SHARED_LIBS=3DON" + "-DHTTPLIB_COMPILE=3DON" + "-DHTTPLIB_REQUIRE_BROTLI=3DON" + "-DHTTPLIB_REQUIRE_OPENSSL=3DON" + "-DHTTPLIB_REQUIRE_ZLIB=3DON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-network-tests + (lambda _ + (for-each + (lambda (test) + (substitute* "test/test.cc" + (((string-append "\\(" test)) + (string-append "(DISABLED_" test)))) + ;; There are tests requiring network access, disable them + '("AbsoluteRedirectTest" "BaseAuthTest" "CancelTest" + "ChunkedEncodingTest" "ChunkedEncodingTest" + "DecodeWithChunkedEncoding" "DefaultHeadersTest" + "DigestAuthTest" "HttpsToHttpRedirectTest" + "RangeTest" "RedirectTest" "RelativeRedirectTest" + "SSLClientTest" "SendAPI" "TooManyRedirectTest" "UrlWithSp= ace" + "YahooRedirectTest" "YahooRedirectTest")))) + (replace 'check + (lambda* (#:key source tests? #:allow-other-keys) + ;; openssl genrsa wants to write a file in the git checkout + (when tests? + (with-directory-excursion "../source/test" + (invoke "make")))))))) + (native-inputs + ;; required to build shared lib + `(("python" ,python))) + (inputs + `(("brotli" ,brotli) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://github.com/yhirose/cpp-httplib") + (synopsis "C++ HTTP/HTTPS server and client library") + (description "cpp-httplib is a C++11 single-file cross platform blocki= ng +HTTP/HTTPS library, easy to setup. It can also be used as a single-header +library.") + (license license:expat))) + (define-public cpplint (package (name "cpplint") --=20 2.31.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0002-gnu-Add-blurhash.patch Content-Transfer-Encoding: quoted-printable >From f2982d9f3a8f6fcf66950ed78259125f3750ca08 Mon Sep 17 00:00:00 2001 From: nixo Date: Wed, 20 Jan 2021 17:56:04 +0100 Subject: [PATCH v5 2/4] gnu: Add blurhash. * gnu/packages/image.scm (blurhash): New variable. --- gnu/packages/image.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index d0c12016ca..a12d067ed7 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -29,6 +29,7 @@ ;;; Copyright =C2=A9 2020 Zhu Zihao ;;; Copyright =C2=A9 2020, 2021 Vinicius Monego ;;; Copyright =C2=A9 2021 Sharlatan Hellseher +;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) + #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gimp) #:use-module (gnu packages gl) @@ -2035,6 +2037,30 @@ SNG is implemented by a compiler/decompiler called s= ng that losslessly translates between SNG and PNG.") (license license:zlib))) =20 +(define-public blurhash + (package + (name "blurhash") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Nheko-Reborn/blurhash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5")))) + (build-system meson-build-system) + (native-inputs + `(("cmake" ,cmake) + ("doctest" ,doctest) + ("gcc" ,gcc-8))) + (home-page "https://github.com/Nheko-Reborn/blurhash") + (synopsis "C++ blurhash encoder/decoder") + (description "Simple encoder and decoder for blurhashes. Contains a +command line program as well as a shared library.") + (license license:boost1.0))) + (define-public lodepng ;; There are no tags in the repository, so we take the version as define= d in ;; lodepng.cpp. --=20 2.31.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0003-gnu-Add-single-application-qt5.patch Content-Transfer-Encoding: quoted-printable >From a709f28a8dacd890a46eb848bbf6b42efaa6a447 Mon Sep 17 00:00:00 2001 From: nixo Date: Wed, 20 Jan 2021 19:23:17 +0100 Subject: [PATCH v5 3/4] gnu: Add single-application-qt5. * gnu/packages/qt.scm (single-application-qt5): New variable. --- gnu/packages/qt.scm | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index b206deaeba..c9eef185c9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -21,6 +21,7 @@ ;;; Copyright =C2=A9 2020 Michael Rohleder ;;; Copyright =C2=A9 2020 Maxim Cournoyer ;;; Copyright =C2=A9 2021 Brendan Tildesley +;;; Copyright =C2=A9 2021 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -1806,6 +1807,61 @@ using the Chromium browser project. The Chromium so= urce code has Google service and binaries removed, and adds modular support for using system libraries.= ") (license license:lgpl2.1+))) =20 +(define-public single-application-qt5 + ;; Change in function signature, nheko requires at least this commit + (let ((commit "dc8042b5db58f36e06ba54f16f38b16c5eea9053")) + (package + (name "single-application-qt5") + (version (string-append "3.2.0-" (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/itay-grudev/SingleApplication") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "163aa2x2qb0h8w26si5ql833ilj427jjbdwlz1p2p8iaq6dh0vq1")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no check target + ;; Projects can decide how to build this library. You might need= to + ;; override this flag (QApplication, QGuiApplication or + ;; QCoreApplication). + #:configure-flags '("-DQAPPLICATION_CLASS=3DQApplication") + #:phases + (modify-phases %standard-phases + ;; No install target, install things manually + (replace 'install + (lambda* (#:key inputs outputs source #:allow-other-keys) + (let* ((qt (assoc-ref inputs "qtbase")) + (qt-version ,(version-major (package-version qt))) + (out (assoc-ref outputs "out"))) + (install-file + "libSingleApplication.a" (string-append out "/lib")) + (for-each + (lambda (file) + (install-file + (string-append source "/" file) + (string-append out "/include"))) + '("SingleApplication" + "singleapplication.h" "singleapplication_p.h")) + #t)))))) + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://github.com/itay-grudev/SingleApplication") + (synopsis "Replacement of QtSingleApplication for Qt5 and Qt6") + (description + "SingleApplication is a replacement of the QtSingleApplication for = Qt5 and Qt6. + +nKeeps the Primary Instance of your Application and kills each subsequent +instances. It can (if enabled) spawn secondary (non-related to the primar= y) +instances and can send data to the primary instance from secondary +instances.") + (license license:expat)))) + (define-public python-sip (package (name "python-sip") --=20 2.31.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=v5-0004-gnu-nheko-Update-to-0.8.2.patch Content-Transfer-Encoding: quoted-printable >From 2564b19691b0721407ee48f90de18353796278d0 Mon Sep 17 00:00:00 2001 From: nixo Date: Wed, 27 Jan 2021 23:54:55 +0100 Subject: [PATCH v5 4/4] gnu: nheko: Update to 0.8.2. * gnu/packages/messaging.scm (nheko): Update to 0.8.2. [source snippet]: Remove third_party folder. [arguments]: Remove -fpermissive flag, remove remove-Werror phase, add phase wrap-program and unbundle-dependencies. [inputs]: Add gst-plugins-base, gst-plugins-bad, libnice, qtkeychain, and unbundle blurhash, cpp-httplib and single-application, remove tweeny. [native-inputs]: Add doxygen, graphviz used to build documentation. [description]: Simplify by removing the long list, add new features. (mtxclient): Update to 0.5.1. [arguments]: Remove set-home phase. * gnu/packages/databases.scm (lmdbxx): Update to 1.0.0. [source]: Change repository to a fork required by nheko. [home-page]: Update accordingly. --- gnu/packages/databases.scm | 10 ++--- gnu/packages/messaging.scm | 91 ++++++++++++++++++++++---------------- 2 files changed, 57 insertions(+), 44 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index f9e63f3722..88d5120f2e 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -39,7 +39,7 @@ ;;; Copyright =C2=A9 2019 Pierre Langlois ;;; Copyright =C2=A9 2019, 2021 Guillaume Le Vaillant ;;; Copyright =C2=A9 2020 Pierre Neidhardt -;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti ;;; Copyright =C2=A9 2020 Tanguy Le Carrour ;;; Copyright =C2=A9 2020 Lars-Dominik Braun ;;; Copyright =C2=A9 2020 Guy Fleury Iteriteka @@ -2437,16 +2437,16 @@ virtual address space =E2=80=94 not physical RAM.") (define-public lmdbxx (package (name "lmdbxx") - (version "0.9.14.0") + (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/drycpp/lmdbxx") + (url "https://github.com/hoytech/lmdbxx") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6")))) + (base32 "12k5rz74d1l0skcks9apry1svkl96g9lf5dcgylgjmh7v1jm0b7c")))) (arguments `(#:make-flags (list (string-append "PREFIX=3D" (assoc-ref %outputs "out"))) @@ -2455,7 +2455,7 @@ virtual address space =E2=80=94 not physical RAM.") (delete 'configure)))) (build-system gnu-build-system) (inputs `(("lmdb" ,lmdb))) - (home-page "http://lmdbxx.sourceforge.net") + (home-page "https://github.com/hoytech/lmdbxx") (synopsis "C++11 wrapper for the LMDB embedded B+ tree database librar= y") (description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for = the @code{LMDB} embedded database library, offering both an error-checked diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c356498fd2..b8bb172020 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -18,7 +18,7 @@ ;;; Copyright =C2=A9 2019 Tanguy Le Carrour ;;; Copyright =C2=A9 2019, 2020 Brett Gilio ;;; Copyright =C2=A9 2019, 2020 Timotej Lazar -;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti +;;; Copyright =C2=A9 2020, 2021 Nicol=C3=B2 Balzarotti ;;; Copyright =C2=A9 2020 Vincent Legoll ;;; Copyright =C2=A9 2020 Marius Bakke ;;; Copyright =C2=A9 2020 Reza Alizadeh Majd @@ -2250,7 +2250,7 @@ QMatrixClient project.") (define-public mtxclient (package (name "mtxclient") - (version "0.3.1") + (version "0.5.1") (source (origin (method git-fetch) @@ -2259,7 +2259,7 @@ QMatrixClient project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x")))) + (base32 "1xznfx2bhw0ahwmkxm0rs05vz05ijk5k4190rj6qp3bvb9byiajh")))) (arguments `(#:configure-flags (list @@ -2272,12 +2272,6 @@ QMatrixClient project.") (substitute* "CMakeLists.txt" (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encrypt= ion|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 @@ -2300,7 +2294,7 @@ for the Matrix protocol. It is built on to of @code{= Boost.Asio}.") (define-public nheko (package (name "nheko") - (version "0.7.2") + (version "0.8.2") (source (origin (method git-fetch) @@ -2309,30 +2303,60 @@ for the Matrix protocol. It is built on to of @cod= e{Boost.Asio}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s")))) + (base32 "0362hkbprc6jqlgmvzwxyvify4b1ldjakyqdz55m25xsypbpv2f3")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "third_party"))))) (arguments `(#:tests? #f ;no test target #:configure-flags - (list - "-DCMAKE_BUILD_TYPE=3DRelease" - "-DCMAKE_CXX_FLAGS=3D-fpermissive") + '("-DCMAKE_BUILD_TYPE=3DRelease" + "-DBUILD_DOCS=3DON" + ;; Fix required because we are using a static SingleApplication + "-DCMAKE_CXX_FLAGS=3D \"-DQAPPLICATION_CLASS=3DQApplication\" " + ;; Compile Qml will make Nheko faster, but you will need to recom= pile + ;; it, when you update Qt. That's fine for us. + "-DCOMPILE_QML=3DON") #:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-Werror - (lambda _ - (substitute* "CMakeLists.txt" - (("-Werror") "")) - #t)) + (add-after 'unpack 'unbundle-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (let ((single-app (assoc-ref inputs "single-application"))) + (substitute* "CMakeLists.txt" + ;; Remove include and source dirs,replace with the correc= t one + (("third_party/blurhash/blurhash.cpp") "") + (("third_party/cpp-httplib-0.5.12") + (string-append "\"" single-app "/include\"")) + (("add_subdirectory.*third_party/SingleApplication.*") "") + ;; Link using the correct static/shared libs + (("SingleApplication::SingleApplication") + (string-append + ;; Dynamic libraries + "httplib" "\n" "blurhash" "\n" + ;; Static library + single-app "/lib/libSingleApplication.a")))))) (add-after 'unpack 'fix-determinism (lambda _ ;; Make Qt deterministic. - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t))))) + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1"))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/nheko") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))= ))))))) (build-system qt-build-system) (inputs `(("boost" ,boost) + ("blurhash" ,blurhash) + ("cpp-httplib" ,cpp-httplib) ("cmark" ,cmark) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-bad" ,gst-plugins-bad) ; sdp & webrtc for voip + ("gst-plugins-good" ,gst-plugins-good) ; rtpmanager for voip ("json-modern-cxx" ,json-modern-cxx) + ("libnice" ,libnice) ; for voip ("libolm" ,libolm) ("lmdb" ,lmdb) ("lmdbxx" ,lmdbxx) @@ -2340,15 +2364,18 @@ for the Matrix protocol. It is built on to of @cod= e{Boost.Asio}.") ("openssl" ,openssl) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) + ("qtkeychain" ,qtkeychain) ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg) ("spdlog" ,spdlog) - ("tweeny" ,tweeny) + ("single-application" ,single-application-qt5) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("doxygen" ,doxygen) + ("graphviz" ,graphviz) + ("pkg-config" ,pkg-config) ("qtlinguist" ,qttools))) (home-page "https://github.com/Nheko-Reborn/nheko") (synopsis "Desktop client for Matrix using Qt and C++14") @@ -2356,22 +2383,8 @@ for the Matrix protocol. It is built on to of @code= {Boost.Asio}.") Matrix protocol that feels more like a mainstream chat app and less like a= n IRC client. =20 -There is support for: -@itemize -@item E2E encryption (text messages only: attachments are currently sent u= nencrypted). -@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") +Many matrix features are supported, including user registration, rooms, ty= ping +notification, emojis, E2E encryption, and voip calls.") (license license:gpl3+))) =20 (define-public quaternion --=20 2.31.1 --=-=-=--