From 6d9dbc37f0df8c8002b17cb95a20afbb86692017 Mon Sep 17 00:00:00 2001 From: avoidr Date: Sat, 2 Dec 2017 08:24:24 +0100 Subject: [PATCH] spim: fix package (#9699) * spim: fix template * spim: add flex 2.6 compatibility patch Closes #9518 --- srcpkgs/spim/patches/flex-2.6-compat.patch | 20 ++++++++++++++++++++ srcpkgs/spim/template | 15 ++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 srcpkgs/spim/patches/flex-2.6-compat.patch diff --git a/srcpkgs/spim/patches/flex-2.6-compat.patch b/srcpkgs/spim/patches/flex-2.6-compat.patch new file mode 100644 index 00000000000..da6e3494692 --- /dev/null +++ b/srcpkgs/spim/patches/flex-2.6-compat.patch @@ -0,0 +1,20 @@ +Description: Fix parsing when built with flex 2.6 +Origin: https://sourceforge.net/p/spimsimulator/code/679/ +Bug: https://sourceforge.net/p/spimsimulator/bugs/66/ +Bug-Debian: https://bugs.debian.org/860011 +Last-Update: 2017-04-20 + +Index: spim-8.0+dfsg/CPU/scanner.l +=================================================================== +--- ./CPU/scanner.l ++++ ./CPU/scanner.l +@@ -316,7 +316,8 @@ initialize_scanner (FILE *in_file) + yyin = in_file; + #ifdef FLEX_SCANNER + yyrestart(in_file); +-#if (YY_FLEX_MAJOR_VERSION==2 && YY_FLEX_MINOR_VERSION==5 && YY_FLEX_SUBMINOR_VERSION>=33) ++#define YY_FLEX_VERSION (YY_FLEX_MAJOR_VERSION * 1000 + YY_FLEX_MINOR_VERSION * 100 + YY_FLEX_SUBMINOR_VERSION) ++#if YY_FLEX_VERSION >= 2533 + /* flex 2.5.33 flipped the polarity of this flag (sigh) */ + yy_init = 0; + #else diff --git a/srcpkgs/spim/template b/srcpkgs/spim/template index 8bfebac0c15..5ecb803461f 100644 --- a/srcpkgs/spim/template +++ b/srcpkgs/spim/template @@ -20,13 +20,14 @@ pre_configure() { -e 's:CFLAGS =:CFLAGS +=:' \ -e 's:LDFLAGS =:LDFLAGS +=:' \ -e 's:CC = gcc:CC ?= gcc:' \ - -e "s:BIN_DIR = .*:BIN_DIR = ${DESTDIR}/usr/bin/:" \ - -e "s:EXCEPTION_DIR = .*:EXCEPTION_DIR = ${DESTDIR}/usr/share/spim/:" \ - -e "s:MAN_DIR = .*:MAN_DIR = ${DESTDIR}/usr/share/man/man1/:" \ - -e "s:spim.man:spim.1:" - mv ../Documentation/{spim.man,spim.1} + -e 's:EXCEPTION_DIR = .*:EXCEPTION_DIR = /usr/share/spim:' \ + -e 's:spim.man:spim.1:' + # EXCEPTION_DIR affects DEFAULT_EXCEPTION_HANDLER in spim.c } -post_install() { - vlicense LICENSE +do_install() { + vbin spim + vman ../Documentation/spim.man spim.1 + vlicense LICENSE LICENSE.BSD + vinstall ../CPU/exceptions.s 644 /usr/share/spim/ }