From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id hRhfGncimF+yBwAA0tVLHw (envelope-from ) for ; Tue, 27 Oct 2020 13:36:55 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id OHbIFXcimF8OdAAAbx9fmQ (envelope-from ) for ; Tue, 27 Oct 2020 13:36:55 +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 9F8589401D0 for ; Tue, 27 Oct 2020 13:36:54 +0000 (UTC) Received: from localhost ([::1]:48590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXP9g-0004C4-Jp for larch@yhetil.org; Tue, 27 Oct 2020 09:36:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53992) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXOwI-0005Ds-4o for guix-patches@gnu.org; Tue, 27 Oct 2020 09:23:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:59985) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kXOwH-0006NE-Rg for guix-patches@gnu.org; Tue, 27 Oct 2020 09:23:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kXOwH-0001vX-MZ for guix-patches@gnu.org; Tue, 27 Oct 2020 09:23:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#44191] gnu: Add kristall Resent-From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 27 Oct 2020 13:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44191 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Christopher Baines Cc: 44191@debbugs.gnu.org, nicolo@nixo.xyz Received: via spool by 44191-submit@debbugs.gnu.org id=B44191.16038049437357 (code B ref 44191); Tue, 27 Oct 2020 13:23:01 +0000 Received: (at 44191) by debbugs.gnu.org; 27 Oct 2020 13:22:23 +0000 Received: from localhost ([127.0.0.1]:43298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXOva-0001uV-3V for submit@debbugs.gnu.org; Tue, 27 Oct 2020 09:22:23 -0400 Received: from mail-wr1-f48.google.com ([209.85.221.48]:39992) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kXOvW-0001u2-90 for 44191@debbugs.gnu.org; Tue, 27 Oct 2020 09:22:17 -0400 Received: by mail-wr1-f48.google.com with SMTP id h5so1881288wrv.7 for <44191@debbugs.gnu.org>; Tue, 27 Oct 2020 06:22:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=Gaawjbe8hdWWxotgose/cFbIBgJ6XGodIodsbBiPsxQ=; b=ncCHzAvmBJlwRyfgcTp4KB1aLqMzoA+wnAlFvYtk+wOsmSjqhJ9Mh8wGmgQAZsd74F BlkpOereyFhczDpubeJX1s1oaSGj2XQQgNw8+TybfuZ7xHf3JP6M17qN6+z9O56byAX8 Y4iLLzr0Ko5tf3Zseo/YvihyhJFgpwpVYXVAbDy5OWkZtmvJa4ugzdFIAEvG3aU/P4QE ArrjmK+DKCeKNJMR2fX/7ngJja0rlTltOS7f89mbV7s1GKIqryUKaJWpYw05fUlxzfGi PnWo5eaEV5WkFU14bwZwV1uK4MM0AcxLQSiJ7EjaNJDPopRM9taS+wCBySqZr57QXui0 j+3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=Gaawjbe8hdWWxotgose/cFbIBgJ6XGodIodsbBiPsxQ=; b=NLBB9vHLBHB0R737mZT+41VvLwcvvyqtEPtEeSRFFAj+ukibk+p37WughtR/kMI2Is zKmAXj1fhHQvsCwFjNnk2g89vk3EASUjgitH3hVsgmeBqBSANLwX7ecA+h7JUcoMVfc7 usAHzHZm+wI9QztquDwXyV3HtALKAaB6L6jr2qGidiCiIt13GaWSyrMbb6hgxFfFJ3FO m32CpVsLbt23cRruuQFsGNLy+M3bHtpG5p1qidOaukBxQ1XC9F+tKW3/BGkAPGX7N+1b e25G5zrr7bDV1iH1QJpAzkb9oprKuWEd+z7S3uQoCXKSho8o51+7DJOzDomWT+rmW5IA tsvg== X-Gm-Message-State: AOAM532AQij5lBkQleqmCLXSqhJshaVCsIZ1ROKHW0lrAlwrBZIm0sRE J2wWTUywkQr46ugiKjg9dIM= X-Google-Smtp-Source: ABdhPJwfNq2u7z6RdTQeqDBjgnEEVYImV1pJZaGYscb6EBeVJAVeNS8Rl2Ia4q4ufgXBhiDWb0HVMQ== X-Received: by 2002:adf:a354:: with SMTP id d20mr3069188wrb.29.1603804928409; Tue, 27 Oct 2020 06:22:08 -0700 (PDT) Received: from guixSD (host-87-8-141-238.retail.telecomitalia.it. [87.8.141.238]) by smtp.gmail.com with ESMTPSA id x21sm1863405wmi.3.2020.10.27.06.22.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2020 06:22:07 -0700 (PDT) From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti In-Reply-To: <87sga0n9ew.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> References: <8736233h7h.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87o8kqab7i.fsf@cbaines.net> <87tuui1ce2.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> <87imaxym37.fsf@cbaines.net> <87sga0n9ew.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> Date: Tue, 27 Oct 2020 14:22:05 +0100 Message-ID: <87o8knn6rm.fsf@guixSD.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 2.0 (++) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: 1.0 (+) 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-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=ncCHzAvm; 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-Spam-Score: 0.09 X-TUID: 6Xlstx9C+B+G --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! The PR has been merged (so now I can link to cmark just fine). Find attached the new patches. I'm unsure about BreezeStyleSheets, as the install instructions specifically say: #+begin_quote Copy breeze.qrc, dark.qss, light.qss and the dark and light folders into your project directory and add the qrc file to your project file. #+end_quote Note on fonts: I'm using pre-built ttf as I'm not able to build them (lot of javascript required) Let me know! Nicol=C3=B2 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-gnu-Add-font-openmoji.patch Content-Transfer-Encoding: quoted-printable >From 4fc57649d12f0ef6e3e5b1c01ce0e2ff5a4382e1 Mon Sep 17 00:00:00 2001 From: nixo Date: Tue, 27 Oct 2020 14:10:06 +0100 Subject: [PATCH 1/2] gnu: Add font-openmoji * gnu/packages/fonts.scm (font-openmoji): New variable. --- gnu/packages/fonts.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f39c529beb..8982551dda 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -37,6 +37,7 @@ ;;; Copyright =C2=A9 2020 Zhu Zihao ;;; Copyright =C2=A9 2020 Simen Endsj=C3=B8 ;;; Copyright =C2=A9 2020 Tim Van den Langenbergh +;;; Copyright =C2=A9 2020 Nicol=C3=B2 Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -1430,6 +1431,30 @@ emphasis while still being readable.") (define-public font-open-dyslexic (deprecated-package "font-open-dyslexic" font-opendyslexic)) =20 +(define-public font-openmoji + (package + (name "font-openmoji") + (version "12.4.0") + (source + (origin + (method url-fetch/zipbomb) + (uri + ;; It's also possible to build openmoji from source, but requires + ;; hundreds of libraries still not available in guix + (string-append "https://github.com/hfg-gmuend/openmoji/" + "releases/download/" version + "/openmoji-font.zip")) + (sha256 + (base32 + "0wvvg5vnc950h8v23wfgjyi7rv89mgm5hqq6viqv0bxcc3azglxb")))) + (build-system font-build-system) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://openmoji.org") + (synopsis "Emojis for designers, developers and everyone else") + (description "OpenMoji provides emojis for designers, developers and +everyone else.") + (license license:cc-by-sa4.0))) + (define-public font-dosis (package (name "font-dosis") --=20 2.28.0 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0002-gnu-Add-kristall.patch Content-Transfer-Encoding: quoted-printable >From 23527b87e86dbbf92c37718dc449d8ad0a8d3758 Mon Sep 17 00:00:00 2001 From: nixo Date: Tue, 27 Oct 2020 14:18:23 +0100 Subject: [PATCH 2/2] gnu: Add kristall. * gnu/packages/web-browsers.scm (kristall): New variable. --- gnu/packages/web-browsers.scm | 99 +++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index eb49a8fdea..30bc9ca9cf 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) @@ -60,6 +61,7 @@ #:use-module (gnu packages lisp) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) + #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -341,6 +343,103 @@ access.") (properties `((lint-hidden-cve . ("CVE-2016-9179")))) (license license:gpl2))) =20 +(define-public kristall + ;; Fixes to the build system applied after the latest tag + ;; Use tagged release when updating + (let ((commit "b684f94f1af9a19c1a6fd70d72097a13b75e1ca6") + (revision "1")) + (package + (name "kristall") + (version (string-append "0.3-" revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/MasterQ32/kristall") + (commit "bf5b2ecd0fde117d550adeadee48d74034ed2cdb"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zakhxr30n7dawig7c8mizaqxwnqn3a7pz0yi7hc55nn7n7iyr6l")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled programs. + (with-directory-excursion "lib" + ;; Delete extra (bundled) files + (map (lambda (dir) (delete-file-recursively dir)) + ;; "BreezeStyleSheets" + '("cmark"))) + ;; Contains executable of 7z and pscp + (delete-file-recursively "ci/tools") + ;; Remove bundled fonts + (delete-file-recursively "src/fonts") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build qt-utils) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build qt-utils)) + #:make-flags + (list (string-append "PREFIX=3D" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no ./configure script + (delete 'check) ; no check target + (add-before 'build 'set-program-version + ;; runs git describe --tags by default + (lambda _ + ;; configure.ac relies on =E2=80=98git --describe=E2=80=99 = to get the version. + ;; Patch it to just return the real version number directly. + (substitute* "src/kristall.pro" + (("(KRISTALL_VERSION=3D).*" _ match) + (string-append match ,version "\n"))))) + (add-before 'build 'replace-bundled-cmark + (lambda _ + (substitute* "src/kristall.pro" + (("(^include\\(.*cmark.*)" _ match) + (string-append + "LIBS +=3D -I" (assoc-ref %build-inputs "cmark") " -lcm= ark"))) + (substitute* "src/renderers/markdownrenderer.cpp" + (("(include.*node.*)" _ match) + (string-append "// " match))))) + (add-before 'build 'replace-bundled-fonts + (lambda _ + (let ((noto (assoc-ref %build-inputs "font-google-noto")) + (openmoji (assoc-ref %build-inputs "font-openmoji")) + (srcdir "/share/fonts/truetype/") + (outdir "src/fonts/")) + (mkdir-p outdir) + (copy-file + (string-append noto srcdir "NotoColorEmoji.ttf") + (string-append outdir "NotoColorEmoji.ttf")) + (copy-file + (string-append openmoji srcdir "OpenMoji-Color.ttf") + (string-append outdir "OpenMoji-Color.ttf"))) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program out "kristall")) + #t))))) + (inputs + `(("cmark" ,cmark) + ("font-google-noto" ,font-google-noto) + ("font-openmoji" ,font-openmoji) + ("openssl" ,openssl) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg))) + (home-page "https://github.com/MasterQ32/kristall") + (synopsis "Small-internet graphical client") + (description "Graphical small-internet client with with many features +including multi-protocol support (gemini, http, https, gopher, finger), +bookmarks, TSL certificates management, outline generation, tabbed interfa= ce +and more.") + (license license:gpl3)))) + (define-public qutebrowser (package (name "qutebrowser") --=20 2.28.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Nicol=C3=B2 Balzarotti writes: > Just linking to it would be easier. However, the file markdownrenderer > requires access to implementation details of the struct cmark_node > (it includes the file node.h, which is not installed by cmark, and fails > with: ../src/renderers/markdownrenderer.cpp:83:23: error: invalid use of = incomplete type =E2=80=98const cmark_node {aka const struct cmark_node}=E2= =80=99) > > I replaced references such as `node.as.heading.level` to > `cmark_node_get_heading_level(node)` and so on. I could compile it (by > also adding -I/gnu/store and -lcmark to the build process), and markdown > seems to be working (tested here > gemini://tilde.team/~supernova/blog/this-is-a-test-of-using-markdown.md). > > I'm going to send a patch to the author, linking to this mail exchange. > > I'll let you know. > > Christopher Baines writes: > >> Nicol=C3=B2 Balzarotti writes: >> >>> Hi Chris! >>> >>> Thanks for the review. >>> >>> I tried, but: >>> 1. breeze is a different package from the ones in the repo (url is >>> https://github.com/Alexhuszagh/BreezeStyleSheets). It does not seems to >>> be compiled, I can try to package it. >>> 2. there are files in lib/cmark that are not present in the cmark >>> distribution (thei are .h files generated by their .h.in), so I cannot >>> extract our cmark source directly >>> - I tried keeping those files, but build fails [[failed-build]]. No= t sure if it's >>> a patched version or if it's an older one. But I can investigate >>> probably >> >> I think you might be overcomplicating this. kristall shouldn't be trying >> to build cmark, as it's a library, it should just be linking against >> it. Therefore, you shouldn't need to keep the .h.in files. >> >> Making kristall use cmark, rather than the copy in the kristall source >> probably requires adapting/fixing src/kristall.pro. >> >> It hopefully isn't that difficult, but I don't know what this .pro file >> is, it also looks pretty odd in parts, especially the references to >> /home/felix/... ! >> >> It doesn't look like the copy of cmark in the kristall source has been >> modified much, which also raises the question of why there is a copy of >> the cmark source inside kristall? --=-=-=--