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

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

Package-Manager: portage-2.3.0_rc1
This commit is contained in:
Bernard Cafarelli
2016-06-08 15:37:12 +02:00
parent 4572eaf239
commit 775e4171fa
3 changed files with 190 additions and 0 deletions

View File

@@ -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();

View File

@@ -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

View File

@@ -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}
}