[PATCH]: gnu: Add mogan.

OpenSubmitted by Zhu Zihao.
Details
3 participants
  • Zhu Zihao
  • Maxime Devos
  • Darcy Shen
Owner
unassigned
Severity
normal
Z
Z
Zhu Zihao wrote on 15 May 05:21 +0200
(address . guix-patches@gnu.org)
86wnen5vl3.fsf@163.com
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYoBx2BUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/maOQD/eKjDD++k8i1M21NowXNQOvddM8gI
tWslmiEfkww5R4YBAIitCLDkIVHPaA8y2SCzdBFOGm03hUuFjXYtDD5YkXIM
=ZY2h
-----END PGP SIGNATURE-----

From ea1a707936936d428efcb6aee84afa4475f695a5 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sat, 14 May 2022 22:16:38 +0800
Subject: [PATCH 1/2] gnu: texmacs: Use G-expression.

* gnu/packages/text-editors.scm (texmacs): Use G-expressions.
---
gnu/packages/text-editors.scm | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 7cbad042c9..d4459f5579 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -876,19 +876,19 @@ (define-public texmacs
            qtsvg
            sqlite))
     (arguments
-     `(#:tests? #f                      ; no check target
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-icon-directory
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (substitute* "packages/linux/icons.sh"
-                 (("/usr/share")
-                  (string-append out "/share"))))))
-         (add-before 'configure 'gzip-flags
-           (lambda _
-             (substitute* "Makefile.in"
-               (("^GZIP = gzip -f") "GZIP = gzip -f -n")))))))
+     (list
+      #:tests? #f                       ; no check target
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'fix-icon-directory
+            (lambda _
+              (substitute* "packages/linux/icons.sh"
+                (("/usr/share")
+                 (string-append #$output "/share")))))
+          (add-before 'configure 'gzip-flags
+            (lambda _
+              (substitute* "Makefile.in"
+                (("^GZIP = gzip -f") "GZIP = gzip -f -n")))))))
     (synopsis "Editing platform with special features for scientists")
     (description
      "GNU TeXmacs is a text editing platform which is specialized for
-- 
2.36.0
From 888d590bc6d27fe43456ee636265915e46a81a3b Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sat, 14 May 2022 22:19:06 +0800
Subject: [PATCH 2/2] gnu: Add mogan.

* gnu/packages/text-editors.scm (mogan): New variable.
---
gnu/packages/text-editors.scm | 36 +++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index d4459f5579..7759bfde41 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -55,6 +55,7 @@ (define-module (gnu packages text-editors)
   #:use-module (gnu packages code)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages crates-io)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -899,6 +900,41 @@ (define-public texmacs
     (license license:gpl3+)
     (home-page "https://www.texmacs.org/tmweb/home/welcome.en.html")))
 
+(define-public mogan
+  (package
+    (inherit texmacs)
+    (name "mogan")
+    (version "1.0.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitee.com/XmacsLabs/mogan")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "0flk12yic6jc996jqsmmd0wp40js04rdpvcdjkri0hbqrcvyni8v"))))
+    (inputs
+     (modify-inputs (package-inputs texmacs)
+       ;; Replaced by S7 scheme
+       (delete "guile")
+       (prepend curl)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments texmacs)
+       ((#:phases orig)
+        #~(modify-phases #$orig
+            (replace 'gzip-flags
+              (lambda _
+                (substitute* "misc/CMakeLists.txt"
+                  (("COMMAND gzip" all)
+                   (string-append all " -n")))))))))
+    (synopsis "Structural editor delivered by Xmacs Labs")
+    (description
+     "Mogan is a fork of GNU TeXmacs created by Xmacs Labs. Its goal is
+to customize GNU TeXmacs for everyone to enjoy it fluently and develop new
+feature for everyone to learn and create science and technology.")
+    (license license:gpl3+)
+    (home-page "https://gitee.com/XmacsLabs/mogan")))
+
 (define-public scintilla
   (package
     (name "scintilla")
-- 
2.36.0
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
M
M
Maxime Devos wrote on 15 May 13:57 +0200
6e6731717e374be8e0dd012d7b6eb069f23e3778.camel@telenet.be
Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
Toggle quote (2 lines)
Appears to be a mirror for https://github.com/XmacsLabs/mogan.

Also, what kind of fork is this? Is the idea to (eventually) merge the
fixes and features into upstream, or are they going separate ways, or
...? Basically, why package the fork (which comes with some technical
and social cost) instead of working with upstream?

Not saying it's forbidden to package forks, but rather for me the
default option is to only package upstream.

Toggle quote (4 lines)
> + Its goal is to customize GNU TeXmacs for everyone to enjoy it
> + fluently and develop new feature for everyone to learn and create
> + science and technology.

This description sort-of suggests TeXmacs doesn't want everyone to
enjoy it and such, which I don't think is good for relations with
upstream. Maybe like ‘(guix)Synopsis and Descriptions’ suggests, write
about some use cases and features (that were added by the fork)?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoDqqRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hZsAP4iALq6uzrZdd1s+GI+7CAlOgLj
Wsvie4TQ/TI9Tbf9DgD9GGbBdj+hR6kyWrdVnwOB/ZLzDbSGu3x8CCpByFg7wgc=
=RpLt
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 15 May 13:58 +0200
cb228fa34ad735f7c075cd73a42f74f7022c8301.camel@telenet.be
Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
Toggle quote (6 lines)
> +            (replace 'gzip-flags
> +              (lambda _
> +                (substitute* "misc/CMakeLists.txt"
> +                  (("COMMAND gzip" all)
> +                   (string-append all " -n")))))))))

-n = for no time stamp and reproducibility? I recommend sending this
change to upstream (if accepted by them), such that every distribution
benefits.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoDrARccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7mGkAPsEd5+jhAwbmk6o/MsBZc7xgUCv
vI7mhzQquQyx7U5nlgD/dHBgrkciTWNH5YpYmvk4AT9bC7y6z0k6F2DcnpUUeQw=
=DWC6
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 15 May 13:59 +0200
616e9ef4c4c7820ba7c1ceaff559b1a7b785a05f.camel@telenet.be
Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
Toggle quote (6 lines)
> +    (inputs
> +     (modify-inputs (package-inputs texmacs)
> +       ;; Replaced by S7 scheme
> +       (delete "guile")
> +       (prepend curl)))

S7 scheme appears to be missing in the inputs, is it bundled?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoDrPRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hKNAQCmAxyQG2+0M07MbdP7oG1VyOuq
fnZr/2JVo0ALogQcdQEAu5Z6xQchLjs4jPwMM+sD/SwgCDPrHkC4VyL6Xw6hBwE=
=5rkO
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 15 May 14:01 +0200
b88db9bbced3403c42c3aafc84c81e0dac6c338e.camel@telenet.be
Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
Toggle quote (6 lines)
> +    (inputs
> +     (modify-inputs (package-inputs texmacs)
> +       ;; Replaced by S7 scheme
> +       (delete "guile")
> +       (prepend curl)))

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoDroxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nIjAQCqBgfrBqR5NdRHsp45kJPm2bBG
84LbISSDrHYMwIT78QD6ApABsbuQnSykMfi+Aj2T1hrhJX19PpnbB6exCO5RQAQ=
=IRmH
-----END PGP SIGNATURE-----


Z
Z
Zhu Zihao wrote on 15 May 15:56 +0200
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 55423@debbugs.gnu.org)
86fsla28ow.fsf@163.com
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (6 lines)
> [[PGP Signed Part:Undecided]]
> Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
>> +    (home-page "https://gitee.com/XmacsLabs/mogan")))
>
> Appears to be a mirror for <https://github.com/XmacsLabs/mogan>.

These two repositories are equal with each others. There's no "main"
repository and "mirror" repository difference.

Toggle quote (8 lines)
> Also, what kind of fork is this? Is the idea to (eventually) merge the
> fixes and features into upstream, or are they going separate ways, or
> ...? Basically, why package the fork (which comes with some technical
> and social cost) instead of working with upstream?
>
> Not saying it's forbidden to package forks, but rather for me the
> default option is to only package upstream.

This fork is created by Darcy Shen(sadhen), the maintainer of GNU
TeXmacs. IIUC, Shen feels GNU TeXmacs is more scientist oriented, so he
want Mogan to be programmer oriented[*]. For details, we'd better to ask
Shen directly.

I guess Shen is unhappy with the slow development progress of texmacs,
he created a fork to add the features he wanted to add to texmacs.

Toggle quote (10 lines)
>
>> + Its goal is to customize GNU TeXmacs for everyone to enjoy it
>> + fluently and develop new feature for everyone to learn and create
>> + science and technology.
>
> This description sort-of suggests TeXmacs doesn't want everyone to
> enjoy it and such, which I don't think is good for relations with
> upstream. Maybe like ‘(guix)Synopsis and Descriptions’ suggests, write
> about some use cases and features (that were added by the fork)?

OK, I'll change it to more netural words.
Toggle quote (7 lines)
>
> Greetings,
> Maxime.
>
> [[End of PGP Signed Part]]


--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYoEIfxUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/nGlAD/VRwZSXkm3o1ky1tI+b+LwQvNmZ6Q
Pkens/N/wWslyr0BAOJWp2USORIvsso+lZHrwpXUz87KCrzxD3QbPrM4zj4M
=D4xm
-----END PGP SIGNATURE-----

Z
Z
Zhu Zihao wrote on 15 May 16:05 +0200
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 55423@debbugs.gnu.org)
861qwuzy57.fsf@163.com
Maxime Devos <maximedevos@telenet.be> writes:

Toggle quote (12 lines)
> [[PGP Signed Part:Undecided]]
> Zhu Zihao schreef op zo 15-05-2022 om 11:21 [+0800]:
>> +            (replace 'gzip-flags
>> +              (lambda _
>> +                (substitute* "misc/CMakeLists.txt"
>> +                  (("COMMAND gzip" all)
>> +                   (string-append all " -n")))))))))
>
> -n = for no time stamp and reproducibility? I recommend sending this
> change to upstream (if accepted by them), such that every distribution
> benefits.

I'll suggest a patch to upstream. But I think we don't need these phase
at all. There's reset-gzip-timestamps in gnu-build-system and the
timestamp of all gzip files will be cleared in the build process.

Toggle quote (2 lines)
> S7 scheme appears to be missing in the inputs, is it bundled?

Yes, it's bundled. But I don't have a plan to unbundle it. It's small
and we'll have more work to do if we try to unbundle.

--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYoEJZBUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/mA7wEA5TCsvNCM0cdEi/y8p0TU/keAn2uJ
+YZ3a56IZlqhQ4wBAKAQetz0HX8xt2qXD/fLOJY69OKsOHDCxDPO0ILPATQK
=dyvp
-----END PGP SIGNATURE-----

Z
Z
Zhu Zihao wrote on 15 May 16:12 +0200
What's the motivation of creating Mogan. (was Re: [bug#55423] [PATCH]: gnu: Add mogan.)
(address . sadhen@zoho.com)(address . 55423@debbugs.gnu.org)
86tu9qvq2x.fsf@163.com
Hello, Darcy Shen!

We're planning to package mogan editor for Guix. Thanks for your work on
Mogan and GNU TeXmacs!

Please allow me to ask a question here: What's your motivation of
forking GNU TeXmacs to create Mogan?

So Guix developers don't know the difference between GNU TeXmacs and
Mogan and many articles about Mogan were written in Chinese. So we need
your help. Thank you very much.
--
Retrieve my PGP public key:

gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
-----BEGIN PGP SIGNATURE-----

iIsEARYIADMWIQRefA5qkqvnKdl/GTlmOX+E92aT+QUCYoELNhUcYWxsX2J1dF9s
YXN0QDE2My5jb20ACgkQZjl/hPdmk/k1sQD9FF5IGpJdXOvXRB1hfkRtSaPC32xD
FuJuGVMOdCtr+4gA/RJGiggn5WFWCiFedD7GBND3l7iU9xuqAVaCR40fvHYB
=zjSM
-----END PGP SIGNATURE-----

M
M
Maxime Devos wrote on 15 May 16:24 +0200
Re: [bug#55423] [PATCH]: gnu: Add mogan.
(name . Zhu Zihao)(address . all_but_last@163.com)(address . 55423@debbugs.gnu.org)
cf0952c23b961650c46008746738b3c0c966216b.camel@telenet.be
Zhu Zihao schreef op zo 15-05-2022 om 22:05 [+0800]:
Toggle quote (3 lines)
> Yes, it's bundled. But I don't have a plan to unbundle it. It's small
> and we'll have more work to do if we try to unbundle.

From (guix)Synopses and Descriptions:

8. Make sure the package does not use bundled copies of software
already available as separate packages.

Sometimes, packages include copies of the source code of their
dependencies as a convenience for users. However, as a
distribution, we want to make sure that such packages end up using
the copy we already have in the distribution, if there is one.
This improves resource usage (the dependency is built and stored
only once), and allows the distribution to make transverse changes
such as applying security updates for a given software package in
a single place and have them affect the whole system—something
that bundled copies prevent.

I don't think resource usage is a problem here, but the security
updates and transverse changes bits seem relevant here to me
(also: bug fixes, less redundancy when checking source code for malware
or bugs, replacing the s7 used by applications by a custom one to test
out new features or performance or such, ...)

It's a bit of an investment now that gives some flexibility for the
future and avoids some potential problems (e.g. malware bit and
security updates bit).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYoENGxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7j03AQCmFYl7WESBF4Uu8PNSJzAa4jgk
TjqBf4xYj2TyOnmApAD/ZaEt26uEC5SkDmH/vcvLdKh4aKIu5+7WT0IZaxHs+wg=
=iOt4
-----END PGP SIGNATURE-----


D
D
Darcy Shen wrote on 16 May 12:39 +0200
Re: What's the motivation of creating Mogan. (was Re: [bug#55423] [PATCH]: gnu: Add mogan.)
180cc737bdf.aea91ada185587.5040783378682960158@zoho.com
Because GNU TeXmacs is still using GNU Guile 1.8.x and Qt 4.x.



As one of the developers, I want to use S7 Scheme and Qt 5.x. That's the reason why I fork GNU TeXmacs.







---- On Sun, 15 May 2022 22:12:27 +0800 Zhu Zihao <all_but_last@163.com> wrote ----



Hello, Darcy Shen!
We're planning to package mogan editor for Guix. Thanks for your work on
Mogan and GNU TeXmacs!
Please allow me to ask a question here: What's your motivation of
forking GNU TeXmacs to create Mogan?
So Guix developers don't know the difference between GNU TeXmacs and
Mogan and many articles about Mogan were written in Chinese. So we need
your help. Thank you very much.
--
Retrieve my PGP public key:
gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F
Zihao
Attachment: file
?