* [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition
@ 2020-12-14 18:04 Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 1/5] gnu: sdcc: Move to embedded.scm Simon South
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:04 UTC (permalink / raw)
To: 45241
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/.
[1] https://issues.guix.gnu.org/44557
[2] https://issues.guix.gnu.org/45240
--
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#45241] [PATCH 1/5] gnu: sdcc: Move to embedded.scm.
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
@ 2020-12-14 18:06 ` Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 2/5] gnu: sdcc: Specify complete set of licenses Simon South
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:06 UTC (permalink / raw)
To: 45241
* 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
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#45241] [PATCH 2/5] gnu: sdcc: Specify complete set of licenses.
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 1/5] gnu: sdcc: Move to embedded.scm Simon South
@ 2020-12-14 18:06 ` Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 3/5] gnu: sdcc: Revise synopsis and description Simon South
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:06 UTC (permalink / raw)
To: 45241
* 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(-)
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#45241] [PATCH 3/5] gnu: sdcc: Revise synopsis and description.
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 1/5] gnu: sdcc: Move to embedded.scm Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 2/5] gnu: sdcc: Specify complete set of licenses Simon South
@ 2020-12-14 18:06 ` Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 4/5] gnu: sdcc: Correct name of phase Simon South
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:06 UTC (permalink / raw)
To: 45241
* 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(-)
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#45241] [PATCH 4/5] gnu: sdcc: Correct name of phase.
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
` (2 preceding siblings ...)
2020-12-14 18:06 ` [bug#45241] [PATCH 3/5] gnu: sdcc: Revise synopsis and description Simon South
@ 2020-12-14 18:06 ` Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 5/5] gnu: sdcc: Expand comment regarding GPUTILS and PIC ports Simon South
2020-12-21 16:40 ` bug#45241: [PATCH 0/5] gnu: sdcc: Polish up package definition Ludovic Courtès
5 siblings, 0 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:06 UTC (permalink / raw)
To: 45241
* 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(-)
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#45241] [PATCH 5/5] gnu: sdcc: Expand comment regarding GPUTILS and PIC ports.
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
` (3 preceding siblings ...)
2020-12-14 18:06 ` [bug#45241] [PATCH 4/5] gnu: sdcc: Correct name of phase Simon South
@ 2020-12-14 18:06 ` Simon South
2020-12-21 16:40 ` bug#45241: [PATCH 0/5] gnu: sdcc: Polish up package definition Ludovic Courtès
5 siblings, 0 replies; 7+ messages in thread
From: Simon South @ 2020-12-14 18:06 UTC (permalink / raw)
To: 45241
* 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(-)
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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#45241: [PATCH 0/5] gnu: sdcc: Polish up package definition
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
` (4 preceding siblings ...)
2020-12-14 18:06 ` [bug#45241] [PATCH 5/5] gnu: sdcc: Expand comment regarding GPUTILS and PIC ports Simon South
@ 2020-12-21 16:40 ` Ludovic Courtès
5 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2020-12-21 16:40 UTC (permalink / raw)
To: Simon South; +Cc: 45241-done
Hi,
Simon South <simon@simonsouth.net> skribis:
> 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’.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-12-21 16:41 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14 18:04 [bug#45241] [PATCH 0/5] gnu: sdcc: Polish up package definition Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 1/5] gnu: sdcc: Move to embedded.scm Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 2/5] gnu: sdcc: Specify complete set of licenses Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 3/5] gnu: sdcc: Revise synopsis and description Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 4/5] gnu: sdcc: Correct name of phase Simon South
2020-12-14 18:06 ` [bug#45241] [PATCH 5/5] gnu: sdcc: Expand comment regarding GPUTILS and PIC ports Simon South
2020-12-21 16:40 ` bug#45241: [PATCH 0/5] gnu: sdcc: Polish up package definition Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.