diff mbox

gnu: Add sdcc.

Message ID 20160927174026.26800-1-david@craven.ch
State New
Headers show

Commit Message

David Craven Sept. 27, 2016, 5:40 p.m. UTC
* gnu/packages/sdcc.scm (sdcc): New variable.
---
 gnu/packages/sdcc.scm | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)
 create mode 100644 gnu/packages/sdcc.scm

Comments

Leo Famulari Sept. 27, 2016, 6:01 p.m. UTC | #1
On Tue, Sep 27, 2016 at 07:40:26PM +0200, David Craven wrote:
> * gnu/packages/sdcc.scm (sdcc): New variable.

> +              (uri (string-append
> +                    "mirror://sourceforge/sdcc/files/sdcc"
> +                    "/" version "/sdcc-src-" version ".tar.bz2"
> +                    "/download"))

This URL returns 404.

Otherwise, not having built the package, the package defintion looks
good to me in general.
David Craven Sept. 27, 2016, 6:15 p.m. UTC | #2
> This URL returns 404.

thanks! missed that due to caching - again.

is it ok in it's own file? or should that file be renamed to
microcontroller.scm?
Leo Famulari Sept. 27, 2016, 6:45 p.m. UTC | #3
On Tue, Sep 27, 2016 at 08:15:33PM +0200, David Craven wrote:
> > This URL returns 404.
> 
> thanks! missed that due to caching - again.
> 
> is it ok in it's own file? or should that file be renamed to
> microcontroller.scm?

If we don't already have an appropriate module, then it's a matter of
taste :)

microcontroller sounds like a useful module name.
diff mbox

Patch

diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm
new file mode 100644
index 0000000..b08479a
--- /dev/null
+++ b/gnu/packages/sdcc.scm
@@ -0,0 +1,70 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 David Craven <david@craven.ch>
+;;;
+;;; 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 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.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/sdcc/files/sdcc"
+                    "/" version "/sdcc-src-" version ".tar.bz2"
+                    "/download"))
+              (sha256
+               (base32
+                "0x53gh5yrrfjvlnkk29mjn8hq4v52alrsf7c8nsyzzq13sqwwpg8"))))
+    (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")
+       #: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 retargettable, 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+)))