diff options
author | danfe <danfe@FreeBSD.org> | 2012-11-10 20:08:00 +0800 |
---|---|---|
committer | danfe <danfe@FreeBSD.org> | 2012-11-10 20:08:00 +0800 |
commit | 4392c5876c6a07913688a8ba002f64e689bb4231 (patch) | |
tree | 3aaa85ec2f6552fd6c35721fec2f44e1dbcee3f4 /misc | |
parent | 9e15ec53f27e0b59e17dc6e3528cd5c8164ffec5 (diff) | |
download | freebsd-ports-gnome-4392c5876c6a07913688a8ba002f64e689bb4231.tar.gz freebsd-ports-gnome-4392c5876c6a07913688a8ba002f64e689bb4231.tar.zst freebsd-ports-gnome-4392c5876c6a07913688a8ba002f64e689bb4231.zip |
- Provide a custom patch which changes timeout units from seconds to
milliseconds (obviously, since it breaks API compatibility, it must
be disabled by default)
- Specify correct delay units in osd_cat program (including usage
information), its manual page, and XMMS plugin code
- Drop explicit shlib version numbers from LIB_DEPENDS (but not for
libgdk-pixbuf, to avoid a clash with `graphics/gdk-pixbuf2')
- Explicitly disable Beep Media Player plugin (just in case)
- Cleanup Makefile, define LICENSE (GPLv2), sort the knobs
- Install a few documentation files while I am here
- Improve COMMENT and port description, update WWW line
Feature safe: yes
Diffstat (limited to 'misc')
-rw-r--r-- | misc/xosd/Makefile | 64 | ||||
-rw-r--r-- | misc/xosd/files/extra-patch-msec-timeout | 76 | ||||
-rw-r--r-- | misc/xosd/pkg-descr | 14 | ||||
-rw-r--r-- | misc/xosd/pkg-plist | 4 |
4 files changed, 126 insertions, 32 deletions
diff --git a/misc/xosd/Makefile b/misc/xosd/Makefile index 05d14dcb6825..53a7d6e3788c 100644 --- a/misc/xosd/Makefile +++ b/misc/xosd/Makefile @@ -1,30 +1,27 @@ -# New ports collection makefile for: xosd -# Date created: 2 May 2001 -# Whom: Hye-Shik Chang <perky@python.or.kr> -# +# Created by: Hye-Shik Chang <perky@python.or.kr> # $FreeBSD$ -# PORTNAME= xosd PORTVERSION= 2.2.14 PORTREVISION= 1 CATEGORIES= misc -MASTER_SITES= SF -MASTER_SITE_SUBDIR= libxosd/libxosd/${PORTNAME}-${PORTVERSION} +MASTER_SITES= SF/libxosd/libxosd/${PORTNAME}-${PORTVERSION} MAINTAINER= ports@FreeBSD.org -COMMENT= X On-Screen-Display Library and XMMS plug-in +COMMENT= X11 on-screen-display program and library -XMMS_CONFIG?= ${LOCALBASE}/bin/xmms-config +LICENSE= GPLv2 + +USE_AUTOTOOLS= libtool +USE_CSTD= gnu89 USE_GMAKE= yes USE_XORG= x11 xext xt sm ice -USE_AUTOTOOLS= libtool USE_LDCONFIG= yes -USE_CSTD= gnu89 CONFIGURE_ENV= LIBS=${PTHREAD_LIBS}' -L${LOCALBASE}/lib' \ LOCALBASE='${LOCALBASE}' \ GTK_CONFIG='${GTK_CONFIG}' GLIB_CONFIG='${GLIB_CONFIG}' \ XMMS_PLUGINDIR=${LOCALBASE}/lib/xmms +CONFIGURE_ARGS= --disable-beep_media_player_plugin MAN1= osd_cat.1 xosd-config.1 MAN3= xosd.3 xosd_create.3 xosd_destroy.3 xosd_display.3 \ @@ -33,27 +30,48 @@ MAN3= xosd.3 xosd_create.3 xosd_destroy.3 xosd_display.3 \ xosd_set_horizontal_offset.3 xosd_set_pos.3 \ xosd_set_shadow_offset.3 xosd_set_vertical_offset.3 \ xosd_show.3 xosd_uninit.3 +PORTDOCS= AUTHORS ChangeLog TODO -OPTIONS_DEFINE= XMMS +OPTIONS_DEFINE= XMMS MSEC OPTIONS_DEFAULT= XMMS -XMMS_DESC= Install XMMS-OSD plugin +XMMS_DESC= Build and install XMMS-OSD plugin +MSEC_DESC= Use milliseconds timeout (breaks compatibility!) .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MXMMS} -LIB_DEPENDS+= xmms.4:${PORTSDIR}/multimedia/xmms \ +COMMENT+= (with XMMS plugin) +LIB_DEPENDS= xmms:${PORTSDIR}/multimedia/xmms \ gdk_pixbuf.2:${PORTSDIR}/graphics/gdk-pixbuf -PLIST_SUB= WITH_XMMS="" +# shlib version is needed for libgdk_pixbuf, otherwise it could be bogusly +# satisfied by installed `graphics/gdk-pixbuf2' +PLIST_SUB= XMMS="" .else -CONFIGURE_ARGS= --disable-new-plugin -PLIST_SUB= WITH_XMMS="@comment " +CONFIGURE_ARGS+= --disable-new-plugin +PLIST_SUB= XMMS="@comment " .endif -pre-patch: - @${REINPLACE_CMD} -e 's,-lc_r,-lblahblah,g' ${WRKSRC}/ltmain.sh - @${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS},g ; s,echo aout,echo elf,' ${WRKSRC}/configure -.for f in src/libxosd/Makefile.in src/xmms_plugin/Makefile.in - @${REINPLACE_CMD} -e 's,^\(CFLAGS =\)\(.*\)$$,\1 -I.. \2,g' ${WRKSRC}/$f -.endfor +.if ${PORT_OPTIONS:MMSEC} +DELAY_UNITS= milliseconds +EXTRA_PATCHES= ${FILESDIR}/extra-patch-msec-timeout +.else +DELAY_UNITS= seconds +.endif + +post-patch: + @${REINPLACE_CMD} -e 's,-lc_r,-lblahblah,' ${WRKSRC}/ltmain.sh + @${REINPLACE_CMD} -e 's,-lpthread,${PTHREAD_LIBS}, ; \ + s,echo aout,echo elf,' ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's,^\(CFLAGS =\)\(.*\)$$,\1 -I..\2,' \ + ${WRKSRC}/src/libxosd/Makefile.in \ + ${WRKSRC}/src/xmms_plugin/Makefile.in + @${REINPLACE_CMD} -e 's,specified time,& (${DELAY_UNITS}),' \ + ${WRKSRC}/src/osd_cat.c + +post-install: +.if ${PORT_OPTIONS:MDOCS} + @${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${DOCSDIR} +.endif .include <bsd.port.mk> diff --git a/misc/xosd/files/extra-patch-msec-timeout b/misc/xosd/files/extra-patch-msec-timeout new file mode 100644 index 000000000000..234f9af90f5d --- /dev/null +++ b/misc/xosd/files/extra-patch-msec-timeout @@ -0,0 +1,76 @@ +--- src/xosd.h.orig ++++ src/xosd.h +@@ -64,7 +64,7 @@ extern "C" + * font X Logical Font Descriptor, see "xfontsel". + * colour X colour, see "rgb.txt" that comes with your X11 + * distribution. +- * timeout Seconds before the display is hidden (-1 for ++ * timeout Milliseconds before the display is hidden (-1 for + * never). + * pos Position to write text (top or bottom). + * offset Number of pixels between the "pos" and the +@@ -286,7 +286,7 @@ extern "C" + * + * ARGUMENTS + * osd The xosd "object". +- * timeout The number of seconds before the display is hidden. ++ * timeout The number of milliseconds before the display is hidden. + * + * RETURNS + * 0 on success +--- src/libxosd/xosd.c.orig ++++ src/libxosd/xosd.c +@@ -402,15 +402,13 @@ event_loop(void *osdv) + } + /* Calculate timeout delta or hide display. */ + if (timerisset(&osd->timeout_start)) { ++ struct timeval timo; ++ timo.tv_sec = osd->timeout / 1000, ++ timo.tv_usec = (osd->timeout % 1000) * 1000, + gettimeofday(&tv, NULL); +- tv.tv_sec -= osd->timeout; ++ timersub(&tv, &timo, &tv); + if (timercmp(&tv, &osd->timeout_start, <)) { +- tv.tv_sec = osd->timeout_start.tv_sec - tv.tv_sec; +- tv.tv_usec = osd->timeout_start.tv_usec - tv.tv_usec; +- if (tv.tv_usec < 0) { +- tv.tv_usec += 1000000; +- tv.tv_sec -= 1; +- } ++ timersub(&osd->timeout_start, &tv, &tv); + tvp = &tv; + } else { + timerclear(&osd->timeout_start); +--- src/osd_cat.c.orig ++++ src/osd_cat.c +@@ -53,7 +53,7 @@ int percentage = 50; + int outline_offset = 0; + char *outline_colour = NULL; + char *shadow_colour = NULL; +-int delay = 5; ++int delay = 5000; + int forcewait = 0; + xosd_pos pos = XOSD_top; + int voffset = 0; +--- man/osd_cat.1.orig ++++ man/osd_cat.1 +@@ -37,7 +37,7 @@ This option specifies the \fIFONT\fP to + This option specifies the \fICOLOR\fP to be used for displaying the text. The default is \fBred\fP. + .TP + \fB\-d\fP, \fB\-\-delay\fP=\fITIME\fP +-This option specifies the number of seconds the text is displayed. The default is \fB5\fP seconds. ++This option specifies the number of milliseconds the text is displayed. The default is \fB5000\fP. + .TP + \fB\-l\fP, \fB\-\-lines\fP=\fILINES\fP + This option specifies the number of \fILINES\fP to scroll the display over. The default is \fB5\fP. +--- src/xmms_plugin/xmms_osd.c.orig ++++ src/xmms_plugin/xmms_osd.c +@@ -260,7 +260,7 @@ apply_config(void) + DEBUG("invalid font %s", font); + + xosd_set_colour(osd, colour); +- xosd_set_timeout(osd, timeout); ++ xosd_set_timeout(osd, timeout * 1000); + xosd_set_shadow_offset(osd, shadow_offset); + xosd_set_outline_offset(osd, outline_offset); + xosd_set_pos(osd, pos); diff --git a/misc/xosd/pkg-descr b/misc/xosd/pkg-descr index 5987a6cdfef4..00e3101c28c2 100644 --- a/misc/xosd/pkg-descr +++ b/misc/xosd/pkg-descr @@ -1,8 +1,8 @@ -XOSD displays text on your screen, sounds simple right? -The difference is it is unmanaged and shaped, so it appears -transparent. This gives the effect of an On Screen Display, -like your TV/VCR etc.. The package also includes an xmms -plugin, which automatically displays various interesting -things as they change (song name, volume etc...) +XOSD displays text on your screen; sounds simple, right? The difference is +that it is unmanaged and shaped, so it appears transparent. This gives the +effect of an on-screen-display, just like on your TV/VCR, etc. -WWW: http://www.ignavus.net/software.html +The port also includes XMMS plugin, which can automatically display various +interesting things as they change (like song name and volume). + +WWW: http://sourceforge.net/projects/libxosd/ diff --git a/misc/xosd/pkg-plist b/misc/xosd/pkg-plist index f0c868fed306..c07456571f8d 100644 --- a/misc/xosd/pkg-plist +++ b/misc/xosd/pkg-plist @@ -16,5 +16,5 @@ share/aclocal/libxosd.m4 %%DATADIR%%/top-right.png %%DATADIR%%/top.png @dirrm %%DATADIR%% -%%WITH_XMMS%%lib/xmms/General/libxmms_osd.la -%%WITH_XMMS%%lib/xmms/General/libxmms_osd.so +%%XMMS%%lib/xmms/General/libxmms_osd.la +%%XMMS%%lib/xmms/General/libxmms_osd.so |