From 184cf325c1c430b0e9ea23c6976ddad750fe29d3 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Fri, 13 Sep 2019 11:43:07 +0200 Subject: unclutter-xfixes: new package Add a recipe for unclutter-xfixes - a rewrite of the popular tool unclutter using the x11-xfixes extension. Included is a patch adding autotools support (instead of a hand-coded Makefile) that's already been submitted upstream. Signed-off-by: Bartosz Golaszewski Signed-off-by: Khem Raj --- .../0001-build-use-autotools.patch | 238 +++++++++++++++++++++ .../unclutter-xfixes/unclutter-xfixes_1.5.bb | 23 ++ 2 files changed, 261 insertions(+) create mode 100644 meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch create mode 100644 meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb (limited to 'meta-oe/recipes-graphics/unclutter-xfixes') diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch new file mode 100644 index 0000000000..25771168ce --- /dev/null +++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch @@ -0,0 +1,238 @@ +From 2a5cf5021b56bc92c9953d2c82e8c90502d22c97 Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Fri, 13 Sep 2019 10:20:53 +0200 +Subject: [PATCH] build: use autotools + +This removes the hand-crafted Makefile in favor of standardized autotools +build configuration. This is done to allow for easy cross-compilation of +this project. + +Upstream-Status: Submitted + +Signed-off-by: Bartosz Golaszewski +--- + .gitignore | 17 ++++++++++++ + Makefile | 66 --------------------------------------------- + Makefile.am | 10 +++++++ + configure.ac | 36 +++++++++++++++++++++++++ + include/Makefile.am | 9 +++++++ + man/Makefile.am | 7 +++++ + obj/.gitkeep | 0 + src/Makefile.am | 13 +++++++++ + 8 files changed, 92 insertions(+), 66 deletions(-) + delete mode 100644 Makefile + create mode 100644 Makefile.am + create mode 100644 configure.ac + create mode 100644 include/Makefile.am + create mode 100644 man/Makefile.am + delete mode 100644 obj/.gitkeep + create mode 100644 src/Makefile.am + +diff --git a/.gitignore b/.gitignore +index af88e94..4e7355a 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -3,3 +3,20 @@ obj/*.o + man/*.1 + man/*.xml + test/GLOB* ++*.o ++ ++# autotools stuff ++.deps/ ++Makefile ++Makefile.in ++aclocal.m4 ++autom4te.cache/ ++autostuff/ ++config.h ++config.h.in ++config.h.in~ ++config.log ++config.status ++configure ++m4/ ++stamp-h1 +diff --git a/Makefile b/Makefile +deleted file mode 100644 +index 6264da0..0000000 +--- a/Makefile ++++ /dev/null +@@ -1,66 +0,0 @@ +-TARGET = unclutter +-VERSION = 1.5 +-SDIR = src +-IDIR = include +-ODIR = obj +- +-INSTALL = install +-PREFIX = /usr +- +-BINDIR = $(PREFIX)/bin +-MANDIR = $(PREFIX)/share/man/man1 +-LICENSEDIR = $(PREFIX)/share/licenses/$(TARGET) +- +-CC = gcc +-LD = $(CC) +-PKG_CONFIG = pkg-config +- +-CPPFLAGS += -D'__VERSION="${VERSION}"' "-I$(IDIR)" +- +-CFLAGS += -std=gnu99 +-CFLAGS += -Wall -Wundef -Wshadow -Wformat-security +- +-LDFLAGS += $(shell $(PKG_CONFIG) --libs x11 xi xfixes) +-# libev has no pkg-config support +-LDFLAGS += -lev +- +-INCS = $(wildcard $(IDIR)/*.h) +-SRCS = $(wildcard $(SDIR)/*.c) +-OBJS = $(patsubst %,$(ODIR)/%,$(notdir $(SRCS:.c=.o))) +- +-MANS = man/unclutter-xfixes.1 +- +-.NOTPARALLEL: +- +-.PHONY: all +-all: clean $(TARGET) mans +- +-.PHONY: $(TARGET) +-$(TARGET): $(OBJS) +- $(LD) $(OBJS) $(LDFLAGS) -o "$(TARGET)" +- +-$(ODIR)/%.o: $(SDIR)/%.c $(INCS) +- $(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<" +- +-.PHONY: install +-install: $(TARGET) mans +- $(INSTALL) -Dm 0755 "$(TARGET)" "$(DESTDIR)$(BINDIR)/$(TARGET)" +- $(INSTALL) -Dm 0644 man/unclutter-xfixes.1 "$(DESTDIR)$(MANDIR)/unclutter.1" +- $(INSTALL) -Dm 0644 -t "$(DESTDIR)$(LICENSEDIR)/" LICENSE +- +-.PHONY: uninstall +-uninstall: +- $(RM) "$(DESTDIR)$(BINDIR)/$(TARGET)" +- $(RM) "$(DESTDIR)$(MANDIR)/unclutter.1" +- $(RM) "$(DESTDIR)$(LICENSEDIR)/LICENSE" +- +-.PHONY: mans +-mans: $(MANS) +- +-$(MANS): %.1: %.man +- a2x --no-xmllint -f manpage "$<" +- +-.PHONY: clean +-clean: +- $(RM) $(TARGET) $(OBJS) +- $(RM) man/*.1 man/*.xml +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 0000000..38ecaa1 +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,10 @@ ++ACLOCAL_AMFLAGS = -I m4 ++AUTOMAKE_OPTIONS = foreign ++SUBDIRS = include src ++ ++if HAS_A2X ++SUBDIRS += man ++endif ++ ++licensedir = $(datadir)/licenses/unclutter ++license_DATA = LICENSE +diff --git a/configure.ac b/configure.ac +new file mode 100644 +index 0000000..1d59197 +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,36 @@ ++AC_PREREQ(2.61) ++ ++AC_INIT([unclutter-xfixes], 1.6) ++AC_DEFINE_UNQUOTED([VERSION], ["$PACKAGE_VERSION"]) ++ ++AC_CONFIG_AUX_DIR([autostuff]) ++AC_CONFIG_MACRO_DIRS([m4]) ++AM_INIT_AUTOMAKE([foreign subdir-objects]) ++ ++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) ++ ++AC_CONFIG_SRCDIR([src]) ++AC_CONFIG_HEADER([config.h]) ++ ++AM_PROG_AR ++AC_PROG_CC ++AC_PROG_INSTALL ++ ++# libev has no pkg-config support ++AC_CHECK_HEADERS([ev.h], [], [AC_MSG_ERROR([ev.h not found - please install libev])]) ++ ++PKG_CHECK_MODULES([X11], [x11 xi xfixes]) ++ ++AC_CHECK_PROG([has_a2x], [a2x], [true], [false]) ++AM_CONDITIONAL([HAS_A2X], [test "x$has_a2x" = xtrue]) ++if test "x$has_a2x" = xfalse ++then ++ AC_MSG_NOTICE([a2x not found - needed to generate man pages]) ++fi ++ ++AC_CONFIG_FILES([Makefile ++ include/Makefile ++ src/Makefile ++ man/Makefile]) ++ ++AC_OUTPUT +diff --git a/include/Makefile.am b/include/Makefile.am +new file mode 100644 +index 0000000..90d8bbc +--- /dev/null ++++ b/include/Makefile.am +@@ -0,0 +1,9 @@ ++noinst_HEADERS = \ ++ all.h \ ++ cursor.h \ ++ event.h \ ++ extensions.h \ ++ externals.h \ ++ globals.h \ ++ types.h \ ++ util.h +diff --git a/man/Makefile.am b/man/Makefile.am +new file mode 100644 +index 0000000..7856e6a +--- /dev/null ++++ b/man/Makefile.am +@@ -0,0 +1,7 @@ ++unclutter-xfixes.1: ++ a2x --no-xmllint -f manpage unclutter-xfixes.man ++ ++dist_man1_MANS = unclutter-xfixes.1 ++ ++clean-local: ++ rm -f unclutter-xfixes.1 +diff --git a/obj/.gitkeep b/obj/.gitkeep +deleted file mode 100644 +index e69de29..0000000 +diff --git a/src/Makefile.am b/src/Makefile.am +new file mode 100644 +index 0000000..c7f0729 +--- /dev/null ++++ b/src/Makefile.am +@@ -0,0 +1,13 @@ ++AM_CFLAGS = -D'__VERSION="${VERSION}"' "-I$(top_srcdir)/include" ++AM_CFLAGS += -std=gnu99 -Wall -Wundef -Wshadow -Wformat-security ++AM_CFLAGS += $(X11_CFLAGS) ++AM_LDFLAGS = -lev $(X11_LIBS) ++ ++bin_PROGRAMS = unclutter ++ ++unclutter_SOURCES = \ ++ cursor.c \ ++ event.c \ ++ extensions.c \ ++ unclutter.c \ ++ util.c +-- +2.21.0 + diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb new file mode 100644 index 0000000000..a566bc18a3 --- /dev/null +++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb @@ -0,0 +1,23 @@ +SUMMARY = "Remove idle cursor image from screen." +DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension." +AUTHOR = "Ingo Bürk" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d" + +SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git \ + file://0001-build-use-autotools.patch" +SRCREV = "10fd337bb77e4e93c3380f630a0555372778a948" + +inherit autotools pkgconfig distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" + +DEPENDS = "libev libx11 libxi libxfixes" + +S = "${WORKDIR}/git" + +do_install_append() { + # LICENSE is installed to /usr/share/licenses but we don't want it in the package + rm -rf ${D}${datadir} +} -- cgit 1.2.3-korg