From unknown Sat Jun 21 05:19:02 2025 X-Loop: help-debbugs@gnu.org Subject: [bug#38776] [PATCH] Add qemacs Resent-From: Nicolas Goaziou Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 28 Dec 2019 15:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38776 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 38776@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157754746212579 (code B ref -1); Sat, 28 Dec 2019 15:38:01 +0000 Received: (at submit) by debbugs.gnu.org; 28 Dec 2019 15:37:42 +0000 Received: from localhost ([127.0.0.1]:58798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ilE9u-0003Gp-7m for submit@debbugs.gnu.org; Sat, 28 Dec 2019 10:37:42 -0500 Received: from lists.gnu.org ([209.51.188.17]:57848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ilE9s-0003Gh-V2 for submit@debbugs.gnu.org; Sat, 28 Dec 2019 10:37:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43688) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ilE9r-0004MQ-Ay for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:40 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ilE9p-0004WX-4c for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:38 -0500 Received: from relay12.mail.gandi.net ([217.70.178.232]:37335) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ilE9o-0004Mm-OB for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:37 -0500 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 1C419200002 for ; Sat, 28 Dec 2019 15:37:33 +0000 (UTC) From: Nicolas Goaziou Date: Sat, 28 Dec 2019 16:37:32 +0100 Message-ID: <87k16g1mwz.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.178.232 X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) --=-=-= Content-Type: text/plain Hello, The following patch adds qemacs. Note that it is built /without/ ffmpeg support (to read audio and video files from the editor). I can try to include the feature, if necessary. As always, feedback welcome. Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-Add-qemacs.patch Content-Description: Add qemacs >From a4a93fbf71746f8e27e048fa7b72173a1a01e2c7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 28 Dec 2019 16:32:25 +0100 Subject: [PATCH] gnu: Add qemacs. * gnu/packages/text-editors.scm (qemacs): New variable. --- gnu/packages/text-editors.scm | 109 ++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index ac4c5b82ac..3945a5f8a7 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -58,6 +58,8 @@ #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages xorg) #:use-module (gnu packages xml)) (define-public vis @@ -613,3 +615,110 @@ card. It offers: @item Compose function for Latin 1 characters @end itemize") (license license:gpl2+))) + +(define-public qemacs + (package + (name "qemacs") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://bellard.org/qemacs/" + "qemacs-" version ".tar.gz")) + (sha256 + (base32 "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-qhtml + ;; Build fails without first creating qHTML library. + (lambda _ (invoke "make" "-C" "libqhtml"))) + (add-before 'install 'fix-man-pages-directory + ;; Install in $out/share/man instead of $out/man. + (lambda _ + (substitute* "Makefile" + (("/man/man1" all) (string-append "/share" all))) + #t)) + (add-before 'install 'create-directories + ;; Ensure directories exist before installing files. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (d) (mkdir-p (string-append out d))) + '("/bin" "/share/man/man1" "/share/qe")) + #t))) + (add-after 'install 'install-extra-documentation + ;; Install sample configuration file, Info, and HTML manual. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (doc (string-append share "/doc/" ,name "-" ,version)) + (html (string-append share "/html")) + (info (string-append share "/info")) + (makeinfo (string-append (assoc-ref %build-inputs "texinfo") + "/bin/makeinfo"))) + ;; First fix Texinfo documentation, create appropriate + ;; directories, then generate Info and HTML files there. + (substitute* "qe-doc.texi" + (("^M-([{}])" _ bracket) (string-append "M-@" bracket))) + (for-each (lambda (d) (mkdir-p d)) (list html info)) + (invoke makeinfo "qe-doc.texi" "-o" info) + (invoke makeinfo "qe-doc.texi" "--html" "--no-split" "-o" html) + ;; Install sample configuration file. + (install-file "config.eg" doc) + #t)))))) + (native-inputs + `(("texinfo" ,texinfo))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxv" ,libxv))) + (home-page "https://bellard.org/qemacs/") + (synopsis "Small but powerful text editor") + (description "QEmacs (for Quick Emacs) is a very small but +powerful editor. It has features that even big editors lack: + +@itemize + +@item Full screen editor with an Emacs look and feel with all Emacs +common features: multi-buffer, multi-window, command mode, universal +argument, keyboard macros, config file with C-like syntax, minibuffer +with completion and history. + +@item Can edit files of hundreds of Megabytes without being slow by +using a highly optimized internal representation and by mmaping the +file. + +@item Full Unicode support, including multi charset handling (8859-x, +UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting the +Unicode bidi algorithm. Arabic and Indic scripts handling (in +progress). + +@item WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports +Lynx like rendering on VT100 terminals. + +@item WYSIWYG DocBook mode based on XML/CSS2 renderer. + +@item C mode: coloring with immediate update. Emacs like auto-indent. + +@item Shell mode: colorized VT100 emulation so that your shell work +exactly as you expect. Compile mode with next/prev error. + +@item Input methods for most languages, including Chinese (input +methods come from the Yudit editor). + +@item Hexadecimal editing mode with insertion and block commands. +Unicode hexa editing is also supported. + +@item Works on any VT100 terminals without termcap. UTF8 VT100 +support included with double width glyphs. + +@item X11 support. Support multiple proportional fonts at the same +time (as XEmacs). X Input methods supported. Xft extension supported +for anti aliased font display. + +@item Small! Full version (including HTML/XML/CSS2/DocBook rendering +and all charsets): 200KB big. Basic version (without bidir/unicode +scripts/input/X11/C/Shell/HTML/Dired): 49KB. +@end itemize") + (license license:lgpl2.1+))) -- 2.24.1 --=-=-=-- From unknown Sat Jun 21 05:19:02 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Nicolas Goaziou Subject: bug#38776: closed (Re: [bug#38776] [PATCH] Add qemacs) Message-ID: References: <877e1enkbf.fsf@nicolasgoaziou.fr> <87k16g1mwz.fsf@nicolasgoaziou.fr> X-Gnu-PR-Message: they-closed 38776 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 38776@debbugs.gnu.org Date: Sun, 26 Jan 2020 18:30:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1580063402-10630-1" This is a multi-part message in MIME format... ------------=_1580063402-10630-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #38776: [PATCH] Add qemacs which was filed against the guix-patches package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 38776@debbugs.gnu.org. --=20 38776: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D38776 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1580063402-10630-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 38776-done) by debbugs.gnu.org; 26 Jan 2020 18:29:04 +0000 Received: from localhost ([127.0.0.1]:57478 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ivmee-0002jy-9R for submit@debbugs.gnu.org; Sun, 26 Jan 2020 13:29:04 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:44747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ivmec-0002jY-AU for 38776-done@debbugs.gnu.org; Sun, 26 Jan 2020 13:29:03 -0500 X-Originating-IP: 185.131.40.67 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 93F4BE0003 for <38776-done@debbugs.gnu.org>; Sun, 26 Jan 2020 18:29:00 +0000 (UTC) From: Nicolas Goaziou To: 38776-done@debbugs.gnu.org Subject: Re: [bug#38776] [PATCH] Add qemacs References: <87k16g1mwz.fsf@nicolasgoaziou.fr> Date: Sun, 26 Jan 2020 19:28:52 +0100 In-Reply-To: <87k16g1mwz.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Sat, 28 Dec 2019 16:37:32 +0100") Message-ID: <877e1enkbf.fsf@nicolasgoaziou.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 38776-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Nicolas Goaziou writes: > > The following patch adds qemacs. Applied as 3fad9a692311cc3165aac95b70e881bf8fb092ff. ------------=_1580063402-10630-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 28 Dec 2019 15:37:42 +0000 Received: from localhost ([127.0.0.1]:58798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ilE9u-0003Gp-7m for submit@debbugs.gnu.org; Sat, 28 Dec 2019 10:37:42 -0500 Received: from lists.gnu.org ([209.51.188.17]:57848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ilE9s-0003Gh-V2 for submit@debbugs.gnu.org; Sat, 28 Dec 2019 10:37:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43688) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ilE9r-0004MQ-Ay for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:40 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ilE9p-0004WX-4c for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:38 -0500 Received: from relay12.mail.gandi.net ([217.70.178.232]:37335) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ilE9o-0004Mm-OB for guix-patches@gnu.org; Sat, 28 Dec 2019 10:37:37 -0500 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 1C419200002 for ; Sat, 28 Dec 2019 15:37:33 +0000 (UTC) From: Nicolas Goaziou To: guix-patches@gnu.org Subject: [PATCH] Add qemacs Date: Sat, 28 Dec 2019 16:37:32 +0100 Message-ID: <87k16g1mwz.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.178.232 X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) --=-=-= Content-Type: text/plain Hello, The following patch adds qemacs. Note that it is built /without/ ffmpeg support (to read audio and video files from the editor). I can try to include the feature, if necessary. As always, feedback welcome. Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-Add-qemacs.patch Content-Description: Add qemacs >From a4a93fbf71746f8e27e048fa7b72173a1a01e2c7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 28 Dec 2019 16:32:25 +0100 Subject: [PATCH] gnu: Add qemacs. * gnu/packages/text-editors.scm (qemacs): New variable. --- gnu/packages/text-editors.scm | 109 ++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index ac4c5b82ac..3945a5f8a7 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -58,6 +58,8 @@ #:use-module (gnu packages regex) #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages xorg) #:use-module (gnu packages xml)) (define-public vis @@ -613,3 +615,110 @@ card. It offers: @item Compose function for Latin 1 characters @end itemize") (license license:gpl2+))) + +(define-public qemacs + (package + (name "qemacs") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://bellard.org/qemacs/" + "qemacs-" version ".tar.gz")) + (sha256 + (base32 "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-before 'build 'build-qhtml + ;; Build fails without first creating qHTML library. + (lambda _ (invoke "make" "-C" "libqhtml"))) + (add-before 'install 'fix-man-pages-directory + ;; Install in $out/share/man instead of $out/man. + (lambda _ + (substitute* "Makefile" + (("/man/man1" all) (string-append "/share" all))) + #t)) + (add-before 'install 'create-directories + ;; Ensure directories exist before installing files. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (d) (mkdir-p (string-append out d))) + '("/bin" "/share/man/man1" "/share/qe")) + #t))) + (add-after 'install 'install-extra-documentation + ;; Install sample configuration file, Info, and HTML manual. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (doc (string-append share "/doc/" ,name "-" ,version)) + (html (string-append share "/html")) + (info (string-append share "/info")) + (makeinfo (string-append (assoc-ref %build-inputs "texinfo") + "/bin/makeinfo"))) + ;; First fix Texinfo documentation, create appropriate + ;; directories, then generate Info and HTML files there. + (substitute* "qe-doc.texi" + (("^M-([{}])" _ bracket) (string-append "M-@" bracket))) + (for-each (lambda (d) (mkdir-p d)) (list html info)) + (invoke makeinfo "qe-doc.texi" "-o" info) + (invoke makeinfo "qe-doc.texi" "--html" "--no-split" "-o" html) + ;; Install sample configuration file. + (install-file "config.eg" doc) + #t)))))) + (native-inputs + `(("texinfo" ,texinfo))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxv" ,libxv))) + (home-page "https://bellard.org/qemacs/") + (synopsis "Small but powerful text editor") + (description "QEmacs (for Quick Emacs) is a very small but +powerful editor. It has features that even big editors lack: + +@itemize + +@item Full screen editor with an Emacs look and feel with all Emacs +common features: multi-buffer, multi-window, command mode, universal +argument, keyboard macros, config file with C-like syntax, minibuffer +with completion and history. + +@item Can edit files of hundreds of Megabytes without being slow by +using a highly optimized internal representation and by mmaping the +file. + +@item Full Unicode support, including multi charset handling (8859-x, +UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting the +Unicode bidi algorithm. Arabic and Indic scripts handling (in +progress). + +@item WYSIWYG HTML/XML/CSS2 mode graphical editing. Also supports +Lynx like rendering on VT100 terminals. + +@item WYSIWYG DocBook mode based on XML/CSS2 renderer. + +@item C mode: coloring with immediate update. Emacs like auto-indent. + +@item Shell mode: colorized VT100 emulation so that your shell work +exactly as you expect. Compile mode with next/prev error. + +@item Input methods for most languages, including Chinese (input +methods come from the Yudit editor). + +@item Hexadecimal editing mode with insertion and block commands. +Unicode hexa editing is also supported. + +@item Works on any VT100 terminals without termcap. UTF8 VT100 +support included with double width glyphs. + +@item X11 support. Support multiple proportional fonts at the same +time (as XEmacs). X Input methods supported. Xft extension supported +for anti aliased font display. + +@item Small! Full version (including HTML/XML/CSS2/DocBook rendering +and all charsets): 200KB big. Basic version (without bidir/unicode +scripts/input/X11/C/Shell/HTML/Dired): 49KB. +@end itemize") + (license license:lgpl2.1+))) -- 2.24.1 --=-=-=-- ------------=_1580063402-10630-1--