Compare commits

..

11 Commits

Author SHA1 Message Date
Shin'ya Minazuki
40aa9b8a2d app-admin/kanako: add missing keywords (it's just a script though, why would Portage care?!)
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-17 10:41:24 -03:00
Shin'ya Minazuki
94aef0691a Add app-i18n/translate
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-17 10:40:58 -03:00
Shin'ya Minazuki
acd6e1c7ac Add app-crypt/cream
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-17 10:20:29 -03:00
Shin'ya Minazuki
b3d14d64f0 www-client/basilisk-bin: bring up the latest snapshot to date (this will happen again)
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 21:52:47 -03:00
Shin'ya Minazuki
5a2a1db963 net-im/mcabber: it was DNS
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 12:09:54 -03:00
Shin'ya Minazuki
d04bb61a4d www-misc/yomi: Missing keywords
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 12:02:39 -03:00
Shin'ya Minazuki
2e070de620 Give up on app-i18n/ibus-kkc
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 11:31:47 -03:00
Shin'ya Minazuki
10423f8793 Add www-misc/yomi
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 11:05:42 -03:00
Shin'ya Minazuki
be6edb96cc Restrict fetching from mirror for net-im/profanity[override]
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 09:22:43 -03:00
Shin'ya Minazuki
589bc86ef2 Finally fix the dreaded packaging problem of net-im/deltachat-desktop-bin
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-16 09:20:47 -03:00
Shin'ya Minazuki
d33f3e76b5 net-im/deltachat-rpc-server-bin: add metadata and checksum files
Signed-off-by: Shin'ya Minazuki <shinyoukai@laidback.moe>
2026-04-13 12:48:45 -03:00
22 changed files with 355 additions and 365 deletions

View File

@@ -9,7 +9,7 @@ SRC_URI="https://mirror.chaotic.ninja/software/${P}.tar.gz"
LICENSE="BEER-WARE" LICENSE="BEER-WARE"
SLOT="0" SLOT="0"
KEYWORDS="" KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 x86"
IUSE="X" IUSE="X"

2
app-crypt/cream/Manifest Normal file
View File

@@ -0,0 +1,2 @@
DIST cream-1.5-deps.tar.gz 1417409 BLAKE2B 30f2407bbd40d31de4f447c8729fbfedc029f4da4c7ad636cdcaa57cbe4182c83d1a8e3b97809c1c4a281e835f26e6cbe5f6130dc8b6c72f866eb9bf3116e326 SHA512 90858db2485834f5dc84b59e1145ec6f3eafb05f170b30a6e79812a69e3dbda1fe272505318d8bccca5c50706a44378e123a8b40aa589d993e86ca695fab00d8
DIST cream-1.5.tar.bz2 6900 BLAKE2B 4ae265a793a8993cac982ddc0f89ae8f6dd6de6b336eba387bb2c080bfd0cf6bb498a04f200bf031cb6d86b2e413f558489e0778c58d5d85894b653503544275 SHA512 0d491a7b5f91045b11beeadf606082c65a381265198bdbba77d3332b1346480c2ce97debcf3b545af88b48736400bfc33af8ebeebddf656cb7b5ba96b9dc9b72

View File

@@ -0,0 +1,32 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit go-module
DESCRIPTION="Bring crypto to your stream"
HOMEPAGE="https://z3bra.org/cream/"
SRC_URI="
https://dl.z3bra.org/releases/${P}.tar.bz2
https://mirror.chaotic.ninja/software/${P}-deps.tar.gz
"
LICENSE="ISC"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86"
src_prepare() {
elog "Populating ${S}/config.mk with new values..."
echo "GO = ${EPREFIX}/usr/bin/go" > config.mk
echo "GOOS = linux" >> config.mk
echo "PREFIX = ${EPREFIX}/usr" >> config.mk
echo "MANDIR = ${EPREFIX}/usr/share/man" >> config.mk
elog "Done."
}
src_compile() {
emake -j1
}
src_install() {
emake DESTDIR="${D}" install
}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>shinyoukai@laidback.moe</email>
<name>Shin'ya Minazuki</name>
</maintainer>
</pkgmetadata>

View File

@@ -1 +0,0 @@
DIST libkkc-data-0.2.7.tar.xz 22262552 BLAKE2B 2c735ee9fabf8f8f201591c9ed584cece22ddcd15da5f36b39bb422b1bce1dbcbcd66f71b5713e2dd4c5e2862b06b014c24a4a3db63c86ecee20519434da9261 SHA512 61c0cd8c0fa41ed8df49cac6709eebb245cc965d7e192b1ba945e95f2fc46aca8aa48c16e1977a12c157c55dab6b9f4c30f4905806725eca6e697b762eb7cbd7

View File

@@ -1,121 +0,0 @@
#!/usr/bin/python3.13
# Copyright (C) 2011-2013 Daiki Ueno <ueno@gnu.org>
# Copyright (C) 2011-2013 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
import mmap
import math
import struct
ERROR_RATE = 0.25
def murmur_hash3_32(b0, b1, seed):
h1 = seed
c1 = 0xcc9e2d51
c2 = 0x1b873593
# body: b0
b0 *= c1
b0 &= 0xFFFFFFFF
b0 = (b0 << 15) | (b0 >> (32 - 15))
b0 &= 0xFFFFFFFF
b0 *= c2
b0 &= 0xFFFFFFFF
h1 ^= b0
h1 &= 0xFFFFFFFF
h1 = (h1 << 13) | (h1 >> (32 - 13))
h1 &= 0xFFFFFFFF
h1 = h1 * 5 + 0xe6546b64
h1 &= 0xFFFFFFFF
# body: b1
b1 *= c1
b1 &= 0xFFFFFFFF
b1 = (b1 << 15) | (b1 >> (32 - 15))
b1 &= 0xFFFFFFFF
b1 *= c2
b1 &= 0xFFFFFFFF
h1 ^= b1
h1 &= 0xFFFFFFFF
h1 = (h1 << 13) | (h1 >> (32 - 13))
h1 &= 0xFFFFFFFF
h1 = h1 * 5 + 0xe6546b64
h1 &= 0xFFFFFFFF
# No tail processing needed.
# fmix
h1 ^= 8
h1 &= 0xFFFFFFFF
h1 ^= h1 >> 16
h1 &= 0xFFFFFFFF
h1 *= 0x85ebca6b
h1 &= 0xFFFFFFFF
h1 ^= h1 >> 13
h1 &= 0xFFFFFFFF
h1 *= 0xc2b2ae35
h1 &= 0xFFFFFFFF
h1 ^= h1 >> 16
h1 &= 0xFFFFFFFF
return h1
class FilterGenerator(object):
def __init__(self, infile, outfile, record_size):
self.infile = infile
self.outfile = outfile
self.record_size = record_size
def generate(self):
size = os.fstat(self.infile.fileno()).st_size
n = size / self.record_size
m = int(math.ceil(-n*math.log10(ERROR_RATE) /
math.pow(math.log10(2), 2)))
m = (m/8 + 1)*8
inmem = mmap.mmap(self.infile.fileno(),
size,
access=mmap.ACCESS_READ)
outmem = bytearray(m/8)
for i in range(0, n):
offset = i*self.record_size
b0, b1 = struct.unpack("=LL", inmem[offset:offset+8])
for k in range(0, 4):
h = murmur_hash3_32(b0, b1, k)
h = int(h * (m / float(0xFFFFFFFF)))
outmem[h/8] |= (1 << (h%8))
inmem.close()
# Convert bytearray to str, for Python 2.6 compatibility.
self.outfile.write(str(outmem))
if __name__ == '__main__':
import sys
import argparse
parser = argparse.ArgumentParser(description='filter')
parser.add_argument('infile', type=argparse.FileType('r'),
help='input file')
parser.add_argument('outfile', type=argparse.FileType('w'),
help='output file')
parser.add_argument('record_size', type=int,
help='record size')
args = parser.parse_args()
generator = FilterGenerator(args.infile,
args.outfile,
args.record_size)
generator.generate()

View File

@@ -1,188 +0,0 @@
#!/usr/bin/python
# Copyright (C) 2011-2013 Daiki Ueno <ueno@gnu.org>
# Copyright (C) 2011-2013 Red Hat, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import struct
import marisa
import re
NGRAM = 3
NGRAM_LINE_REGEX = '^([-0-9.]+)[ \t]+([^\t]+?)(?:[ \t]+([-0-9.]+))?$'
class SortedGenerator(object):
def __init__(self, infile, output_prefix):
self.__infile = infile
self.__output_prefix = output_prefix
self.__ngram_line_regex = re.compile(NGRAM_LINE_REGEX)
self.__ngram_entries = [{} for x in range(0, NGRAM)]
self.__vocab_keyset = marisa.Keyset()
self.__input_keyset = marisa.Keyset()
self.__vocab_trie = marisa.Trie()
self.__input_trie = marisa.Trie()
self.__min_cost = 0.0
def read(self):
print("reading N-grams")
self.__read_tries()
self.__read_ngrams()
print("min cost = %lf" % self.__min_cost)
def __read_tries(self):
while True:
line = self.__infile.readline()
if line == "":
break
if line.startswith("\\1-grams"):
break
unigram_count = 0
while True:
line = self.__infile.readline()
if line == "":
break
line = line.strip()
if line == "":
break
match = self.__ngram_line_regex.match(line)
if not match:
continue
strv = match.groups()
self.__vocab_keyset.push_back(strv[1])
if not strv[1] in ("<s>", "</s>", "<UNK>"):
if "/" not in strv[1]:
continue
(input, output) = strv[1].split("/")
self.__input_keyset.push_back(input)
self.__vocab_trie.build(self.__vocab_keyset)
self.__input_trie.build(self.__input_keyset)
def __read_ngrams(self):
self.__infile.seek(0)
for n in range(1, NGRAM + 1):
while True:
line = self.__infile.readline()
if line == "":
break
if line.startswith("\\%s-grams:" % n):
break
while True:
line = self.__infile.readline()
if line == "":
break
line = line.strip()
if line == "":
break
match = self.__ngram_line_regex.match(line)
if not match:
continue
strv = match.groups()
ngram = strv[1].split(" ")
ids = []
for word in ngram:
agent = marisa.Agent()
agent.set_query(word)
if not self.__vocab_trie.lookup(agent):
continue
ids.append(agent.key_id())
cost = float(strv[0])
if cost != -99 and cost < self.__min_cost:
self.__min_cost = cost
backoff = 0.0
if strv[2]:
backoff = float(strv[2])
self.__ngram_entries[n - 1][tuple(ids)] = (cost, backoff)
def write(self):
self.__min_cost = -8.0
self.__write_tries()
self.__write_ngrams()
def __write_tries(self):
self.__vocab_trie.save(self.__output_prefix + ".1gram.index")
self.__input_trie.save(self.__output_prefix + ".input")
def __write_ngrams(self):
def quantize(cost, min_cost):
return max(0, min(65535, int(cost * 65535 / min_cost)))
def cmp_header(a, b):
return cmp(a[0], b[0])
print("writing 1-gram file")
unigram_offsets = {}
unigram_file = open("%s.1gram" % self.__output_prefix, "wb")
offset = 0
for ids, value in sorted(self.__ngram_entries[0].items()):
unigram_offsets[ids[0]] = offset
s = struct.pack("=HHH",
quantize(value[0], self.__min_cost),
quantize(value[1], self.__min_cost),
0 # reserved
)
unigram_file.write(s)
offset += 1
unigram_file.close()
print("writing 2-gram file")
bigram_offsets = {}
bigram_file = open("%s.2gram" % self.__output_prefix, "wb")
keys = list(self.__ngram_entries[1].keys())
items = [(struct.pack("=LL", ids[1], unigram_offsets[ids[0]]), ids) for ids in keys]
offset = 0
for header, ids in sorted(items, cmp=cmp_header):
value = self.__ngram_entries[1][ids]
bigram_offsets[ids] = offset
s = struct.pack("=HH",
quantize(value[0], self.__min_cost),
quantize(value[1], self.__min_cost))
bigram_file.write(header + s)
offset += 1
bigram_file.close()
if len(self.__ngram_entries[2]) > 0:
print("writing 3-gram file")
trigram_file = open("%s.3gram" % self.__output_prefix, "wb")
keys = list(self.__ngram_entries[2].keys())
items = [(struct.pack("=LL", ids[2], bigram_offsets[(ids[0], ids[1])]), ids) for ids in keys]
for header, ids in sorted(items, cmp=cmp_header):
value = self.__ngram_entries[2][ids]
s = struct.pack("=H",
quantize(value[0], self.__min_cost))
trigram_file.write(header + s)
trigram_file.close()
if __name__ == '__main__':
import sys
import argparse
parser = argparse.ArgumentParser(description='sortlm')
parser.add_argument('infile', nargs='?', type=argparse.FileType('r'),
default=sys.stdin,
help='language model file')
parser.add_argument('output_prefix', metavar='OUTPUT_PREFIX', type=str,
help='output file prefix')
args = parser.parse_args()
generator = SortedGenerator(args.infile, args.output_prefix)
generator.read();
generator.write();

View File

@@ -1,40 +0,0 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
PYTHON_COMPAT=( python3_{11..12} )
inherit autotools python-single-r1
LIBKKC_PV="0.3.5"
DESCRIPTION="Language model data for app-i18n/libkkc"
HOMEPAGE="https://github.com/ueno/libkkc"
SRC_URI="https://github.com/ueno/libkkc/releases/download/v${LIBKKC_PV}/${P}.tar.xz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="
dev-libs/marisa[python]
"
RDEPEND="${DEPEND}"
src_prepare() {
default
cp -f "${FILESDIR}/genfilter.py" "${S}/tools/genfilter.py"
cp -f "${FILESDIR}/sortlm.py" "${S}/tools/sortlm.py"
python_fix_shebang tools/genfilter.py
python_fix_shebang tools/sortlm.py
eautoreconf
}
src_configure() {
econf
}
src_install() {
emake DESTDIR="${D}" install
}

View File

@@ -0,0 +1 @@
DIST translate-1.20.tar.gz 3395 BLAKE2B 1bc7a02362dd4a50bb2a1390d6889c4c64897c8ae4ad9432bad23d63c37ce79ee7f0d3b1da586c8cac76fc1f46697fa0ad2544adcbebc59b1a92b8093737aeac SHA512 c80ba800b7df87b81073b11a61a2f494c0ef96747503a61ee8dbc7adc999f877e7fc23e4409c3449002413172635893a1f9caf55f7ee177bbfb4be026a708d55

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>shinyoukai@laidback.moe</email>
<name>Shin'ya Minazuki</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,26 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
DESCRIPTION="Translate strings using Google Translate"
HOMEPAGE="https://www.freebsdcluster.org/~mich/"
SRC_URI="https://www.freebsdcluster.org/~mich/software/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
# In theory, should run wherever Perl runs
KEYWORDS="~amd64 ~x86"
DEPEND="dev-perl/libwww"
RDEPEND="
${DEPEND}
>=dev-lang/perl-5.0
"
src_prepare() {
einfo "Fixing shebang in ${S}/translate"
sed -i -e "1s#/usr/local/bin/perl#${EPREFIX}/usr/bin/perl#" "${S}/translate" || die
}
src_install() {
dobin translate
doman translate.1
}

View File

@@ -1,2 +1,4 @@
DIST deltachat-desktop-2.48.0-arm64.tar.gz 145067886 BLAKE2B 216229f5213e32870c00c9babdd6fb92d06e13e069aca17a5b86884c66c4bdd48ce3d6312339d629104c1b2af1f7782fcca15aaacafd4949b257381c5549d66e SHA512 f3c1f52c5b6afe0afcf63a8940424c1f3af3569c4d6889fe84ad4e00b3da69dabc93762d7ef7cec941d4036363a7baff560596d48fa6ad8a288be13c5f52ead9 DIST deltachat-desktop-2.48.0-arm64.tar.gz 145067886 BLAKE2B 216229f5213e32870c00c9babdd6fb92d06e13e069aca17a5b86884c66c4bdd48ce3d6312339d629104c1b2af1f7782fcca15aaacafd4949b257381c5549d66e SHA512 f3c1f52c5b6afe0afcf63a8940424c1f3af3569c4d6889fe84ad4e00b3da69dabc93762d7ef7cec941d4036363a7baff560596d48fa6ad8a288be13c5f52ead9
DIST deltachat-desktop-2.48.0.tar.gz 145311040 BLAKE2B 07c4f85bb61312d5c0905b910492fe8fc412ca570884e7b7f02a24dbdea70efcae25f856c517319fc08faddff61d72ffdb26516c97fc061e782727943eb65174 SHA512 cf2d46f7ef008810a9be24c3dcf4c53d1e55ab7d4e4ddf1d7514e02a335236a67f255bdbbba6be72e7692bcdd797e991078f4a2ea38be6c1329c69641c25accb DIST deltachat-desktop-2.48.0.tar.gz 145311040 BLAKE2B 07c4f85bb61312d5c0905b910492fe8fc412ca570884e7b7f02a24dbdea70efcae25f856c517319fc08faddff61d72ffdb26516c97fc061e782727943eb65174 SHA512 cf2d46f7ef008810a9be24c3dcf4c53d1e55ab7d4e4ddf1d7514e02a335236a67f255bdbbba6be72e7692bcdd797e991078f4a2ea38be6c1329c69641c25accb
DIST deltachat-desktop-2.49.0-arm64.tar.gz 145090262 BLAKE2B a0d69ccb18051484512b53ba8eff9cd46215c743bb1f3ebfe84bb2392702094354df528ed3bc25a7103251a98354d30c701b62b642d069002471ff3b06af73e7 SHA512 a953a371ef4ad98d4cacee7ab9b5447cd06d00c3f198545b571ebbc180fe59ae548ef2f9b8996eb448275d13dd3923d2affe6554cc85eb7555c18077a39b2650
DIST deltachat-desktop-2.49.0.tar.gz 145340382 BLAKE2B 63247cea6ca9c6d39504800a420da80f10b1c3a5e1046fff35830d67e52a0a786e715d0bfe5072af9fed56f14cb1d9d7f82246a65a67595c1c48664bf2967e70 SHA512 77399848fd9bc506641d6790a2e3afafee2d3840d3d79af513667d1e274fa0691b4482d6e16760fdfad85319131fe0a4f3f59005c3b2bcf0584fdd3656359606

View File

@@ -19,10 +19,8 @@ SRC_URI="
S="${WORKDIR}" S="${WORKDIR}"
DELTACHAT_HOME="opt/${DC_PN}"
IUSE="suid" IUSE="suid"
QA_PREBUILT=" QA_PREBUILT="
opt/deltachat-desktop/deltachat-desktop opt/deltachat-desktop/deltachat-desktop
opt/deltachat-desktop/libEGL.so opt/deltachat-desktop/libEGL.so
@@ -91,7 +89,23 @@ src_install() {
doins locales/*.pak doins locales/*.pak
insinto "/opt/${DC_PN}/resources" insinto "/opt/${DC_PN}/resources"
doins -r resources/*.asar* doins resources/app.asar
insinto "/opt/${DC_PN}/resources/app.asar.unpacked"
doins -r resources/app.asar.unpacked/html-dist/
if use amd64; then
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat"
doins -r resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-x64/
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@parcel"
doins -r resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-x64-glibc/
fperms 0755 "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-x64/deltachat-rpc-server"
elif use arm64; then
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat"
doins -r resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-arm64/
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@parcel"
doins -r resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-arm64-glibc/
fperms 0755 "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-arm64/deltachat-rpc-server"
fi
insinto "/opt/${DC_PN}" insinto "/opt/${DC_PN}"
doins *.pak *.bin *.dat doins *.pak *.bin *.dat
@@ -100,15 +114,6 @@ src_install() {
dosym -r "/opt/${DC_PN}/${DC_PN}" "/usr/bin/${DC_PN}" dosym -r "/opt/${DC_PN}/${DC_PN}" "/usr/bin/${DC_PN}"
rm -rf "${DELTACHAT_HOME}/resources/app.asar.unpacked/node_modules/@parcel/watcher-win32*"
rm -rf "${DELTACHAT_HOME}/resources/app.asar.unpacked/node_modules/@parcel/watcher-darwin*"
if use amd64; then
rm -rf "${DELTACHAT_HOME}/resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-arm64*"
rm -rf "${DELTACHAT_HOME}/resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-x64-musl*"
elif use arm64; then
rm -rf "${DELTACHAT_HOME}/resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-x64*"
fi
make_desktop_entry "${DC_PN} --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto %U" \ make_desktop_entry "${DC_PN} --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto %U" \
"Delta Chat" "${DC_PN}" "Network;InstantMessaging;" \ "Delta Chat" "${DC_PN}" "Network;InstantMessaging;" \
"StartupWMClass=DeltaChat" "StartupWMClass=DeltaChat"

View File

@@ -0,0 +1,120 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit desktop xdg
DESCRIPTION="Decentralized and secure messenger app (binary)"
HOMEPAGE="https://delta.chat"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
DC_PN="${PN%-bin}"
SRC_URI="
amd64? ( https://download.delta.chat/desktop/v${PV}/${DC_PN}-${PV}.tar.gz )
arm64? ( https://download.delta.chat/desktop/v${PV}/${DC_PN}-${PV}-arm64.tar.gz )
"
S="${WORKDIR}"
IUSE="suid"
QA_PREBUILT="
opt/deltachat-desktop/deltachat-desktop
opt/deltachat-desktop/libEGL.so
opt/deltachat-desktop/libffmpeg.so
opt/deltachat-desktop/libGLESv2.so
opt/deltachat-desktop/libvk_swiftshader.so
opt/deltachat-desktop/libvulkan.so.1
opt/deltachat-desktop/resources/*
"
RDEPEND="
app-accessibility/at-spi2-core:2[X]
dev-libs/expat
dev-libs/fribidi
dev-libs/glib:2
dev-libs/libpcre2
dev-libs/libunistring
dev-libs/nettle
dev-libs/nspr
dev-libs/nss
dev-libs/wayland
media-gfx/graphite2
media-libs/alsa-lib
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz
media-libs/libpng
net-dns/libidn2
net-libs/gnutls
net-print/cups
sys-apps/dbus
sys-libs/glibc
virtual/jpeg
virtual/libudev
virtual/zlib
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3[X]
x11-libs/libX11
x11-libs/libXau
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libdrm
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/pango
x11-libs/pixman
"
RESTRICT="mirror strip"
src_install() {
if use amd64; then
cd deltachat-desktop-${PV} || die
elif use arm64; then
cd deltachat-desktop-${PV}-arm64 || die
fi
newicon "${FILESDIR}/delta-chat.svg" "${DC_PN}.svg"
insinto "/opt/${DC_PN}/locales"
doins locales/*.pak
insinto "/opt/${DC_PN}/resources"
doins resources/app.asar
insinto "/opt/${DC_PN}/resources/app.asar.unpacked"
doins -r resources/app.asar.unpacked/html-dist/
if use amd64; then
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat"
doins -r resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-x64/
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@parcel"
doins -r resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-x64-glibc/
fperms 0755 "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-x64/deltachat-rpc-server"
elif use arm64; then
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat"
doins -r resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-arm64/
insinto "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@parcel"
doins -r resources/app.asar.unpacked/node_modules/@parcel/watcher-linux-arm64-glibc/
fperms 0755 "/opt/${DC_PN}/resources/app.asar.unpacked/node_modules/@deltachat/stdio-rpc-server-linux-arm64/deltachat-rpc-server"
fi
insinto "/opt/${DC_PN}"
doins *.pak *.bin *.dat
exeinto "/opt/${DC_PN}"
doexe *.so *.so.* "${DC_PN}"
dosym -r "/opt/${DC_PN}/${DC_PN}" "/usr/bin/${DC_PN}"
make_desktop_entry "${DC_PN} --enable-features=WaylandWindowDecorations --ozone-platform-hint=auto %U" \
"Delta Chat" "${DC_PN}" "Network;InstantMessaging;" \
"StartupWMClass=DeltaChat"
}

View File

@@ -0,0 +1,4 @@
DIST deltachat-rpc-server-bin-2.49.0-amd64 28165048 BLAKE2B f8366bf37938fb3f4e804c59e7bd9c085a9141f9cb8087695249159abc375c7834490b146fb24b6a5dcf56e2385c3fa5b029e59de768d3d717595e2fee48380b SHA512 18b01cbd2b091fd023a64f0188bd4b5bb0e1749ad7427becea1e6130ceb80c8c9ee67a20b1087b977f5e3d01d9511de6a7b9eceec4525ad1c2307d90fff290eb
DIST deltachat-rpc-server-bin-2.49.0-arm 21114080 BLAKE2B 1c00eed93112f77fb079c529f991f253b35fbe0d8ff571861eabb0183e0ff567f0dee8e2a4f4535efc93a03726f882c367e551598cede46c741fbf79d419a647 SHA512 8bd7ddc7a82f973384808d7cc6411d3d666567f9d44b989a9fd16411ee0197b17cc8b26bce6f32a98baa09ed892a96d264593eaf334fbf05d6b4e1320e03806a
DIST deltachat-rpc-server-bin-2.49.0-arm64 21548072 BLAKE2B cce9dc6e1da9b796dbd148a44b277a5fe4283327248fca0ec1b2550b2096f17009c53ba8c40241c35a02f373fdf5a8da9e1ea096fca9f423db5a72cc6ed10a43 SHA512 53ee228df3776762eda33bffbc84859f1cb66122943143b3babe0b6ebc00121d6a4209d0137765796227da96e62061d127a6cffae5a15bd8ee56e55007934cd4
DIST deltachat-rpc-server-bin-2.49.0-x86 23793668 BLAKE2B 9f1691fb0b84c96186104fba40feb6cbf29dab0e02039b194cdb6ee79234fff048da0a677a9641f029ec9f0eb1f5ce002bf218794c4e8ebc8daee5d223582c34 SHA512 24a76eb12e5c3345ca86842681e6b34c2c6522ae82e7f4b0fe794ce2a54f7d0117b44cd114e30fcf43b511de26c55370487034f37a5e1c31944c6f670a25cd60

View File

@@ -6,6 +6,6 @@
<name>Shin'ya Minazuki</name> <name>Shin'ya Minazuki</name>
</maintainer> </maintainer>
<upstream> <upstream>
<remote-id type="github">ueno/libkkc</remote-id> <remote-id type="github">chatmail/core</remote-id>
</upstream> </upstream>
</pkgmetadata> </pkgmetadata>

View File

@@ -17,7 +17,7 @@ BDEPEND="
" "
DEPEND=" DEPEND="
dev-libs/glib dev-libs/glib
net-libs/libidn net-dns/libidn
net-libs/loudmouth net-libs/loudmouth
sys-libs/ncurses sys-libs/ncurses
aspell? ( app-text/aspell ) aspell? ( app-text/aspell )

View File

@@ -49,6 +49,8 @@ REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} ) python? ( ${PYTHON_REQUIRED_USE} )
" "
RESTRICT="mirror"
pkg_setup() { pkg_setup() {
use python && python-single-r1_pkg_setup use python && python-single-r1_pkg_setup
} }

View File

@@ -1,2 +1,5 @@
DIST basilisk-bin-20260309-amd64.tar.xz 52340232 BLAKE2B 3ae9b6d17aa12856f7b8c097ce74c8b1449d1fa708b8b1507c11e4b139388e6bd5b5c1595d499812f0dc624ba8896d45e1c59923cb3d671485a52bb5004f3976 SHA512 54853b0cf87b913dfa69c5d705a21037c891422ce70e861c6a8bd1c3de74b70eb87d7ea6cdb55fba7d3d376a7ddd568d4fec65b642adfded039e9623b355a8f3 DIST basilisk-bin-20260309-amd64.tar.xz 52340232 BLAKE2B 3ae9b6d17aa12856f7b8c097ce74c8b1449d1fa708b8b1507c11e4b139388e6bd5b5c1595d499812f0dc624ba8896d45e1c59923cb3d671485a52bb5004f3976 SHA512 54853b0cf87b913dfa69c5d705a21037c891422ce70e861c6a8bd1c3de74b70eb87d7ea6cdb55fba7d3d376a7ddd568d4fec65b642adfded039e9623b355a8f3
DIST basilisk-bin-20260309-x86.tar.xz 49047248 BLAKE2B 33cad060a185025b5e0754aa8bd1915fc3d0e47d98cf618e544af4297ec30a04188dfc5814e94ff48a9dd130983f03078665518f310349c3de9f9b7974a26b5c SHA512 ab51d2758132e7364c60436d6e54bcda146d8ed19a73d3c2ae44d7db0e76a8b9bb95844d38a53d6bdc425c247c264108ba1fa52e6b2bd18704d9350fc4d2739d DIST basilisk-bin-20260309-x86.tar.xz 49047248 BLAKE2B 33cad060a185025b5e0754aa8bd1915fc3d0e47d98cf618e544af4297ec30a04188dfc5814e94ff48a9dd130983f03078665518f310349c3de9f9b7974a26b5c SHA512 ab51d2758132e7364c60436d6e54bcda146d8ed19a73d3c2ae44d7db0e76a8b9bb95844d38a53d6bdc425c247c264108ba1fa52e6b2bd18704d9350fc4d2739d
DIST basilisk-bin-20260415-amd64.tar.xz 52354196 BLAKE2B 57e451a5be7c35a436da93b7846978d7cf11928a2f6e929ac2f7993b07f6f16bfa13420796f27831289109877ab2c99433c4e18536d17169f64061b5e3cf000a SHA512 54114ac3c6f2483eee2a8a76a40418e25fa432d2e89291f86c7a942565d5dd21b36b2fcbf7394691b8e8eecc07c39d570ca57104213dca1602847eae7eb081cb
DIST basilisk-bin-20260415-arm64.tar.xz 47912816 BLAKE2B b4d166808c3ffab9c715caa7b7ca400750372521bde84db8f50473bc4a8923720e9efb05019d97e3d7b830c1da4bbc59a3cfb558aeefc4ae2b358edd7e5fd847 SHA512 f13c2b68c063a239637256d41221fe4247f0dad3d279f4e59e05598ec36fe87cb8dca58be9823d24d108d3d869425bf74ba97a9b0cf7e403cc0e61548a19a87f
DIST basilisk-bin-20260415-x86.tar.xz 49067980 BLAKE2B da614f75c9f0fc19bdd5f2f6888278b73426a5964a3bc6199e61df260fd005e24e9a64c181d6021679e62464550dc9ad309a018bbf20663f511c1d72f929a536 SHA512 0dfa8ee4dc89847bce4efeae53f4266c06a077d9309d0d20e4b44be1bc5578717c310dd31d341138ad8cd5b568d318c852eb3a8dab1af8907afe1faca776e968

View File

@@ -0,0 +1,97 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit desktop xdg
DESCRIPTION="Independent web browser built upon the same engine as Pale Moon"
HOMEPAGE="https://basilisk-browser.org https://repo.palemoon.org/Basilisk-Dev/Basilisk"
# There is no versioning except timestamps
# By this nature, they might as well be considered 'live'
SRC_URI="
amd64? ( https://dl.basilisk-browser.org/basilisk-20260415151706.linux-x86_64-gtk3.tar.xz -> ${P}-amd64.tar.xz )
arm64? ( https://dl.basilisk-browser.org/basilisk-20260415165514.linux-aarch64-gtk3.tar.xz -> ${P}-arm64.tar.xz )
x86? ( https://dl.basilisk-browser.org/basilisk-20260415143531.linux-i686-gtk3.tar.xz -> ${P}-x86.tar.xz )
"
BASILISK_PN="${PN%-bin}"
S="${WORKDIR}"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
DEPEND="
app-accessibility/at-spi2-core:2[X]
dev-libs/dbus-glib
dev-libs/glib
media-libs/freetype
media-libs/harfbuzz
media-libs/libpng
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libxcb
x11-libs/pango
x11-libs/pixman
virtual/zlib
"
RDEPEND="${DEPEND}"
QA_PREBUILT="
opt/basilisk/basilisk
opt/basilisk/basilisk-bin
opt/basilisk/libfreeblpriv3.so
opt/basilisk/libhunspell.so
opt/basilisk/liblgpllibs.so
opt/basilisk/libmozavcodec.so
opt/basilisk/libmozavutil.so
opt/basilisk/libmozgtk.so
opt/basilisk/libmozsqlite3.so
opt/basilisk/libnspr4.so
opt/basilisk/libnss3.so
opt/basilisk/libnssckbi.so
opt/basilisk/libnssutil3.so
opt/basilisk/libplc4.so
opt/basilisk/libplds4.so
opt/basilisk/libsmime3.so
opt/basilisk/libsoftokn3.so
opt/basilisk/libssl3.so
opt/basilisk/libxul.so
opt/basilisk/plugin-container
opt/basilisk/browser/*
opt/basilisk/defaults/*
opt/basilisk/dictionaries/*
opt/basilisk/fonts/*
opt/basilisk/icons/*
"
RESTRICT="mirror strip"
src_install() {
cd ${BASILISK_PN} || die
rm -r "${S}/${BASILISK_PN}/gtk2"
insinto "/opt/${BASILISK_PN}/browser"
doins -r browser/*
insinto "/opt/${BASILISK_PN}/defaults"
doins -r defaults/*
insinto "/opt/${BASILISK_PN}/dictionaries"
doins dictionaries/*
insinto "/opt/${BASILISK_PN}/fonts"
doins fonts/*
insinto "/opt/${BASILISK_PN}/icons"
doins icons/*
insinto "/opt/${BASILISK_PN}"
doins *.ini *.manifest *.list *.dat omni.ja precomplete removed-files
exeinto "/opt/${BASILISK_PN}"
doexe basilisk ${BASILISK_PN} *.so
dosym -r "/opt/${BASILISK_PN}/basilisk" "/usr/bin/${BASILISK_PN}"
newicon "browser/icons/mozicon128.png" "${BASILISK_PN}.png"
make_desktop_entry "${BASILISK_PN} %U" "Basilisk" "${BASILISK_PN}" "Network;WebBrowser" "StartupWMClass=Basilisk"
}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>shinyoukai@laidback.moe</email>
<name>Shin'ya Minazuki</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,22 @@
# Copyright 2026 Shin'ya Minazuki
EAPI=8
inherit git-r3 go-module
DESCRIPTION="A staging HTTP server"
HOMEPAGE="https://git.laidback.moe/shinyoukai/yomi"
EGIT_REPO_URI="https://git.laidback.moe/shinyoukai/yomi"
LICENSE="ISC"
SLOT="0"
KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 x86"
src_compile() {
export CGO_ENABLED=0
ego build -o bin/${PN}
}
src_install() {
dobin bin/${PN}
}