From 135b0d48ea8548c420cd13df2aabc21740f40846 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sat, 12 Oct 2019 10:56:44 +0000 Subject: [PATCH] x11-wm/compton: update to 7.4 - Switch to new upstream - Drop redundant option descriptions - Drop redundant DOCS dependencies - Connect tests to the framework - Respect PREFIX != LOCALBASE for compton.conf PR: 241216 Approved by: maintainer timeout (2 weeks) --- x11-wm/compton/Makefile | 87 ++++++++++--------- x11-wm/compton/distinfo | 4 +- x11-wm/compton/files/patch-Makefile | 47 ---------- x11-wm/compton/files/patch-src_c2.h | 15 ---- x11-wm/compton/files/patch-src_log.c | 21 +++++ x11-wm/compton/files/patch-src_x.c | 17 ++++ .../files/patch-subprojects_test.h_test.h | 48 ++++++++++ x11-wm/compton/pkg-plist | 1 + 8 files changed, 136 insertions(+), 104 deletions(-) delete mode 100644 x11-wm/compton/files/patch-Makefile delete mode 100644 x11-wm/compton/files/patch-src_c2.h create mode 100644 x11-wm/compton/files/patch-src_log.c create mode 100644 x11-wm/compton/files/patch-src_x.c create mode 100644 x11-wm/compton/files/patch-subprojects_test.h_test.h diff --git a/x11-wm/compton/Makefile b/x11-wm/compton/Makefile index e2e3b710d883..e40a9f28aeda 100644 --- a/x11-wm/compton/Makefile +++ b/x11-wm/compton/Makefile @@ -1,68 +1,75 @@ # $FreeBSD$ PORTNAME= compton -PORTVERSION= 20160907 -PORTREVISION= 4 +DISTVERSIONPREFIX= v +DISTVERSION= 7.4 +PORTEPOCH= 1 CATEGORIES= x11-wm -MAINTAINER= femc7488@gmail.com +MAINTAINER= jbeich@FreeBSD.org COMMENT= Feature-rich compositing window manager for X11 -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE= MIT MPL20 +LICENSE_COMB= multi +LICENSE_FILE_MIT= ${WRKSRC}/LICENSES/MIT +BUILD_DEPENDS= ${LOCALBASE}/include/uthash.h:devel/uthash +LIB_DEPENDS= libev.so:devel/libev \ + libxcb-image.so:x11/xcb-util-image \ + libxcb-render-util.so:x11/xcb-util-renderutil RUN_DEPENDS= xprop:x11/xprop \ xwininfo:x11/xwininfo +USES= compiler:c11 meson localbase pkgconfig python:3.4+,run shebangfix USE_GITHUB= yes -GH_ACCOUNT= chjj -GH_TAGNAME= b7f43ee +USE_XORG= x11 xcb xext pixman +GH_ACCOUNT= yshui +SHEBANG_FILES= bin/compton-convgen.py -USES= gmake pkgconfig -USE_XORG= x11 xcomposite xdamage xext xfixes xrandr xrender +OPTIONS_DEFINE= CONFIG DBUS DOCS DRM OPENGL PCRE TEST +OPTIONS_DEFAULT=CONFIG DBUS DRM OPENGL PCRE -MAKE_ARGS= COMPTON_VERSION=git-${PORTVERSION}-${GH_TAGNAME} \ - XDGDIR=${LOCALBASE}/etc/xdg -ALL_TARGET= ${PORTNAME} - -OPTIONS_DEFINE= CONFIG PCRE DRM OPENGL DBUS XINERAMA DOCS -OPTIONS_DEFAULT= CONFIG PCRE DRM OPENGL DBUS XINERAMA - -CONFIG_DESC= Configuration file parsing support -PCRE_DESC= Blacklist support (via libpcre) -DRM_DESC= DRM VSync method support -OPENGL_DESC= GLX backend, OpenGL VSync method, etc. -DOCS_DESC= Build manpages (requires AsciiDoc/DocBook) - -CONFIG_LIB_DEPENDS= libconfig.so:devel/libconfig -CONFIG_MAKE_ARGS_OFF= NO_LIBCONFIG=yes +CONFIG_DESC= Configuration file parsing support +CONFIG_LIB_DEPENDS= libconfig.so:devel/libconfig \ + libxdg-basedir.so:x11/libxdg-basedir +CONFIG_MESON_TRUE= config_file PCRE_LIB_DEPENDS= libpcre.so:devel/pcre -PCRE_MAKE_ARGS_OFF= NO_REGEX_PCRE=yes +PCRE_MESON_TRUE= regex +DRM_DESC= DRM VSync method support DRM_LIB_DEPENDS= libdrm.so:graphics/libdrm -DRM_MAKE_ARGS_OFF= NO_VSYNC_DRM=yes +DRM_MESON_TRUE= vsync_drm OPENGL_USE= GL=gl -OPENGL_MAKE_ARGS_OFF= NO_VSYNC_OPENGL=yes +OPENGL_MESON_TRUE= opengl DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus -DBUS_MAKE_ARGS_OFF= NO_DBUS=yes +DBUS_MESON_TRUE= dbus -XINERAMA_USE= XORG=xinerama -XINERAMA_MAKE_ARGS_OFF= NO_XINERAMA=yes +DOCS_BUILD_DEPENDS= a2x:textproc/asciidoc +DOCS_MESON_TRUE= build_docs +DOCS_PLIST_FILES= man/man1/${PORTNAME}.1.gz \ + man/man1/${PORTNAME}-trans.1.gz -DOCS_BUILD_DEPENDS= a2x:textproc/asciidoc \ - xsltproc:textproc/libxslt \ - docbook-xml>0:textproc/docbook-xml \ - ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl -DOCS_MAKE_ARGS= DOCDIR=${DOCSDIR} MANDIR=${MANPREFIX}/man/man1 -DOCS_ALL_TARGET= docs -DOCS_PLIST_FILES= man/man1/compton.1.gz man/man1/compton-trans.1.gz -DOCS_PORTDOCS= README.md cdbus-driver.sh +TEST_MESON_TRUE= unittest +TEST_TEST_TARGET= test post-patch: - @${REINPLACE_CMD} -e '/config_system_dir/s|/etc|${LOCALBASE}&|' \ - ${WRKSRC}/src/compton.c + @${REINPLACE_CMD} -e '/install_dir/s,share/man,man,' \ + ${WRKSRC}/man/meson.build + @${REINPLACE_CMD} -e '/config_system_dir/s,/etc,${PREFIX}&,' \ + ${WRKSRC}/src/config_libconfig.c +# Extract (snapshot) version from the port instead of meson.build + @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \ + -e "/project_version/s/=.*/= '${DISTVERSIONFULL}'/" \ + ${WRKSRC}/meson.build + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg + ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.sample.conf \ + ${STAGEDIR}${PREFIX}/etc/xdg/${PORTNAME}.conf.sample + +pre-install-TEST-on: do-test .include diff --git a/x11-wm/compton/distinfo b/x11-wm/compton/distinfo index de04afd1ce64..3976d4b99498 100644 --- a/x11-wm/compton/distinfo +++ b/x11-wm/compton/distinfo @@ -1,3 +1,3 @@ TIMESTAMP = 1473236624 -SHA256 (chjj-compton-20160907-b7f43ee_GH0.tar.gz) = b03a26effb26763a9a3cb48b2bef849719ab5597493e4d599053c93c33f7c358 -SIZE (chjj-compton-20160907-b7f43ee_GH0.tar.gz) = 163233 +SHA256 (yshui-compton-v7.4_GH0.tar.gz) = 1911aebb49f765586f655933ee016828e126bc7b2bb016b13c9a34a4865a8fd3 +SIZE (yshui-compton-v7.4_GH0.tar.gz) = 218899 diff --git a/x11-wm/compton/files/patch-Makefile b/x11-wm/compton/files/patch-Makefile deleted file mode 100644 index 4be2c90fe1d3..000000000000 --- a/x11-wm/compton/files/patch-Makefile +++ /dev/null @@ -1,47 +0,0 @@ ---- Makefile.orig 2016-09-07 08:23:44 UTC -+++ Makefile -@@ -143,29 +143,31 @@ compton: $(OBJS) - $(CC) $(CFG) $(CPPFLAGS) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJS) $(LIBS) - - man/%.1: man/%.1.asciidoc -- a2x --format manpage $< -+ a2x -v --format manpage $< - - man/%.1.html: man/%.1.asciidoc - asciidoc $< - - docs: $(MANPAGES) $(MANPAGES_HTML) - --install: $(BINS) docs -- @install -d "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(MANDIR)" "$(DESTDIR)$(APPDIR)" -- @install -m755 $(BINS) "$(DESTDIR)$(BINDIR)"/ --ifneq "$(MANPAGES)" "" -- @install -m644 $(MANPAGES) "$(DESTDIR)$(MANDIR)"/ --endif -+install: $(BINS) -+ @install -d "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(APPDIR)" "$(DESTDIR)$(XDGDIR)" -+ install -m755 $(filter-out compton,$(BINS)) "$(DESTDIR)$(BINDIR)"/ -+ $(BSD_INSTALL_PROGRAM) compton "$(DESTDIR)$(BINDIR)"/ - @install -d \ - "$(DESTDIR)$(ICODIR)/scalable/apps" \ - "$(DESTDIR)$(ICODIR)/48x48/apps" -- @install -m644 media/compton.svg "$(DESTDIR)$(ICODIR)/scalable/apps"/ -- @install -m644 media/icons/48x48/compton.png "$(DESTDIR)$(ICODIR)/48x48/apps"/ -- @install -m644 compton.desktop "$(DESTDIR)$(APPDIR)"/ -+ install -m644 media/compton.svg "$(DESTDIR)$(ICODIR)/scalable/apps"/ -+ install -m644 media/icons/48x48/compton.png "$(DESTDIR)$(ICODIR)/48x48/apps"/ -+ install -m644 compton.desktop "$(DESTDIR)$(APPDIR)"/ -+ install -m644 compton.sample.conf "$(DESTDIR)$(XDGDIR)"/compton.conf.sample - ifneq "$(DOCDIR)" "" -- @install -d "$(DESTDIR)$(DOCDIR)" -- @install -m644 README.md compton.sample.conf "$(DESTDIR)$(DOCDIR)"/ -- @install -m755 dbus-examples/cdbus-driver.sh "$(DESTDIR)$(DOCDIR)"/ -+ @install -d "$(DESTDIR)$(DOCDIR)" "$(DESTDIR)$(MANDIR)" -+ifneq "$(MANPAGES)" "" -+ install -m644 $(MANPAGES) "$(DESTDIR)$(MANDIR)"/ -+endif -+ install -m644 README.md "$(DESTDIR)$(DOCDIR)"/ -+ install -m755 dbus-examples/cdbus-driver.sh "$(DESTDIR)$(DOCDIR)"/ - endif - - uninstall: diff --git a/x11-wm/compton/files/patch-src_c2.h b/x11-wm/compton/files/patch-src_c2.h deleted file mode 100644 index 60babf307e30..000000000000 --- a/x11-wm/compton/files/patch-src_c2.h +++ /dev/null @@ -1,15 +0,0 @@ ---- src/c2.h.orig 2016-09-07 08:23:44 UTC -+++ src/c2.h -@@ -35,10 +35,8 @@ typedef struct _c2_l c2_l_t; - /// Pointer to a condition tree. - typedef struct { - bool isbranch : 1; -- union { -- c2_b_t *b; -- c2_l_t *l; -- }; -+ c2_b_t *b; -+ c2_l_t *l; - } c2_ptr_t; - - /// Initializer for c2_ptr_t. diff --git a/x11-wm/compton/files/patch-src_log.c b/x11-wm/compton/files/patch-src_log.c new file mode 100644 index 000000000000..5b404e735aa8 --- /dev/null +++ b/x11-wm/compton/files/patch-src_log.c @@ -0,0 +1,21 @@ +Drop after FreeBSD 11 EOL + +../src/log.c:162:20: error: use of undeclared identifier 'TIME_UTC' + timespec_get(&ts, TIME_UTC); + ^ +log.c:(.text+0x1db): undefined reference to `timespec_get' + +--- src/log.c.orig 2019-09-21 00:08:00 UTC ++++ src/log.c +@@ -159,7 +159,11 @@ attr_printf(4, 5) void log_printf(struct log *l, int l + } + + struct timespec ts; ++#ifdef TIME_UTC + timespec_get(&ts, TIME_UTC); ++#else ++ clock_gettime(CLOCK_REALTIME, &ts); ++#endif + auto tm = localtime(&ts.tv_sec); + char time_buf[100]; + strftime(time_buf, sizeof time_buf, "%x %T", tm); diff --git a/x11-wm/compton/files/patch-src_x.c b/x11-wm/compton/files/patch-src_x.c new file mode 100644 index 000000000000..1c5fe2d9ea1e --- /dev/null +++ b/x11-wm/compton/files/patch-src_x.c @@ -0,0 +1,17 @@ +In file included from ../src/x.c:17: +../src/backend/gl/glx.h:10:10: fatal error: 'GL/glx.h' file not found +#include + ^~~~~~~~~~ + +--- src/x.c.orig 2019-09-21 00:08:00 UTC ++++ src/x.c +@@ -14,7 +14,9 @@ + #include + + #include "atom.h" ++#ifdef CONFIG_OPENGL + #include "backend/gl/glx.h" ++#endif + #include "common.h" + #include "compiler.h" + #include "kernel.h" diff --git a/x11-wm/compton/files/patch-subprojects_test.h_test.h b/x11-wm/compton/files/patch-subprojects_test.h_test.h new file mode 100644 index 000000000000..6dafb287b312 --- /dev/null +++ b/x11-wm/compton/files/patch-subprojects_test.h_test.h @@ -0,0 +1,48 @@ +https://github.com/yshui/test.h/pull/1 + +--- subprojects/test.h/test.h.orig 2019-09-21 00:08:00 UTC ++++ subprojects/test.h/test.h +@@ -8,6 +8,11 @@ + #include + #include + ++#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) ++#include ++#include // getpid ++#endif ++ + struct test_file_metadata; + + struct test_failure { +@@ -91,11 +96,31 @@ extern void __attribute__((weak)) (*test_h_unittest_se + /// @param[out] tests_run if not NULL, set to whether tests were run + static inline void __attribute__((constructor(102))) run_tests(void) { + bool should_run = false; ++#ifdef KERN_PROC_ARGS ++ int mib[] = { ++ CTL_KERN, ++#if defined(__NetBSD__) || defined(__OpenBSD__) ++ KERN_PROC_ARGS, ++ getpid(), ++ KERN_PROC_ARGV, ++#else ++ KERN_PROC, ++ KERN_PROC_ARGS, ++ getpid(), ++#endif ++ }; ++ char *arg = NULL; ++ size_t arglen; ++ sysctl(mib, sizeof(mib)/sizeof(mib[0]), NULL, &arglen, NULL, 0); ++ arg = malloc(arglen); ++ sysctl(mib, sizeof(mib)/sizeof(mib[0]), arg, &arglen, NULL, 0); ++#else + FILE *cmdlinef = fopen("/proc/self/cmdline", "r"); + char *arg = NULL; + int arglen; + fscanf(cmdlinef, "%ms%n", &arg, &arglen); + fclose(cmdlinef); ++#endif + for (char *pos = arg; pos < arg + arglen; pos += strlen(pos) + 1) { + if (strcmp(pos, "--unittest") == 0) { + should_run = true; diff --git a/x11-wm/compton/pkg-plist b/x11-wm/compton/pkg-plist index 2b7b8c0c2a53..bfbd4994f2fe 100644 --- a/x11-wm/compton/pkg-plist +++ b/x11-wm/compton/pkg-plist @@ -1,4 +1,5 @@ bin/compton +bin/compton-convgen.py bin/compton-trans @sample etc/xdg/compton.conf.sample share/applications/compton.desktop