unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#44374] [PATCH 0/1] gnu: sdcc: Remove non-free code
@ 2020-11-01 16:53 Simon South
  2020-11-01 16:56 ` [bug#44374] [PATCH 1/1] " Simon South
  2020-11-10 21:06 ` bug#44374: [PATCH 0/1] " Marius Bakke
  0 siblings, 2 replies; 4+ messages in thread
From: Simon South @ 2020-11-01 16:53 UTC (permalink / raw)
  To: 44374; +Cc: simon

This patch updates Guix to remove non-free code bundled with SDCC, a C
compiler that targets a variety of microcontroller families.

It also adds a patch that removes from SDCC

  - The "--disable-non-free" option to its "configure" script and the related
    build logic;

  - All references to the "device/non-free" source directory and the
    corresponding "non-free" installation directory; and

  - The "--use-non-free" and "--no-warn-non-free" compiler options and
    references to them in build scripts and compiler output.

The patch furthermore updates SDCC's documentation to reflect these changes
and to remove instructions encouraging the use of non-free software.

I've tested these changes on x86-64 and AArch64 and while neither I nor the
distribution has a comprehensive test suite available, the compiler appears to
work fine on both architectures.

The non-free code in question involves the library source code and headers
specific to a number of PIC microcontroller models. This code was generated
from files distributed by Microchip, the current owner of the PIC design, with
the requirement they be used only with "authentic" PIC-compatible devices from
Microchip themselves. This violates freedom 0[0], and not only are the files
themselves non-free, any software built with SDCC that links against the
resulting libraries is necessarily non-free as well.

Regarding my changes to the documentation, as I feel these may warrant
additional scrutiny:

Most of my changes are to the SDCC manual (which is in doc/sdccman.lyx and can
be viewed with LyX, i.e. "guix install lyx") and are only to remove references
to the now-absent "non-free" directories and related compiler
options. However, I have also replaced text in sections 1.2, 4.5.5 and 4.6.7
that explained how to find and use the non-free code with a notice that it has
been removed. (Search for "guix" to find these sections quickly.)

I've also added a statement to the "Acknowledgements" section at the end that
the manual has been modified from the original.

Section 4.6.10, "Adding New Devices to the Port", is tricky: Some of the
information it contains would be useful to a developer working to replace the
non-free code with a free alternative; on the other hand, it's clear the
intent of the section as written is to help people bring even more non-free
code into SDCC. Probably the section should be replaced with something
different but without knowing what the correct instructions would be, I have
simply removed it altogether for now.

SDCC's statements regarding licenses (in section 1.2 of the manual, in
doc/README.txt and in support/cinc2h.pl) consistently give instructions on
using the non-free code and in each case I have replaced this with a notice
saying the code has been removed. I assume this is of no legal significance
but thought I would point it out just in case.

Any and all feedback welcome.

[0] https://www.gnu.org/philosophy/free-sw.html

--
Simon South
simon@simonsouth.net


Simon South (1):
  gnu: sdcc: Remove non-free code.

 gnu/local.mk                                  |    1 +
 .../patches/sdcc-disable-non-free-code.patch  | 3643 +++++++++++++++++
 gnu/packages/sdcc.scm                         |   10 +-
 3 files changed, 3653 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/sdcc-disable-non-free-code.patch

-- 
2.28.0





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-10 22:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-01 16:53 [bug#44374] [PATCH 0/1] gnu: sdcc: Remove non-free code Simon South
2020-11-01 16:56 ` [bug#44374] [PATCH 1/1] " Simon South
2020-11-10 21:06 ` bug#44374: [PATCH 0/1] " Marius Bakke
2020-11-10 21:52   ` [bug#44374] " Simon South

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).