From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:42971) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1inAQi-0005dN-0W for guix-patches@gnu.org; Thu, 02 Jan 2020 19:03:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1inAQg-0003nG-Bm for guix-patches@gnu.org; Thu, 02 Jan 2020 19:03:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:34236) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1inAQg-0003mn-6j for guix-patches@gnu.org; Thu, 02 Jan 2020 19:03:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1inAQg-000609-1w for guix-patches@gnu.org; Thu, 02 Jan 2020 19:03:02 -0500 Subject: [bug#38881] [PATCH] Add manuskript Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:36135) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1inAPg-0005HB-Fp for guix-patches@gnu.org; Thu, 02 Jan 2020 19:02:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1inAPe-0001eN-Bg for guix-patches@gnu.org; Thu, 02 Jan 2020 19:01:59 -0500 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:60423) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1inAPd-0001bL-Vh for guix-patches@gnu.org; Thu, 02 Jan 2020 19:01:58 -0500 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 03C12C0003 for ; Fri, 3 Jan 2020 00:01:54 +0000 (UTC) From: Nicolas Goaziou Date: Fri, 03 Jan 2020 01:01:53 +0100 Message-ID: <87o8vlwgpa.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38881@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello, The following patch adds Manuskript. Feedback welcome. Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-manuskript.patch Content-Transfer-Encoding: quoted-printable Content-Description: Add manuskript >From 5d48847bc62fcfade79b349424e8a8e2eb9ee694 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 3 Jan 2020 00:59:01 +0100 Subject: [PATCH] gnu: Add manuskript. * gnu/packages/text-editors.scm (manuskript): New variable. --- gnu/packages/text-editors.scm | 106 +++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 1 deletion(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 4ab6e1e2ec..b0d2af0033 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -8,7 +8,7 @@ ;;; Copyright =C2=A9 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2019 Efraim Flashner ;;; Copyright =C2=A9 2019 Andreas Enge -;;; Copyright =C2=A9 2019 Nicolas Goaziou +;;; Copyright =C2=A9 2019, 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +33,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages assembly) @@ -45,6 +46,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libbsd) #:use-module (gnu packages libreoffice) #:use-module (gnu packages lua) @@ -354,6 +356,108 @@ team.") environment with Markdown markup.") (license license:gpl3+))) ; icons/* under CC-BY-SA3 =20 +(define-public manuskript + (package + (name "manuskript") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/olivierkes/manuskript.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/manuskript"))) + ;; Install data. + (mkdir-p share) + (for-each + (lambda (d) + (let ((destination (string-append share "/" d))) + (mkdir-p destination) + (copy-recursively d destination))) + '("bin" "i18n" "icons" "libs" "manuskript" "resources")) + ;; Install documentation. + (let ((doc (string-append out + "/doc/manuskript-" ,version + "/sample-projects"))) + (mkdir-p doc) + (copy-recursively "sample-projects" doc)) + ;; Wrap executable in "$out/share/manuskript/bin" and + ;; link to it from "$out/bin". + (let ((bin (string-append out "/bin")) + (executable (string-append share "/bin/manuskript"))) + (wrap-program executable + (list "PYTHONPATH" 'prefix (list (getenv "PYTHONPATH"))= )) + (mkdir-p bin) + (with-directory-excursion bin + (symlink (string-append share "/bin/manuskript") + "manuskript"))) + ;; Install icons and create .desktop file. + (let ((apps (string-append out "/share/applications")) + (icons-dir (string-append out "/share/pixmaps"))) + (install-file "icons/Manuskript/manuskript.svg" icons-dir) + (mkdir-p apps) + (with-output-to-file (string-append apps "/manuskript.des= ktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=3DManuskript~@ + MimeType=3Dapplication/x-manuskript-book;~@ + Exec=3D~a/bin/manuskript %f~@ + Comment=3DTool for writers~@ + Comment[es]=3DHerramienta para escritores/as~@ + Keywords=3Dmanuskript;office;write;edit;novel;tex= t;msk~@ + Terminal=3Dfalse~@ + Type=3DApplication~@ + Icon=3Dmanuskript~@ + Categories=3DOffice;WordProcessor;~%" + out)))) + #t)))))) + (inputs + `(("ghc-pandoc" ,ghc-pandoc) + ("python-lxml" ,python-lxml) + ("python-markdown" ,python-markdown) + ("python-pyqt" ,python-pyqt) + ("qtsvg" ,qtsvg))) + (home-page "http://www.theologeek.ch/manuskript/") + (synopsis "Tool for writers") + (description "Manuskript provides a rich environment to help +writers create their first draft and then further refine and edit +their masterpiece. With Manuskript you can: + +@itemize +@item Grow your premise from one sentence, to a paragraph, to a full +summary, +@item Create characters, +@item Conceive plots, +@item Construct outlines (Outline mode and/or Index cards), +@item Write with focus (Distraction free mode), +@item Build worlds, +@item Track items, +@item Edit and re-organize chapters and scenes, +@item View Story line, +@item Compose with fiction or non-fiction templates and writing modes, +@item Import and export document formats such as HTML, ePub, +OpenDocument, DocX, and more. +@end itemize + +Additionally Manuskript can help in many more ways with a spell +checker, markdown highlighter, frequency analyzer, and automatic save +in plain text file format.") + (license license:gpl3+))) + (define-public editorconfig-core-c (package (name "editorconfig-core-c") --=20 2.24.1 --=-=-=--