commit:     775e4171fab498dfe5d9cf69ed2aaabc57ccdd03
Author:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 13:37:12 2016 +0000
Commit:     Bernard Cafarelli <voyageur <AT> gentoo <DOT> org>
CommitDate: Wed Jun  8 13:37:23 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=775e4171

x11-plugins/wmtimer: fix compilation with gcc 5, bug #581446

Reported by Toralf Förster <toralf.foerster <AT> gmx.de>

Package-Manager: portage-2.3.0_rc1

 .../wmtimer/files/wmtimer-2.92-counter-fix.patch   |  23 ++++
 x11-plugins/wmtimer/files/wmtimer-2.92-list.patch  | 120 +++++++++++++++++++++
 x11-plugins/wmtimer/wmtimer-2.92-r2.ebuild         |  47 ++++++++
 3 files changed, 190 insertions(+)

diff --git a/x11-plugins/wmtimer/files/wmtimer-2.92-counter-fix.patch 
b/x11-plugins/wmtimer/files/wmtimer-2.92-counter-fix.patch
new file mode 100644
index 0000000..b949e28
--- /dev/null
+++ b/x11-plugins/wmtimer/files/wmtimer-2.92-counter-fix.patch
@@ -0,0 +1,23 @@
+diff -Naur wmtimer-2.92.orig/wmtimer/wmtimer.c wmtimer-2.92/wmtimer/wmtimer.c
+--- wmtimer-2.92.orig/wmtimer/wmtimer.c        2004-01-29 03:45:48.000000000 
+0100
++++ wmtimer-2.92/wmtimer/wmtimer.c     2016-06-08 14:17:40.039581673 +0200
+@@ -128,7 +128,8 @@
+     switch (mode)
+     {
+       case TIMER:
+-      if (prevSec < thisTime->tm_sec) 
++      if (   (prevSec < thisTime->tm_sec) 
++        || ((prevSec == 59) && (thisTime->tm_sec == 0)))
+       {
+         decrementTimer();
+         updateACT();
+@@ -138,7 +139,8 @@
+       prevSec = thisTime->tm_sec;
+       break;
+       case CHRONO:
+-      if (prevSec < thisTime->tm_sec)
++      if (   (prevSec < thisTime->tm_sec)
++        || ((prevSec == 59) && (thisTime->tm_sec == 0)))
+       {
+         incrementTimer();
+         updateACT();

diff --git a/x11-plugins/wmtimer/files/wmtimer-2.92-list.patch 
b/x11-plugins/wmtimer/files/wmtimer-2.92-list.patch
new file mode 100644
index 0000000..5731492
--- /dev/null
+++ b/x11-plugins/wmtimer/files/wmtimer-2.92-list.patch
@@ -0,0 +1,120 @@
+diff -Naur wmtimer-2.92.orig/wmgeneral/list.c wmtimer-2.92/wmgeneral/list.c
+--- wmtimer-2.92.orig/wmgeneral/list.c 1999-12-23 16:01:39.000000000 +0100
++++ wmtimer-2.92/wmgeneral/list.c      2016-06-08 14:11:02.027179589 +0200
+@@ -38,7 +38,7 @@
+ 
+ /* Return a cons cell produced from (head . tail) */
+ 
+-INLINE LinkedList * list_cons (void *head, LinkedList * tail)
++LinkedList * list_cons (void *head, LinkedList * tail)
+ {
+   LinkedList *cell;
+ 
+@@ -50,7 +50,7 @@
+ 
+ /* Return the length of a list, list_length(NULL) returns zero */
+ 
+-INLINE int list_length (LinkedList * list)
++int list_length (LinkedList * list)
+ {
+   int i = 0;
+   while (list)
+@@ -64,7 +64,7 @@
+ /* Return the Nth element of LIST, where N count from zero.  If N 
+    larger than the list length, NULL is returned  */
+ 
+-INLINE void * list_nth (int index, LinkedList * list)
++void * list_nth (int index, LinkedList * list)
+ {
+   while (index-- != 0)
+     {
+@@ -78,7 +78,7 @@
+ 
+ /* Remove the element at the head by replacing it by its successor */
+ 
+-INLINE void list_remove_head (LinkedList ** list)
++void list_remove_head (LinkedList ** list)
+ {
+   if (!*list)
+     return;
+@@ -110,7 +110,7 @@
+    }
+    } */
+ 
+-INLINE LinkedList * list_remove_elem (LinkedList * list, void *elem)
++LinkedList * list_remove_elem (LinkedList * list, void *elem)
+ {
+   LinkedList *tmp;
+ 
+@@ -131,7 +131,7 @@
+ 
+ /* Return element that has ELEM as car */
+ 
+-INLINE LinkedList * list_find (LinkedList * list, void *elem)
++LinkedList * list_find (LinkedList * list, void *elem)
+ {
+   while (list)
+     {
+@@ -144,7 +144,7 @@
+ 
+ /* Free list (backwards recursive) */
+ 
+-INLINE void list_free (LinkedList * list)
++void list_free (LinkedList * list)
+ {
+   if (list)
+     {
+@@ -155,7 +155,7 @@
+ 
+ /* Map FUNCTION over all elements in LIST */
+ 
+-INLINE void list_mapcar (LinkedList * list, void (*function) (void *))
++void list_mapcar (LinkedList * list, void (*function) (void *))
+ {
+   while (list)
+     {
+diff -Naur wmtimer-2.92.orig/wmgeneral/list.h wmtimer-2.92/wmgeneral/list.h
+--- wmtimer-2.92.orig/wmgeneral/list.h 1999-12-23 16:01:39.000000000 +0100
++++ wmtimer-2.92/wmgeneral/list.h      2016-06-08 14:11:20.953198667 +0200
+@@ -29,12 +29,6 @@
+ #ifndef __LIST_H_
+ #define __LIST_H_
+ 
+-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+-#define INLINE inline
+-#else
+-#define INLINE
+-#endif
+-
+ typedef struct LinkedList
+   {
+     void *head;
+@@ -42,20 +36,20 @@
+   }
+ LinkedList;
+ 
+-INLINE LinkedList *list_cons (void *head, LinkedList * tail);
++LinkedList *list_cons (void *head, LinkedList * tail);
+ 
+-INLINE int list_length (LinkedList * list);
++int list_length (LinkedList * list);
+ 
+-INLINE void *list_nth (int index, LinkedList * list);
++void *list_nth (int index, LinkedList * list);
+ 
+-INLINE void list_remove_head (LinkedList ** list);
++void list_remove_head (LinkedList ** list);
+ 
+-INLINE LinkedList *list_remove_elem (LinkedList * list, void *elem);
++LinkedList *list_remove_elem (LinkedList * list, void *elem);
+ 
+-INLINE void list_mapcar (LinkedList * list, void (*function) (void *));
++void list_mapcar (LinkedList * list, void (*function) (void *));
+ 
+-INLINE LinkedList *list_find (LinkedList * list, void *elem);
++LinkedList *list_find (LinkedList * list, void *elem);
+ 
+-INLINE void list_free (LinkedList * list);
++void list_free (LinkedList * list);
+ 
+ #endif

diff --git a/x11-plugins/wmtimer/wmtimer-2.92-r2.ebuild 
b/x11-plugins/wmtimer/wmtimer-2.92-r2.ebuild
new file mode 100644
index 0000000..67d0746
--- /dev/null
+++ b/x11-plugins/wmtimer/wmtimer-2.92-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit multilib toolchain-funcs
+
+DESCRIPTION="Dockable clock which can run in alarm, countdown timer or 
chronograph mode"
+HOMEPAGE="http://www.darkops.net/wmtimer";
+SRC_URI="http://www.darkops.net/${PN}/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/glib-2
+       x11-libs/gtk+:2
+       x11-libs/libXpm
+       x11-libs/libXext
+       x11-libs/libX11"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S=${WORKDIR}/${P}/${PN}
+
+src_prepare() {
+       sed -i -e "s:\$(CFLAGS)::" Makefile || die
+       sed -i -e "s:-g::g" Makefile || die
+       sed -i -e "s:-O2:\$(CFLAGS) ${CFLAGS}:"  Makefile || die
+       sed -i -e "s:-o wmtimer:\$(LDFLAGS) -o wmtimer:" Makefile || die
+
+       cd "${WORKDIR}"/${P} || die
+       eapply "${FILESDIR}"/${P}-counter-fix.patch
+       eapply "${FILESDIR}"/${P}-list.patch
+       eapply_user
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)" LIBDIR="-L/usr/$(get_libdir)"
+}
+
+src_install() {
+       dobin wmtimer
+       dodoc ../{Changelog,CREDITS,README}
+}

Reply via email to