Re: Looking to contribute

2017-06-28 Thread James Richardson

cinde...@hushmail.com writes:

> Hello. I recently learned about GuixSD, and it seems like a distro
> I would actually _enjoy_ using. Essentially, my questions are:
>
> What is the current state of GuixSD? Is it currently too buggy or
> feature-deficient to use as a day-to-day os?
>
I use it on my laptop and my wife's laptop. feature-deficient is a
rather subjective term. I have xfce on my wife's laptop. Occasionally
she'll complain about lack of flash or that a website doesn't like
icecat. I have a few boxen that I haven't converted (from Debian) yes as
I rely heavily on lvm and don't want to sort out how to do without
lvm. On those boxen I use guix as a foreign package manager which
actually works out quite well.


> How can I best contribute?
>
I've found the people on the #guix channel and on this list to be very
helpful. The website has a section on how to contribute. I've started by
just packaging programs that I use that were net yet in Guix. Knowing
guile is not (IHMO) a prerequisite, although willingness to learn
probably is ;).

HTH, James.
-- 
I prefer encrypted email.
GPG Fingerprint = 8FD2 7619 C19A 2201 CB1D  E131 EA1C F14B D846 7AFB
https://jamestechnotes.com/gpgkey
https://jamestechnotes.com



GuixSD Success with grub-efi

2017-05-29 Thread James Richardson
I just successfully installed guixsd 0.13.0 with efi on a new HP
laptop. I found the manual to be somewhat lacking with specific details
on exactly how to accomplish this. I've added to my todo list to post
more details here.

I also had to disable secure boot (for obvious(?) and annoying reasons)
for the laptop to actually boot, but that is a rant for a different
audience. ;)

Thanks to all who helped make this possible!
--
James Richardson


signature.asc
Description: PGP signature


Re: [PATCH 0/12]: Add asdf-build-system.

2016-09-27 Thread James Richardson

Andy Patterson writes:

> Hello,
>
> As promised, here's my work toward adding a build system for Common Lisp
> software. I still have some issues with it as follows:
>
Thank you!

> Getting things to work "out of the box": I'd like to set up an environment
> variable to allow implementations to find installed libraries, but it's a bit
> tricky:
>
> Essentially I'd like to have, in each profile, a setup something like
>
> export CL_SOURCE_FRAGMENT=#+sbcl \
>   (:directory \"${GUIX_PROFILE}/share/common-lisp/sbcl-bundle-systems/\") \
>   #+ecl ... \
>   ${CL_SOURCE_FRAGMENT}
>
> followed by
>
> export CL_SOURCE_REGISTRY=\
>   (:source-registry ${CL_SOURCE_FRAGMENT} \
>   (:directory \"${GUIX_PROFILE}/share/common-lisp/systems/\") \
>   :inherit-configuration)
>
> This would allow each implementation to pick up their own compiled libraries,
> as well as systems installed as source as a fallback. I don't know how to
> achieve that kind of a setup, so I'd like some help. I'm also worried about
> either blowing away user configuration, or having it shadow the desired
> configuration, since this isn't a simple search path which could be appended
> to. Should we try to patch the asdf implementations to handle a separate
> variable just for guix?
>
> I'd also like to hear your thoughts on how packages are laid out using the
> system, so I've included some examples. I was thinking that something like
> package-with-python2 could also be helpful here; is that the right way
> forward?
>

I don't really know enough to offer valid suggestions yet. There are
mostly the same questions/issues I hit when trying to package a lisp
program with dependencies. The Debian project came up with a thing
called common-lisp-controller
(http://ci-debian.alioth.debian.org/clid/clid.html/ch-clc.html) which
address some of the issues. It seems to build an abstraction layer over
asdf. I'm not advocating this as it does seem to presume a Debian-ish
infrastructure, just mentioning as a source of potential ideas.


> Thanks.

--
James Richardson



Re: [Patch] add keychain

2016-09-24 Thread James Richardson

Hartmut Goebel writes:

Thank you for the feedback! Much appreciated!

> Am 22.09.2016 um 14:10 schrieb James Richardson:
>> * gnu/packages/keychain.scm: Add new file.
>
> I suggest putting this into some other file, e.g. crypto.scm or ssh.scm.
> Otherwise we have a file for a single package.

I wasn't sure of the policy. I will move it to one of these files.

>
>> * gnu/packages/keychain.scm: (keychain): New variable.
>
> If you stay with the separate file, this line is not needed.
>
>> +   #:builder (begin
>> +   (use-modules (guix build utils))
>> +   (let ((bin-dir (string-append %output "/bin"))
>> + (man1-dir (string-append %output 
>> "/share/man/man1"))
>> + (tar (string-append
>> +   (assoc-ref %build-inputs "tar")
>> +   "/bin/tar"))
>> + (bzip2 (assoc-ref %build-inputs "bzip2"))
> You may want to have a look at audio.scm:freepats for a bit shorter and
> more obvious code.

I will take a look.

>
>> + (mkdir-p bin-dir)
>> + (mkdir-p man1-dir)
>> + (setenv "PATH" (string-append bzip2 "/bin"))
>> + (system* tar "xfv" source)
>
> Please unpack the source first, the code is more obvious then.
>> + (copy-file (string-append ,name "-"
>> +   ,version "/keychain.1")
> If you run this using "with-directory-excursion", the code is more
> obvious and simpler.
>> +(string-append man1-dir "/keychain.1"))
>> + (copy-file (string-append ,name "-"
>> +   ,version "/keychain")
>> +(string-append bin-dir "/keychain"))
>
> You can use install-file and save the make-p above.
>> +(native-inputs `(("bzip2" ,bzip2)
>> + ("tar" ,tar)

I wasn't aware of of install-file. I will make these updates.

>
> Please warp like this:
>
> +(native-inputs
> + `(("bzip2" ,bzip2)
> +  ("tar" ,tar)
>
>
>> + ("source" ,source)))
>
>
> No need for listing the source here.
>

I will work on the wording.

>> +(synopsis "Key manager for OpenSSH")
>
> Not only for *open*ssh, but for other implementations, too. And für
> GnuPG-Agent, Maybe even talk abpout the Agent in the synopsis.
>
> Keychains itself says it is a "agent manager".
>
>> +(description
>> + "Keychain is an OpenSSH key manager, typically run from
>> +~/.bash_profile.  When keychain is run, it checks for a running ssh-agent,
>> +otherwise it starts one.  It saves the ssh-agent environment variables to
>> +~/.keychain/$HOSTNAME-sh, so that subsequent logins and
>> +non-interactive shells such as cron jobs can source the file and make
>> +passwordless ssh connections.  In addition, when keychain runs, it
>> +verifies that the key files specified on the command-line are known to
>> +ssh-agent, otherwise it loads them, prompting you for a password
>> +if necessary.")
>
>
> The text above is a details workflow description. For me the text form
> the keychain.spec-file is more meaningful. Maybe you want to combine them?
>
> Keychain is a manager for OpenSSH, ssh.com, Sun SSH and GnuPG agents.
> It acts as a front-end to the agents, allowing you to easily have one
> long-running agent process per system, rather than per login session.
> This reduces the number of times you need to enter your passphrase
> from once per new login session to once every time your local machine
> is rebooted.

I'll try to have these changes in the next few days. Thank you for the
review.

--
James Richardson



Re: stumpwm and common lisp modules

2016-09-24 Thread James Richardson

Andy Patterson writes:

> On Thu, 22 Sep 2016 23:40:46 -0400
> James Richardson <ja...@jamestechnotes.com> wrote:
>
>> Hello list,
>> 
>> I was attempting to make a package for stumpwm. I got as far as, oh it
>> has a dependency on cl-ppcre (and a few other cl packages). Well it
>> turns out that actually putting a lisp module in a guix package seems,
>> well, non trivial. Does anyone else have an interest getting lisp
>> packages into Guix?
>> 
>> 
>
> Hi James,
>
> I've been working on a build system for CL packages for some time now,
> which works well enough to produce a working stumpwm package. It still
> has some missing parts and design issues which I've been mulling over,
> but if you're interested I could try to clean things up and post my
> progress soon.
>
> What do you think?

I would be very interested! I'm not really a lisp expert (yet), but I
will help where I can.



stumpwm and common lisp modules

2016-09-22 Thread James Richardson
Hello list,

I was attempting to make a package for stumpwm. I got as far as, oh it
has a dependency on cl-ppcre (and a few other cl packages). Well it
turns out that actually putting a lisp module in a guix package seems,
well, non trivial. Does anyone else have an interest getting lisp
packages into Guix?




Re: Mail to this list is slow?

2016-09-22 Thread James Richardson

John Darrington writes:

> A number of people have said that mail to this list takes a long time to 
> show up.  Today I too have noticed that some of my patches have not (yet)
> appeared in the archives.
>

I've posted a patch several hours ago, haven't seen it in the archives.






[Patch] add keychain

2016-09-22 Thread James Richardson
Let's try inline as attachements seem to not work.

Feedback appreciated as this is my first submission ;)

>From aa92429df463ac197a0edcd90aa30ebf8c064ac0 Mon Sep 17 00:00:00 2001
From: James Richardson <ja...@jamestechnotes.com>
Date: Thu, 22 Sep 2016 01:44:28 -0400
Subject: [PATCH] gnu: add keychain

* gnu/local.mk: Include gnu/packages/keychain.scm.
* gnu/packages/keychain.scm: Add new file.
* gnu/packages/keychain.scm: (keychain): New variable.
---
 gnu/local.mk  |  1 +
 gnu/packages/keychain.scm | 79 +++
 2 files changed, 80 insertions(+)
 create mode 100644 gnu/packages/keychain.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index a756638..3b814f4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/kde.scm  \
   %D%/packages/kde-frameworks.scm  \
   %D%/packages/key-mon.scm \
+  %D%/packages/keychain.scm\
   %D%/packages/kodi.scm\
   %D%/packages/language.scm\
   %D%/packages/ldc.scm \
diff --git a/gnu/packages/keychain.scm b/gnu/packages/keychain.scm
new file mode 100644
index 000..7842fb4
--- /dev/null
+++ b/gnu/packages/keychain.scm
@@ -0,0 +1,79 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 James Richardson <ja...@jamestechnotes.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify 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.
+;;;
+;;; GNU Guix 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 GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages keychain)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system trivial)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages compression))
+
+(define-public keychain
+  (package
+(name "keychain")
+(version "2.8.2")
+(source
+ (origin
+  (method url-fetch)
+  (uri (string-append
+"http://www.funtoo.org/distfiles/keychain/keychain-;
+version ".tar.bz2"))
+  (sha256
+   (base32
+"009kmqrwjp1a2a5iyhbnjm2fbiig7xh5c6p8a6ls25kn54r5i2bl"
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder (begin
+   (use-modules (guix build utils))
+   (let ((bin-dir (string-append %output "/bin"))
+ (man1-dir (string-append %output "/share/man/man1"))
+ (tar (string-append
+   (assoc-ref %build-inputs "tar")
+   "/bin/tar"))
+ (bzip2 (assoc-ref %build-inputs "bzip2"))
+ (source  (assoc-ref %build-inputs "source")))
+ (mkdir-p bin-dir)
+ (mkdir-p man1-dir)
+ (setenv "PATH" (string-append bzip2 "/bin"))
+ (system* tar "xfv" source)
+ (copy-file (string-append ,name "-"
+   ,version "/keychain.1")
+(string-append man1-dir "/keychain.1"))
+ (copy-file (string-append ,name "-"
+   ,version "/keychain")
+(string-append bin-dir "/keychain"))
+(native-inputs `(("bzip2" ,bzip2)
+ ("tar" ,tar)
+ ("source" ,source)))
+(synopsis "Key manager for OpenSSH")
+(description
+ "Keychain is an OpenSSH key manager, typically run from
+~/.bash_profile.  When keychain is run, it checks for a running ssh-agent,
+otherwise it starts one.  It saves the ssh-agent environment variables to
+~/.keychain/$HOSTNAME-sh, so that subsequent logins and
+non-interactive shells such as cron jobs can source the file and make
+passwordless ssh connections.  In addition, when keychain runs, it
+verifies that the key files specified on the command-line are known to
+ssh-agent, otherwise it loads them, prompting you for a password
+if necessary.")
+(home-page "http://www.funtoo.org/Keychain;)
+(license license:gpl2)))
+
-- 
2.9.2