Re: Emacs in multiple profiles

2019-10-30 Thread Maxim Cournoyer
Hello!

Pierre Neidhardt  writes:

> Great work, looks like you are getting close to the finish line! :)
>
>> I'll rework the 'gnu: emacs: Remove custom guix-emacs code.' patch, as
>> removing it means losing having the autoloads definitions loaded.
>> Someone in the #emacs channel suggested making use of the builtin
>> package.el code to take care of this.  To be continued :-)
>
> Indeed, this is the normal workflow using package.el.  See
> https://melpa.org/: the user is expected to call `package-initialize`
> from their init file.
>
> So the solution is quite simple I believe: add
>
> (require 'package)
> (package-initialize)

I tried calling this in my environment where EMACSLOADPATH was defined
(after launching emacs with "emacs -Q" to make sure the actual
site-start.el had not run), and it had no effect.

Looking at 'package.el' source code, it seems to expect directories for
the packages.  It could probably be workable, but in the meantime I've
hacked the existing site-start.el to do what is needed.

Doing so I've also speeded up loading of autoloads by 2-3 times :-).

Comments/testing welcome!

Maxim
>From d5dc7fd8a2406939346b44457859764a98afece0 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer 
Date: Sat, 3 Jun 2017 12:56:36 -0700
Subject: [PATCH 1/3] gnu: emacs: Locate Elisp libraries via EMACSLOADPATH.

* gnu/packages/emacs.scm (emacs): Add a search path specification for
EMACSLOADPATH.
---
 gnu/packages/emacs.scm | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6c6f0e4567..16f9af0a0a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2016 David Thompson 
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2017 Marius Bakke 
-;;; Copyright © 2017 Maxim Cournoyer 
+;;; Copyright © 2017, 2019 Maxim Cournoyer 
 ;;; Copyright © 2017 Alex Vong 
 ;;; Copyright © 2017, 2018 Ricardo Wurmus 
 ;;; Copyright © 2017 Jan Nieuwenhuizen 
@@ -185,6 +185,13 @@
 
 (native-search-paths
  (list (search-path-specification
+(variable "EMACSLOADPATH")
+;; The versioned entries are for the Emacs' builtin libraries.
+(files (list (string-append "share/emacs/" version "/site-lisp")
+ (string-append "share/emacs/" version "/lisp")
+ "share/emacs/site-lisp"))
+(file-pattern ".*"));recursively add any sub directory
+   (search-path-specification
 (variable "INFOPATH")
 (files '("share/info")
 
-- 
2.23.0

>From 9c4897347bee7f3b6afb97a6c766d57f0bee1b9d Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer 
Date: Mon, 28 Oct 2019 08:09:03 -0400
Subject: [PATCH 2/3] build-system: emacs: Simplify the SET-EMACS-LOAD-PATH
 phase.

It is no longer necessary to search for the Elisp libraries manually, as Emacs
now include a search path specification serving that purpose.

* guix/build/emacs-build-system.scm (set-emacs-load-path): Replace by...
(add-source-to-load-path): ...this.
(%standard-phases): Adjust accordingly.
---
 guix/build/emacs-build-system.scm | 42 ++-
 1 file changed, 8 insertions(+), 34 deletions(-)

diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index 47a9eda9e6..f0c41812f1 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015 Federico Beffa 
 ;;; Copyright © 2016 David Thompson 
 ;;; Copyright © 2016 Alex Kost 
-;;; Copyright © 2018 Maxim Cournoyer 
+;;; Copyright © 2018, 2019 Maxim Cournoyer 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -74,40 +74,14 @@ archive, a directory, or an Emacs Lisp file."
 #t)
   (gnu:unpack #:source source)))
 
-(define* (set-emacs-load-path #:key source inputs #:allow-other-keys)
-  (define (inputs->directories inputs)
-"Extract the directory part from INPUTS."
-(match inputs
-  (((names . directories) ...) directories)))
-
-  (define (input-directory->el-directory input-directory)
-"Return the correct Emacs Lisp directory in INPUT-DIRECTORY or #f, if there
-is no Emacs Lisp directory."
-(let ((legacy-elisp-directory (string-append input-directory %legacy-install-suffix))
-  (guix-elisp-directory
-   (string-append
-input-directory %install-suffix "/"
-(store-directory->elpa-name-version input-directory
-  (cond
-   ((file-exists? guix-elisp-directory) guix-elisp-directory)
-   ((file-exists? legacy-elisp-directory) legacy-elisp-directory)
-   (else #f
-
-  (define (input-directories->el-directories input-directories)
-"Return the list of Emacs Lisp directories in INPUT-DIRECTORIES."
-(filter-map input-directory->el-directory input-directories))
-
-  "Set the EMACSLOADPATH environment variable so that dependencies are found."
+(define* (add-source-to-load-path #:key dummy #:allow-other-keys)

Re: Joint statement on the GNU Project

2019-10-30 Thread ison
On Wed, Oct 30, 2019, Thompson, David wrote:
> Stop sending these incoherent essay length rants to the Guix mailing
> lists.  You've made your point dozens of times.  Thanks in advance.
> 
> - Dave
> 

I find his email to be extremely coherent, lucid, on point, and hardly
containing any elements that I would consider to be a "rant".
Perhaps you should elaborate on what parts you think are incoherent so
someone can help you understand them better?



Re: Joint statement on the GNU Project

2019-10-30 Thread Thompson, David
Stop sending these incoherent essay length rants to the Guix mailing
lists.  You've made your point dozens of times.  Thanks in advance.

- Dave



Re: Joint statement on the GNU Project

2019-10-30 Thread Jean Louis
* Richard Stallman  [2019-10-30 03:04]:
> [[[ To any NSA and FBI agents reading my email: please consider]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> 
>   > I am calling those who have integrity to resign from GNU project, that
>   > is different as it is not a requirement.
> 
> We need people of integrity in the GNU Project.  I hope people who
> have integrity will remain, not resign.

If I use Wordnet definitions, it is enough to clarify "integrity".

* Overview of noun integrity

The noun integrity has 2 senses (first 2 from tagged texts)
1. (3) integrity, unity, wholeness -- (an undivided or unbroken completeness or 
totality with nothing wanting; "the integrity of the nervous system is required 
for normal development"; "he took measures to insure the territorial unity of 
Croatia")
2. (1) integrity -- (moral soundness; "he expects to find in us the common 
honesty and integrity of men of business"; "they admired his scrupulous 
professional integrity")

Now, how is it morally sound to be supported by GNU Project, by its
founder who created everything for the Guix project to be supported by
GNU Project, and to be supported by the FSF, and then to enjoy
donations of US $100,000 and then for Guix leader to publish
defamatory statements on its own website?

And then to call others to join him in his "Oh, I don't like your
joke" direction, let us "cancel Stallman". What? That is hate movement
within GNU project.

Integrity would mean, for example, to verify the facts, to verify if
the "MIT Episode", as Ludovic mentioned to me, is based on facts or is
it based on rumors, and then to apologize. Integrity means being
friend to GNU project, free software philosophy and friendship that is
established in the project. Not dividing the community.

That somebody got "offended" is not same to "offensive", there was
nothing offensive in the jokes neither in the "MIT episode".

Integrity means being either fully friend or fully enemy.

Integrity would mean to either fully abide by the own Code of Conduct
of Guix and stop with the harassment, or to recognize that one is
enemy of the Guix project, and GNU project, and RMS, and abandon such.

I am not saying what is better, in my opinion, best is to be friends,
and to solve issues by communication, best would be to solve issue
with facts. Obviously one group of people in Guix rows does not
understand any facts, they react overly emotional and think that their
social cause is just and they can destroy what they want.

Or integrity would mean, for example, to take a stance , not
apologize, but then also not pretend to be friend to GNU project and
its core values, as one of its core values was not to introduce other
politics but free software in the project.

I am myself loving Guix and Guile, and would not like seeing
developers go out of the project.

But I have got very bad impression of their ideals and goals, and I
would not like GNU project be run by that type of a group. In my
opinion they are in serious doubt. At one point of time in future,
they may get to senses, but now they are not.

Really good talk on "why everyone is getting so offended". Why Is
Everyone Getting So Offended?
https://www.youtube.com/watch?v=0kGBQSXX_GU

Jean

P.S. It wasn't the abort joke, it was a "Federal Censorship" joke.


25.7.4 Aborting a Program

Future Change Warning: Proposed Federal censorship regulations may
prohibit us from giving you information about the possibility of
calling this function. We would be required to say that this is not an
acceptable way of terminating a program.

The above is more humor then a simple joke, it is not "hate speech",
it is a joke. If one does not live in the USA, may take it out of the
context. But that is certainly not a reason for defamation. It's joke.

Finally, Stallman did not say what Ludovic is claiming to be the
problem with the "MIT episode":
https://www.youtube.com/watch?v=7UbQ1kc1vQU

Integrity means: to verify the facts and tell what is truth even if it
is not comfortable.



Re: Joint statement on the GNU Project

2019-10-30 Thread Richard Stallman
[[[ To any NSA and FBI agents reading my email: please consider]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I am calling those who have integrity to resign from GNU project, that
  > is different as it is not a requirement.

We need people of integrity in the GNU Project.  I hope people who
have integrity will remain, not resign.

-- 
Dr Richard Stallman
Founder, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





Re: “Guix Profiles in Practice”

2019-10-30 Thread Hartmut Goebel
Am 27.10.19 um 22:08 schrieb Pierre Neidhardt:
> From the command line, we could do
>
>   guix install-manifest my-project

IC. This is also a good way, esp. if one uses the same "my-project"
manifest for several locations.

But this way you can not make the manifest part of the project source.

> Also I believe the Guix should store the channel specifications into the
> profile when installed from a manifest.  It would make everything simpler.

ACK

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Translation of Guix Tutorial videos and Subtitles

2019-10-30 Thread Matias Jose Seco Baccanelli
Buongiorno Guixers!

I'm so happy to refreshen my adventures here on Guix-land.
In particular, i wanted to share that i find amazing the published
Guix tutorial videos!

Indeed, i would be really glad to contribute by giving an Italian
version (my mother tongue) for the videos' audio. An opportunity for
italian speakers who don't know other languages yet, curious about
this initiative :)

Parallely, i was wondering if subtitles can be enabled, so videos
could be followed without an Audio channel, if unavailable for
viewers.

Have a wonderful time,
Matias


pgp3a_ttbK4s5.pgp
Description: OpenPGP digital signature