commit:     f7fbfed5e0f9ad844125666159b8e9ec85159c31
Author:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
AuthorDate: Tue Aug  4 13:20:00 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Aug 15 09:29:47 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7fbfed5

gui-wm/hikari: update to version 2.1.1

Closes: https://bugs.gentoo.org/733646
Closes: https://bugs.gentoo.org/730550
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>
Closes: https://github.com/gentoo/gentoo/pull/16999
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 gui-wm/hikari/Manifest                          |   1 +
 gui-wm/hikari/files/hikari-2.1.1-gnu-make.patch | 332 ++++++++++++++++++++++++
 gui-wm/hikari/hikari-2.1.1.ebuild               |  57 ++++
 gui-wm/hikari/metadata.xml                      |   1 +
 4 files changed, 391 insertions(+)

diff --git a/gui-wm/hikari/Manifest b/gui-wm/hikari/Manifest
index 4a0d036c0f8..0da13980b1b 100644
--- a/gui-wm/hikari/Manifest
+++ b/gui-wm/hikari/Manifest
@@ -1,2 +1,3 @@
 DIST hikari-1.2.0.tar.gz 98941 BLAKE2B 
0b882d483143e307d4b173560f335e85b4c5613b75c51c6b70b68df9b4f70f9a009d95cb8eda1c211f4968b5c8600e7113bca5e014cecfb1917db2acae7e6f3d
 SHA512 
2bd0b6032541ca63a2bd12aee9155e9b0d08e4c541ec2f837073f1498ecb39df969f8821fcbd066e44c5ddaf658e4875bea25f344226b7ea97fe008a0db4d328
 DIST hikari-2.0.2.tar.gz 1003593 BLAKE2B 
89a2ec29673e7ac371a7e4f179b3dc398fbacb3daf859a9f1a53cf74aac9dc36ca33f3dc1878360fdae80ef39315a0b06d0988d897c9ce58693404fd3099d6bf
 SHA512 
12e6cf2f1f24a4c0b64e6c035c518bdc5dbfa094a220147c374f599df8b52a4ee4c1f3cdffe1080fe87c665841a6ca018de4a48ec65aaa5b60e9e968087d83d6
+DIST hikari-2.1.1.tar.gz 1012598 BLAKE2B 
189e7bd9271ed5af89f5039288334c16a33c049c504f57e05cfa11b20098650165bb655023d016a14f2b13ed94e819bece088ef8517b9114b80d6a5921000780
 SHA512 
6da547d957cc65ab040647209a865550b0cc2b3d79040fae507591c41e938826861e27034379c21a1b7ce18afa35dbb813e96e661f4bd1232eb932f032271dff

diff --git a/gui-wm/hikari/files/hikari-2.1.1-gnu-make.patch 
b/gui-wm/hikari/files/hikari-2.1.1-gnu-make.patch
new file mode 100644
index 00000000000..4fd6d468d48
--- /dev/null
+++ b/gui-wm/hikari/files/hikari-2.1.1-gnu-make.patch
@@ -0,0 +1,332 @@
+explain steps to guide future me and other patchers
+(1) define common variables on top
+(2) remove conditions for doc and others to define VERSION
+(3) replace all ${*} by $(*)
+(4) replace pkg-config by $(PKG_CONFIG)
+(6) remove .PATH: src
+(5) remove main.c from OBJS because it is in different directory
+    - we will define a separate target for it
+(6) add $(OBJS) target + main.o target and add then to the end
+    of dependencies for hikari
+(7) add main.o to be cleaned-up
+(8) reorder the library orders in the $(CC) steps because gcc
+diff --git a/Makefile b/Makefile
+index cab013a..b72e74c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,22 @@
++TARGET =      hikari
++
++DESTDIR       ?=
++
++prefix ?=     /usr/local
++exec_prefix ?=        $(prefix)
++bindir ?=     $(exec_prefix)/bin
++sysconfdir ?= $(prefix)/etc
++
++PKG_CONFIG ?= pkg-config
++
++VERSION ?=    "CURRENT"
++
++### Upstream variables
++PREFIX ?=     $(DESTDIR)$(prefix)
++ETC_PREFIX ?= $(DESTDIR)$(sysconfdir)
++
+ OS != uname
+-VERSION ?= "CURRENT"
+-PREFIX ?= /usr/local
+-ETC_PREFIX ?= ${PREFIX}
++INSTALL_GROUP != id -gn
+ 
+ OBJS = \
+       action.o \
+@@ -33,7 +48,6 @@ OBJS = \
+       layout_select_mode.o \
+       lock_indicator.o \
+       lock_mode.o \
+-      main.o \
+       mark.o \
+       mark_assign_mode.o \
+       mark_select_mode.o \
+@@ -64,109 +78,124 @@ OBJS = \
+ 
+ WAYLAND_PROTOCOLS != pkg-config --variable pkgdatadir wayland-protocols
+ 
+-.PHONY: distclean clean clean-doc doc dist install uninstall
+-.PATH: src
+-
+ # Allow specification of /extra/ CFLAGS and LDFLAGS
+-CFLAGS += ${CFLAGS_EXTRA}
+-LDFLAGS += ${LDFLAGS_EXTRA}
++CFLAGS += $(CFLAGS_EXTRA)
++LDFLAGS += $(LDFLAGS_EXTRA)
+ 
+-.ifdef DEBUG
++ifeq ($(DEBUG),1)
+ CFLAGS += -g -O0 -fsanitize=address
+-.else
++else
+ CFLAGS += -DNDEBUG
+-.endif
++endif
+ 
+-.ifdef WITH_POSIX_C_SOURCE
++ifeq ($(WITH_POSIX_C_SOURCE),1)
+ CFLAGS += -D_POSIX_C_SOURCE=200809L
+-.endif
++endif
+ 
+-.ifdef WITH_XWAYLAND
++ifeq ($(WITH_XWAYLAND),1)
+ CFLAGS += -DHAVE_XWAYLAND=1
+-.endif
++endif
+ 
+-.ifdef WITH_GAMMACONTROL
++ifeq ($(WITH_GAMMACONTROL),1)
+ CFLAGS += -DHAVE_GAMMACONTROL=1
+-.endif
++endif
+ 
+-.ifdef WITH_SCREENCOPY
++ifeq ($(WITH_SCREENCOPY),1)
+ CFLAGS += -DHAVE_SCREENCOPY=1
+-.endif
++endif
+ 
+-.ifdef WITH_LAYERSHELL
++ifeq ($(WITH_LAYERSHELL),1)
+ CFLAGS += -DHAVE_LAYERSHELL=1
+-.endif
++endif
++
++ifeq ($(WITH_VIRTUAL_INPUT),1)
++CFLAGS += -DHAVE_VIRTUAL_INPUT=1
++endif
+ 
+-.ifdef WITHOUT_SUID
++ifeq ($(WITHOUT_SUID),1)
+ PERMS = 555
+-.else
++else
+ PERMS = 4555
+-.endif
++endif
+ 
+-CFLAGS += -Wall -I. -Iinclude -DHIKARI_ETC_PREFIX=${ETC_PREFIX}
++CFLAGS += -Wall -I. -Iinclude -DHIKARI_ETC_PREFIX=$(ETC_PREFIX)
+ 
+-WLROOTS_CFLAGS != pkg-config --cflags wlroots
+-WLROOTS_LIBS != pkg-config --libs wlroots
++WLROOTS_CFLAGS != $(PKG_CONFIG) --cflags wlroots
++WLROOTS_LIBS != $(PKG_CONFIG) --libs wlroots
+ 
+ WLROOTS_CFLAGS += -DWLR_USE_UNSTABLE=1
+ 
+-PANGO_CFLAGS != pkg-config --cflags pangocairo
+-PANGO_LIBS != pkg-config --libs pangocairo
++PANGO_CFLAGS != $(PKG_CONFIG) --cflags pangocairo
++PANGO_LIBS != $(PKG_CONFIG) --libs pangocairo
+ 
+-CAIRO_CFLAGS != pkg-config --cflags cairo
+-CAIRO_LIBS != pkg-config --libs cairo
++CAIRO_CFLAGS != $(PKG_CONFIG) --cflags cairo
++CAIRO_LIBS != $(PKG_CONFIG) --libs cairo
+ 
+-PIXMAN_CFLAGS != pkg-config --cflags pixman-1
+-PIXMAN_LIBS != pkg-config --libs pixman-1
++PIXMAN_CFLAGS != $(PKG_CONFIG) --cflags pixman-1
++PIXMAN_LIBS != $(PKG_CONFIG) --libs pixman-1
+ 
+-XKBCOMMON_CFLAGS != pkg-config --cflags xkbcommon
+-XKBCOMMON_LIBS != pkg-config --libs xkbcommon
++XKBCOMMON_CFLAGS != $(PKG_CONFIG) --cflags xkbcommon
++XKBCOMMON_LIBS != $(PKG_CONFIG) --libs xkbcommon
+ 
+-WAYLAND_CFLAGS != pkg-config --cflags wayland-server
+-WAYLAND_LIBS != pkg-config --libs wayland-server
++WAYLAND_CFLAGS != $(PKG_CONFIG) --cflags wayland-server
++WAYLAND_LIBS != $(PKG_CONFIG) --libs wayland-server
+ 
+-LIBINPUT_CFLAGS != pkg-config --cflags libinput
+-LIBINPUT_LIBS != pkg-config --libs libinput
++LIBINPUT_CFLAGS != $(PKG_CONFIG) --cflags libinput
++LIBINPUT_LIBS != $(PKG_CONFIG) --libs libinput
+ 
+-UCL_CFLAGS != pkg-config --cflags libucl
+-UCL_LIBS != pkg-config --libs libucl
++UCL_CFLAGS != $(PKG_CONFIG) --cflags libucl
++UCL_LIBS != $(PKG_CONFIG) --libs libucl
+ 
+ CFLAGS += \
+-      ${WLROOTS_CFLAGS} \
+-      ${PANGO_CFLAGS} \
+-      ${CAIRO_CFLAGS} \
+-      ${PIXMAN_CFLAGS} \
+-      ${XKBCOMMON_CFLAGS} \
+-      ${WAYLAND_CFLAGS} \
+-      ${LIBINPUT_CFLAGS} \
+-      ${UCL_CFLAGS}
++      $(WLROOTS_CFLAGS) \
++      $(PANGO_CFLAGS) \
++      $(CAIRO_CFLAGS) \
++      $(PIXMAN_CFLAGS) \
++      $(XKBCOMMON_CFLAGS) \
++      $(WAYLAND_CFLAGS) \
++      $(LIBINPUT_CFLAGS) \
++      $(UCL_CFLAGS)
+ 
+ LIBS = \
+-      ${WLROOTS_LIBS} \
+-      ${PANGO_LIBS} \
+-      ${CAIRO_LIBS} \
+-      ${PIXMAN_LIBS} \
+-      ${XKBCOMMON_LIBS} \
+-      ${WAYLAND_LIBS} \
+-      ${LIBINPUT_LIBS} \
+-      ${UCL_LIBS}
++      $(WLROOTS_LIBS) \
++      $(PANGO_LIBS) \
++      $(CAIRO_LIBS) \
++      $(PIXMAN_LIBS) \
++      $(XKBCOMMON_LIBS) \
++      $(WAYLAND_LIBS) \
++      $(LIBINPUT_LIBS) \
++      $(UCL_LIBS)
+ 
+-all: hikari hikari-unlocker
++.PHONY: distclean clean clean-doc doc dist install uninstall
+ 
+ version.h:
+-      echo "#define HIKARI_VERSION \"${VERSION}\"" >> version.h
++      echo "#define HIKARI_VERSION \"$(VERSION)\"" >> version.h
+ 
+-hikari: version.h xdg-shell-protocol.h wlr-layer-shell-unstable-v1-protocol.h 
${OBJS}
+-      ${CC} ${LDFLAGS} ${CFLAGS} ${INCLUDES} -o ${.TARGET} ${OBJS} ${LIBS}
++$(OBJS): %.o: src/%.c
++      $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@
++
++main.o:
++      $(CC) $(CFLAGS) $(INCLUDES) -c main.c -o main.o
+ 
+ xdg-shell-protocol.h:
+-      wayland-scanner server-header 
${WAYLAND_PROTOCOLS}/stable/xdg-shell/xdg-shell.xml ${.TARGET}
++      wayland-scanner server-header 
$(WAYLAND_PROTOCOLS)/stable/xdg-shell/xdg-shell.xml xdg-shell-protocol.h
+ 
+ wlr-layer-shell-unstable-v1-protocol.h:
+-      wayland-scanner server-header protocol/wlr-layer-shell-unstable-v1.xml 
${.TARGET}
++      wayland-scanner server-header protocol/wlr-layer-shell-unstable-v1.xml 
wlr-layer-shell-unstable-v1-protocol.h
++
++hikari: version.h xdg-shell-protocol.h wlr-layer-shell-unstable-v1-protocol.h 
$(OBJS) main.o
++      $(CC) $(LDFLAGS) $(CFLAGS) $(INCLUDES) $(OBJS) main.o $(LIBS) -o 
$(TARGET)
+ 
+ hikari-unlocker: hikari_unlocker.c
+-      ${CC} ${CFLAGS_EXTRA} ${LDFLAGS_EXTRA} -o hikari-unlocker 
hikari_unlocker.c -lpam
++      $(CC) $(LDFLAGS) $(CFLAGS) $(INCLUDES) hikari_unlocker.c -lpam $(LIBS) 
-o hikari-unlocker
++
++share/man/man1/hikari.1:
++      pandoc -M title:"HIKARI(1) $(VERSION) | hikari - Wayland Compositor" -s 
\
++              --to man -o share/man/man1/hikari.1 share/man/man1/hikari.md
++
++doc: share/man/man1/hikari.1
++
++all: hikari hikari-unlocker
+ 
+ clean-doc:
+       @test -e _darcs && echo "cleaning manpage" ||:
+@@ -178,66 +207,38 @@ clean: clean-doc
+       @rm xdg-shell-protocol.h 2> /dev/null ||:
+       @rm wlr-layer-shell-unstable-v1-protocol.h 2> /dev/null ||:
+       @echo "cleaning object files"
+-      @rm ${OBJS} 2> /dev/null ||:
++      @rm $(OBJS) 2> /dev/null ||:
++      @rm main.o 2> /dev/null ||:
+       @echo "cleaning executables"
+       @rm hikari 2> /dev/null ||:
+       @rm hikari-unlocker 2> /dev/null ||:
+ 
+-share/man/man1/hikari.1:
+-      pandoc -M title:"HIKARI(1) ${VERSION} | hikari - Wayland Compositor" -s 
\
+-              --to man -o share/man/man1/hikari.1 share/man/man1/hikari.md
+-
+-doc: share/man/man1/hikari.1
+-
+-hikari-${VERSION}.tar.gz: version.h share/man/man1/hikari.1
+-      @darcs revert
+-      @tar -s "#^#hikari-${VERSION}/#" -czf hikari-${VERSION}.tar.gz \
+-              version.h \
+-              main.c \
+-              hikari_unlocker.c \
+-              include/hikari/*.h \
+-              src/*.c \
+-              protocol/*.xml \
+-              Makefile \
+-              LICENSE \
+-              README.md \
+-              CHANGELOG.md \
+-              share/man/man1/hikari.md \
+-              share/man/man1/hikari.1 \
+-              share/backgrounds/hikari/hikari_wallpaper.png \
+-              share/wayland-sessions/hikari.desktop \
+-              etc/hikari/hikari.conf \
+-              etc/pam.d/hikari-unlocker.*
+-
+-distclean: clean-doc
+-      @test -e _darcs && echo "cleaning version.h" ||:
+-      @test -e _darcs && rm version.h ||:
+-
+-dist: distclean hikari-${VERSION}.tar.gz
+-
+-install: hikari hikari-unlocker share/man/man1/hikari.1
+-      mkdir -p ${DESTDIR}/${PREFIX}/bin
+-      mkdir -p ${DESTDIR}/${PREFIX}/share/man/man1
+-      mkdir -p ${DESTDIR}/${PREFIX}/share/backgrounds/hikari
+-      mkdir -p ${DESTDIR}/${PREFIX}/share/wayland-sessions
+-      mkdir -p ${DESTDIR}/${ETC_PREFIX}/etc/hikari
+-      mkdir -p ${DESTDIR}/${ETC_PREFIX}/etc/pam.d
+-      sed "s,PREFIX,${PREFIX}," etc/hikari/hikari.conf > 
${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf
+-      chmod 644 ${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf
+-      install -m ${PERMS} hikari ${DESTDIR}/${PREFIX}/bin
+-      install -m 4555 hikari-unlocker ${DESTDIR}/${PREFIX}/bin
+-      install -m 644 share/man/man1/hikari.1 
${DESTDIR}/${PREFIX}/share/man/man1
+-      install -m 644 share/backgrounds/hikari/hikari_wallpaper.png 
${DESTDIR}/${PREFIX}/share/backgrounds/hikari/hikari_wallpaper.png
+-      install -m 644 share/wayland-sessions/hikari.desktop 
${DESTDIR}/${PREFIX}/share/wayland-sessions/hikari.desktop
+-      install -m 644 etc/pam.d/hikari-unlocker.${OS} 
${DESTDIR}/${ETC_PREFIX}/etc/pam.d/hikari-unlocker
++install-doc:
++      install -m 644 share/man/man1/hikari.1 $(PREFIX)/share/man/man1
++
++install:
++      mkdir -p $(PREFIX)/bin
++      mkdir -p $(PREFIX)/share/man/man1
++      mkdir -p $(PREFIX)/share/backgrounds/hikari
++      mkdir -p $(PREFIX)/share/wayland-sessions
++      mkdir -p $(ETC_PREFIX)/etc/hikari
++      mkdir -p $(ETC_PREFIX)/etc/pam.d
++      sed "s,PREFIX,$(prefix)," etc/hikari/hikari.conf > 
$(ETC_PREFIX)/etc/hikari/hikari.conf
++      chmod 644 $(ETC_PREFIX)/etc/hikari/hikari.conf
++      install -m $(PERMS) hikari $(PREFIX)/bin
++      install -m 4555 hikari-unlocker $(PREFIX)/bin
++      install -m 644 share/backgrounds/hikari/hikari_wallpaper.png 
$(PREFIX)/share/backgrounds/hikari/hikari_wallpaper.png
++      install -m 644 share/wayland-sessions/hikari.desktop 
$(PREFIX)/share/wayland-sessions/hikari.desktop
++      install -m 644 etc/pam.d/hikari-unlocker.$(OS) 
$(ETC_PREFIX)/etc/pam.d/hikari-unlocker
+ 
+ uninstall:
+-      -rm ${DESTDIR}/${PREFIX}/bin/hikari
+-      -rm ${DESTDIR}/${PREFIX}/bin/hikari-unlocker
+-      -rm ${DESTDIR}/${PREFIX}/share/man/man1/hikari.1
+-      -rm ${DESTDIR}/${PREFIX}/share/backgrounds/hikari/hikari_wallpaper.png
+-      -rm ${DESTDIR}/${PREFIX}/share/wayland-sessions/hikari.desktop
+-      -rm ${DESTDIR}/${ETC_PREFIX}/etc/pam.d/hikari-unlocker
+-      -rm ${DESTDIR}/${ETC_PREFIX}/etc/hikari/hikari.conf
+-      -rmdir ${DESTDIR}/${ETC_PREFIX}/etc/hikari
+-      -rmdir ${DESTDIR}/${PREFIX}/share/backgrounds/hikari
++      -rm $(PREFIX)/bin/hikari
++      -rm $(PREFIX)/bin/hikari-unlocker
++      -rm $(PREFIX)/share/man/man1/hikari.1
++      -rm $(PREFIX)/share/backgrounds/hikari/hikari_wallpaper.png
++      -rm $(PREFIX)/share/wayland-sessions/hikari.desktop
++      -rm $(ETC_PREFIX)/etc/pam.d/hikari-unlocker
++      -rm $(ETC_PREFIX)/etc/hikari/hikari.conf
++      -rmdir $(ETC_PREFIX)/etc/hikari
++      -rmdir $(PREFIX)/share/backgrounds/hikari
++

diff --git a/gui-wm/hikari/hikari-2.1.1.ebuild 
b/gui-wm/hikari/hikari-2.1.1.ebuild
new file mode 100644
index 00000000000..b8ef028dff7
--- /dev/null
+++ b/gui-wm/hikari/hikari-2.1.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Wayland compositor inspired by CWM"
+HOMEPAGE="https://hikari.acmelabs.space/";
+SRC_URI="https://hikari.acmelabs.space/releases/${P}.tar.gz";
+KEYWORDS="~amd64 ~x86"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="gamma layershell screencopy suid virtual-io +X"
+
+DEPEND="
+       dev-libs/libinput:=
+       dev-libs/libucl
+       >=gui-libs/wlroots-0.11.0
+       media-libs/libglvnd
+       x11-libs/cairo[X?,svg]
+       x11-libs/libxkbcommon[X?]
+       x11-libs/pango[X?]
+       x11-libs/pixman
+       sys-libs/pam
+"
+
+RDEPEND="
+       ${DEPEND}
+       x11-misc/xkeyboard-config
+"
+
+BDEPEND="
+       dev-libs/wayland-protocols
+       virtual/pkgconfig
+"
+
+# keep this as others OS's are using this as reference
+PATCHES=(
+       "${FILESDIR}/${P}-gnu-make.patch"
+)
+
+src_compile() {
+       emake VERSION="{PV}" \
+                 WITH_POSIX_C_SOURCE=1 \
+                 WITH_GAMMACONTROL=$(usex gamma 1 0) \
+                 WITH_LAYERSHELL=$(usex layershell 1 0) \
+                 WITH_SCREENCOPY=$(usex screencopy 1 0) \
+                 WITH_SUID=$(usex suid 1 0) \
+                 WITH_VIRTUAL_INPUT=$(usex virtual-io 1 0) \
+                 WITH_XWAYLAND=$(usex X 1 0) \
+                 all
+}
+
+src_install() {
+       emake PREFIX="${D}/usr" ETC_PREFIX="${D}" prefix="${SYSROOT}/usr" 
install install-doc
+       doman share/man/man1/hikari.1
+}

diff --git a/gui-wm/hikari/metadata.xml b/gui-wm/hikari/metadata.xml
index c932df87cce..369ad100778 100644
--- a/gui-wm/hikari/metadata.xml
+++ b/gui-wm/hikari/metadata.xml
@@ -20,5 +20,6 @@
         <flag name="layershell">add support for wayland apps using layer 
shell</flag>
         <flag name="screencopy">add support for screen grabbing</flag>
         <flag name="man">build and install man pages</flag>
+        <flag name="virtual-io">enable virtual input/output support, needed 
for remote I/O in VNC</flag>
     </use>
 </pkgmetadata>

Reply via email to