unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).