bug#25449: GHC packages take a long time to install

2017-01-17 Thread David Craven
> That script must be readable and executable by the guixbuild* users
> (thus, its parent directories must be readable/executable as well).

Mmh, it worked till recently... I did chmod a+x /home/dvc and it solved the
permission denied problem on guix/nix/scripts/download. Thanks!

But that doesn't fix my problem with some ghc packages taking extremely
long... Any ideas?

Anyway, I'm hitting problems all the time - need to finally switch to
guixsd :)

FYI commit 384344198dcaa97847e66d3dd82f279ede08d690 causes this on my end,
but I don't currently have time to look in to it...
Backtrace:
In unknown file:
   ?: 19 [primitive-load-path "gnu/tests/install" ...]
In ice-9/eval.scm:
 505: 18 [# (define-module
# # ...)]
In ice-9/psyntax.scm:
1106: 17 [expand-top-sequence ((define-module # # # ...)) () ((top)) ...]
 989: 16 [scan ((define-module (gnu tests install) #:use-module ...)) ()
...]
 279: 15 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 14 [eval # ()]
In ice-9/boot-9.scm:
2954: 13 [define-module* (gnu tests install) #:filename ...]
2929: 12 [resolve-imports (((gnu)) ((gnu tests)) ((gnu tests base)) ...)]
2867: 11 [resolve-interface (gnu tests base) #:select ...]
2792: 10 [# # ...]
3068: 9 [try-module-autoload (gnu tests base) #f]
2404: 8 [save-module-excursion #]
3088: 7 [#]
In unknown file:
   ?: 6 [primitive-load-path "gnu/tests/base" ...]
In gnu/tests/base.scm:
 275: 5 [#]
In gnu/system/vm.scm:
 475: 4 [system-qemu-image/shared-store-script # # # ...]
In gnu/system.scm:
 635: 3 [operating-system-derivation # # #f]
 340: 2 [operating-system-services # # #f]
 291: 1 [essential-services # # #f]
 191: 0 [non-boot-file-system-service #]

gnu/system.scm:191:4: In procedure non-boot-file-system-service:
gnu/system.scm:191:4: In procedure module-lookup: Unbound variable: #{%
file-system-needed-for-boot?-procedure}#
make[2]: *** [Makefile:4878: make-go] Error 1
make[2]: Leaving directory '/home/dvc/guix'
make[1]: *** [Makefile:4021: all-recursive] Error 1
make[1]: Leaving directory '/home/dvc/guix'
make: *** [Makefile:2677: all] Error 2z


bug#25449: GHC packages take a long time to install

2017-01-14 Thread David Craven
Hi,

time guix build ghc-attoparsec
warning: failed to install locale: Invalid argument
substitute: warning: failed to install locale: Invalid argument
/gnu/store/qb6y8294zp3la57y1hm02hyf2ck0giwp-ghc-attoparsec-0.13.0.1
$HOME/guix/pre-inst-env guix build ghc-attoparsec  252.59s user 37.52s
system 92% cpu 5:15.00 total

time guix build idris never terminates.

I expect the problem to be related to circular dependencies.





bug#22990: Grafts leads to inefficient substitute info retrieval

2017-01-11 Thread David Craven
> On second thought, the whole idea of applying grafts on the final result
> (instead of applying grafts at each step like we do now) doesn’t fly.
> It works well for things like a profile or the system derivation, but
> breaks for less trivial things.

> For example, if you’re building a VM image or a binary tarball, you
> really need to graft packages early on; trying to graft the VM image or
> binary tarball wouldn’t have the desired effect.

Isn't a system derivation or a profile derivation an intermediate step
to these derivations? Can't there be a flag or something called
#:already-grafted? #t?





bug#25403: fsck.ext4 not found during boot

2017-01-08 Thread David Craven
Hi Alex,

Can you run guix pull and guix system reconfigure?

I think this was fixed in 9328eafbf590938d2b7c4b8c6476a8664fa052b7 back in Dez.





bug#25278: Possible virus found in icecat-45.5.1

2017-01-03 Thread David Craven
> I'm hoping this is a false positive. I run Guix ontop of Gentoo and have also
> found the same Trojan appearing in Firefox-related files in my home directory,
> as well as in Wine directories (I didn't record the exact directories, but I
> think they were something like ../drive_c/windows/sys?/gecko/ or something
> like that. Don't trust this 100%).

It's an anti-viruses business model to find viruses everywhere. That's
how they scare you into buying a license. They usually are overly
optimistic with declaring something a virus. Besides, what's a windows
virus going to do on a gentoo system?





bug#25281: rust importer duplicates input

2016-12-28 Thread David Craven
> Could the importer be changed to either ignore targets that don’t match
> the current architecture or to uniquify the list of inputs?

It could, but I don't see an advantage. It takes more than just
removing duplicate inputs for the thing to build. I'd find time spent
on a Cargo.lock parser (which should be quite easy) to be more useful,
but if someone wants to do it...





bug#25281: rust importer duplicates input

2016-12-27 Thread David Craven
Looking at the Cargo.toml file we see this:

[target."cfg(unix)".dependencies]
libc = "0.2.14"
# Compat with older Cargo versions temporarily
[target.x86_64-unknown-linux-gnu.dependencies]
libc = "0.2.14"
[target.i686-unknown-linux-gnu.dependencies]
libc = "0.2.14"
[target.x86_64-apple-darwin.dependencies]
libc = "0.2.14"
[target.i686-apple-darwin.dependencies]
libc = "0.2.14"

I started reimplementing cargos dependency resolution algorithm, but
think now that it's better to use a Cargo.lock file when one is
provided.

When there isn't a cargo lock file it's a library in the sense that it
is a collection of source code that can be reused in a cargo project
that has a Cargo.lock file.

I don't think that this is a issue that needs fixing.





bug#25254: [minor] 'About' page says GuixSD is a "GNU/Linux

2016-12-25 Thread David Craven
> To David, the Guix developers had the intention to call the system just GNU,
> and distribute it as GNU (Guix is a GNU project after all), but RMS didn't
> agree, so it was decided to use the GuixSD name and call it "A distribution
> of GNU", and not "THE distribution of GNU." [1]

First I appreciate all the work done by members of GNU project or any
other free software project.

I don't object to calling guixsd THE GNU operating system, because
that means that guixsd is an operating system called GNU and is a
project from the GNU organization. If we call it A GNU operating
system then it requires additional explanation. We can not expect
people to know what the criteria is for an operating system being A
GNU operating system. I've spent a considerable amount of the last 8
years learning about computers and I don't find it clear (as I
mentioned in an earlier email there are multiple possible
interpretations of what a GNU system is). If it is explained somewhere
then it is not a problem.

I also think that supporting Hurd also as a kernel does not make
guixsd not a Linux distribution, but makes guixsd both a Linux and a
Hurd distribution. I find it sensible to empathize the "better known"
one, but I don't have any attachment to a particular name or kernel.
What to call something is ultimately a marketing issue and not a
technical issue.

If I had to sell red bananas, I'd call the product a banana. Saying it
is not a banana it is a red banana, and that the main thing about the
banana is the fact that it's red so I'll market my product as simply
red isn't a sound decision in my opinion. If I ask someone do you want
to buy a banana they might say mmh yes I'm hungry, I'd like a banana
thanks. Oh cool it's a red banana! On the other hand if I go and say
do you want to buy some red? I'd expect to get a less positive
response. No thank you I don't need red.





bug#25254: [minor] 'About' page says GuixSD is a "GNU/Linux distribution"

2016-12-24 Thread David Craven
> Please change to the GNU distribution. Or alternatively if you are
> going to say a GNU distribution provide a link to or an explanation of
> what it means.

To be clear what I mean with a description, it could be one of the following:

a) A GNU distribution is a distribution compiled with the gcc compiler.
b) A GNU distribution is a distribution that uses glibc.
c) A GNU distribution is a distribution that includes GNU software.
d) A GNU distribution is a distribution that uses guix the GNU package manager.
e) A GNU distribution is something else.

This has nothing to do with if I think it's a good idea for the guix
project to remove the word Linux from the about page if only for SEO
reasons or if I think that the Wikipedia people will be convinced by
removing the word Linux from the about page that this isn't a Linux
distribution.





bug#25254: [minor] 'About' page says GuixSD is a "GNU/Linux distribution"

2016-12-24 Thread David Craven
Please change to the GNU distribution. Or alternatively if you are
going to say a GNU distribution provide a link to or an explanation of
what it means. Calling it a GNU distribution implies that there are
more than one, please provide an example of another GNU distribution.
A google search for GNU distribution doesn't turn up any results.
Please also remove it from the list of GNU/Linux distributions here:
https://www.gnu.org/distros/free-distros.en.html

Thank you.





bug#25254: [minor] 'About' page says GuixSD is a "GNU/Linux distribution"

2016-12-23 Thread David Craven
> I don't think this is the place to discuss that particular issue at
> large.  That can be done on Wikipedia, or elsewhere.

> I think the Guix project authors probably agree on GuixSD being defined
> as a GNU distribution.  The question is whether or not to make the About
> page consistent with that.

Ah sorry, I misunderstood your intention. I thought this was about
changing a Wikipedia article.





bug#25254: [minor] 'About' page says GuixSD is a "GNU/Linux distribution"

2016-12-23 Thread David Craven
> It would be better to be consistent with the home page and make clear
> that GuixSD is a GNU distribution, with Linux-libre being the default
> kernel for the foreseeable future.

> Background: Wikipedia has a policy to call GNU/Linux distributions
> "Linux distribution" because that wrong term is more commonly used by
> the public.  To define GuixSD as a "GNU/Linux distribution" gives them
> in turn justification to define it as a "Linux distribution" instead.

That's a sound decision, who knows what a GNU distribution is? People
are confused enough on this topic, no need to let them believe that
this is something totally different.

When I refer to the term operating system - I'm mostly referring to
the meaning in the sense of kernel, again usually I use unprecise
terms to communicate efficiently with people who get distracted by my
usage of preciser terms. Everybody knows the word OS but may not know
what a kernel is.

Besides on most systems there is a lot more software than just what is
provided by GNU or Linux. If we want to be precise we can call it a
mostly POSIX distribution. People might be more aware of the term
POSIX than the term GNU (from my limited sampling at a technical
university), while also providing information or meaning. Calling it a
GNU system is just as descriptive as calling it a Linux system or a
Guix system or a remotely similar to Mac OS X system or a Windows with
cygwin system without windows.





bug#24993: System installer grows brittle with time

2016-11-29 Thread David Craven
I have a nice one too. How to run guixsd on any hardware :)

(use-modules (gnu)
 (gnu system nss)
 (guix build-system trivial)
 (guix download)
 (guix git-download)
 (guix packages))
(use-service-modules base networking)
(use-package-modules certs linux)

(define-public linux-firmware
  (let ((commit "21e216f591bed97ec1adcda0e8b4b28ddf065433"))
(package
  (name "linux-firmware")
  (version (string-append "2016.11.27-" (string-take commit 7)))
  (source (origin
(method git-fetch)
(uri (git-reference
(url (string-append
  "https://github.com/wkennington/linux-firmware;))
(commit commit)))
(sha256
 (base32
  "0iiayy00zr3fk8xfi8i9vrbpg7r59n5vfzx9x7cpx6gjaja8czxa"
  (build-system trivial-build-system)
  (arguments
   `(#:modules ((guix build utils))
 #:builder
 (begin
   (use-modules (guix build utils))

   (let* ((source   (assoc-ref %build-inputs "source"))
  (out  (assoc-ref %outputs "out"))
  (firmware (string-append out "/lib/firmware")))
 (mkdir-p firmware)
 (copy-recursively source firmware)
  (home-page "https://github.com/wkennington/linux-firmware;)
  (synopsis "Linux firmware")
  (description "Linux firmware.")
  (license #f

(define-public linux
  (package
(inherit linux-libre)
(version "4.8.11")
(source (origin
  (method url-fetch)
  (uri (string-append
"https://cdn.kernel.org/pub/linux/kernel/v4.x/;
"linux-" version ".tar.xz"))
  (sha256
   (base32
"03w90vfjfcya38mcp1njasa5c67za203sgp9n3w52gms13s443yc"))

(operating-system
  (host-name "system76")
  (timezone "Europe/Zurich")
  (locale "en_US.UTF-8")

  (kernel linux)
  (firmware (list linux-firmware))

  (bootloader (grub-configuration (device "/dev/sda")))

  (file-systems (cons (file-system
(device "my-root")
(title 'label)
    (mount-point "/")
(type "ext4"))
  %base-file-systems))

  (users (cons (user-account
(name "dvc")
(comment "David Craven")
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video"))
(home-directory "/home/dvc"))
   %base-user-accounts))

  (packages (cons* nss-certs
   %base-packages))

  (services (cons* (dhcp-client-service)
   %base-services))

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss))





bug#24440: [PATCH] gnu: kernel-config: Use correct kconfig file.

2016-09-15 Thread David Craven
* gnu/packages/linux.scm (kernel-config): Use correct kconfig file.
---
 gnu/packages/linux.scm | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3ec6514..61288be 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -82,10 +82,12 @@
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match))
 
-(define-public (system->linux-architecture arch)
-  "Return the Linux architecture name for ARCH, a Guix system name such as
+;; Guix system name is one of x86_64-linux i686-linux armhf-linux 
mips64el-linux.
+;; GNU target triplet is one of arm-linux-gnueabihf mips64el-linux-gnuabi64.
+(define-public (system->linux-architecture system)
+  "Return the Linux architecture name for SYSTEM, a Guix system name such as
 \"x86_64-linux\" or a target triplet such as \"arm-linux-gnueabihf\"."
-  (let ((arch (car (string-split arch #\-
+  (let ((arch (car (string-split system #\-
 (cond ((string=? arch "i686") "i386")
   ((string-prefix? "mips" arch) "mips")
   ((string-prefix? "arm" arch) "arm")
@@ -182,7 +184,7 @@
 for ARCH and optionally VARIANT, or #f if there is no such configuration."
   (let* ((name (string-append "linux-libre-"
   (if variant (string-append variant "-") "")
-  arch ".conf"))
+  (if (string=? "i386" arch) "i686" arch) ".conf"))
  (file (string-append "gnu/packages/" name)))
 (search-path %load-path file)))
 
-- 
2.9.0





bug#23828: unsupported sexp item type #f ```

2016-06-22 Thread David Craven
Maybe not a bug, but I'm getting the same backtrace when trying to run
./guix archive or ./guix package -i guix or ./guix pull.

Trying to install guix 0.10.0 binary tarball on nixos.

```nix
users.users = {
guixbuild1 = {
  isSystemUser = true;
  group = "guixbuild";
};
  };

  users.groups.guixbuild = {};
```

```sh
bin  sudo ./guix archive --authorize < ../share/guix/hydra.gnu.org.pub

/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin
warning: failed to install locale: Invalid argument
Backtrace:
In ice-9/boot-9.scm:
 157: 17 [catch #t # ...]
In unknown file:
   ?: 16 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 14 [eval # #]
In ice-9/boot-9.scm:
2401: 13 [save-module-excursion #]
4050: 12 [#]
1724: 11 [%start-stack load-stack ...]
1729: 10 [#]
In unknown file:
   ?: 9 [primitive-load
"/gnu/store/3g6zn8y5sfwywr4pqiwqrab735a0x4zl-guix-0.10.0/bin/.guix-real"]
In guix/ui.scm:
1188: 8 [run-guix-command archive "--authorize"]
In ice-9/boot-9.scm:
 157: 7 [catch srfi-34 # ...]
 157: 6 [catch system-error ...]
In guix/scripts/archive.scm:
 328: 5 [#]
 303: 4 [authorize-key]
In ice-9/boot-9.scm:
 702: 3 [map #canonical-sexp (sexp)> (#f)]
In guix/pk-crypto.scm:
 375: 2 [sexp->canonical-sexp #f]
In unknown file:
   ?: 1 [call-with-output-string #]
   ?: 0 [scm-error misc-error #f "~A ~S" ("unsupported sexp item type" #f) #f]

ERROR: In procedure scm-error:
ERROR: unsupported sexp item type #f
```