summaryrefslogtreecommitdiff
path: root/gui-apps/wayland-color-picker-gtk4/wayland-color-picker-gtk4-9999.ebuild
blob: a2b3eb06e38f4495e6318062b63383467aa79c38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit desktop git-r3 go-module xdg

EGO_SUM=(
	"github.com/KarpelesLab/weak v0.1.1"
	"github.com/KarpelesLab/weak v0.1.1/go.mod"
	"github.com/crazy3lf/colorconv v1.2.0"
	"github.com/crazy3lf/colorconv v1.2.0/go.mod"
	"github.com/dachinat/colornameconv v0.1.5"
	"github.com/dachinat/colornameconv v0.1.5/go.mod"
	"github.com/diamondburned/gotk4/pkg v0.3.1"
	"github.com/diamondburned/gotk4/pkg v0.3.1/go.mod"
	"github.com/godbus/dbus/v5 v5.2.0"
	"github.com/godbus/dbus/v5 v5.2.0/go.mod"
	"go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6"
	"go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6/go.mod"
	"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c"
	"golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod"
	"golang.org/x/sys v0.27.0"
	"golang.org/x/sys v0.27.0/go.mod"
)

go-module_set_globals

DESCRIPTION="GTK4 color picker for Wayland desktop environments"
HOMEPAGE="https://github.com/dachinat/wayland-color-picker-gtk4"
EGIT_REPO_URI="https://github.com/dachinat/wayland-color-picker-gtk4.git"
SRC_URI="${EGO_SUM_SRC_URI}"

LICENSE="BSD MIT MPL-2.0"
SLOT="0"
KEYWORDS=""

COMMON_DEPEND="
	dev-libs/glib:2
	gui-libs/gtk:4[wayland]
	x11-libs/cairo
	x11-libs/gdk-pixbuf:2
	x11-libs/pango
"
RDEPEND="
	${COMMON_DEPEND}
	gui-apps/grim
	gui-apps/slurp
	media-gfx/imagemagick
	sys-apps/xdg-desktop-portal
"
DEPEND="
	${COMMON_DEPEND}
	dev-libs/gobject-introspection
"
BDEPEND+="
	>=dev-lang/go-1.25.2:=
	virtual/pkgconfig
"

src_unpack() {
	git-r3_src_unpack
	go-module_setup_proxy
	go-env_set_compile_environment
}

src_prepare() {
	default

	local colornameconv_dir="${GOMODCACHE}/github.com/dachinat/colornameconv@v0.1.5"

	chmod u+w "${colornameconv_dir}/colornameconv.go" || die
	pushd "${colornameconv_dir}" >/dev/null || die
	eapply "${FILESDIR}/colornameconv-0.1.5-no-runtime-colors-json.patch"
	rm -f colors_data.go || die

	{
		sed '/^type Colors struct {/,$d' colornameconv.go
		printf '\nvar colorsJSON = []byte("'
		sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e '$!s/$/\\n/' colors.json | tr -d '\n'
		printf '")\n\n'
		sed -n '/^type Colors struct {/,$p' colornameconv.go
	} > colornameconv.go.new || die
	mv colornameconv.go.new colornameconv.go || die

	popd >/dev/null || die
}

src_compile() {
	ego build -trimpath -o "${PN}" ./main.go
}

src_install() {
	dobin "${PN}"
	domenu "${PN}.desktop"
	newicon -s 512 icon.png "${PN}.png"

	einstalldocs
}