Hi Pierre and Simon! Thank you both for your tips and encouragement. I ended up studying Guix and then I wrote an `emacs-maint' package that builds from the emacs-27 branch. I currently use commit 2dbc95063b5ee3d48aceff05f89e63a134df86ed and I intend to refresh it monthly. I have however hit two problems:
* GTK+ search path When I launch Debian's Evince from Guix's emacs-maint, Evince cannot find my local printer. Look at the messages when I open Evince in an Emacs shell and open Evince's print dialog: --8<---------------cut here---------------start------------->8--- $ evince& [1] 22463 jorge@jorge--inspiron-5570:~/unison/STJ/repos/usuários_arriscados_AD$ (evince:22463): Gtk-WARNING **: 19:41:17.738: Theme parsing error: gtk-keys.css:1:0: Failed to import: Error opening file /gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/share/themes/Emacs/gtk-3.0/gtk-keys.css: Permission denied ! SyncTeX Error : No file? (evince:22463): Gtk-WARNING **: 19:41:41.121: /gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-file.so: cannot open shared object file: Permission denied (evince:22463): Gtk-WARNING **: 19:41:41.122: /gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-file.so: cannot open shared object file: Permission denied (evince:22463): Gtk-WARNING **: 19:41:41.122: /gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.so: cannot open shared object file: Permission denied (evince:22463): Gtk-WARNING **: 19:41:41.122: /gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.so: cannot open shared object file: Permission denied --8<---------------cut here---------------end--------------->8--- I suppose this is caused by the following environment variable that exist in Emacs environment: GTK_PATH=/gnu/store/gazmlv80882hgkdnfdzl50b4m8xxj1bz-gtk+-3.24.23/lib/gtk-3.0 This error does not occur when I launch Debian's evince from a manually compiled Emacs 27.1.50. * Time zone data In Guix emacs-maint (as well as in Guix emacs), Emacs wrongly evaluates the following function call: (current-time-zone nil "America/Sao_Paulo") It returns `(0 "America")'. In a manually compiled 27.1.50 I get the correct result. I have tried installing the tzdata Guix package and restarting my notebook but the error persisted. Show I report these problems as two bugs? And here is the package definition: --8<---------------cut here---------------start------------->8--- (define-module (jorge-packages emacs-maint) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (gnu packages emacs) #:use-module (guix utils)) (define-public emacs-maint (let ((commit "2dbc95063b5ee3d48aceff05f89e63a134df86ed") (revision "1")) (package/inherit emacs-next (name "emacs-maint") (version (git-version "27.1.50" revision commit)) (source (origin (inherit (package-source emacs-next)) (uri (git-reference (url "https://git.savannah.gnu.org/git/emacs.git/") ;; (url "https://github.com/emacs-mirror/emacs") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1qcak1abd20wikpvmp7xns59xgxh1rnz70p4crpv8vf2dn2zmfk1")))) (native-inputs `(,@(package-native-inputs emacs-next))) (native-search-paths (list (search-path-specification (variable "EMACSLOADPATH") ;; The versioned entry is for the Emacs' builtin libraries. (files (list "share/emacs/site-lisp" (string-append "share/emacs/" (version-major+minor+point version) "/lisp")))) (search-path-specification (variable "INFOPATH") (files '("share/info")))))))) --8<---------------cut here---------------end--------------->8--- Regards -- - <https://jorgemorais.gitlab.io/justice-for-rms/> - I am Brazilian. I hope my English is correct and I welcome feedback. - <https://www.defectivebydesign.org/> - <https://www.gnu.org/>