Date: Thu, 3 Nov 2016 06:00:54 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r425189 - in head/x11/xsel-conrad: . files Message-ID: <201611030600.uA360sJt003800@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Thu Nov 3 06:00:53 2016 New Revision: 425189 URL: https://svnweb.freebsd.org/changeset/ports/425189 Log: x11/xsel-conrad: minor fixes - Plug memory leak [1] - Convert to USES=localbase - Drop unused X11 dependencies - Unsilence install commands - Convert DOCS to target helpers - Reorder some lines PR: 212261 Submitted by: Tobias Kortkamp <t@tobik.me> Obtained from: OpenBSD Ports [1] Approved by: maintainer timeout (2 months) MFH: 2016Q4 Added: head/x11/xsel-conrad/files/ head/x11/xsel-conrad/files/patch-xsel.c (contents, props changed) Modified: head/x11/xsel-conrad/Makefile (contents, props changed) Modified: head/x11/xsel-conrad/Makefile ============================================================================== --- head/x11/xsel-conrad/Makefile Thu Nov 3 04:07:44 2016 (r425188) +++ head/x11/xsel-conrad/Makefile Thu Nov 3 06:00:53 2016 (r425189) @@ -3,6 +3,7 @@ PORTNAME= xsel PORTVERSION= 1.2.0 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= http://www.vergenet.net/~conrad/software/xsel/download/ PKGNAMESUFFIX= -conrad @@ -17,24 +18,21 @@ LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept CONFLICTS_INSTALL= xsel-[0-9]* -USE_XORG= x11 xext xt xproto ice sm -CFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib -lXext -lX11 + +USES= autoreconf localbase +USE_XORG= x11 xt +GNU_CONFIGURE= yes PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz PORTDOCS= ChangeLog README -GNU_CONFIGURE= yes OPTIONS_DEFINE= DOCS -post-patch: - @${REINPLACE_CMD} -e 's|jmp_buf|sigjmp_buf|g' ${WRKSRC}/xsel.c - @${REINPLACE_CMD} -e 's|@X_CFLAGS@|${CFLAGS}|;\ - s|@X_LIBS@|${LDFLAGS}|' ${WRKSRC}/Makefile.in - do-install: - @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ - @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1x ${STAGEDIR}${MAN1PREFIX}/man/man1/${PORTNAME}.1 - @${INSTALL} -d ${STAGEDIR}${DOCSDIR}/ - @cd ${WRKSRC}/&&${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/ + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1x ${STAGEDIR}${MAN1PREFIX}/man/man1/${PORTNAME}.1 + +do-install-DOCS-on: + (cd ${WRKSRC} && ${COPYTREE_SHARE} \ + "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) .include <bsd.port.mk> Added: head/x11/xsel-conrad/files/patch-xsel.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/xsel-conrad/files/patch-xsel.c Thu Nov 3 06:00:53 2016 (r425189) @@ -0,0 +1,62 @@ +$OpenBSD: patch-xsel_c,v 1.2 2014/07/07 08:25:16 sthen Exp $ + +- Format "32" properties use "long", not "int", even on LP64 platforms. +- ensure NUM_TARGETS does not exceed MAX_NUM_TARGETS. +- plug a memory leak in handle_targets() +- sigsetjmp expects a sigjmp_buf type arg, not a jmp_buf type arg + +--- xsel.c.orig 2008-02-12 04:50:18 UTC ++++ xsel.c +@@ -15,6 +15,7 @@ + #include "config.h" + #endif + ++#include <assert.h> + #include <stdio.h> + #include <stdlib.h> + #include <stdarg.h> +@@ -465,7 +466,7 @@ get_timestamp (void) + */ + + /* The jmp_buf to longjmp out of the signal handler */ +-static jmp_buf env_alrm; ++static sigjmp_buf env_alrm; + + /* + * alarm_handler (sig) +@@ -1300,14 +1301,16 @@ handle_targets (Display * display, Windo + Atom selection, Time time, MultTrack * mparent) + { + Atom * targets_cpy; ++ HandleResult r; + + targets_cpy = malloc (sizeof (supported_targets)); + memcpy (targets_cpy, supported_targets, sizeof (supported_targets)); + +- return +- change_property (display, requestor, property, XA_ATOM, 32, ++ r = change_property (display, requestor, property, XA_ATOM, 32, + PropModeReplace, (unsigned char *)targets_cpy, + NUM_TARGETS, selection, time, mparent); ++ free(targets_cpy); ++ return r; + } + + /* +@@ -2078,7 +2081,6 @@ main(int argc, char *argv[]) + + /* Get the NULL atom */ + null_atom = XInternAtom (display, "NULL", False); +- NUM_TARGETS++; + + /* Get the TEXT atom */ + text_atom = XInternAtom (display, "TEXT", False); +@@ -2097,6 +2099,8 @@ main(int argc, char *argv[]) + supported_targets[s++] = XA_STRING; + NUM_TARGETS++; + ++ assert(NUM_TARGETS <= MAX_NUM_TARGETS); ++ + /* Get the COMPOUND_TEXT atom. + * NB. We do not currently serve COMPOUND_TEXT; we can retrieve it but + * do not perform charset conversion.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611030600.uA360sJt003800>