[bug#34175,1/4] gnu: Add gnu-efi.

Message ID 20190123000304.11385-1-dannym@scratchpost.org
State Accepted
Headers show
Series Add EFI tools. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied

Commit Message

Danny Milosavljevic Jan. 23, 2019, 12:03 a.m. UTC
* gnu/packages/efi.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk         |  1 +
 gnu/packages/efi.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)
 create mode 100644 gnu/packages/efi.scm

Comments

Ricardo Wurmus Jan. 23, 2019, 8:05 a.m. UTC | #1
Hi Danny,

> * gnu/packages/efi.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
[…]
> diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
> new file mode 100644
> index 000000000..3a92370ef
> --- /dev/null
> +++ b/gnu/packages/efi.scm
> @@ -0,0 +1,52 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>

It’s 2019.

> +(define-public gnu-efi
> +  (package
> +    (name "gnu-efi")
> +    (version "3.0.9")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "mirror://sourceforge/gnu-efi/"
> +                           name "-" version ".tar.bz2"))
> +       (sha256
> +        (base32
> +         "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f ; None exist.
> +       #:make-flags
> +       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure))))
> +    (synopsis "EFI toolchain")
> +    (description "This package provides an EFI (Extensible Firmware
> +Interface) toolchain for building programs that can run in the
> +environment presented by Intel's EFI.")
> +    (home-page "https://directory.fsf.org/wiki/GNU_EFI")
> +    ;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
> +    (license license:gpl2)))

What does the FIXME tell us to do?  Should this be

   ;; The code can be distributed under the terms of either license
   (license (list license:gpl2+ license:expat))
Danny Milosavljevic Jan. 25, 2019, 5:48 p.m. UTC | #2
Hi,

On Wed, 23 Jan 2019 09:05:53 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

> Hi Danny,
> 
> > * gnu/packages/efi.scm: New file.
> > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.  
> […]
> > diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
> > new file mode 100644
> > index 000000000..3a92370ef
> > --- /dev/null
> > +++ b/gnu/packages/efi.scm
> > @@ -0,0 +1,52 @@
> > +;;; GNU Guix --- Functional package management for GNU
> > +;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>  
> 
> It’s 2019.

Ah, it must be a new low of me getting the year wrong ;-)

> > +    ;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
> > +    (license license:gpl2)))  
> 
> What does the FIXME tell us to do?  Should this be
> 
>    ;; The code can be distributed under the terms of either license
>    (license (list license:gpl2+ license:expat))

I wanted the reuse the work Debian already did.  They list:

* BSD-3-clause-HP
* BSD-2-clause-Linaro or gpl-2+
* BSD-2-clause-Intel
* Expat
* BSD-4-clause-Intel
* GPL-2+

BSD-4-clause is incompatible with GPL.
Therefore, it's lucky that they say "BSD-2-clause-Linaro OR gpl-2+", otherwise
we could not have distributed gnu-efi.

So I suggest:

;; Distribution is allowed only when accepting all those licenses.
(license (list license:bsd-2 license:bsd-3 license:bsd-4 license:expat))

What do you think?

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 750e67d2f..4260f4591 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -152,6 +152,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/education.scm			\
+  %D%/packages/efi.scm				\
   %D%/packages/electronics.scm			\
   %D%/packages/elf.scm				\
   %D%/packages/elixir.scm			\
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
new file mode 100644
index 000000000..3a92370ef
--- /dev/null
+++ b/gnu/packages/efi.scm
@@ -0,0 +1,52 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; 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 efi)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define-public gnu-efi
+  (package
+    (name "gnu-efi")
+    (version "3.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/gnu-efi/"
+                           name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; None exist.
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (synopsis "EFI toolchain")
+    (description "This package provides an EFI (Extensible Firmware
+Interface) toolchain for building programs that can run in the
+environment presented by Intel's EFI.")
+    (home-page "https://directory.fsf.org/wiki/GNU_EFI")
+    ;; FIXME: https://metadata.ftp-master.debian.org/changelogs/main/g/gnu-efi/gnu-efi_3.0.9-1_copyright
+    (license license:gpl2)))