[PATCH 0/5] gnu: sdcc: Polish up package definition

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal

Debbugs page

Simon South wrote 4 years ago
(address . guix-patches@gnu.org)(name . Simon South)(address . simon@simonsouth.net)
cover.1607965728.git.simon@simonsouth.net
This patch series attempts to polish up the package for SDCC, a C compiler
suite for 8-bit microcontrollers, in various ways. Specifically, it

- Moves the sdcc package (which currently exists in its own module) into
embedded.scm, placing it together with other packages related to
embedded-systems development;

- Expands its "license" field to include the full set used by the various
subprojects that comprise it[0];

- Revises its synopsis and description for clarity and brevity, removing
redundant or unnecessary information;

- Corrects the name of a build phase ("patch-makefile" to "patch-makefiles");
and

- Expands a comment to clarify the situation regarding GPUTILS, a separate
project on which SDCC relies for PIC-microcontroller support, as was
discussed recently[1].

This patchset is meant to be applied after the one submitted as issue
45240[2], but doesn't depend on it.

[0] See the overview at http://sdcc.sourceforge.net/.

--
Simon South
simon@simonsouth.net


Simon South (5):
gnu: sdcc: Move to embedded.scm.
gnu: sdcc: Specify complete set of licenses.
gnu: sdcc: Revise synopsis and description.
gnu: sdcc: Correct name of phase.
gnu: sdcc: Expand comment regarding GPUTILS and PIC ports.

gnu/local.mk | 1 -
gnu/packages/electronics.scm | 4 +-
gnu/packages/embedded.scm | 57 +++++++++++++++++++++++++
gnu/packages/sdcc.scm | 80 ------------------------------------
4 files changed, 59 insertions(+), 83 deletions(-)
delete mode 100644 gnu/packages/sdcc.scm

--
2.29.2
Simon South wrote 4 years ago
[PATCH 1/5] gnu: sdcc: Move to embedded.scm.
(address . 45241@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
044415c8fa95ce7d452bf9fe3b31f12a87987d8f.1607965728.git.simon@simonsouth.net
* gnu/packages/embedded.scm: Add sdcc from sdcc.scm.
* gnu/packages/electronics.scm: Update #:use-module directive.
* gnu/packages/sdcc.scm: Delete file.
* gnu/local.mk: Remove it.
---
gnu/local.mk | 1 -
gnu/packages/electronics.scm | 4 +-
gnu/packages/embedded.scm | 51 +++++++++++++++++++++++
gnu/packages/sdcc.scm | 80 ------------------------------------
4 files changed, 53 insertions(+), 83 deletions(-)
delete mode 100644 gnu/packages/sdcc.scm

Toggle diff (188 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 0b4cf23838..8933dfc168 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -494,7 +494,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/screen.scm \
%D%/packages/scribus.scm \
%D%/packages/scsi.scm \
- %D%/packages/sdcc.scm \
%D%/packages/sdl.scm \
%D%/packages/search.scm \
%D%/packages/security-token.scm \
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 3f9ca33ede..01796bb91c 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -32,6 +32,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages embedded)
#:use-module (gnu packages gawk)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
@@ -39,8 +40,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages sdcc))
+ #:use-module (gnu packages qt))
(define-public libserialport
(package
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index dd48fe317e..2d822cecf3 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -40,6 +40,7 @@
#:use-module (gnu packages autotools)
#:use-module ((gnu packages base) #:prefix base:)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages flex)
@@ -1461,3 +1462,53 @@ microcontrollers in the Atmel AVR; Intel MCS-51 (8051); Motorola 68HC08 and
6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8;
and Zilog Z80 families, plus many of their variants.")
(license license:gpl2+)))
+
+(define-public sdcc
+ (package
+ (name "sdcc")
+ (version "3.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/sdcc/sdcc"
+ "/" version "/sdcc-src-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove non-free source files
+ (delete-file-recursively "device/non-free")
+ ;; Remove bundled μCsim source
+ (delete-file-recursively "sim")
+ #t))
+ (patches (search-patches "sdcc-disable-non-free-code.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("boost" ,boost)
+ ("flex" ,flex)
+ ("python-2" ,python-2)
+ ("texinfo" ,texinfo)))
+ (arguments
+ `(;; gputils is required for PIC ports
+ #:configure-flags
+ '("--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ (substitute* (find-files "." "(\\.mk$|\\.in$)")
+ (("/bin/sh") (which "sh")))
+ #t)))))
+ (home-page "http://sdcc.sourceforge.net")
+ (synopsis "Small devices C compiler")
+ (description "SDCC is a retargetable, optimizing Standard C compiler suite
+that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...),
+Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola)
+HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit
+2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
+Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
+It can be retargeted for other microprocessors.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm
deleted file mode 100644
index 0ce71ed955..0000000000
--- a/gnu/packages/sdcc.scm
+++ /dev/null
@@ -1,80 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;;
-;;; 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 sdcc)
- #:use-module (gnu packages)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages boost)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages python)
- #:use-module (gnu packages texinfo)
- #:use-module (guix build-system gnu)
- #:use-module (guix download)
- #:use-module (guix packages)
- #:use-module ((guix licenses) #:prefix license:))
-
-(define-public sdcc
- (package
- (name "sdcc")
- (version "3.7.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/sdcc/sdcc"
- "/" version "/sdcc-src-" version ".tar.bz2"))
- (sha256
- (base32
- "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Remove non-free source files
- (delete-file-recursively "device/non-free")
- ;; Remove bundled μCsim source
- (delete-file-recursively "sim")
- #t))
- (patches (search-patches "sdcc-disable-non-free-code.patch"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("bison" ,bison)
- ("boost" ,boost)
- ("flex" ,flex)
- ("python-2" ,python-2)
- ("texinfo" ,texinfo)))
- (arguments
- `(;; gputils is required for PIC ports
- #:configure-flags
- '("--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-makefile
- (lambda _
- (substitute* (find-files "." "(\\.mk$|\\.in$)")
- (("/bin/sh") (which "sh")))
- #t)))))
- (home-page "http://sdcc.sourceforge.net")
- (synopsis "Small devices C compiler")
- (description "SDCC is a retargetable, optimizing Standard C compiler suite
-that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...),
-Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola)
-HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit
-2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
-Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
-It can be retargeted for other microprocessors.")
- (license license:gpl2+)))
--
2.29.2
Simon South wrote 4 years ago
[PATCH 2/5] gnu: sdcc: Specify complete set of licenses.
(address . 45241@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
72a25776059841e35fda8c4717956098799fc0e4.1607965728.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc)[license]: Replace with full list of
licenses used by files in the distribution.
---
gnu/packages/embedded.scm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 2d822cecf3..545c512f18 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1511,4 +1511,10 @@ HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit
2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
It can be retargeted for other microprocessors.")
- (license license:gpl2+)))
+ (license (list license:gpl2+
+ license:gpl3+
+ license:lgpl2.0+
+ license:lgpl2.1+
+ license:lgpl3+
+ license:public-domain
+ license:zlib))))
--
2.29.2
Simon South wrote 4 years ago
[PATCH 3/5] gnu: sdcc: Revise synopsis and description.
(address . 45241@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
b8564724125ef60d13ffabbbb4c308f3512993c1.1607965728.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc)[synopsis]: State package's use more
clearly.
[description]: Revise for brevity.
---
gnu/packages/embedded.scm | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 545c512f18..47e1f90ac1 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1503,14 +1503,11 @@ and Zilog Z80 families, plus many of their variants.")
(("/bin/sh") (which "sh")))
#t)))))
(home-page "http://sdcc.sourceforge.net")
- (synopsis "Small devices C compiler")
+ (synopsis "C compiler suite for 8-bit microcontrollers")
(description "SDCC is a retargetable, optimizing Standard C compiler suite
-that targets the Intel MCS51-based microprocessors (8031, 8032, 8051, 8052, ...),
-Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola)
-HC08-based (hc08, s08), Zilog Z80-based MCUs (z80, z180, gbz80, Rabbit
-2000/3000, Rabbit 3000A, TLCS-90) and STMicroelectronics STM8.
-Work is in progress on supporting the Microchip PIC16 and PIC18 targets.
-It can be retargeted for other microprocessors.")
+that targets 8-bit microcontrollers in the Intel MCS-51 (8051), Motorola
+68HC08, STMicroelectronics STM8, and Zilog Z80 families, plus many of their
+variants.")
(license (list license:gpl2+
license:gpl3+
license:lgpl2.0+
--
2.29.2
Simon South wrote 4 years ago
[PATCH 4/5] gnu: sdcc: Correct name of phase.
(address . 45241@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
1929fc3049af03b5603faa5d87d09029f89a396c.1607965728.git.simon@simonsouth.net
* gnu/packages/embedded.scm [arguments]<#:phases>: Rename "patch-makefile"
phase to "patch-makefiles".
---
gnu/packages/embedded.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 47e1f90ac1..da03d18c6d 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1497,7 +1497,7 @@ and Zilog Z80 families, plus many of their variants.")
'("--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-makefile
+ (add-after 'unpack 'patch-makefiles
(lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)")
(("/bin/sh") (which "sh")))
--
2.29.2
Simon South wrote 4 years ago
[PATCH 5/5] gnu: sdcc: Expand comment regarding GPUTILS and PIC ports.
(address . 45241@debbugs.gnu.org)(name . Simon South)(address . simon@simonsouth.net)
d0263057295047daa96179091b560ac2bb7d17d6.1607965728.git.simon@simonsouth.net
* gnu/packages/embedded.scm (sdcc)[arguments]: Expand comment to explain why
GPUTILS is not yet available and SDCC's PIC ports are disabled.
---
gnu/packages/embedded.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (18 lines)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index da03d18c6d..a7643deb97 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1492,7 +1492,10 @@ and Zilog Z80 families, plus many of their variants.")
("python-2" ,python-2)
("texinfo" ,texinfo)))
(arguments
- `(;; gputils is required for PIC ports
+ `(;; GPUTILS is required for the PIC ports, but the licensing status of
+ ;; some of the files contained in its distribution is unclear (see
+ ;; https://issues.guix.gnu.org/44557). For this reason it is not yet
+ ;; available as a package in Guix.
#:configure-flags
'("--disable-pic14-port" "--disable-pic16-port" "--disable-ucsim")
#:phases
--
2.29.2
Ludovic Courtès wrote 4 years ago
Re: [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition
(name . Simon South)(address . simon@simonsouth.net)(address . 45241-done@debbugs.gnu.org)
87ft3z5cze.fsf@gnu.org
Hi,

Simon South <simon@simonsouth.net> skribis:

Toggle quote (6 lines)
> gnu: sdcc: Move to embedded.scm.
> gnu: sdcc: Specify complete set of licenses.
> gnu: sdcc: Revise synopsis and description.
> gnu: sdcc: Correct name of phase.
> gnu: sdcc: Expand comment regarding GPUTILS and PIC ports.

Applied, thanks for the tidying work!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 45241@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 45241
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help