unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
@ 2021-03-06 11:58 Protesilaos Stavrou
  2021-03-06 14:39 ` Basil L. Contovounesios
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-06 11:58 UTC (permalink / raw)
  To: 46964

[-- Attachment #1: Type: text/plain, Size: 1089 bytes --]

Dear maintainers,

With commits de602dd7cf and 8fb33bae32 in emacs.git the 'modus-operandi'
and 'modus-vivendi' themes are now updated to their latest version.

Since the themes are distributed with Emacs, GNU ELPA can treat them as
a single ":core" package.  This means that it should stop distributing
the standalone packages 'modus-operandi-theme' and 'modus-vivendi-theme'
which no longer correspond to the current state of the upstream
project.[1]

I tested the attached patch with elpa.git and successfully built
"packages/modus-themes" with the latest version of the files.

What I am not sure about---and apologies if I missed it in the elpa.git
README---is whether a ":core" package benefits from the 'make' command
when that has been called from the root of the emacs.git directory.  I
am, in particular, interested in the derived file info/modus-themes.info
(the "info" directory is not available in a fresh clone of emacs.git but
gets generated with 'make').

Thank you!
Protesilaos

[1]: <https://gitlab.com/protesilaos/modus-themes>.

-- 
Protesilaos Stavrou
protesilaos.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Replace-modus-theme-with-modus-themes-from-core.patch --]
[-- Type: text/x-patch, Size: 1267 bytes --]

From 26d3b0d1d55b438c015b5add759875424eb1826c Mon Sep 17 00:00:00 2001
Message-Id: <26d3b0d1d55b438c015b5add759875424eb1826c.1615029287.git.info@protesilaos.com>
From: Protesilaos Stavrou <info@protesilaos.com>
Date: Sat, 6 Mar 2021 13:14:33 +0200
Subject: [PATCH] Replace modus-*-theme with modus-themes from :core

The themes 'modus-operandi' and 'modus-vivendi' are now part of
emacs.git and should thus be designated as a single ':core' package.
---
 elpa-packages | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 30f634c1b1..70ca5d8fda 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -208,8 +208,7 @@
  ("mmm-mode"
   :url "https://github.com/purcell/mmm-mode.git"
   :auto-sync t)
- ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
- ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
+ ("modus-themes" :core ("etc/themes/modus-themes.el" "etc/themes/modus-operandi-theme.el" "etc/themes/modus-vivendi-theme.el" "doc/misc/modus-themes.org" "info/modus-themes.info"))
  ("multishell"		:url "https://github.com/kenmanheimer/EmacsMultishell")
  ("muse"		:url "https://github.com/alexott/muse") ;FIXME: Not nearly in-sync
  ("myers"		:url nil)
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-06 11:58 bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core Protesilaos Stavrou
@ 2021-03-06 14:39 ` Basil L. Contovounesios
  2021-03-06 15:00   ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Basil L. Contovounesios @ 2021-03-06 14:39 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: 46964, Stefan Monnier

Protesilaos Stavrou <info@protesilaos.com> writes:

> What I am not sure about---and apologies if I missed it in the elpa.git
> README---is whether a ":core" package benefits from the 'make' command
> when that has been called from the root of the emacs.git directory.  I
> am, in particular, interested in the derived file info/modus-themes.info
> (the "info" directory is not available in a fresh clone of emacs.git but
> gets generated with 'make').
[...]
> diff --git a/elpa-packages b/elpa-packages
> index 30f634c1b1..70ca5d8fda 100644
> --- a/elpa-packages
> +++ b/elpa-packages
> @@ -208,8 +208,7 @@
>   ("mmm-mode"
>    :url "https://github.com/purcell/mmm-mode.git"
>    :auto-sync t)
> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
> - ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
> + ("modus-themes" :core ("etc/themes/modus-themes.el" "etc/themes/modus-operandi-theme.el" "etc/themes/modus-vivendi-theme.el" "doc/misc/modus-themes.org" "info/modus-themes.info"))

Have you tried specifying the manual's source .org/.texi file as the
package :doc property?

Although I don't know whether :core packages support that yet, or
whether elpa.git can even build .texi/.org manuals from emacs.git (see,
for example, the commented-out entry in elpa-packages for cc-mode).

Stefan (CCed) will be more familiar with the limitations.

[ P.S. If you're interested in becoming a member, I think it's time you
  created a Savannah account and requested inclusion in the Emacs
  project: https://savannah.gnu.org/project/memberlist.php?group=emacs ]

Thanks,

-- 
Basil





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-06 14:39 ` Basil L. Contovounesios
@ 2021-03-06 15:00   ` Stefan Monnier
  2021-03-06 16:19     ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-06 15:00 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: Protesilaos Stavrou, 46964

>> What I am not sure about---and apologies if I missed it in the elpa.git
>> README---is whether a ":core" package benefits from the 'make' command
>> when that has been called from the root of the emacs.git directory.

:core packages are made by creating a local "look-alike" package which
just contains symlinks to files in a pristine emacs.git tree.
So I think the answer is "no".

> Have you tried specifying the manual's source .org/.texi file as the
> package :doc property?

Indeed, that should work.


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-06 15:00   ` Stefan Monnier
@ 2021-03-06 16:19     ` Protesilaos Stavrou
  2021-03-06 18:35       ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-06 16:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-06, 14:39 +0000, "Basil L. Contovounesios" <contovob@tcd.ie> wrote:

> Have you tried specifying the manual's source .org/.texi file as the
> package :doc property?

I tried with this:

    ("modus-themes"
      :core ("etc/themes/modus-themes.el"
             "etc/themes/modus-operandi-theme.el"
             "etc/themes/modus-vivendi-theme.el")
      :doc "doc/misc/modus-themes.org")

The feedback I get at the shell, with 'make packages/modus-themes':

    ...
    Linking files for package: modus-themes
      etc/themes/modus-themes.el -> modus-themes.el
      etc/themes/modus-operandi-theme.el -> modus-operandi-theme.el
      etc/themes/modus-vivendi-theme.el -> modus-vivendi-theme.el

Whereas the following creates a symlink for the org file as well:

    ("modus-themes"
      :core ("etc/themes/modus-themes.el"
             "etc/themes/modus-operandi-theme.el"
             "etc/themes/modus-vivendi-theme.el"
             "doc/misc/modus-themes.org"))

> Although I don't know whether :core packages support that yet, or
> whether elpa.git can even build .texi/.org manuals from emacs.git (see,
> for example, the commented-out entry in elpa-packages for cc-mode).

Indeed.  Besides, emacs.git only recently started including manuals in
Org format.

> [ P.S. If you're interested in becoming a member, I think it's time you
>   created a Savannah account and requested inclusion in the Emacs
>   project: https://savannah.gnu.org/project/memberlist.php?group=emacs ]

Just did.  It informed me that it sent an email to a list of
maintainers.


On 2021-03-06, 10:00 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>>> What I am not sure about---and apologies if I missed it in the elpa.git
>>> README---is whether a ":core" package benefits from the 'make' command
>>> when that has been called from the root of the emacs.git directory.
>
> :core packages are made by creating a local "look-alike" package which
> just contains symlinks to files in a pristine emacs.git tree.
> So I think the answer is "no".

I see, thank you!  What would be the best course of action then, to
include "doc/misc/modus-themes.org" or omit it?


-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-06 16:19     ` Protesilaos Stavrou
@ 2021-03-06 18:35       ` Stefan Monnier
  2021-03-07  7:32         ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-06 18:35 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> I tried with this:
>
>     ("modus-themes"
>       :core ("etc/themes/modus-themes.el"
>              "etc/themes/modus-operandi-theme.el"
>              "etc/themes/modus-vivendi-theme.el")
>       :doc "doc/misc/modus-themes.org")

I think you need something like:

     ("modus-themes"
       :core ("etc/themes/modus-themes.el"
              "etc/themes/modus-operandi-theme.el"
              "etc/themes/modus-vivendi-theme.el"
              "doc/misc/modus-themes.org")
       :doc "modus-themes.org")

The :core brings the specified files into the directory from which we
build the package, and then the :doc tells where to find the doc in that
directory.


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-06 18:35       ` Stefan Monnier
@ 2021-03-07  7:32         ` Protesilaos Stavrou
  2021-03-09 15:54           ` Basil L. Contovounesios
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-07  7:32 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

On 2021-03-06, 13:35 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> I tried with this:
>>
>>     ("modus-themes"
>>       :core ("etc/themes/modus-themes.el"
>>              "etc/themes/modus-operandi-theme.el"
>>              "etc/themes/modus-vivendi-theme.el")
>>       :doc "doc/misc/modus-themes.org")
>
> I think you need something like:
>
>      ("modus-themes"
>        :core ("etc/themes/modus-themes.el"
>               "etc/themes/modus-operandi-theme.el"
>               "etc/themes/modus-vivendi-theme.el"
>               "doc/misc/modus-themes.org")
>        :doc "modus-themes.org")
>
> The :core brings the specified files into the directory from which we
> build the package, and then the :doc tells where to find the doc in that
> directory.

Thank you!  I have amended the patch using the format you recommended.

-- 
Protesilaos Stavrou
protesilaos.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Replace-modus-theme-with-modus-themes-from-core.patch --]
[-- Type: text/x-patch, Size: 1309 bytes --]

From dc32c7ff90344666c0cf857420ba3aede7c767bd Mon Sep 17 00:00:00 2001
Message-Id: <dc32c7ff90344666c0cf857420ba3aede7c767bd.1615101919.git.info@protesilaos.com>
From: Protesilaos Stavrou <info@protesilaos.com>
Date: Sat, 6 Mar 2021 13:14:33 +0200
Subject: [PATCH] Replace modus-*-theme with modus-themes from :core

The themes 'modus-operandi' and 'modus-vivendi' are now part of
emacs.git and should thus be designated as a single ':core' package.
---
 elpa-packages | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 30f634c1b1..3ce68f8986 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -208,8 +208,12 @@
  ("mmm-mode"
   :url "https://github.com/purcell/mmm-mode.git"
   :auto-sync t)
- ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
- ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
+ ("modus-themes"
+  :core ("etc/themes/modus-themes.el"
+         "etc/themes/modus-operandi-theme.el"
+         "etc/themes/modus-vivendi-theme.el"
+         "doc/misc/modus-themes.org")
+  :doc "modus-themes.org")
  ("multishell"		:url "https://github.com/kenmanheimer/EmacsMultishell")
  ("muse"		:url "https://github.com/alexott/muse") ;FIXME: Not nearly in-sync
  ("myers"		:url nil)
-- 
2.30.1


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-07  7:32         ` Protesilaos Stavrou
@ 2021-03-09 15:54           ` Basil L. Contovounesios
  2021-03-09 16:46             ` Stefan Monnier
  2021-03-09 19:08             ` Protesilaos Stavrou
  0 siblings, 2 replies; 28+ messages in thread
From: Basil L. Contovounesios @ 2021-03-09 15:54 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: 46964, Stefan Monnier

Protesilaos Stavrou <info@protesilaos.com> writes:

> Thank you!  I have amended the patch using the format you recommended.

Thanks, LGTM.

Have you been able to verify that the tarball is created properly,
and especially that the contained .info file is nonempty?

Because locally I get either errors or empty .info files when I try
'make packages/modus-themes' or 'make build/modus-themes', regardless
of sandboxing.  I'm guessing full deployments don't suffer the same?

> --- a/elpa-packages
> +++ b/elpa-packages
> @@ -208,8 +208,12 @@
>   ("mmm-mode"
>    :url "https://github.com/purcell/mmm-mode.git"
>    :auto-sync t)
> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
> - ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")

Also wondering if we need to do anything special before "ripping off
this bandaid"[1], or can we also get away with the money like MELPA?

[1]: https://github.com/melpa/melpa/issues/7245

Thanks,

-- 
Basil





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-09 15:54           ` Basil L. Contovounesios
@ 2021-03-09 16:46             ` Stefan Monnier
  2021-03-09 19:08             ` Protesilaos Stavrou
  1 sibling, 0 replies; 28+ messages in thread
From: Stefan Monnier @ 2021-03-09 16:46 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: Protesilaos Stavrou, 46964

>> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
>> - ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
> Also wondering if we need to do anything special before "ripping off
> this bandaid"[1], or can we also get away with the money like MELPA?

I think "overwrite modus-operandi-theme and modus-vivendi-theme with
a small package which depends on modus-themes for compatibility and prints some
kind of deprecation warning, maybe via the autoload mechanism" is the
better way forward (but this can be done calmly once the `modus-themes`
is confirmed to be in good shape).


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-09 15:54           ` Basil L. Contovounesios
  2021-03-09 16:46             ` Stefan Monnier
@ 2021-03-09 19:08             ` Protesilaos Stavrou
  2021-03-09 20:49               ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-09 19:08 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: 46964, Stefan Monnier

[-- Attachment #1: Type: text/plain, Size: 1554 bytes --]

On 2021-03-09, 15:54 +0000, "Basil L. Contovounesios" <contovob@tcd.ie> wrote:

> Protesilaos Stavrou <info@protesilaos.com> writes:
>
>> Thank you!  I have amended the patch using the format you recommended.
>
> Thanks, LGTM.
>
> Have you been able to verify that the tarball is created properly,
> and especially that the contained .info file is nonempty?

No, the build always gives me errors.  Though I assumed something was
wrong on my end (I am not familiar with makefiles).  This is not just
with the modus-themes.  Same for something like project.el.  Please see
the attached file with the backtrace.


On 2021-03-09, 11:46 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>>> - ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
>>> - ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
>> Also wondering if we need to do anything special before "ripping off
>> this bandaid"[1], or can we also get away with the money like MELPA?
>
> I think "overwrite modus-operandi-theme and modus-vivendi-theme with
> a small package which depends on modus-themes for compatibility and prints some
> kind of deprecation warning, maybe via the autoload mechanism" is the
> better way forward (but this can be done calmly once the `modus-themes`
> is confirmed to be in good shape).

Yes, we can look into this once the package is confirmed to work.

I have no strong opinion about how to handle the old packages.  I prefer
to go with whatever is easier for you.

-- 
Protesilaos Stavrou
protesilaos.com

[-- Attachment #2: 2021-03-09-elpa-make-build-backtrace --]
[-- Type: application/octet-stream, Size: 22236 bytes --]

~/Git/build/elpa $ make build/project
emacs --batch -Q -l admin/elpa-admin.el \
         -f elpaa-batch-pkg-spec-make-dependencies .pkg-descs.mk
emacs --batch -l /home/prot/Git/build/elpa/admin/elpa-admin.el	\
         -f elpaa-batch-make-one-package project
Linking files for package: project
  lisp/progmodes/project.el -> project.el
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  call-process("git" nil t nil "reset" "--merge" nil)
  apply(call-process "git" nil t nil ("reset" "--merge" nil))
  elpaa--call(t "git" "reset" "--merge" nil)
  (let ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string)))
  (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string))))
  (unwind-protect (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (if (equal rev cur-rev) (elpaa--message "Current revision is already desired revision!") (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((default-directory ...)) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev (buffer-string)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))
  (let ((cur-rev (let* ((ftn (file-truename (expand-file-name ... dir))) (default-directory (file-name-directory ftn))) (vc-working-revision ftn)))) (if (equal rev cur-rev) (elpaa--message "Current revision is already desired revision!") (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let (...) (elpaa--call t "git" "reset" "--merge" rev) (elpaa--message "Reverted to release revision %s\n%s" rev ...))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))))
  elpaa--select-revision("/home/prot/Git/build/elpa/packages/project" ("project" :core "lisp/progmodes/project.el") nil)
  (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))
  (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function))))
  (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'(lambda (file) (string-match re file) (cons ... file)) (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* ((va (list ... ""))) (if (member va renames) renames (cons va renames)))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores (mapcar #'... ignores)) ((file-readable-p elpaignore) (list "-X" elpaignore))) (mapcar #'(lambda (r) (elpaa--make-tar-transform pkgname r)) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ((default-directory ...)) (elpaa--call nil "git" "tag" "-f" (format "%s-release/%s-%s" elpaa--name pkgname vers))))) (let ((link (expand-file-name (format "%s.tar" pkgname) destdir))) (if (file-symlink-p link) (progn (delete-file link))) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers (file-name-nondirectory tarball)) oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))
  (closure ((one-tarball) (revision-function closure ((tarball . "archive/project-0.5.4.tar") (new) (tarball . "archive-devel/project-0.5.4.0.20210309.20601.tar") (devel-vers . "0.5.4.0.20210309.20601") (date-version . "20210309.20601") (vers . "0.5.4") (metadata nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (_) (_) (dir . "/home/prot/Git/build/elpa/packages/project") (pkgname . "project") (one-tarball) (pkg-spec "project" :core "lisp/progmodes/project.el") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (pkg-spec "project" :core "lisp/progmodes/project.el") (dir . "/home/prot/Git/build/elpa/packages/project") (tarball . "archive/project-0.5.4.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not (file-directory-p destdir))) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'(lambda ... ... ...) (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* ((va ...)) (if (member va renames) renames (cons va renames)))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not (string-match "[][*\\|?]" pkgname)))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not (string-match "[][*\\|?]" vers)))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores (mapcar ... ignores)) ((file-readable-p elpaignore) (list "-X" elpaignore))) (mapcar #'(lambda ... ...) renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname 'dont-rename))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let (...) (elpaa--call nil "git" "tag" "-f" ...)))) (let ((link (expand-file-name ... destdir))) (if (file-symlink-p link) (progn (delete-file link))) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory (expand-file-name destdir))) (elpaa--html-make-pkg pkgdesc pkg-spec (cons (cons vers ...) oldtarballs) dir)) (message "Built new package %s!" tarball) 'new))))()
  funcall((closure ((one-tarball) (revision-function closure ((tarball . "archive/project-0.5.4.tar") (new) (tarball . "archive-devel/project-0.5.4.0.20210309.20601.tar") (devel-vers . "0.5.4.0.20210309.20601") (date-version . "20210309.20601") (vers . "0.5.4") (metadata nil "0.5.4" "Operations on the current project" ((emacs ...) (xref ...)) ((:url . "https://elpa.gnu.org/packages/project.html"))) (_) (_) (dir . "/home/prot/Git/build/elpa/packages/project") (pkgname . "project") (one-tarball) (pkg-spec "project" :core "lisp/progmodes/project.el") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (pkg-spec "project" :core "lisp/progmodes/project.el") (dir . "/home/prot/Git/build/elpa/packages/project") (tarball . "archive/project-0.5.4.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not ...)) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'... (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* (...) (if ... renames ...))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not ...))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not ...))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores ...) (... ...)) (mapcar #'... renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname ...))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ... ...))) (let ((link ...)) (if (file-symlink-p link) (progn ...)) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory ...)) (elpaa--html-make-pkg pkgdesc pkg-spec (cons ... oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))))
  (progn (elpaa--clean dir) (funcall f))
  (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--))))))
  (let ((elpaa--temp-files nil)) (unwind-protect (progn (elpaa--clean dir) (funcall f)) (elpaa--message "Deleting temp files: %S" elpaa--temp-files) (let ((--dolist-tail-- elpaa--temp-files)) (while --dolist-tail-- (let ((f (car --dolist-tail--))) (if (stringp f) (delete-file f) (funcall f)) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
  elpaa--call-with-temp-files("/home/prot/Git/build/elpa/packages/project" (closure ((one-tarball) (revision-function closure ((tarball . "archive/project-0.5.4.tar") (new) (tarball . "archive-devel/project-0.5.4.0.20210309.20601.tar") (devel-vers . "0.5.4.0.20210309.20601") (date-version . "20210309.20601") (vers . "0.5.4") (metadata nil "0.5.4" "Operations on the current project" ((emacs ...) (xref ...)) ((:url . "https://elpa.gnu.org/packages/project.html"))) (_) (_) (dir . "/home/prot/Git/build/elpa/packages/project") (pkgname . "project") (one-tarball) (pkg-spec "project" :core "lisp/progmodes/project.el") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))) (metadata nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (pkg-spec "project" :core "lisp/progmodes/project.el") (dir . "/home/prot/Git/build/elpa/packages/project") (tarball . "archive/project-0.5.4.tar") elpaa--temp-files t) nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if (and destdir (not ...)) (progn (make-directory destdir)))) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" (regexp-quote pkgname) "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil (mapcar #'... (directory-files destdir nil re))))) (if ldir (progn (setq renames (let* (...) (if ... renames ...))))) (if revision-function (progn (elpaa--select-revision dir pkg-spec (funcall revision-function)))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not (string-match "[][*\\|?]" pkgname)) (cl--assertion-failed '(not ...))) nil) (progn (or (not (string-match "[][*\\|?]" vers)) (cl--assertion-failed '(not ...))) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append (cond (ignores ...) (... ...)) (mapcar #'... renames) (list "--transform" (format "s|^packages/%s|%s-%s|" pkgname pkgname vers) "-chf" tarball (concat "packages/" pkgname))))) (if one-tarball nil (let* ((pkgdesc (elpaa--process-multi-file-package dir pkgname ...))) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if (and nil revision-function) (progn (let ... ...))) (let ((link ...)) (if (file-symlink-p link) (progn ...)) (make-symbolic-link (file-name-nondirectory tarball) link)) (setq oldtarballs (elpaa--prune-old-tarballs tarball oldtarballs destdir)) (let* ((default-directory ...)) (elpaa--html-make-pkg pkgdesc pkg-spec (cons ... oldtarballs) dir)) (message "Built new package %s!" tarball) 'new)))))
  (if (or (file-readable-p tarball) (file-readable-p (replace-regexp-in-string "\\.tar\\'" ".el" tarball))) (progn (elpaa--message "Tarball %s already built!" tarball) nil) (elpaa--call-with-temp-files dir #'(lambda nil (let* ((destdir (file-name-directory tarball)) (pkgname (car pkg-spec)) (_ (if ... ...)) (vers (nth 1 metadata)) (elpaignore (expand-file-name ".elpaignore" dir)) (ignores (elpaa--spec-get pkg-spec :ignored-files)) (renames (elpaa--spec-get pkg-spec :renames)) (ldir (elpaa--spec-get pkg-spec :lisp-dir)) (re (concat "\\`" ... "-\\([0-9].*\\)\\.\\(tar\\|el\\)\\(\\.[a-z]*z\\)?\\'")) (oldtarballs (if one-tarball nil ...))) (if ldir (progn (setq renames ...))) (if revision-function (progn (elpaa--select-revision dir pkg-spec ...))) (elpaa--copyright-check pkg-spec) (elpaa--make pkg-spec dir) (elpaa--build-Info pkg-spec dir) (elpaa--write-pkg-file dir pkgname metadata) (progn (or (not ...) (cl--assertion-failed ...)) nil) (progn (or (not ...) (cl--assertion-failed ...)) nil) (apply #'elpaa--call nil "tar" (cons "--exclude-vcs" (append ... ... ...))) (if one-tarball nil (let* (...) (elpaa--message "%s: %S" pkgname pkgdesc) (elpaa--update-archive-contents pkgdesc destdir) (if ... ...) (let ... ... ...) (setq oldtarballs ...) (let* ... ...) (message "Built new package %s!" tarball) 'new))))))
  elpaa--make-one-tarball("archive/project-0.5.4.tar" "/home/prot/Git/build/elpa/packages/project" ("project" :core "lisp/progmodes/project.el") (nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (closure ((tarball . "archive/project-0.5.4.tar") (new) (tarball . "archive-devel/project-0.5.4.0.20210309.20601.tar") (devel-vers . "0.5.4.0.20210309.20601") (date-version . "20210309.20601") (vers . "0.5.4") (metadata nil "0.5.4" "Operations on the current project" ((emacs (26 1)) (xref (1 0 2))) ((:url . "https://elpa.gnu.org/packages/project.html"))) (_) (_) (dir . "/home/prot/Git/build/elpa/packages/project") (pkgname . "project") (one-tarball) (pkg-spec "project" :core "lisp/progmodes/project.el") elpaa--temp-files t) nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map))))
  (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir)))
  (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers (plist-get (cdr pkg-spec) :version-map)))) (progn (elpaa--release-email pkg-spec metadata dir))))
  (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel (elpaa--get-last-release pkg-spec)) (tarball (concat elpaa--release-subdir ...)) (metadata (cons nil ...))) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata ...) (progn ...))))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil (elpaa--get-release-revision dir pkg-spec vers ...))) (progn (elpaa--release-email pkg-spec metadata dir))))))
  (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers (nthcdr 2 metadata))) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ((last-rel ...) (tarball ...) (metadata ...)) (if (not last-rel) (elpaa--message "Package %s not released yet!" pkgname) (if ... ...)))))) (t (let ((tarball (concat elpaa--release-subdir (format "%s-%s.tar" pkgname vers)))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'(lambda nil ...)) (progn (elpaa--release-email pkg-spec metadata dir)))))))
  (if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name (concat elpaa--name "-devel"))) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil (cons devel-vers ...)) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* (... ... ...) (if ... ... ...))))) (t (let ((tarball (concat elpaa--release-subdir ...))) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata #'...) (progn (elpaa--release-email pkg-spec metadata dir))))))))
  (let* ((pkgname (car pkg-spec)) (dir (expand-file-name pkgname "packages")) (_ (cond (one-tarball nil) ((eq (nth 1 pkg-spec) :core) (elpaa--core-package-sync pkg-spec)) (t (elpaa--worktree-sync pkg-spec)))) (_ (elpaa--message "pkg-spec for %s: %S" pkgname pkg-spec)) (metadata (elpaa--metadata dir pkg-spec)) (vers (nth 1 metadata))) (elpaa--message "metadata = %S" metadata) (if (null metadata) (error "No metadata found for package: %s" pkgname) (let* ((v metadata)) (setcar v nil)) (let* ((date-version (elpaa--get-devel-version dir pkg-spec)) (devel-vers (concat vers (if (string-match "[0-9]\\'" vers) ".") "0." date-version)) (tarball (or one-tarball (concat elpaa--devel-subdir (format "%s-%s.tar" pkgname devel-vers)))) (new (let ((elpaa--name ...)) (elpaa--make-one-tarball tarball dir pkg-spec (cons nil ...) nil one-tarball)))) (cond (one-tarball nil) ((or (equal vers "0") (member '-4 (version-to-list vers))) (cond ((equal vers "0") (elpaa--message "Package %s not released yet!" pkgname)) ((not new) (elpaa--message "Nothing new for package %s!" pkgname)) (t (let* ... ...)))) (t (let ((tarball ...)) (if (elpaa--make-one-tarball tarball dir pkg-spec metadata ...) (progn ...))))))))
  elpaa--make-one-package(("project" :core "lisp/progmodes/project.el"))
  (while command-line-args-left (elpaa--make-one-package (elpaa--get-package-spec (car-safe (prog1 command-line-args-left (setq command-line-args-left (cdr command-line-args-left)))))))
  elpaa-batch-make-one-package()
  command-line-1(("-l" "/home/prot/Git/build/elpa/admin/elpa-admin.el" "-f" "elpaa-batch-make-one-package" "project"))
  command-line()
  normal-top-level()

make: *** [GNUmakefile:21: build/project] Error 255

^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-09 19:08             ` Protesilaos Stavrou
@ 2021-03-09 20:49               ` Stefan Monnier
  2021-03-10  3:48                 ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-09 20:49 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

Protesilaos Stavrou [2021-03-09 21:08:22] wrote:

> On 2021-03-09, 15:54 +0000, "Basil L. Contovounesios" <contovob@tcd.ie> wrote:
>
>> Protesilaos Stavrou <info@protesilaos.com> writes:
>>
>>> Thank you!  I have amended the patch using the format you recommended.
>>
>> Thanks, LGTM.
>>
>> Have you been able to verify that the tarball is created properly,
>> and especially that the contained .info file is nonempty?
>
> No, the build always gives me errors.  Though I assumed something was
> wrong on my end (I am not familiar with makefiles).  This is not just
> with the modus-themes.  Same for something like project.el.  Please see
> the attached file with the backtrace.

Hmm... indeed.  Can you check if the patch below fixes it for you?


        Stefan


diff --git a/elpa-admin.el b/elpa-admin.el
index 5cb3d261c5..62ba1abcf2 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -246,7 +246,7 @@ Do it without leaving the current branch."
                       (expand-file-name (elpaa--main-file pkg-spec) dir)))
                 (default-directory (file-name-directory ftn)))
            (vc-working-revision ftn))))
-    (if (equal rev cur-rev)
+    (if (or (not rev) (equal rev cur-rev))
         (elpaa--message "Current revision is already desired revision!")
       (with-temp-buffer
         (let ((default-directory (elpaa--dirname dir)))






^ permalink raw reply related	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-09 20:49               ` Stefan Monnier
@ 2021-03-10  3:48                 ` Stefan Monnier
  2021-03-10  5:43                   ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-10  3:48 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

>> No, the build always gives me errors.  Though I assumed something was
>> wrong on my end (I am not familiar with makefiles).  This is not just
>> with the modus-themes.  Same for something like project.el.  Please see
>> the attached file with the backtrace.
>
> Hmm... indeed.  Can you check if the patch below fixes it for you?

I pushed that workaround along with a more real fix for what I believe
is the same problem that was preventing building new :core packages on
elpa.gnu.org.


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10  3:48                 ` Stefan Monnier
@ 2021-03-10  5:43                   ` Protesilaos Stavrou
  2021-03-10 18:41                     ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-10  5:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-09, 22:48 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>>> No, the build always gives me errors.  Though I assumed something was
>>> wrong on my end (I am not familiar with makefiles).  This is not just
>>> with the modus-themes.  Same for something like project.el.  Please see
>>> the attached file with the backtrace.
>>
>> Hmm... indeed.  Can you check if the patch below fixes it for you?
>
> I pushed that workaround along with a more real fix for what I believe
> is the same problem that was preventing building new :core packages on
> elpa.gnu.org.

It no longers returns an error.  Thank you!

Below is what I get now, provided this:

    ("modus-themes"
      :core ("etc/themes/modus-themes.el"
             "etc/themes/modus-operandi-theme.el"
             "etc/themes/modus-vivendi-theme.el"
             "doc/misc/modus-themes.org")
      :doc "modus-themes.org")


make clean
make build/modus-themes
[...]
Linking files for package: modus-themes
  etc/themes/modus-themes.el -> modus-themes.el
  etc/themes/modus-operandi-theme.el -> modus-operandi-theme.el
  etc/themes/modus-vivendi-theme.el -> modus-vivendi-theme.el
  doc/misc/modus-themes.org -> modus-themes.org


The resulting archive does not include the Org file or derivatives:

 drwxr-xr-x    prot/prot          0 modus-themes-1.2.3/
 -rw-r--r--    prot/prot       2550 modus-themes-1.2.3/modus-operandi-theme.el
 -rw-r--r--    prot/prot       2544 modus-themes-1.2.3/modus-vivendi-theme.el
 -rw-r--r--    prot/prot        397 modus-themes-1.2.3/modus-themes-pkg.el
 -rw-r--r--    prot/prot     343994 modus-themes-1.2.3/modus-themes.el

While in archive-devel, the Org file is present, though the Info file is
practically empty:

 drwxr-xr-x    prot/prot          0 modus-themes-1.2.3.0.20210306.91600/
 -rw-r--r--    prot/prot     122691 modus-themes-1.2.3.0.20210306.91600/modus-themes.org
 -rw-r--r--    prot/prot       2550 modus-themes-1.2.3.0.20210306.91600/modus-operandi-theme.el
 -rw-r--r--    prot/prot        541 modus-themes-1.2.3.0.20210306.91600/dir
 -rw-r--r--    prot/prot       2544 modus-themes-1.2.3.0.20210306.91600/modus-vivendi-theme.el
 -rw-r--r--    prot/prot        414 modus-themes-1.2.3.0.20210306.91600/modus-themes-pkg.el
 -rw-r--r--    prot/prot     343994 modus-themes-1.2.3.0.20210306.91600/modus-themes.el
 -rw-r--r--    prot/prot        218 modus-themes-1.2.3.0.20210306.91600/modus-themes.info


-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10  5:43                   ` Protesilaos Stavrou
@ 2021-03-10 18:41                     ` Stefan Monnier
  2021-03-10 20:13                       ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-10 18:41 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> While in archive-devel, the Org file is present, though the Info file is
> practically empty:
>
>  drwxr-xr-x    prot/prot          0 modus-themes-1.2.3.0.20210306.91600/
>  -rw-r--r--    prot/prot     122691 modus-themes-1.2.3.0.20210306.91600/modus-themes.org
>  -rw-r--r--    prot/prot       2550 modus-themes-1.2.3.0.20210306.91600/modus-operandi-theme.el
>  -rw-r--r--    prot/prot        541 modus-themes-1.2.3.0.20210306.91600/dir
>  -rw-r--r--    prot/prot       2544 modus-themes-1.2.3.0.20210306.91600/modus-vivendi-theme.el
>  -rw-r--r--    prot/prot        414 modus-themes-1.2.3.0.20210306.91600/modus-themes-pkg.el
>  -rw-r--r--    prot/prot     343994 modus-themes-1.2.3.0.20210306.91600/modus-themes.el
>  -rw-r--r--    prot/prot        218 modus-themes-1.2.3.0.20210306.91600/modus-themes.info

Hmm... I made further changes to elpa-admin.el to handle this case.
Here were the problems I encountered:
- The .texi file generated by Org was basically empty because the .org
  file that Org saw was literally empty (a symlink pointing nowhere),
  because the `emacs` subdir was not included in the sandbox.
- After adding the `emacs` subdir to the sandbox the problem was that
  Emacs followed the symlink to the `emacs` subdir and then Org
  tried to generate ../emacs/doc/misc/modus-themes.texi into
  ../packages/modus-themes/modus-themes.texi.
- After preventing Emacs to follow symlinks Org generated a proper .texi
  but makeinfo complained of a missing doclicense.texi, so I had to add
  "doc/misc/doclicense.texi" to the :core keyword.

I believe it should work now.  Please try again,


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10 18:41                     ` Stefan Monnier
@ 2021-03-10 20:13                       ` Protesilaos Stavrou
  2021-03-10 23:17                         ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-10 20:13 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-10, 13:41 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> Hmm... I made further changes to elpa-admin.el to handle this case.
> Here were the problems I encountered:
> - The .texi file generated by Org was basically empty because the .org
>   file that Org saw was literally empty (a symlink pointing nowhere),
>   because the `emacs` subdir was not included in the sandbox.
> - After adding the `emacs` subdir to the sandbox the problem was that
>   Emacs followed the symlink to the `emacs` subdir and then Org
>   tried to generate ../emacs/doc/misc/modus-themes.texi into
>   ../packages/modus-themes/modus-themes.texi.
> - After preventing Emacs to follow symlinks Org generated a proper .texi
>   but makeinfo complained of a missing doclicense.texi, so I had to add
>   "doc/misc/doclicense.texi" to the :core keyword.
>
> I believe it should work now.  Please try again,

Thank you!  I confirm that the package builds correctly.

How do we proceed from here?  In my original patch, I intended to
outright delete 'modus-{operandi,vivendi}-theme'.  Though you noted the
possibility of making those old packages pull in the new one.  I am fine
either way.

-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10 20:13                       ` Protesilaos Stavrou
@ 2021-03-10 23:17                         ` Stefan Monnier
  2021-03-10 23:23                           ` Basil L. Contovounesios
  2021-03-13 17:10                           ` Stefan Monnier
  0 siblings, 2 replies; 28+ messages in thread
From: Stefan Monnier @ 2021-03-10 23:17 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> Thank you!  I confirm that the package builds correctly.
>
> How do we proceed from here?  In my original patch, I intended to
> outright delete 'modus-{operandi,vivendi}-theme'.  Though you noted the
> possibility of making those old packages pull in the new one.  I am fine
> either way.

I suggest a 3 step process:

1- Add the new `modus-themes` GNU ELPA package.
2- Update the `modus-*-theme`(s) by replacing them with placeholders
   (labeled as obsolete) that depend on `modus-themes`.
3- Remove the old `modus-*-theme`(s) packages.

There's no hurry between each step, and we could wait a year or two
before taking step 3.

We could even have a step 2½ which replaces the `modus-*-theme`(s) with
packages which remove themselves after installation, so upgrading the
package would remove it ;-)


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10 23:17                         ` Stefan Monnier
@ 2021-03-10 23:23                           ` Basil L. Contovounesios
  2021-03-11  3:07                             ` Stefan Monnier
  2021-03-13 17:10                           ` Stefan Monnier
  1 sibling, 1 reply; 28+ messages in thread
From: Basil L. Contovounesios @ 2021-03-10 23:23 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Protesilaos Stavrou, 46964

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> I suggest a 3 step process:
>
> 1- Add the new `modus-themes` GNU ELPA package.
> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
>    (labeled as obsolete) that depend on `modus-themes`.
> 3- Remove the old `modus-*-theme`(s) packages.
>
> There's no hurry between each step, and we could wait a year or two
> before taking step 3.
>
> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
> packages which remove themselves after installation, so upgrading the
> package would remove it ;-)

I think the upgrade process should also remove other installed theme
packages ;).

-- 
Basil





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10 23:23                           ` Basil L. Contovounesios
@ 2021-03-11  3:07                             ` Stefan Monnier
  2021-03-11  8:27                               ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-11  3:07 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: Protesilaos Stavrou, 46964

>> I suggest a 3 step process:
>>
>> 1- Add the new `modus-themes` GNU ELPA package.
>> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
>>    (labeled as obsolete) that depend on `modus-themes`.
>> 3- Remove the old `modus-*-theme`(s) packages.
>>
>> There's no hurry between each step, and we could wait a year or two
>> before taking step 3.
>>
>> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
>> packages which remove themselves after installation, so upgrading the
>> package would remove it ;-)
>
> I think the upgrade process should also remove other installed theme
> packages ;).

You got my vote,


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-11  3:07                             ` Stefan Monnier
@ 2021-03-11  8:27                               ` Protesilaos Stavrou
  2021-03-11 19:45                                 ` Basil L. Contovounesios
  2021-03-11 22:54                                 ` Stefan Monnier
  0 siblings, 2 replies; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-11  8:27 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-10, 22:07 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>>> I suggest a 3 step process:
>>>
>>> 1- Add the new `modus-themes` GNU ELPA package.
>>> 2- Update the `modus-*-theme`(s) by replacing them with placeholders
>>>    (labeled as obsolete) that depend on `modus-themes`.
>>> 3- Remove the old `modus-*-theme`(s) packages.
>>>
>>> There's no hurry between each step, and we could wait a year or two
>>> before taking step 3.
>>>
>>> We could even have a step 2½ which replaces the `modus-*-theme`(s) with
>>> packages which remove themselves after installation, so upgrading the
>>> package would remove it ;-)
>>
>> I think the upgrade process should also remove other installed theme
>> packages ;).
>
> You got my vote,

Sounds promising!  Though Basil's suggestion has an implicit dependency
on 'M-x fireworks'.

At any rate, I do not know how to implement such in-place substitutes.
Can you please point me to the relevant documentation or some previous
case that I could study?  Then I will try to produce a patch.

[ I don't want to burden you with extra work. ]

-- 
Protesilaos Stavrou
protesilaos.com

^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-11  8:27                               ` Protesilaos Stavrou
@ 2021-03-11 19:45                                 ` Basil L. Contovounesios
  2021-03-11 22:54                                 ` Stefan Monnier
  1 sibling, 0 replies; 28+ messages in thread
From: Basil L. Contovounesios @ 2021-03-11 19:45 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: 46964, Stefan Monnier

Protesilaos Stavrou <info@protesilaos.com> writes:

> At any rate, I do not know how to implement such in-place substitutes.
> Can you please point me to the relevant documentation or some previous
> case that I could study?  Then I will try to produce a patch.

Not sure how many parallels there are, but I recently merged the
dash-functional package into dash, with the former now an obsolete
placeholder.

There was some discussion on how to go about this:
https://github.com/magnars/dash.el/issues/356
https://lists.gnu.org/r/emacs-devel/2021-02/msg00378.html

Most of the work was announcements/documentation:
https://git.sv.gnu.org/cgit/emacs/elpa.git/tree/NEWS.md?h=externals/dash#n16
https://github.com/magnars/dash.el/wiki/Obsoletion-of-dash-functional.el

The rest was just killing/yanking and updating library headers:
https://git.sv.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dash&id=5eea1560c785d3873316b42dce480fdfefbb7d04
https://git.sv.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dash&id=0e975782086020aa12863fdb658d6a3cc748a10c

HTH,

-- 
Basil





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-11  8:27                               ` Protesilaos Stavrou
  2021-03-11 19:45                                 ` Basil L. Contovounesios
@ 2021-03-11 22:54                                 ` Stefan Monnier
  2021-03-12  7:59                                   ` Protesilaos Stavrou
  1 sibling, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-11 22:54 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> At any rate, I do not know how to implement such in-place substitutes.
> Can you please point me to the relevant documentation or some previous
> case that I could study?  Then I will try to produce a patch.

Rather than point at some similar previous case, here's how I'd do it:

Make a new commit to the the elpa.git branches `modus-<foo>-theme` which
basically gut the `modus-<foo>-theme.el` files, replacing them with tiny
files containing just the header (where `Package-Requires:` says
`modus-themes`) plus some shenanigans to look for the directory holding
the `modus-themes.el` file and load the matching `modus-<foo>-theme.el`
from it.  And maybe emit a warning just before doing that (both to
state that the package is obsolete and to warn the users about the
redirect, so they might know where to start looking in case something
goes wrong).


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-11 22:54                                 ` Stefan Monnier
@ 2021-03-12  7:59                                   ` Protesilaos Stavrou
  0 siblings, 0 replies; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-12  7:59 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-11, 17:54 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> At any rate, I do not know how to implement such in-place substitutes.
>> Can you please point me to the relevant documentation or some previous
>> case that I could study?  Then I will try to produce a patch.
>
> Rather than point at some similar previous case, here's how I'd do it:
>
> Make a new commit to the the elpa.git branches `modus-<foo>-theme` which
> basically gut the `modus-<foo>-theme.el` files, replacing them with tiny
> files containing just the header (where `Package-Requires:` says
> `modus-themes`) plus some shenanigans to look for the directory holding
> the `modus-themes.el` file and load the matching `modus-<foo>-theme.el`
> from it.  And maybe emit a warning just before doing that (both to
> state that the package is obsolete and to warn the users about the
> redirect, so they might know where to start looking in case something
> goes wrong).

Thank you Stefan (and Basil in the other message)!  I will research
those and act accordingly.

Note that I do not have commit rights to elpa.git: I sent the request a
few days ago.

-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-10 23:17                         ` Stefan Monnier
  2021-03-10 23:23                           ` Basil L. Contovounesios
@ 2021-03-13 17:10                           ` Stefan Monnier
  2021-03-17  7:04                             ` Protesilaos Stavrou
  1 sibling, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-13 17:10 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> I suggest a 3 step process:
>
> 1- Add the new `modus-themes` GNU ELPA package.

Done.


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-13 17:10                           ` Stefan Monnier
@ 2021-03-17  7:04                             ` Protesilaos Stavrou
  2021-03-18  7:55                               ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-17  7:04 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-13, 12:10 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> I suggest a 3 step process:
>>
>> 1- Add the new `modus-themes` GNU ELPA package.
>
> Done.

I can confirm as much.  Thank you!  My plan now is to produce a patch
for replacing the old packages with the new one.  I will post here once
I am done.

-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-17  7:04                             ` Protesilaos Stavrou
@ 2021-03-18  7:55                               ` Protesilaos Stavrou
  2021-03-18 17:52                                 ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-18  7:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

[-- Attachment #1: Type: text/plain, Size: 2227 bytes --]

On 2021-03-17, 09:04 +0200, Protesilaos Stavrou <info@protesilaos.com> wrote:

> On 2021-03-13, 12:10 -0500, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
>>> I suggest a 3 step process:
>>>
>>> 1- Add the new `modus-themes` GNU ELPA package.
>>
>> Done.
>
> I can confirm as much.  Thank you!  My plan now is to produce a patch
> for replacing the old packages with the new one.  I will post here once
> I am done.

I made the necessary changes to the old files, based on what Basil had
shared earlier.  I attach modus-operandi, while the same has been done
for modus-vivendi.  You can retrieve those from the following branches:

* https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
* https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme

Then I applied the following change to elpa.git:

 elpa-packages | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 98bf5a7f4d..0dbd7187ae 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -213,8 +213,8 @@
  ("mmm-mode"
   :url "https://github.com/purcell/mmm-mode.git"
   :auto-sync t)
- ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes")
- ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes")
+ ("modus-operandi-theme":url "https://gitlab.com/protesilaos/modus-themes" :branch "elpa/modus-operandi-theme")
+ ("modus-vivendi-theme"	:url "https://gitlab.com/protesilaos/modus-themes" :branch "elpa/modus-vivendi-theme")
  ("modus-themes"	:core ("etc/themes/modus-themes.el"
                                "etc/themes/modus-operandi-theme.el"
                                "etc/themes/modus-vivendi-theme.el"

To make elpa.git's "make" commands work, I had to explicitly change
branch to point at my remote.

Anyhow, the new tarball installs properly.  So unless I have missed
something, this should be okay now.

In the meantime, I published an announcement regarding the changes:
<https://protesilaos.com/codelog/2021-03-17-modus-themes-packaging-changes/>.
I will update it once we are done with this point.  Hopefully this
should be enough.

Thanks again for your time and efforts!

-- 
Protesilaos Stavrou
protesilaos.com

[-- Attachment #2: modus-operandi-theme.el --]
[-- Type: text/plain, Size: 2011 bytes --]

;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*-

;; Copyright (c) 2019-2021  Free Software Foundation, Inc.

;; Author: Protesilaos Stavrou <info@protesilaos.com>
;; URL: https://gitlab.com/protesilaos/modus-themes
;; Version: 0.13.1
;; Package-Requires: ((emacs "26.1") (modus-themes "1.2.4"))
;; Keywords: faces, theme, accessibility

;; This file is NOT part of GNU Emacs.

;; This program is free software; you can redistribute it and/or
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <https://www.gnu.org/licenses/>.

;;; Commentary:
;;
;; This package is obsolete.  It has been replaced by `modus-themes',
;; which includes the modus-operandi and modus-vivendi themes.
;;
;; Users updating to the new `modus-themes' package, are advised to read
;; the anouncement on the emacs-devel mailing list:
;; <https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00300.html>.
;;
;; The web page of the change log is also available:
;; <https://protesilaos.com/modus-themes-changelog/>.
;;
;; An Info manual should be distributed with the Modus themes.
;; Evaluate this form to access it directly:
;;
;;    (info "(modus-themes) Top")

;;; Code:

\f

(require 'modus-themes)

(eval-and-compile
  (let ((msg "Package `modus-operandi-theme' is obsolete; use the new `modus-themes'"))
    (if (and noninteractive (fboundp 'byte-compile-warn))
        (byte-compile-warn msg)
      (message "%s" msg))))

(provide 'modus-operandi-theme)

;;; modus-operandi-theme.el ends here

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-18  7:55                               ` Protesilaos Stavrou
@ 2021-03-18 17:52                                 ` Stefan Monnier
  2021-03-19  5:29                                   ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-18 17:52 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

> I made the necessary changes to the old files, based on what Basil had
> shared earlier.  I attach modus-operandi, while the same has been done
> for modus-vivendi.  You can retrieve those from the following branches:
>
> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme

That's looking fine, pushed.

> Then I applied the following change to elpa.git:
>
>  elpa-packages | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

And I pushed that as well, thank you.


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-18 17:52                                 ` Stefan Monnier
@ 2021-03-19  5:29                                   ` Protesilaos Stavrou
  2021-03-19 12:55                                     ` Stefan Monnier
  0 siblings, 1 reply; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-19  5:29 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-18, 13:52 -0400, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

>> I made the necessary changes to the old files, based on what Basil had
>> shared earlier.  I attach modus-operandi, while the same has been done
>> for modus-vivendi.  You can retrieve those from the following branches:
>>
>> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-operandi-theme
>> * https://gitlab.com/protesilaos/modus-themes/-/tree/elpa/modus-vivendi-theme
>
> That's looking fine, pushed.
>
>> Then I applied the following change to elpa.git:
>>
>>  elpa-packages | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> And I pushed that as well, thank you.

Thank you!  The update went through.  All good here.  The final step
will be to remove the old packages.  I guess we can do that in a new bug
report, say, six months from now.  Feel free to close this one.

On another note, is there some way I could use elpa-devel to distribute
the upstream version of my themes?  Patching emacs.git on a daily basis
would not be feasible...  While having a bleeding edge variant would
help with user testing, so that when I send a new tagged release to
emacs.git (every month or so), I can be confident that everything is in
order.

-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-19  5:29                                   ` Protesilaos Stavrou
@ 2021-03-19 12:55                                     ` Stefan Monnier
  2021-03-19 14:18                                       ` Protesilaos Stavrou
  0 siblings, 1 reply; 28+ messages in thread
From: Stefan Monnier @ 2021-03-19 12:55 UTC (permalink / raw)
  To: Protesilaos Stavrou; +Cc: Basil L. Contovounesios, 46964

close 46964
thanks

> Thank you!  The update went through.  All good here.  The final step
> will be to remove the old packages.  I guess we can do that in a new bug
> report, say, six months from now.  Feel free to close this one.

Done.

> On another note, is there some way I could use elpa-devel to distribute
> the upstream version of my themes?  Patching emacs.git on a daily basis
> would not be feasible...  While having a bleeding edge variant would
> help with user testing, so that when I send a new tagged release to
> emacs.git (every month or so), I can be confident that everything is in
> order.

Hmm... currently the GNU ELPA scripts can understand the situation where
the release and the -devel code come from two different branches of the
same repository, but having the release come from :core and the other
from :url would require a fair bit of changes I think.

I believe it would be easier in that case to make both the release and
the -devel versions come from :url (and not use :core at all).


        Stefan






^ permalink raw reply	[flat|nested] 28+ messages in thread

* bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core
  2021-03-19 12:55                                     ` Stefan Monnier
@ 2021-03-19 14:18                                       ` Protesilaos Stavrou
  0 siblings, 0 replies; 28+ messages in thread
From: Protesilaos Stavrou @ 2021-03-19 14:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Basil L. Contovounesios, 46964

On 2021-03-19, 08:55 -0400, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> close 46964
> thanks
>
>> Thank you!  The update went through.  All good here.  The final step
>> will be to remove the old packages.  I guess we can do that in a new bug
>> report, say, six months from now.  Feel free to close this one.
>
> Done.

Thanks!

>> On another note, is there some way I could use elpa-devel to distribute
>> the upstream version of my themes?  Patching emacs.git on a daily basis
>> would not be feasible...  While having a bleeding edge variant would
>> help with user testing, so that when I send a new tagged release to
>> emacs.git (every month or so), I can be confident that everything is in
>> order.
>
> Hmm... currently the GNU ELPA scripts can understand the situation where
> the release and the -devel code come from two different branches of the
> same repository, but having the release come from :core and the other
> from :url would require a fair bit of changes I think.
>
> I believe it would be easier in that case to make both the release and
> the -devel versions come from :url (and not use :core at all).

In that case, let's leave it as-is.  I prefer to keep :core in place
because it is easier to prepare one patch for emacs.git and have it
trickle down to elpa.git.

-- 
Protesilaos Stavrou
protesilaos.com





^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2021-03-19 14:18 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-06 11:58 bug#46964: [ELPA]: [PATCH] Replace modus-*-theme with modus-themes from :core Protesilaos Stavrou
2021-03-06 14:39 ` Basil L. Contovounesios
2021-03-06 15:00   ` Stefan Monnier
2021-03-06 16:19     ` Protesilaos Stavrou
2021-03-06 18:35       ` Stefan Monnier
2021-03-07  7:32         ` Protesilaos Stavrou
2021-03-09 15:54           ` Basil L. Contovounesios
2021-03-09 16:46             ` Stefan Monnier
2021-03-09 19:08             ` Protesilaos Stavrou
2021-03-09 20:49               ` Stefan Monnier
2021-03-10  3:48                 ` Stefan Monnier
2021-03-10  5:43                   ` Protesilaos Stavrou
2021-03-10 18:41                     ` Stefan Monnier
2021-03-10 20:13                       ` Protesilaos Stavrou
2021-03-10 23:17                         ` Stefan Monnier
2021-03-10 23:23                           ` Basil L. Contovounesios
2021-03-11  3:07                             ` Stefan Monnier
2021-03-11  8:27                               ` Protesilaos Stavrou
2021-03-11 19:45                                 ` Basil L. Contovounesios
2021-03-11 22:54                                 ` Stefan Monnier
2021-03-12  7:59                                   ` Protesilaos Stavrou
2021-03-13 17:10                           ` Stefan Monnier
2021-03-17  7:04                             ` Protesilaos Stavrou
2021-03-18  7:55                               ` Protesilaos Stavrou
2021-03-18 17:52                                 ` Stefan Monnier
2021-03-19  5:29                                   ` Protesilaos Stavrou
2021-03-19 12:55                                     ` Stefan Monnier
2021-03-19 14:18                                       ` Protesilaos Stavrou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).