From 42dc3af5bfc8458de0289d66cb069d0e2efbad39 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 5 Aug 2014 00:15:08 -0400 Subject: gnu: Add flashrom. * gnu/packages/patches/flashrom-use-libftdi1.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/admin.scm (flashrom): New variable. --- gnu/packages/patches/flashrom-use-libftdi1.patch | 70 ++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 gnu/packages/patches/flashrom-use-libftdi1.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/flashrom-use-libftdi1.patch b/gnu/packages/patches/flashrom-use-libftdi1.patch new file mode 100644 index 0000000000..a6051df30a --- /dev/null +++ b/gnu/packages/patches/flashrom-use-libftdi1.patch @@ -0,0 +1,70 @@ +Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi, +running on top of libusb-1.0. This also removes indirect dependency to +libusb-0.1. + +Patch by Kyösti Mälkki . +See . + +--- flashrom/Makefile.orig 2013-08-13 18:00:00.000000000 -0400 ++++ flashrom/Makefile 2014-08-05 03:10:40.217145375 -0400 +@@ -492,19 +492,21 @@ + ifeq ($(CONFIG_FT2232_SPI), yes) + # This is a totally ugly hack. + FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'") +-NEED_FTDI := yes ++NEED_FTDI1 := yes + PROGRAMMER_OBJS += ft2232_spi.o + endif + + ifeq ($(CONFIG_USBBLASTER_SPI), yes) + # This is a totally ugly hack. + FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'") +-NEED_FTDI := yes ++NEED_LIBUSB1 := yes ++NEED_FTDI1 := yes + PROGRAMMER_OBJS += usbblaster_spi.o + endif + +-ifeq ($(NEED_FTDI), yes) +-FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb") ++ifeq ($(NEED_FTDI1), yes) ++FTDILIBS := $(shell pkg-config --libs libftdi1 2>/dev/null || printf "%s" "-lftdi1 -lusb-1.0") ++FEATURE_CFLAGS += $(shell pkg-config --cflags libftdi1 2>/dev/null) + FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'") + FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") + # We can't set NEED_USB here because that would transform libftdi auto-enabling +@@ -781,6 +783,7 @@ + endif + + define FTDI_TEST ++#include + #include + struct ftdi_context *ftdic = NULL; + int main(int argc, char **argv) +@@ -793,6 +796,7 @@ + export FTDI_TEST + + define FTDI_232H_TEST ++#include + #include + enum ftdi_chip_type type = TYPE_232H; + endef +@@ -826,15 +830,15 @@ + + features: compiler + @echo "FEATURES := yes" > .features.tmp +-ifeq ($(NEED_FTDI), yes) ++ifeq ($(NEED_FTDI1), yes) + @printf "Checking for FTDI support... " + @echo "$$FTDI_TEST" > .featuretest.c +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ++ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \ + ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp ) + @printf "Checking for FT232H support in libftdi... " + @echo "$$FTDI_232H_TEST" >> .featuretest.c +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ ++ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ + ( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \ + ( echo "not found."; echo "FT232H := no" >> .features.tmp ) + endif -- cgit v1.2.3 From 87806dde17b1b3877487ed574cfc5f841e031675 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 7 Aug 2014 22:53:21 +0200 Subject: gnu: curl: Update to 7.37.1. * gnu/packages/curl.scm (curl): Update to 7.37.1. Remove patch. * gnu/packages/patches/curl-fix-test172.patch: Remove file. * gnu-system.am (dist_patch_DATA): Remove patch. --- gnu-system.am | 1 - gnu/packages/curl.scm | 10 +++------- gnu/packages/patches/curl-fix-test172.patch | 12 ------------ 3 files changed, 3 insertions(+), 20 deletions(-) delete mode 100644 gnu/packages/patches/curl-fix-test172.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index ea2a4b3f51..200f55f501 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -292,7 +292,6 @@ dist_patch_DATA = \ gnu/packages/patches/cpio-gets-undeclared.patch \ gnu/packages/patches/cssc-gets-undeclared.patch \ gnu/packages/patches/cssc-missing-include.patch \ - gnu/packages/patches/curl-fix-test172.patch \ gnu/packages/patches/cursynth-wave-rand.patch \ gnu/packages/patches/dbus-localstatedir.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 7309da61e6..727c57d611 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2014 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,18 +37,14 @@ (define-public curl (package (name "curl") - (version "7.35.0") + (version "7.37.1") (source (origin (method url-fetch) (uri (string-append "http://curl.haxx.se/download/curl-" version ".tar.lzma")) (sha256 (base32 - "14w5cwh6b1426lxkq6kp6h4vxryr4n7wfrrwhny1r4123q7n8ab9")) - (patches - ;; This patch fixes testcase 172 which uses a hardcoded cookie - ;; expiration value which is expired as of Feb 1, 2014. - (list (search-patch "curl-fix-test172.patch"))))) + "10yfh4hy8wbkj43la238hg6h8i9wyp1cvvk8kl0giac1020imn5d")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) ("gss" ,gss) diff --git a/gnu/packages/patches/curl-fix-test172.patch b/gnu/packages/patches/curl-fix-test172.patch deleted file mode 100644 index cc2c2705e7..0000000000 --- a/gnu/packages/patches/curl-fix-test172.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tests/data/test172 b/tests/data/test172 -index b3efae9..3d53418 100644 ---- a/tests/data/test172 -+++ b/tests/data/test172 -@@ -36,7 +36,7 @@ http://%HOSTIP:%HTTPPORT/we/want/172 -b log/jar172.txt -b "tool=curl; name=fool" - - .%HOSTIP TRUE /silly/ FALSE 0 ismatch this - .%HOSTIP TRUE / FALSE 0 partmatch present --%HOSTIP FALSE /we/want/ FALSE 1391252187 nodomain value -+%HOSTIP FALSE /we/want/ FALSE 2139150993 nodomain value - - -- cgit v1.2.3 From 30016044e034945ae426e674880ba5e7485a48d0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 7 Aug 2014 20:29:32 -0400 Subject: gnu: Add lm-sensors. * gnu/packages/patches/lm-sensors-hwmon-attrs.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/linux.scm (lm-sensors): New variable. --- gnu-system.am | 1 + gnu/packages/linux.scm | 79 ++++++++++++++++++++- gnu/packages/patches/lm-sensors-hwmon-attrs.patch | 85 +++++++++++++++++++++++ 3 files changed, 163 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/lm-sensors-hwmon-attrs.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 4f36de3070..1f6240fa51 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -337,6 +337,7 @@ dist_patch_DATA = \ gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/libtool-skip-tests-for-mips.patch \ gnu/packages/patches/libssh-CVE-2014-0017.patch \ + gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ gnu/packages/patches/luit-posix.patch \ gnu/packages/patches/m4-gets-undeclared.patch \ gnu/packages/patches/m4-readlink-EINVAL.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 105a8cb5c6..2dd4b383ab 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -23,8 +23,7 @@ #:use-module ((guix licenses) #:hide (zlib)) #:use-module (gnu packages) - #:use-module ((gnu packages compression) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module ((gnu packages compression) #:prefix guix:) #:use-module (gnu packages flex) #:use-module (gnu packages bison) #:use-module (gnu packages gperf) @@ -44,6 +43,9 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages texinfo) #:use-module (gnu packages check) + #:use-module (gnu packages maths) + #:use-module (gnu packages which) + #:use-module (gnu packages rrdtool) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -1366,3 +1368,76 @@ Extensions. The Wireless Extension is an interface allowing you to set Wireless LAN specific parameters and get the specific stats.") (home-page "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html") (license gpl2+))) + +(define-public lm-sensors + (package + (name "lm-sensors") + (version "3.3.5") + (source (origin + (method url-fetch) + (uri (string-append + "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-" + version ".tar.bz2")) + (sha256 + (base32 + "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx")) + (patches (list (search-patch "lm-sensors-hwmon-attrs.patch"))))) + (build-system gnu-build-system) + (inputs `(("rrdtool" ,rrdtool) + ("perl" ,perl) + ("kmod" ,kmod) + ("gnuplot" ,gnuplot))) + (native-inputs `(("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison) + ("which" ,which))) + (arguments + `(#:tests? #f ; no 'check' target + #:make-flags (list (string-append "PREFIX=" %output) + (string-append "ETCDIR=" %output "/etc") + (string-append "MANDIR=" %output "/share/man")) + #:phases + (alist-delete + 'configure + (alist-cons-before + 'build 'patch-exec-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "prog/detect/sensors-detect" + (("`uname") + (string-append "`" (assoc-ref inputs "coreutils") + "/bin/uname")) + (("(`|\")modprobe" all open-quote) + (string-append open-quote + (assoc-ref inputs "kmod") + "/bin/modprobe"))) + (substitute* '("prog/pwm/pwmconfig" + "prog/pwm/fancontrol") + (("gnuplot") + (string-append (assoc-ref inputs "gnuplot") + "/bin/gnuplot")) + (("cat ") + (string-append (assoc-ref inputs "coreutils") + "/bin/cat ")) + (("egrep ") + (string-append (assoc-ref inputs "grep") + "/bin/egrep ")) + (("sed -e") + (string-append (assoc-ref inputs "sed") + "/bin/sed -e")) + (("cut -d") + (string-append (assoc-ref inputs "coreutils") + "/bin/cut -d")) + (("sleep ") + (string-append (assoc-ref inputs "coreutils") + "/bin/sleep ")) + (("readlink -f") + (string-append (assoc-ref inputs "coreutils") + "/bin/readlink -f")))) + %standard-phases)))) + (home-page "http://www.lm-sensors.org/") + (synopsis "Utilities to read temperature/voltage/fan sensors") + (description + "lm-sensors is a hardware health monitoring package for Linux. It allows +you to access information from temperature, voltage, and fan speed sensors. +It works with most newer systems.") + (license gpl2+))) diff --git a/gnu/packages/patches/lm-sensors-hwmon-attrs.patch b/gnu/packages/patches/lm-sensors-hwmon-attrs.patch new file mode 100644 index 0000000000..12979e7bd1 --- /dev/null +++ b/gnu/packages/patches/lm-sensors-hwmon-attrs.patch @@ -0,0 +1,85 @@ +fancontrol: Deal with moving hwmon attributes + +Several kernel drivers have already moved their attributes from the +hardware device to the hwmon class device, and others will follow. +Teach fancontrol about this possibility and let it adjust the attribute +paths transparently. + +Patch by Jean Delvare . +See . + +--- lm-sensors/prog/pwm/fancontrol (revision 6172) ++++ lm-sensors/prog/pwm/fancontrol (revision 6216) +@@ -207,4 +207,63 @@ + } + ++function FixupDeviceFiles ++{ ++ local DEVICE="$1" ++ local fcvcount pwmo tsen fan ++ ++ let fcvcount=0 ++ while (( $fcvcount < ${#AFCPWM[@]} )) # go through all pwm outputs ++ do ++ pwmo=${AFCPWM[$fcvcount]} ++ AFCPWM[$fcvcount]=${pwmo//$DEVICE\/device/$DEVICE} ++ if [ "${AFCPWM[$fcvcount]}" != "$pwmo" ] ++ then ++ echo "Adjusing $pwmo -> ${AFCPWM[$fcvcount]}" ++ fi ++ let fcvcount=$fcvcount+1 ++ done ++ ++ let fcvcount=0 ++ while (( $fcvcount < ${#AFCTEMP[@]} )) # go through all temp inputs ++ do ++ tsen=${AFCTEMP[$fcvcount]} ++ AFCTEMP[$fcvcount]=${tsen//$DEVICE\/device/$DEVICE} ++ if [ "${AFCTEMP[$fcvcount]}" != "$tsen" ] ++ then ++ echo "Adjusing $tsen -> ${AFCTEMP[$fcvcount]}" ++ fi ++ let fcvcount=$fcvcount+1 ++ done ++ ++ let fcvcount=0 ++ while (( $fcvcount < ${#AFCFAN[@]} )) # go through all fan inputs ++ do ++ fan=${AFCFAN[$fcvcount]} ++ AFCFAN[$fcvcount]=${fan//$DEVICE\/device/$DEVICE} ++ if [ "${AFCFAN[$fcvcount]}" != "$fan" ] ++ then ++ echo "Adjusing $fan -> ${AFCFAN[$fcvcount]}" ++ fi ++ let fcvcount=$fcvcount+1 ++ done ++} ++ ++# Some drivers moved their attributes from hard device to class device ++function FixupFiles ++{ ++ local DEVPATH="$1" ++ local entry device ++ ++ for entry in $DEVPATH ++ do ++ device=`echo "$entry" | sed -e 's/=[^=]*$//'` ++ ++ if [ -e "$device/name" ] ++ then ++ FixupDeviceFiles "$device" ++ fi ++ done ++} ++ + # Check that all referenced sysfs files exist + function CheckFiles +@@ -306,4 +365,8 @@ + echo "Configuration appears to be outdated, please run pwmconfig again" >&2 + exit 1 ++fi ++if [ "$DIR" = "/sys/class/hwmon" ] ++then ++ FixupFiles "$DEVPATH" + fi + CheckFiles || exit 1 -- cgit v1.2.3 From 4acd5c0f9a511f8c931baa57dda09529afcc99a9 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Thu, 24 Jul 2014 11:05:43 +0000 Subject: gnu: Add AVRDUDE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/avrdude.scm: New file * gnu-system.am (GNU_SYSTEM_MODULES): Add avrdude.scm * gnu/packages/patches/avrdude-fix-libusb.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu-system.am | 2 + gnu/packages/avrdude.scm | 58 ++++++ gnu/packages/patches/avrdude-fix-libusb.patch | 256 ++++++++++++++++++++++++++ 3 files changed, 316 insertions(+) create mode 100644 gnu/packages/avrdude.scm create mode 100644 gnu/packages/patches/avrdude-fix-libusb.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 7928b52592..3471e20c1d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -37,6 +37,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/autogen.scm \ gnu/packages/autotools.scm \ gnu/packages/avahi.scm \ + gnu/packages/avrdude.scm \ gnu/packages/backup.scm \ gnu/packages/base.scm \ gnu/packages/bash.scm \ @@ -280,6 +281,7 @@ dist_patch_DATA = \ gnu/packages/patches/apr-skip-getservbyname-test.patch \ gnu/packages/patches/automake-skip-amhello-tests.patch \ gnu/packages/patches/avahi-localstatedir.patch \ + gnu/packages/patches/avrdude-fix-libusb.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \ diff --git a/gnu/packages/avrdude.scm b/gnu/packages/avrdude.scm new file mode 100644 index 0000000000..28456045e0 --- /dev/null +++ b/gnu/packages/avrdude.scm @@ -0,0 +1,58 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Manolis Fragkiskos Ragkousis +;;; +;;; 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 avrdude) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages elf) + #:use-module (gnu packages libusb) + #:use-module (gnu packages libftdi)) + +(define-public avrdude + (package + (name "avrdude") + (version "6.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/avrdude/avrdude-" + version ".tar.gz")) + (sha256 + (base32 + "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y")) + (patches (list (search-patch "avrdude-fix-libusb.patch"))))) + (build-system gnu-build-system) + (inputs + `(("libelf" ,libelf) + ("libusb" ,libusb) + ("libftdi" ,libftdi))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (home-page "http://www.nongnu.org/avrdude/") + (synopsis "AVR downloader and uploader") + (description + "AVRDUDE is a utility to download/upload/manipulate the ROM and +EEPROM contents of AVR microcontrollers using the in-system programming +technique (ISP).") + (license gpl2+))) diff --git a/gnu/packages/patches/avrdude-fix-libusb.patch b/gnu/packages/patches/avrdude-fix-libusb.patch new file mode 100644 index 0000000000..13d0eca91c --- /dev/null +++ b/gnu/packages/patches/avrdude-fix-libusb.patch @@ -0,0 +1,256 @@ +Avrdude cannot build with our version of libusb. This patch fixes that. +See http://savannah.nongnu.org/bugs/?41854 + +diff --git a/dfu.c b/dfu.c +index 7d349bc..0f80440 100644 +--- a/dfu.c ++++ b/dfu.c +@@ -36,13 +36,14 @@ + + #ifndef HAVE_LIBUSB + +-int dfu_open(struct dfu_dev *dfu, char *port_name) { ++struct dfu_dev * dfu_open(char *port_spec) { + fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", + progname); +- return -1; ++ return NULL; + } + +-int dfu_init(struct dfu_dev *dfu, unsigned short usb_pid) { ++int dfu_init(struct dfu_dev *dfu, ++ unsigned short vid, unsigned short pid) { + return -1; + } + +diff --git a/flip1.c b/flip1.c +index b891d80..0959996 100644 +--- a/flip1.c ++++ b/flip1.c +@@ -164,6 +164,8 @@ static void flip1_setup(PROGRAMMER * pgm); + static void flip1_teardown(PROGRAMMER * pgm); + + /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ ++#ifdef HAVE_LIBUSB ++// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB + + static void flip1_show_info(struct flip1 *flip1); + +@@ -177,6 +179,8 @@ static const char * flip1_mem_unit_str(enum flip1_mem_unit mem_unit); + static int flip1_set_mem_page(struct dfu_dev *dfu, unsigned short page_addr); + static enum flip1_mem_unit flip1_mem_unit(const char *name); + ++#endif /* HAVE_LIBUSB */ ++ + /* THE INITPGM FUNCTION DEFINITIONS */ + + void flip1_initpgm(PROGRAMMER *pgm) +@@ -201,6 +205,7 @@ void flip1_initpgm(PROGRAMMER *pgm) + pgm->teardown = flip1_teardown; + } + ++#ifdef HAVE_LIBUSB + /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ + + int flip1_open(PROGRAMMER *pgm, char *port_spec) +@@ -876,3 +881,82 @@ enum flip1_mem_unit flip1_mem_unit(const char *name) { + return FLIP1_MEM_UNIT_EEPROM; + return FLIP1_MEM_UNIT_UNKNOWN; + } ++#else /* HAVE_LIBUSB */ ++// Dummy functions ++int flip1_open(PROGRAMMER *pgm, char *port_spec) ++{ ++ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", ++ progname); ++ return NULL; ++} ++ ++int flip1_initialize(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++void flip1_close(PROGRAMMER* pgm) ++{ ++} ++ ++void flip1_enable(PROGRAMMER* pgm) ++{ ++} ++ ++void flip1_disable(PROGRAMMER* pgm) ++{ ++} ++ ++void flip1_display(PROGRAMMER* pgm, const char *prefix) ++{ ++} ++ ++int flip1_program_enable(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++int flip1_chip_erase(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++int flip1_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned long addr, unsigned char *value) ++{ ++ return -1; ++} ++ ++int flip1_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned long addr, unsigned char value) ++{ ++ return -1; ++} ++ ++int flip1_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned int page_size, unsigned int addr, unsigned int n_bytes) ++{ ++ return -1; ++} ++ ++int flip1_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned int page_size, unsigned int addr, unsigned int n_bytes) ++{ ++ return -1; ++} ++ ++int flip1_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) ++{ ++ return -1; ++} ++ ++void flip1_setup(PROGRAMMER * pgm) ++{ ++} ++ ++void flip1_teardown(PROGRAMMER * pgm) ++{ ++} ++ ++ ++#endif /* HAVE_LIBUSB */ +\ No newline at end of file + +diff --git a/flip2.c b/flip2.c +index ed8e996..16c4bf8 100644 +--- a/flip2.c ++++ b/flip2.c +@@ -151,6 +151,8 @@ static void flip2_setup(PROGRAMMER * pgm); + static void flip2_teardown(PROGRAMMER * pgm); + + /* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */ ++#ifdef HAVE_LIBUSB ++// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB + + static void flip2_show_info(struct flip2 *flip2); + +@@ -171,6 +173,8 @@ static const char * flip2_status_str(const struct dfu_status *status); + static const char * flip2_mem_unit_str(enum flip2_mem_unit mem_unit); + static enum flip2_mem_unit flip2_mem_unit(const char *name); + ++#endif /* HAVE_LIBUSB */ ++ + /* THE INITPGM FUNCTION DEFINITIONS */ + + void flip2_initpgm(PROGRAMMER *pgm) +@@ -195,6 +199,7 @@ void flip2_initpgm(PROGRAMMER *pgm) + pgm->teardown = flip2_teardown; + } + ++#ifdef HAVE_LIBUSB + /* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ + + int flip2_open(PROGRAMMER *pgm, char *port_spec) +@@ -922,3 +927,85 @@ enum flip2_mem_unit flip2_mem_unit(const char *name) { + return FLIP2_MEM_UNIT_SIGNATURE; + return FLIP2_MEM_UNIT_UNKNOWN; + } ++ ++#else /* HAVE_LIBUSB */ ++ ++/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */ ++ ++int flip2_open(PROGRAMMER *pgm, char *port_spec) ++{ ++ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n", ++ progname); ++ return NULL; ++} ++ ++int flip2_initialize(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++void flip2_close(PROGRAMMER* pgm) ++{ ++} ++ ++void flip2_enable(PROGRAMMER* pgm) ++{ ++} ++ ++void flip2_disable(PROGRAMMER* pgm) ++{ ++} ++ ++void flip2_display(PROGRAMMER* pgm, const char *prefix) ++{ ++} ++ ++int flip2_program_enable(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++int flip2_chip_erase(PROGRAMMER* pgm, AVRPART *part) ++{ ++ return -1; ++} ++ ++int flip2_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned long addr, unsigned char *value) ++{ ++ return -1; ++} ++ ++int flip2_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned long addr, unsigned char value) ++{ ++ return -1; ++} ++ ++int flip2_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned int page_size, unsigned int addr, unsigned int n_bytes) ++{ ++ return -1; ++} ++ ++int flip2_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem, ++ unsigned int page_size, unsigned int addr, unsigned int n_bytes) ++{ ++ return -1; ++} ++ ++int flip2_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem) ++{ ++ return -1; ++} ++ ++void flip2_setup(PROGRAMMER * pgm) ++{ ++} ++ ++void flip2_teardown(PROGRAMMER * pgm) ++{ ++} ++ ++ ++#endif /* HAVE_LIBUSB */ -- cgit v1.2.3 From c5d837684359e3629c4ac96297a25d1165edcb39 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 25 Jul 2014 16:37:44 -0500 Subject: gnu: Add texi2html. * gnu/packages/texinfo.scm (texi2html): New variable. * gnu/packages/patches/texi2html-document-encoding.patch: New patch. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + .../patches/texi2html-document-encoding.patch | 31 +++++++++++++++++++ gnu/packages/texinfo.scm | 35 ++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 gnu/packages/patches/texi2html-document-encoding.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 3471e20c1d..fd4af6122c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -376,6 +376,7 @@ dist_patch_DATA = \ gnu/packages/patches/superlu-dist-scotchmetis.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ + gnu/packages/patches/texi2html-document-encoding.patch \ gnu/packages/patches/udev-gir-libtool.patch \ gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/valgrind-glibc.patch \ diff --git a/gnu/packages/patches/texi2html-document-encoding.patch b/gnu/packages/patches/texi2html-document-encoding.patch new file mode 100644 index 0000000000..1469b67fa6 --- /dev/null +++ b/gnu/packages/patches/texi2html-document-encoding.patch @@ -0,0 +1,31 @@ +Patch derived from discussion at https://savannah.nongnu.org/bugs/?37503 + +--- texi2html-5.0/texi2html.pl 2010-06-30 17:01:27.000000000 -0500 ++++ texi2html-5.0/texi2html.pl 2014-07-09 01:17:57.062990582 -0500 +@@ -2589,7 +2589,12 @@ + my $state = shift; + + # FIXME this should be done only once, for @documentencoding +- my $encoding = lc(Texi2HTML::Config::get_conf('DOCUMENT_ENCODING')); ++ my $encoding; ++ my $input_encoding = Texi2HTML::Config::get_conf('documentencoding'); ++ if (defined($input_encoding)) ++ { ++ $encoding = lc($input_encoding); ++ } + if (defined($encoding) and $encoding ne '' and exists($Texi2HTML::Config::t2h_encoding_aliases{$encoding})) + { + $encoding = $Texi2HTML::Config::t2h_encoding_aliases{$encoding}; + +Fix failures in test/encodings. + +--- texi2html-5.0/texi2html.pl 2014-07-09 01:22:06.000000000 -0500 ++++ texi2html-5.0/texi2html.pl 2014-07-10 23:23:47.182097602 -0500 +@@ -53,6 +53,7 @@ + # for translations + #use encoding 'utf8'; + #use utf8; ++binmode STDERR, ':encoding(utf8)'; + + # + # According to diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 0f21ec3211..9388979a69 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2014 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,9 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (gnu packages ncurses)) @@ -64,3 +67,35 @@ is on expressing the content semantically, avoiding physical markup commands.") (base32 "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) + +(define-public texi2html + (package + (name "texi2html") + (version "5.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/" name "/" name "-" + version ".tar.bz2")) + (sha256 + (base32 + "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8")) + (patches (list (search-patch "texi2html-document-encoding.patch"))))) + (build-system gnu-build-system) + (native-inputs `(("gettext" ,gnu-gettext))) + (inputs `(("perl" ,perl))) + (home-page "http://www.nongnu.org/texi2html/") + (synopsis "Convert Texinfo to HTML") + (description + "Texi2HTML is a Perl script which converts Texinfo source files to HTML +output. It now supports many advanced features, such as internationalization +and extremely configurable output formats. + +Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it +was meant to replace the makeinfo implementation in GNU Texinfo. The route +forward for authors is, in most cases, to alter manuals and build processes as +necessary to use the new features of the makeinfo/texi2any implementation of +GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author +of the GNU Texinfo implementation) do not intend to make further releases of +Texi2HTML.") + ;; Files in /lib under lgpl2.1+ and x11 + (license gpl2+))) -- cgit v1.2.3 From 51152cd125b47e9bbaf1de7bab4c059fcfaba83d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 24 Jul 2014 23:40:44 -0500 Subject: gnu: Add orpheus. * gnu/packages/orpheus.scm: New file. * gnu/packages/patches/orpheus-cast-errors-and-includes.patch: New patch. * gnu-system.am (GNU_SYSTEM_MODULES): Add file. (dist_patch_DATA): Add patch. --- gnu-system.am | 2 + gnu/packages/orpheus.scm | 96 ++++++++++++++++++++++ .../patches/orpheus-cast-errors-and-includes.patch | 51 ++++++++++++ 3 files changed, 149 insertions(+) create mode 100644 gnu/packages/orpheus.scm create mode 100644 gnu/packages/patches/orpheus-cast-errors-and-includes.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index fd4af6122c..a1dea392e6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -185,6 +185,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/onc-rpc.scm \ gnu/packages/openldap.scm \ gnu/packages/openssl.scm \ + gnu/packages/orpheus.scm \ gnu/packages/package-management.scm \ gnu/packages/parallel.scm \ gnu/packages/patchutils.scm \ @@ -349,6 +350,7 @@ dist_patch_DATA = \ gnu/packages/patches/mit-krb5-init-fix.patch \ gnu/packages/patches/mpc123-initialize-ao.patch \ gnu/packages/patches/module-init-tools-moduledir.patch \ + gnu/packages/patches/orpheus-cast-errors-and-includes.patch \ gnu/packages/patches/patchelf-page-size.patch \ gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ diff --git a/gnu/packages/orpheus.scm b/gnu/packages/orpheus.scm new file mode 100644 index 0000000000..2bc6a6af14 --- /dev/null +++ b/gnu/packages/orpheus.scm @@ -0,0 +1,96 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; 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 orpheus) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages mp3) + #:use-module (gnu packages which) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml)) + +(define-public orpheus + (package + (name "orpheus") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (string-append "http://thekonst.net/download/orpheus-" + version ".tar.gz")) + (sha256 + (base32 + "1xbgxq8fybwhm51nw9hvvrgi873qzkc2qvmy15d2m2hw2yqa99hq")) + (patches (list (search-patch "orpheus-cast-errors-and-includes.patch"))))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses) + ("libvorbis" ,libvorbis) + ("vorbis-tools" ,vorbis-tools) + ("mpg321" ,mpg321) + ;; TODO: add ghttp + ("libxml2" ,libxml2) + ("which" ,which))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + ;; This old `configure' script does not support variables passed as + ;; arguments. + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" (which "bash")) + (setenv "SHELL" (which "bash")) + (setenv "LIBS" "-logg") ;doesn't declare its use of libogg + (zero? + (system* "./configure" (string-append "--prefix=" out))))) + (alist-cons-after + 'configure 'configure-players + (lambda* (#:key inputs #:allow-other-keys) + ;; To avoid propagating the mpg321 and vorbis-tools inputs, we can + ;; make the orpheus application execute the needed players from the + ;; store. + (let ((ogg123 (string-append (assoc-ref inputs "vorbis-tools") + "/bin/ogg123")) + (mpg321 (string-append (assoc-ref inputs "mpg321") + "/bin/mpg321")) + (which (string-append (assoc-ref inputs "which") + "/bin/which"))) + (substitute* "src/orpheusconf.cc" + (("ogg123") ogg123) + (("which") which) + (("mpg321") mpg321)))) + (alist-cons-before + 'build 'patch-shells + (lambda _ + (substitute* '("src/mp3track.cc" + "src/streamtrack.cc" + "src/oggtrack.cc") + (("/bin/sh") (which "bash")))) + %standard-phases))))) + (home-page "http://thekonst.net/en/orpheus") + (synopsis "Text-mode audio player") + (description + "Orpheus is a light-weight text mode menu- and window-driven audio player +application for CDs, internet stream broadcasts, and files in MP3 and Vorbis +OGG format.") + (license gpl2+))) diff --git a/gnu/packages/patches/orpheus-cast-errors-and-includes.patch b/gnu/packages/patches/orpheus-cast-errors-and-includes.patch new file mode 100644 index 0000000000..159f242f5c --- /dev/null +++ b/gnu/packages/patches/orpheus-cast-errors-and-includes.patch @@ -0,0 +1,51 @@ +The 'intcompare' definition was causing a "cast from 'void*' to 'int' loses +precision [-fpermissive]" error. It isn't used anywhere, so simply remove it. +Same with 'findint' in texteditor.cc. + +Fix other "cast from ‘void*’ to ‘int’ loses precision" errors. + +--- a/kkstrtext-0.1/kkstrtext.cc 2005-01-31 18:13:24.000000000 -0600 ++++ b/kkstrtext-0.1/kkstrtext.cc 2014-07-24 00:25:07.149305476 -0500 +@@ -430,10 +430,6 @@ + } + } + +-int intcompare(void *s1, void *s2) { +- return (int) s1 != (int) s2; +-} +- + string i2str(int i) { + char buf[64]; + sprintf(buf, "%d", i); +@@ -885,7 +881,7 @@ + #ifdef HAVE_ICONV + iconv_t cd = iconv_open(tocs.c_str(), fromcs.c_str()); + +- if(((int) cd) != -1) { ++ if(cd != (iconv_t) -1) { + string r, text(atext); + size_t inleft, outleft, soutleft; + char *inbuf, *outbuf, *sinbuf, *soutbuf; +--- a/kkconsui-0.1/src/texteditor.cc 2003-09-09 16:51:33.000000000 -0500 ++++ b/kkconsui-0.1/src/texteditor.cc 2014-07-24 00:33:20.093279060 -0500 +@@ -1939,10 +1939,6 @@ + if(ur) delete ur; + } + +-int texteditor::findint(void *p1, void *p2) { +- return *(int *) p1 != (int) p2; +-} +- + int texteditor::findhighline(void *p1, void *p2) { + return *(int *) p1 != ((highline *) p2)->line; + } +--- a/src/streamtrack.cc 2006-05-11 12:45:20.000000000 -0500 ++++ b/src/streamtrack.cc 2014-07-24 00:38:10.797263482 -0500 +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + + #include + -- cgit v1.2.3 From ffbf749e6a7ec48001bd4fefb0f6df193b6de7ab Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 16 Aug 2014 00:56:42 -0500 Subject: gnu: texi2html: Fix tests in the absense of gettext. * gnu/packages/patches/texi2html-i18n.patch: New patch. * gnu/packages/texinfo.scm (texi2html)[source]: Use it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/texi2html-i18n.patch | 50 +++++++++++++++++++++++++++++++ gnu/packages/texinfo.scm | 3 +- 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/texi2html-i18n.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 66a1677c7e..f29f3f61ef 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -378,6 +378,7 @@ dist_patch_DATA = \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ gnu/packages/patches/texi2html-document-encoding.patch \ + gnu/packages/patches/texi2html-i18n.patch \ gnu/packages/patches/udev-gir-libtool.patch \ gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/valgrind-glibc.patch \ diff --git a/gnu/packages/patches/texi2html-i18n.patch b/gnu/packages/patches/texi2html-i18n.patch new file mode 100644 index 0000000000..eba903d068 --- /dev/null +++ b/gnu/packages/patches/texi2html-i18n.patch @@ -0,0 +1,50 @@ +Do not try to regenerate po files; use the reference files that are packaged +in the tarball. + +--- a/Makefile.in 2010-06-30 17:02:28.000000000 -0500 ++++ b/Makefile.in 2014-08-16 00:22:38.447050269 -0500 +@@ -1022,15 +1022,7 @@ + + i18n/en.thl i18n/: $(po_document_dir)/po_document/$(PACKAGE)_document.pot + $(MKDIR_P) i18n +- if test '$(USE_NLS)' = 'yes'; then \ +- for file in "$(srcdir)/$(po_document_dir)/po_document/"*".po"; do lang=`basename "$$file" .po | sed 's/\..*//'`; \ +- test "$$lang" = 'en' && continue; \ +- msgexec -i "$$file" "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" $$lang > i18n/$$lang.thl; \ +- done; \ +- msgexec -i $< "$(srcdir)/gettext_to_separated.pl" | "$(srcdir)/separated_to_hash.pl" en > i18n/en.thl; \ +- else \ +- cp -p i18n_ref/*.thl i18n; \ +- fi ++ cp -p i18n_ref/*.thl i18n + + i18n_ref: + $(MKDIR_P) i18n_ref + +Have install-sh install .mo files locally for in-source tests, so that msgfmt +is not needed. + +--- a/Makefile.in 2010-06-30 17:02:28.000000000 -0500 ++++ b/Makefile.in 2014-08-16 00:22:38.447050269 -0500 +@@ -1052,19 +1044,8 @@ + # update the po files, and install locally the .mo files for the in + # source tests + check-local: makeinfo.pl texi2any.pl +- if test '$(USE_NLS)' = 'yes'; then \ +- cd $(po_document_dir)/po_document && $(MAKE) $(AM_MAKEFLAGS) update-po; \ +- fi +- rm -rf locales +- for file in "$(srcdir)/$(po_document_dir)/po_document/"*.po; do \ +- basename=`basename "$$file" .po` ; \ +- $(MKDIR_P) "locales/$$basename/LC_MESSAGES/" ; \ +- if test '$(USE_NLS)' = 'yes'; then \ +- $(MSGFMT) "$$file" -o "locales/$$basename/LC_MESSAGES/texi2html_document.mo" ; \ +- else \ +- cp -p "$(srcdir)/$(po_document_dir)/po_document/$$basename.mo" "locales/$$basename/LC_MESSAGES/texi2html_document.mo" ; \ +- fi; \ +- done ++ $(MAKE) -C po_document localedir="$(abs_srcdir)/locales" install-data ++ $(MAKE) -C po_messages localedir="$(abs_srcdir)/locales" install-data + + makeinfo.pl texi2any.pl: + -$(LN_S) $(srcdir)/texi2html.pl $@ diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index c199fd66a7..0cce38bf8d 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -79,7 +79,8 @@ is on expressing the content semantically, avoiding physical markup commands.") (base32 "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8")) (patches - (list (search-patch "texi2html-document-encoding.patch"))) + (list (search-patch "texi2html-document-encoding.patch") + (search-patch "texi2html-i18n.patch"))) (snippet ;; This file is modified by the patch above, but reset its ;; timestamp so we don't trigger the rule to update PO files, -- cgit v1.2.3