Compare commits
11 Commits
82eb6a9342
...
40aa9b8a2d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40aa9b8a2d | ||
|
|
94aef0691a | ||
|
|
acd6e1c7ac | ||
|
|
b3d14d64f0 | ||
|
|
5a2a1db963 | ||
|
|
d04bb61a4d | ||
|
|
2e070de620 | ||
|
|
10423f8793 | ||
|
|
be6edb96cc | ||
|
|
589bc86ef2 | ||
|
|
d33f3e76b5 |
@@ -9,7 +9,7 @@ SRC_URI="https://mirror.chaotic.ninja/software/${P}.tar.gz"
|
||||
|
||||
LICENSE="BEER-WARE"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 x86"
|
||||
|
||||
IUSE="X"
|
||||
|
||||
|
||||
2
app-crypt/cream/Manifest
Normal file
2
app-crypt/cream/Manifest
Normal 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
|
||||
32
app-crypt/cream/cream-1.5.ebuild
Normal file
32
app-crypt/cream/cream-1.5.ebuild
Normal 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
|
||||
}
|
||||
8
app-crypt/cream/metadata.xml
Normal file
8
app-crypt/cream/metadata.xml
Normal 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>
|
||||
@@ -1 +0,0 @@
|
||||
DIST libkkc-data-0.2.7.tar.xz 22262552 BLAKE2B 2c735ee9fabf8f8f201591c9ed584cece22ddcd15da5f36b39bb422b1bce1dbcbcd66f71b5713e2dd4c5e2862b06b014c24a4a3db63c86ecee20519434da9261 SHA512 61c0cd8c0fa41ed8df49cac6709eebb245cc965d7e192b1ba945e95f2fc46aca8aa48c16e1977a12c157c55dab6b9f4c30f4905806725eca6e697b762eb7cbd7
|
||||
@@ -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()
|
||||
@@ -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();
|
||||
@@ -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
|
||||
}
|
||||
1
app-i18n/translate/Manifest
Normal file
1
app-i18n/translate/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST translate-1.20.tar.gz 3395 BLAKE2B 1bc7a02362dd4a50bb2a1390d6889c4c64897c8ae4ad9432bad23d63c37ce79ee7f0d3b1da586c8cac76fc1f46697fa0ad2544adcbebc59b1a92b8093737aeac SHA512 c80ba800b7df87b81073b11a61a2f494c0ef96747503a61ee8dbc7adc999f877e7fc23e4409c3449002413172635893a1f9caf55f7ee177bbfb4be026a708d55
|
||||
8
app-i18n/translate/metadata.xml
Normal file
8
app-i18n/translate/metadata.xml
Normal 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>
|
||||
26
app-i18n/translate/translate-1.20.ebuild
Normal file
26
app-i18n/translate/translate-1.20.ebuild
Normal 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
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
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.49.0-arm64.tar.gz 145090262 BLAKE2B a0d69ccb18051484512b53ba8eff9cd46215c743bb1f3ebfe84bb2392702094354df528ed3bc25a7103251a98354d30c701b62b642d069002471ff3b06af73e7 SHA512 a953a371ef4ad98d4cacee7ab9b5447cd06d00c3f198545b571ebbc180fe59ae548ef2f9b8996eb448275d13dd3923d2affe6554cc85eb7555c18077a39b2650
|
||||
DIST deltachat-desktop-2.49.0.tar.gz 145340382 BLAKE2B 63247cea6ca9c6d39504800a420da80f10b1c3a5e1046fff35830d67e52a0a786e715d0bfe5072af9fed56f14cb1d9d7f82246a65a67595c1c48664bf2967e70 SHA512 77399848fd9bc506641d6790a2e3afafee2d3840d3d79af513667d1e274fa0691b4482d6e16760fdfad85319131fe0a4f3f59005c3b2bcf0584fdd3656359606
|
||||
|
||||
@@ -19,10 +19,8 @@ SRC_URI="
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
DELTACHAT_HOME="opt/${DC_PN}"
|
||||
IUSE="suid"
|
||||
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/deltachat-desktop/deltachat-desktop
|
||||
opt/deltachat-desktop/libEGL.so
|
||||
@@ -91,7 +89,23 @@ src_install() {
|
||||
doins locales/*.pak
|
||||
|
||||
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}"
|
||||
doins *.pak *.bin *.dat
|
||||
@@ -100,15 +114,6 @@ src_install() {
|
||||
|
||||
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" \
|
||||
"Delta Chat" "${DC_PN}" "Network;InstantMessaging;" \
|
||||
"StartupWMClass=DeltaChat"
|
||||
|
||||
120
net-im/deltachat-desktop-bin/deltachat-desktop-bin-2.49.0.ebuild
Normal file
120
net-im/deltachat-desktop-bin/deltachat-desktop-bin-2.49.0.ebuild
Normal 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"
|
||||
}
|
||||
4
net-im/deltachat-rpc-server-bin/Manifest
Normal file
4
net-im/deltachat-rpc-server-bin/Manifest
Normal 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
|
||||
@@ -6,6 +6,6 @@
|
||||
<name>Shin'ya Minazuki</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">ueno/libkkc</remote-id>
|
||||
<remote-id type="github">chatmail/core</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -17,7 +17,7 @@ BDEPEND="
|
||||
"
|
||||
DEPEND="
|
||||
dev-libs/glib
|
||||
net-libs/libidn
|
||||
net-dns/libidn
|
||||
net-libs/loudmouth
|
||||
sys-libs/ncurses
|
||||
aspell? ( app-text/aspell )
|
||||
|
||||
@@ -49,6 +49,8 @@ REQUIRED_USE="
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
"
|
||||
|
||||
RESTRICT="mirror"
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
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-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
|
||||
|
||||
97
www-client/basilisk-bin/basilisk-bin-20260415.ebuild
Normal file
97
www-client/basilisk-bin/basilisk-bin-20260415.ebuild
Normal 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"
|
||||
}
|
||||
8
www-misc/yomi/metadata.xml
Normal file
8
www-misc/yomi/metadata.xml
Normal 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>
|
||||
22
www-misc/yomi/yomi-9999.ebuild
Normal file
22
www-misc/yomi/yomi-9999.ebuild
Normal 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}
|
||||
}
|
||||
Reference in New Issue
Block a user