summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gui-wm/hikari')
-rw-r--r--gui-wm/hikari/Manifest1
-rw-r--r--gui-wm/hikari/files/hikari-2.0.1-gnu-make.patch327
-rw-r--r--gui-wm/hikari/hikari-2.0.1.ebuild63
-rw-r--r--gui-wm/hikari/metadata.xml1
4 files changed, 392 insertions, 0 deletions
diff --git a/gui-wm/hikari/Manifest b/gui-wm/hikari/Manifest
index 3feb987dd9e..2ef76be3063 100644
--- a/gui-wm/hikari/Manifest
+++ b/gui-wm/hikari/Manifest
@@ -1 +1,2 @@
DIST hikari-1.2.0.tar.gz 98941 BLAKE2B 0b882d483143e307d4b173560f335e85b4c5613b75c51c6b70b68df9b4f70f9a009d95cb8eda1c211f4968b5c8600e7113bca5e014cecfb1917db2acae7e6f3d SHA512 2bd0b6032541ca63a2bd12aee9155e9b0d08e4c541ec2f837073f1498ecb39df969f8821fcbd066e44c5ddaf658e4875bea25f344226b7ea97fe008a0db4d328
+DIST hikari-2.0.1.tar.gz 1003467 BLAKE2B 8a299fe1d85fac5df04f2475295250d78706c5da9c14a965ff8c7c91af36eaf5711675dc07c43c83974411719b88d483eee24ebd24a87eb1b3280a89b521a19e SHA512 18f8f46ae38fa307b63c44011da084ee0ec4a0925ff8ea3677fda9171bfd25b42853719cea812aabee2d377e6208ddcaf69692e1fb0655110f8d1905d1be00e8
diff --git a/gui-wm/hikari/files/hikari-2.0.1-gnu-make.patch b/gui-wm/hikari/files/hikari-2.0.1-gnu-make.patch
new file mode 100644
index 00000000000..0f5a67a6242
--- /dev/null
+++ b/gui-wm/hikari/files/hikari-2.0.1-gnu-make.patch
@@ -0,0 +1,327 @@
+diff --git a/Makefile b/Makefile
+index 0f104d0..39d6972 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 \
+@@ -29,7 +44,6 @@ OBJS = \
+ layout.o \
+ layout_config.o \
+ layout_select_mode.o \
+- main.o \
+ mark.o \
+ mark_assign_mode.o \
+ mark_select_mode.o \
+@@ -56,116 +70,127 @@ OBJS = \
+ xwayland_unmanaged_view.o \
+ xwayland_view.o
+
+-WAYLAND_PROTOCOLS != pkg-config --variable pkgdatadir wayland-protocols
+-
+-.PHONY: distclean clean clean-doc doc dist install uninstall
+-.PATH: src
++WAYLAND_PROTOCOLS != $(PKG_CONFIG) --variable pkgdatadir wayland-protocols
+
+ # Allow specification of /extra/ CFLAGS and LDFLAGS
+-CFLAGS += ${CFLAGS_EXTRA}
+-LDFLAGS += ${LDFLAGS_EXTRA}
++CFLAGS += $(CFLAGS_EXTRA)
++LDFLAGS += $(LDFLAGS_EXTRA)
+
+-.ifdef DEBUG
++ifdef DEBUG
+ CFLAGS += -g -O0 -fsanitize=address
+-.else
++else
+ CFLAGS += -DNDEBUG
+-.endif
++endif
+
+-.ifdef WITH_POSIX_C_SOURCE
++ifdef WITH_POSIX_C_SOURCE
+ CFLAGS += -D_POSIX_C_SOURCE=200809L
+-.endif
++endif
+
+-.ifdef WITH_XWAYLAND
++ifdef WITH_XWAYLAND
+ CFLAGS += -DHAVE_XWAYLAND=1
+-.endif
++endif
+
+-.ifdef WITH_GAMMACONTROL
++ifdef WITH_GAMMACONTROL
+ CFLAGS += -DHAVE_GAMMACONTROL=1
+-.endif
++endif
+
+-.ifdef WITH_SCREENCOPY
++ifdef WITH_SCREENCOPY
+ CFLAGS += -DHAVE_SCREENCOPY=1
+-.endif
++endif
+
+-.ifdef WITH_LAYERSHELL
++ifdef WITH_LAYERSHELL
+ CFLAGS += -DHAVE_LAYERSHELL=1
+-.endif
++endif
+
+-.ifdef WITHOUT_SUID
++ifdef WITHOUT_SUID
+ 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
+
+-GLIB_CFLAGS != pkg-config --cflags glib-2.0
+-GLIB_LIBS != pkg-config --libs glib-2.0
++GLIB_CFLAGS != $(PKG_CONFIG) --cflags glib-2.0
++GLIB_LIBS != $(PKG_CONFIG) --libs glib-2.0
+
+-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} \
+- ${GLIB_CFLAGS} \
+- ${PIXMAN_CFLAGS} \
+- ${XKBCOMMON_CFLAGS} \
+- ${WAYLAND_CFLAGS} \
+- ${LIBINPUT_CFLAGS} \
+- ${UCL_CFLAGS}
++ $(WLROOTS_CFLAGS) \
++ $(PANGO_CFLAGS) \
++ $(CAIRO_CFLAGS) \
++ $(GLIB_CFLAGS) \
++ $(PIXMAN_CFLAGS) \
++ $(XKBCOMMON_CFLAGS) \
++ $(WAYLAND_CFLAGS) \
++ $(LIBINPUT_CFLAGS) \
++ $(UCL_CFLAGS)
+
+ LIBS = \
+- ${WLROOTS_LIBS} \
+- ${PANGO_LIBS} \
+- ${CAIRO_LIBS} \
+- ${GLIB_LIBS} \
+- ${PIXMAN_LIBS} \
+- ${XKBCOMMON_LIBS} \
+- ${WAYLAND_LIBS} \
+- ${LIBINPUT_LIBS} \
+- ${UCL_LIBS}
++ $(WLROOTS_LIBS) \
++ $(PANGO_LIBS) \
++ $(CAIRO_LIBS) \
++ $(GLIB_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" ||:
+@@ -177,66 +202,37 @@ 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.0.1.ebuild b/gui-wm/hikari/hikari-2.0.1.ebuild
new file mode 100644
index 00000000000..58e416a60cc
--- /dev/null
+++ b/gui-wm/hikari/hikari-2.0.1.ebuild
@@ -0,0 +1,63 @@
+# 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 +man screencopy +X"
+
+DEPEND="
+ dev-libs/glib
+ dev-libs/libinput:=
+ dev-libs/libucl
+ gui-libs/wlroots
+ media-libs/libglvnd
+ x11-libs/cairo:=[X,svg]
+ x11-libs/pango:=[X]
+ x11-libs/pixman
+ x11-libs/libxkbcommon:=[X]
+ sys-libs/pam
+"
+
+RDEPEND="
+ ${DEPEND}
+ x11-misc/xkeyboard-config
+"
+
+BDEPEND="
+ ${DEPEND}
+ virtual/pkgconfig
+ dev-libs/wayland-protocols
+ man? ( app-text/pandoc )
+"
+
+# 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_XWAYLAND=$(usex X 1 0) \
+ all
+ if use man; then
+ emake doc
+ fi
+}
+
+src_install() {
+ emake PREFIX="${D}/usr" ETC_PREFIX="${D}/etc" install
+ if use man; then
+ emake PREFIX="${D}/usr" ETC_PREFIX="${D}/etc" install-doc
+ fi
+}
diff --git a/gui-wm/hikari/metadata.xml b/gui-wm/hikari/metadata.xml
index 9b1823604ed..c932df87cce 100644
--- a/gui-wm/hikari/metadata.xml
+++ b/gui-wm/hikari/metadata.xml
@@ -19,5 +19,6 @@
<flag name="gamma">add gamma control for redshift</flag>
<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>
</use>
</pkgmetadata>