;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; 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 . (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") #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" "--enable-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+))) k-image-raw): New procedure. (%childhurd-os): Use it. Jan (janneke) Nieuwenhuizen 2020-09-29services: hurd-vm: Add system test....* gnu/tests/virtualization.scm (%childhurd-os): New variable. (run-childhurd-test): New procedure. (%test-childhurd): New variable. Ludovic Courtès 2018-10-18services: dhcp-client: Deprecate 'dhcp-client-service' procedure....* gnu/services/networking.scm (dhcp-client-service-type): Add default value. * gnu/system/examples/bare-bones.tmpl: Use (service dhcp-client-service-type) instead of (dhcp-client-service). * gnu/system/examples/beaglebone-black.tmpl: Likewise. * gnu/tests/base.scm (%avahi-os): Likewise. * gnu/tests/databases.scm (%memcached-os): Likewise. (%mongodb-os): Likewise. * gnu/tests/dict.scm (%dicod-os): Likewise. * gnu/tests/mail.scm (%opensmtpd-os): Likewise. (%exim-os): Likewise. (%dovecot-os): Likewise. * gnu/tests/messaging.scm (run-xmpp-test): Likewise. (run-bitlbee-test): Likewise. * gnu/tests/monitoring.scm (%prometheus-node-exporter-os): Likewise. * gnu/tests/networking.scm (%inetd-os): Likewise. (run-iptables-test): Likewise. * gnu/tests/nfs.scm (%base-os): Likewise. * gnu/tests/rsync.scm (%rsync-os): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/version-control.scm (%cgit-os): Likewise. (%git-http-os): Likewise. (%gitolite-os): Likewise. * gnu/tests/virtualization.scm (%libvirt-os): Likewise. * gnu/tests/web.scm (%httpd-os): Likewise. (%nginx-os): Likewise. (%varnish-os): Likewise. (%php-fpm-os): Likewise. (%hpcguix-web-os): Likewise. (%tailon-os): Likewise. * tests/guix-system.sh: Likewise. * doc/guix.texi (Networking Services): Document 'dhcp-client-service-type' and remove 'dhcp-client-service'. Ludovic Courtès 2017-08-23tests: Add 'libvirt-service-type' test....* gnu/tests/virtualization.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Christopher Baines