mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-18 19:43:24 -04:00
Merge updates from master
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Copyright 2023-2024 Gentoo Authors
|
||||
# Copyright 2023-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@@ -29,11 +29,6 @@ RDEPEND="${DEPEND}"
|
||||
# Enabling multiple may lead to build failures, whisper-cpp won't use more than one either way
|
||||
REQUIRED_USE="?? ( blas cuda hip opencl )"
|
||||
|
||||
src_prepare() {
|
||||
eapply_user
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Note: CUDA and HIP are currently untested. Build failures may occur.
|
||||
# Turning off examples causes errors during configure
|
||||
@@ -48,7 +43,3 @@ src_configure() {
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
DIST anki-25.02-cp39-abi3-manylinux_2_35_x86_64.whl.zip 10699478 BLAKE2B 0b6e560f4cef124277ce0dd328806391a59b2926e066cc4648d22f4b957f4193a4f355394ff96acdd0ecfa7bcaab3288b78b1dfdd6181b214e6f1ef99d57f7bc SHA512 8d73df399257a6fa1c0d70733e44986deaed7eaa50cfaab2d9ba7c7a754b10230fecfa6192b50bd675b5be1528594e785a30ecf68302c33a5fcf0dfca9e8364e
|
||||
DIST anki-bin-24.06.1 2212 BLAKE2B 18dba4d3f7210b1fa765490617c4290b7a0f37abd75df6fdb395ea758fa2557789f595e0c0470c918ee988dfa5270df48dda095e8f6dce2aad597b0bba23db50 SHA512 50ee6633758b028c54b899d70cf582c54d4fdbb7e13f10921303db3a84d325ac689b48dbf4a5f03584748e89ad7820e14cd4646d7a3fa97919496f48a99cdb05
|
||||
DIST anki-bin-24.06.desktop 478 BLAKE2B a42c1186a11cb5a6f9bc41be99e8fb62236148d69c467b174cd34fc865f7955bb71794258bedf6175d1ccd89a8439db721082e145731688f17d097f32be0c93d SHA512 0742596284a0198bdd51b281b4018cca517b89b276352f21d586bd4f3ec78c2991ce93081f46112ab9130378195050b2fc8b636d89d4bdf0872a1f9f369ee326
|
||||
DIST anki-bin-24.06.png 34595 BLAKE2B 7b8adeece0d666f819d2e579d04f00102d6a28fe5915b2d13ae0bbf72671f95610d2bb47235509756684d38e4be495b41b6b5814fa0ee2b303adc1c78ed54b88 SHA512 c5051738be8c766629a0ec4cbf95c5f554e7bbca2fb5103b3545f2c34a6fcfd87c1384bbd5239199a8491fa46889b299f5f6e1f23988e271402239cdc2a0a9e7
|
||||
DIST anki-bin-24.06.xml 528 BLAKE2B 237497a01901ead3a48e0282a4a270c1eee2e121998aafb41740010ec36da4886fa01f471855aae841d27b492e31864878e4475fa3e6096d87a9270adf00ed7e SHA512 67f2f8679acbece2c3abbb9dacb3d6f6c7428388297d9354991aa099b2d0331d028fd0de50c83d48ae0591b0b4bb2f9076edfe7fea77fd5d7429a2b83bd0f2ce
|
||||
DIST anki-bin-24.06.xpm 6324 BLAKE2B 7dc61bb7a86323828f52f53194d36493f1c9355b1384a8b611829f7f2d97d844cf9d7358f8c352272440ace146593f417df261338cff4565fc3b4c0ca44e06bc SHA512 7e2821141522fe2afb07d2eca4013a0f170119856ba46bed0894c09d289133cdd64559df7e0cbcb56b73c5ee5a64215279101722865dede7982c8e6002da9d41
|
||||
DIST aqt-25.02-py3-none-any.whl.zip 4204328 BLAKE2B 58317cc8ba3e9809199d5d50b3f4b0f5f3f80380c8c25b174c5d995eb363b3be3e0d62832a87458e2e74f2a721cb36df3f8f882c7d33c4be75ba37773483cc18 SHA512 8e5fd52ea749e29b5de42b2a19bb20c83aa3de859ef12218131bb1c30f2af5173676f0831cd34ee093fa8c4d8bdc77490d75adf904c98236259c0a6f52c44bdd
|
||||
@@ -1,115 +0,0 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
### A NOTE REGARDING PYTHON COMPATABILITY ###
|
||||
# Anki-bin downloads a python 3.9 wheel. However the wheel used has only one native library _rsbridge.so
|
||||
# that is not linked against libpython.
|
||||
# The configuration with Python 3.{10..13} was tested on a limited number of machines and is not guaranteed to work.
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
inherit desktop optfeature python-single-r1 pypi readme.gentoo-r1 xdg
|
||||
|
||||
# bump to latest PV, where any of the miscellaneous files changed
|
||||
MY_PV=24.06
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
DESCRIPTION="A spaced-repetition memory training program (flash cards)"
|
||||
HOMEPAGE="https://apps.ankiweb.net/"
|
||||
SRC_URI="
|
||||
$(pypi_wheel_url --unpack anki ${PV} cp39 abi3-manylinux_2_35_x86_64)
|
||||
$(pypi_wheel_url --unpack aqt ${PV})
|
||||
https://raw.githubusercontent.com/ankitects/anki/${MY_PV}/qt/bundle/lin/anki.1 -> ${MY_P}.1
|
||||
https://raw.githubusercontent.com/ankitects/anki/${MY_PV}/qt/bundle/lin/anki.desktop -> ${MY_P}.desktop
|
||||
https://raw.githubusercontent.com/ankitects/anki/${MY_PV}/qt/bundle/lin/anki.png -> ${MY_P}.png
|
||||
https://raw.githubusercontent.com/ankitects/anki/${MY_PV}/qt/bundle/lin/anki.xml -> ${MY_P}.xml
|
||||
https://raw.githubusercontent.com/ankitects/anki/${MY_PV}/qt/bundle/lin/anki.xpm -> ${MY_P}.xpm
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
# How to get an up-to-date summary of runtime JS libs' licenses:
|
||||
# ./node_modules/.bin/license-checker-rseidelsohn --production --excludePackages anki --summary
|
||||
LICENSE="0BSD AGPL-3+ BSD CC-BY-4.0 GPL-3+ public-domain"
|
||||
# Dependent crate licenses
|
||||
LICENSE+="
|
||||
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0 ISC MIT
|
||||
MPL-2.0 Unicode-3.0 Unicode-DFS-2016 Unlicense ZLIB
|
||||
"
|
||||
# Manually added crate licenses
|
||||
LICENSE+=" openssl"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
!app-misc/anki
|
||||
app-misc/ca-certificates
|
||||
dev-qt/qtsvg:6
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
dev-python/distro[${PYTHON_USEDEP}]
|
||||
dev-python/decorator[${PYTHON_USEDEP}]
|
||||
dev-python/flask[${PYTHON_USEDEP}]
|
||||
dev-python/flask-cors[${PYTHON_USEDEP}]
|
||||
dev-python/jsonschema[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
dev-python/protobuf[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/send2trash[${PYTHON_USEDEP}]
|
||||
dev-python/waitress[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqt6-6.6.1[gui,network,opengl,quick,webchannel,widgets,${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqt6-sip-13.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqt6-webengine-6.6.0[widgets,${PYTHON_USEDEP}]')
|
||||
"
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
PATCHES="${FILESDIR}"/${PN}-24.04.1-revert-cert-store-hack.patch
|
||||
|
||||
QA_PREBUILT="usr/lib/*"
|
||||
|
||||
src_install() {
|
||||
python_domodule anki {,_}aqt *.dist-info
|
||||
python_newscript - anki <<-EOF
|
||||
#!${EPREFIX}/usr/bin/python
|
||||
import sys
|
||||
from aqt import run
|
||||
sys.exit(run())
|
||||
EOF
|
||||
newicon "${DISTDIR}"/${MY_P}.png anki.png
|
||||
newicon "${DISTDIR}"/${MY_P}.xpm anki.xpm
|
||||
newmenu "${DISTDIR}"/${MY_P}.desktop anki.desktop
|
||||
newman "${DISTDIR}"/${MY_P}.1 anki.1
|
||||
insinto /usr/share/mime/packages
|
||||
newins "${DISTDIR}"/${MY_P}.xml anki.xml
|
||||
|
||||
local DOC_CONTENTS="Users with add-ons that still rely on Anki's Qt5 GUI
|
||||
can temporarily set the environment variable ENABLE_QT5_COMPAT to 1 to have
|
||||
Anki install the previous compatibility code. This option has additional
|
||||
runtime dependencies. Please take a look at this package's optional runtime
|
||||
features for a complete listing.
|
||||
\n\nENABLE_QT5_COMPAT may be removed in the future, so this is not a
|
||||
long-term solution.
|
||||
\n\nAnki's user manual is located online at https://docs.ankiweb.net/
|
||||
\nAnki's add-on developer manual is located online at
|
||||
https://addon-docs.ankiweb.net/"
|
||||
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
xdg_pkg_postinst
|
||||
optfeature "LaTeX in cards" "app-text/texlive[extra] app-text/dvipng"
|
||||
optfeature "sound support" media-video/mpv media-video/mplayer
|
||||
optfeature "recording support" "media-sound/lame[frontend] dev-python/pyqt6[multimedia]"
|
||||
optfeature "faster database operations" dev-python/orjson
|
||||
optfeature "compatibility with Qt5-dependent add-ons" dev-python/pyqt6[dbus,printsupport]
|
||||
optfeature "Vulkan driver" "media-libs/vulkan-loader dev-qt/qtbase:6[vulkan]
|
||||
dev-qt/qtdeclarative:6[vulkan] dev-qt/qtwebengine:6[vulkan]"
|
||||
|
||||
einfo "You can customize the LaTeX header for your cards to fit your needs:"
|
||||
einfo "Notes > Manage Note Types > [select a note type] > Options"
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
pip_system_certs is a hack to force certifi to use the system
|
||||
certificate store. Let's use dev-python/certifi, which is a hack of
|
||||
its own, instead of introducing an automagical dependency.
|
||||
|
||||
From: Lucio Sauer <watermanpaint@posteo.net>
|
||||
--- a/aqt/__init__.py
|
||||
+++ b/aqt/__init__.py
|
||||
@@ -6,13 +6,6 @@ from __future__ import annotations
|
||||
import logging
|
||||
import sys
|
||||
|
||||
-try:
|
||||
- import pip_system_certs.wrapt_requests
|
||||
-except ModuleNotFoundError:
|
||||
- print(
|
||||
- "Python module pip_system_certs is not installed. System certificate store and custom SSL certificates may not work. See: https://github.com/ankitects/anki/issues/3016"
|
||||
- )
|
||||
-
|
||||
if sys.version_info[0] < 3 or sys.version_info[1] < 9:
|
||||
raise Exception("Anki requires Python 3.9+")
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>dev@notyourcomputer.net</email>
|
||||
<name>Shaoyu Tseng</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>watermanpaint@posteo.net</email>
|
||||
<name>Lucio Sauer</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<bugs-to>https://forums.ankiweb.net/c/anki/21</bugs-to>
|
||||
<changelog>https://github.com/ankitects/anki/releases</changelog>
|
||||
<doc>https://docs.ankiweb.net/</doc>
|
||||
<maintainer status="active">
|
||||
<name>Damien Elmes</name>
|
||||
</maintainer>
|
||||
<remote-id type="pypi">anki</remote-id>
|
||||
<remote-id type="github">ankitects/anki</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -21,7 +21,7 @@ DEPEND="
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-util/xxd
|
||||
|| ( dev-util/xxd app-editors/vim-core )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
option domain-name-servers 8.8.8.8, 8.8.4.4;
|
||||
option subnet-mask 255.255.255.0;
|
||||
subnet 10.15.19.0 netmask 255.255.255.0 {
|
||||
range 10.15.19.100 10.15.19.254;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
[Service]
|
||||
PIDFile=/run/danctnix/dhcpd4.pid
|
||||
|
||||
# We need to fix this ASAP, dhcpd won't run with dhcp user, this needs
|
||||
# to be investigated.
|
||||
User=root
|
||||
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/dhcpd -4 -q -cf /etc/danctnix/dhcpd.conf -pf /run/danctnix/dhcpd4.pid -lf /run/danctnix/dhcpd4.lease
|
||||
@@ -1,2 +0,0 @@
|
||||
d /run/danctnix 0755 root root
|
||||
f /run/danctnix/dhcpd4.lease 0644 root root
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# ConfigFS script is taken from postmarketOS
|
||||
# https://postmarketos.org
|
||||
|
||||
# These are very important, it defines what is the device:
|
||||
|
||||
deviceinfo_usb_idVendor="0x1F3A"
|
||||
deviceinfo_usb_idProduct="0xEFE8"
|
||||
deviceinfo_manufacturer="DanctNIX"
|
||||
deviceinfo_name="Arch Linux Mobile"
|
||||
|
||||
# We'll let them know that this device is Arch ARM.
|
||||
deviceinfo_usb_serialnumber="Arch"
|
||||
|
||||
setup_usb_network_configfs() {
|
||||
# See: https://www.kernel.org/doc/Documentation/usb/gadget_configfs.txt
|
||||
CONFIGFS=/sys/kernel/config/usb_gadget/
|
||||
|
||||
if ! [ -e "$CONFIGFS" ]; then
|
||||
echo " $CONFIGFS does not exist, skipping configfs usb gadget"
|
||||
return
|
||||
fi
|
||||
|
||||
# Default values for USB-related deviceinfo variables
|
||||
usb_idVendor="${deviceinfo_usb_idVendor:-0x18D1}" # default: Google Inc.
|
||||
usb_idProduct="${deviceinfo_usb_idProduct:-0xD001}" # default: Nexus 4 (fastboot)
|
||||
usb_serialnumber="${deviceinfo_usb_serialnumber:-postmarketOS}"
|
||||
usb_rndis_function="${deviceinfo_usb_rndis_function:-rndis.usb0}"
|
||||
|
||||
echo " Setting up an USB gadget through configfs"
|
||||
# Create an usb gadet configuration
|
||||
mkdir $CONFIGFS/g1 || echo " Couldn't create $CONFIGFS/g1"
|
||||
echo "$usb_idVendor" > "$CONFIGFS/g1/idVendor"
|
||||
echo "$usb_idProduct" > "$CONFIGFS/g1/idProduct"
|
||||
|
||||
# Create english (0x409) strings
|
||||
mkdir $CONFIGFS/g1/strings/0x409 || echo " Couldn't create $CONFIGFS/g1/strings/0x409"
|
||||
|
||||
# shellcheck disable=SC2154
|
||||
echo "$deviceinfo_manufacturer" > "$CONFIGFS/g1/strings/0x409/manufacturer"
|
||||
echo "$usb_serialnumber" > "$CONFIGFS/g1/strings/0x409/serialnumber"
|
||||
# shellcheck disable=SC2154
|
||||
echo "$deviceinfo_name" > "$CONFIGFS/g1/strings/0x409/product"
|
||||
|
||||
# Create rndis function. The function can be named differently in downstream kernels.
|
||||
mkdir $CONFIGFS/g1/functions/"$usb_rndis_function" \
|
||||
|| echo " Couldn't create $CONFIGFS/g1/functions/$usb_rndis_function"
|
||||
# https://github.com/RobertCNelson/boot-scripts/commit/714e162ba98cf3d2897e7fc95e951c6df15a7d0a
|
||||
if [ -f $CONFIGFS/g1/functions/"$usb_rndis_function"/class ]; then
|
||||
echo EF > $CONFIGFS/g1/functions/"$usb_rndis_function"/class
|
||||
echo 04 > $CONFIGFS/g1/functions/"$usb_rndis_function"/subclass
|
||||
echo 01 > $CONFIGFS/g1/functions/"$usb_rndis_function"/protocol
|
||||
fi || echo "$CONFIGFS/g1/functions/$usb_rndis_function/class not found"
|
||||
|
||||
# Create configuration instance for the gadget
|
||||
mkdir $CONFIGFS/g1/configs/c.1 \
|
||||
|| echo " Couldn't create $CONFIGFS/g1/configs/c.1"
|
||||
mkdir $CONFIGFS/g1/configs/c.1/strings/0x409 \
|
||||
|| echo " Couldn't create $CONFIGFS/g1/configs/c.1/strings/0x409"
|
||||
echo "rndis" > $CONFIGFS/g1/configs/c.1/strings/0x409/configuration \
|
||||
|| echo " Couldn't write configuration name"
|
||||
|
||||
# Link the rndis instance to the configuration
|
||||
ln -s $CONFIGFS/g1/functions/"$usb_rndis_function" $CONFIGFS/g1/configs/c.1 \
|
||||
|| echo " Couldn't symlink $usb_rndis_function"
|
||||
|
||||
# Check if there's an USB Device Controller
|
||||
if [ -z "$(ls /sys/class/udc)" ]; then
|
||||
echo " No USB Device Controller available"
|
||||
return
|
||||
fi
|
||||
|
||||
# Link the gadget instance to an USB Device Controller. This activates the gadget.
|
||||
# See also: https://github.com/postmarketOS/pmbootstrap/issues/338
|
||||
# shellcheck disable=SC2005
|
||||
echo "$(ls /sys/class/udc)" > $CONFIGFS/g1/UDC || echo " Couldn't write UDC"
|
||||
}
|
||||
|
||||
# And we go.
|
||||
setup_usb_network_configfs
|
||||
ip address add 10.15.19.82/24 dev usb0
|
||||
ip link set usb0 up
|
||||
@@ -1,12 +0,0 @@
|
||||
# systemd service file for usb-tethering
|
||||
|
||||
[Unit]
|
||||
Wants=dhcpd4.service
|
||||
Description=USB Tethering
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash /usr/lib/danctnix/usb-tethering
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>gjdijkman@gjdwebserver.nl</email>
|
||||
<name>Gerben Jan Dijkman</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">dreemurrs-embedded/Pine64-Arch</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit systemd
|
||||
|
||||
DESCRIPTION="USB tethering on Pine64/ConfigFS systems"
|
||||
HOMEPAGE="https://github.com/dreemurrs-embedded/Pine64-Arch"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~arm64"
|
||||
|
||||
DEPEND="
|
||||
net-misc/dhcp
|
||||
sys-apps/systemd
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_install() {
|
||||
exeinto "/usr/lib/danctnix"
|
||||
doexe "${FILESDIR}/usb-tethering"
|
||||
systemd_dounit "${FILESDIR}"/usb-tethering.service
|
||||
insinto "/usr/lib/tmpfiles.d/"
|
||||
doins "${FILESDIR}"/tmpfiles.d.danctnix-usb.conf
|
||||
insinto "/etc/systemd/system/dhcpd4.service.d/"
|
||||
doins "${FILESDIR}"/dhcpd4.service-customexec.conf
|
||||
insinto "/etc/danctnix/"
|
||||
doins "${FILESDIR}"/dhcpd.conf
|
||||
}
|
||||
41
dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r6.ebuild
Normal file
41
dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r6.ebuild
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="A Microsoft project for cloud-based client-server communication."
|
||||
HOMEPAGE="https://github.com/microsoft/cpprestsdk"
|
||||
SRC_URI="https://github.com/microsoft/cpprestsdk/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND=">=dev-libs/openssl-1.1.1q
|
||||
>=dev-libs/boost-1.80.0-r1:=
|
||||
>=sys-libs/zlib-1.2.13-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BDEPEND="
|
||||
app-alternatives/ninja
|
||||
>=sys-devel/gcc-11.3.0
|
||||
>=virtual/pkgconfig-2-r1
|
||||
>=dev-cpp/websocketpp-0.8.2
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-warnings.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-disabl-int-tests.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-disable-werror-default.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-boost-1.87-compat.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-cmake-4.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-llvm-char-traits-patch.patch
|
||||
"${FILESDIR}"/cpprestsdk-${PV}-llvm-json-unique-ptr.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=( -DCMAKE_BUILD_TYPE=Release )
|
||||
cmake_src_configure
|
||||
}
|
||||
@@ -0,0 +1,436 @@
|
||||
Also submitted upstream https://github.com/microsoft/cpprestsdk/pull/1829
|
||||
Cpprestsdk is using a lot of unsigned types like uint8_t with C++ streams, this
|
||||
seems to be fine with msvc/win32 and at least for now with gcc. This patch will
|
||||
provide a char_traits type to the streams types other than std::char_traits if
|
||||
needed. This is detected via template specialisations. Google & AIs will probably
|
||||
suggest adding a std::char_traits<unsingned char> implementation, but I think that
|
||||
is very innappropriate in a library for use by applications.
|
||||
--- a/Release/include/cpprest/streams.h (revision 0b1ce318a757bbfb89bdb0fffb61ca4e38dc3b33)
|
||||
+++ b/Release/include/cpprest/streams.h (revision 32b322b564e5e540ff02393ffe3bd3bade8d299c)
|
||||
@@ -16,6 +16,7 @@
|
||||
#define CASA_STREAMS_H
|
||||
|
||||
#include "cpprest/astreambuf.h"
|
||||
+#include "cpprest/details/char_traits.h"
|
||||
#include <iosfwd>
|
||||
#include <cstdio>
|
||||
|
||||
@@ -60,30 +61,95 @@
|
||||
concurrency::streams::streambuf<CharType> m_buffer;
|
||||
};
|
||||
|
||||
-template<typename CharType>
|
||||
+template<typename CharType, class Traits = typename utility::CanUseStdCharTraits<CharType>::TraitsType>
|
||||
struct Value2StringFormatter
|
||||
{
|
||||
+ struct SanitizeInput
|
||||
+ {
|
||||
+ const std::basic_string<char> &operator () (const std::basic_string<char> &input)
|
||||
+ {
|
||||
+ return input;
|
||||
+ }
|
||||
+ template <class InputTraits> std::basic_string<char> operator () (const std::basic_string<unsigned char, InputTraits> &input)
|
||||
+ {
|
||||
+ return {reinterpret_cast<const char *>(input.c_str()), input.size()};
|
||||
+ }
|
||||
+ const char *operator () (const char *input) {
|
||||
+ return input;
|
||||
+ }
|
||||
+ const char *operator () (const unsigned char *input)
|
||||
+ {
|
||||
+ return reinterpret_cast<const char *>(input);
|
||||
+ }
|
||||
+ template <class T> T operator () (T input)
|
||||
+ {
|
||||
+ return input;
|
||||
+ }
|
||||
+ };
|
||||
+ struct GenerateFormatOutput
|
||||
+ {
|
||||
+ std::basic_string<CharType,Traits> &&operator() (std::basic_string<CharType,Traits> &&result)
|
||||
+ {
|
||||
+ return std::move(result);
|
||||
+ }
|
||||
+ std::basic_string<CharType,Traits> operator() (const std::basic_string<char> &intermediate)
|
||||
+ {
|
||||
+ return {reinterpret_cast<const CharType *>(intermediate.c_str()), intermediate.size()};
|
||||
+ }
|
||||
+ };
|
||||
template<typename T>
|
||||
- static std::basic_string<CharType> format(const T& val)
|
||||
+ static std::basic_string<CharType, Traits> format(const T& val)
|
||||
{
|
||||
- std::basic_ostringstream<CharType> ss;
|
||||
+ typename std::conditional<
|
||||
+ sizeof(CharType) == 1,
|
||||
+ std::basic_ostringstream<char>,
|
||||
+ std::basic_ostringstream<typename std::make_signed<CharType>::type>
|
||||
+ >::type ss;
|
||||
+ SanitizeInput sanitizer;
|
||||
+ ss << sanitizer(val);
|
||||
+ typename std::conditional<
|
||||
+ sizeof(CharType) == 1,
|
||||
+ std::basic_string<char>,
|
||||
+ std::basic_string<typename std::make_signed<CharType>::type>
|
||||
+ >::type str = ss.str();
|
||||
+ GenerateFormatOutput generateFormatOutput;
|
||||
+ return generateFormatOutput(std::move(str));
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+template<class Traits, typename T>
|
||||
+struct Value2StringFormatterUint8Format
|
||||
+{
|
||||
+ std::basic_string<uint8_t, Traits> operator () (const T& val)
|
||||
+ {
|
||||
+ std::basic_ostringstream<char> ss;
|
||||
ss << val;
|
||||
- return ss.str();
|
||||
+ return reinterpret_cast<const uint8_t*>(ss.str().c_str());
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+template <class Traits>
|
||||
+struct Value2StringFormatterUint8Format<Traits, std::basic_string<uint8_t,Traits>>
|
||||
+{
|
||||
+ std::basic_string<uint8_t, Traits> operator () (
|
||||
+ const std::basic_string<uint8_t, typename utility::CanUseStdCharTraits<uint8_t>::TraitsType>& val)
|
||||
+ {
|
||||
+ Value2StringFormatterUint8Format<Traits,std::basic_string<char>> format;
|
||||
+ return format(reinterpret_cast<const std::basic_string<char>&>(val));
|
||||
}
|
||||
};
|
||||
|
||||
template<>
|
||||
struct Value2StringFormatter<uint8_t>
|
||||
{
|
||||
- template<typename T>
|
||||
- static std::basic_string<uint8_t> format(const T& val)
|
||||
+ template <typename T, class Traits = typename utility::CanUseStdCharTraits<uint8_t>::TraitsType>
|
||||
+ static std::basic_string<uint8_t, Traits> format(const T& val)
|
||||
{
|
||||
- std::basic_ostringstream<char> ss;
|
||||
- ss << val;
|
||||
- return reinterpret_cast<const uint8_t*>(ss.str().c_str());
|
||||
+ Value2StringFormatterUint8Format<Traits, T> format;
|
||||
+ return format(val);
|
||||
}
|
||||
|
||||
- static std::basic_string<uint8_t> format(const utf16string& val)
|
||||
+ static std::basic_string<uint8_t, typename utility::CanUseStdCharTraits<uint8_t>::TraitsType> format(const utf16string& val)
|
||||
{
|
||||
return format(utility::conversions::utf16_to_utf8(val));
|
||||
}
|
||||
@@ -262,7 +328,7 @@
|
||||
/// Write the specified string to the output stream.
|
||||
/// </summary>
|
||||
/// <param name="str">Input string.</param>
|
||||
- pplx::task<size_t> print(const std::basic_string<CharType>& str) const
|
||||
+ pplx::task<size_t> print(const std::basic_string<CharType,traits>& str) const
|
||||
{
|
||||
pplx::task<size_t> result;
|
||||
if (!_verify_and_return_task(details::_out_stream_msg, result)) return result;
|
||||
@@ -273,7 +339,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- auto sharedStr = std::make_shared<std::basic_string<CharType>>(str);
|
||||
+ auto sharedStr = std::make_shared<std::basic_string<CharType,traits>>(str);
|
||||
return helper()->m_buffer.putn_nocopy(sharedStr->c_str(), sharedStr->size()).then([sharedStr](size_t size) {
|
||||
return size;
|
||||
});
|
||||
@@ -294,7 +360,7 @@
|
||||
if (!_verify_and_return_task(details::_out_stream_msg, result)) return result;
|
||||
// TODO in the future this could be improved to have Value2StringFormatter avoid another unnecessary copy
|
||||
// by putting the string on the heap before calling the print string overload.
|
||||
- return print(details::Value2StringFormatter<CharType>::format(val));
|
||||
+ return print(details::Value2StringFormatter<CharType, traits>::format(val));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
--- a/Release/include/cpprest/astreambuf.h (revision d17f091b5a753b33fb455e92b590fc9f4e921119)
|
||||
+++ b/Release/include/cpprest/astreambuf.h (revision 4188ad89b2cf2e8de3cc3513adcf400fbfdc5ce7)
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include "cpprest/asyncrt_utils.h"
|
||||
#include "cpprest/details/basic_types.h"
|
||||
+#include "cpprest/details/char_traits.h"
|
||||
#include "pplx/pplxtasks.h"
|
||||
#include <atomic>
|
||||
#include <cstring>
|
||||
@@ -56,55 +57,28 @@
|
||||
/// <typeparam name="_CharType">
|
||||
/// The data type of the basic element of the stream.
|
||||
/// </typeparam>
|
||||
+namespace detail
|
||||
+{
|
||||
template<typename _CharType>
|
||||
-struct char_traits : std::char_traits<_CharType>
|
||||
+struct char_traits : utility::CanUseStdCharTraits<_CharType>::TraitsType
|
||||
{
|
||||
/// <summary>
|
||||
/// Some synchronous functions will return this value if the operation
|
||||
/// requires an asynchronous call in a given situation.
|
||||
/// </summary>
|
||||
/// <returns>An <c>int_type</c> value which implies that an asynchronous call is required.</returns>
|
||||
- static typename std::char_traits<_CharType>::int_type requires_async()
|
||||
+ static typename utility::CanUseStdCharTraits<_CharType>::TraitsType::int_type requires_async()
|
||||
{
|
||||
- return std::char_traits<_CharType>::eof() - 1;
|
||||
+ return utility::CanUseStdCharTraits<_CharType>::TraitsType::eof() - 1;
|
||||
}
|
||||
+};
|
||||
+}
|
||||
+template<typename _CharType> struct char_traits : detail::char_traits<_CharType> {
|
||||
};
|
||||
#if !defined(_WIN32)
|
||||
-template<>
|
||||
-struct char_traits<unsigned char> : private std::char_traits<char>
|
||||
-{
|
||||
-public:
|
||||
- typedef unsigned char char_type;
|
||||
-
|
||||
- using std::char_traits<char>::eof;
|
||||
- using std::char_traits<char>::int_type;
|
||||
- using std::char_traits<char>::off_type;
|
||||
- using std::char_traits<char>::pos_type;
|
||||
-
|
||||
- static size_t length(const unsigned char* str)
|
||||
- {
|
||||
- return std::char_traits<char>::length(reinterpret_cast<const char*>(str));
|
||||
- }
|
||||
-
|
||||
- static void assign(unsigned char& left, const unsigned char& right) { left = right; }
|
||||
- static unsigned char* assign(unsigned char* left, size_t n, unsigned char value)
|
||||
- {
|
||||
- return reinterpret_cast<unsigned char*>(
|
||||
- std::char_traits<char>::assign(reinterpret_cast<char*>(left), n, static_cast<char>(value)));
|
||||
- }
|
||||
-
|
||||
- static unsigned char* copy(unsigned char* left, const unsigned char* right, size_t n)
|
||||
- {
|
||||
- return reinterpret_cast<unsigned char*>(
|
||||
- std::char_traits<char>::copy(reinterpret_cast<char*>(left), reinterpret_cast<const char*>(right), n));
|
||||
- }
|
||||
-
|
||||
- static unsigned char* move(unsigned char* left, const unsigned char* right, size_t n)
|
||||
- {
|
||||
- return reinterpret_cast<unsigned char*>(
|
||||
- std::char_traits<char>::move(reinterpret_cast<char*>(left), reinterpret_cast<const char*>(right), n));
|
||||
- }
|
||||
-
|
||||
+template <> struct char_traits<unsigned char> : detail::char_traits<unsigned char> {
|
||||
+ typedef typename std::char_traits<char>::int_type int_type;
|
||||
+ static int_type eof() { return std::char_traits<char>::eof(); }
|
||||
static int_type requires_async() { return eof() - 1; }
|
||||
};
|
||||
#endif
|
||||
new file mode 100644
|
||||
--- /dev/null (revision 4188ad89b2cf2e8de3cc3513adcf400fbfdc5ce7)
|
||||
+++ b/Release/include/cpprest/details/char_traits.h (revision 4188ad89b2cf2e8de3cc3513adcf400fbfdc5ce7)
|
||||
@@ -0,0 +1,102 @@
|
||||
+//
|
||||
+// Created by sigsegv on 6/28/25.
|
||||
+//
|
||||
+
|
||||
+#ifndef CPPRESTSDK_ROOT_CHAR_TRAITS_H
|
||||
+#define CPPRESTSDK_ROOT_CHAR_TRAITS_H
|
||||
+
|
||||
+#include <type_traits>
|
||||
+#include <string>
|
||||
+
|
||||
+namespace utility {
|
||||
+
|
||||
+namespace detail {
|
||||
+
|
||||
+template <typename T> struct IntTypeFor {
|
||||
+ typedef typename std::conditional<std::is_unsigned<T>::value, unsigned long long int, long long int>::type type;
|
||||
+};
|
||||
+template <> struct IntTypeFor<char> {
|
||||
+ typedef typename std::char_traits<char>::int_type type;
|
||||
+};
|
||||
+template <> struct IntTypeFor<unsigned char> {
|
||||
+ typedef typename std::make_unsigned<typename std::char_traits<char>::int_type>::type type;
|
||||
+};
|
||||
+
|
||||
+template <typename T> class DetailCharTraits
|
||||
+{
|
||||
+public:
|
||||
+ using char_type = T;
|
||||
+ using int_type = typename IntTypeFor<T>::type;
|
||||
+ using off_type = std::streamoff;
|
||||
+ using pos_type = std::streampos;
|
||||
+ using state_type = mbstate_t;
|
||||
+
|
||||
+ static void assign(char_type& r, const char_type& a) noexcept { r = a; }
|
||||
+ static char_type to_char_type(int_type c) noexcept { return char_type(c); }
|
||||
+ static int_type to_int_type(char_type c) noexcept { return c; }
|
||||
+ static bool eq(char_type a, char_type b) noexcept { return a == b; }
|
||||
+ static bool lt(char_type a, char_type b) noexcept { return a < b; }
|
||||
+ static int compare(const char_type* s1,const char_type* s2,size_t n){
|
||||
+ for (; n--; ++s1, ++s2) {
|
||||
+ if (!eq(*s1, *s2))
|
||||
+ return lt(*s1,*s2)?-1:1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+ }
|
||||
+ static size_t length(const char_type* s){
|
||||
+ const char_type* p = s;
|
||||
+ while (*p)
|
||||
+ ++p;
|
||||
+ return size_t(p - s);
|
||||
+ }
|
||||
+ static const char_type* find(const char_type* s,size_t n,const char_type& a){
|
||||
+ for (; n--; ++s)
|
||||
+ {
|
||||
+ if (eq(*s, a))
|
||||
+ return s;
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+ }
|
||||
+ static char_type* move (char_type* r,const char_type* s,size_t n){
|
||||
+ return (char_type*)memmove(r, s, n * sizeof(char_type));
|
||||
+ }
|
||||
+ static char_type* copy (char_type* r,const char_type* s,size_t n){
|
||||
+ return (char_type*)memcpy (r, s, n * sizeof(char_type));
|
||||
+ }
|
||||
+ static char_type* assign(char_type* r,size_t n,char_type a){
|
||||
+ if (sizeof(char_type) == 1)
|
||||
+ {
|
||||
+ return (char_type*)memset(r, a, n);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ for (char_type *s = r; n--; ++s)
|
||||
+ {
|
||||
+ *s = a;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ static int_type eof() noexcept { return ~0u; }
|
||||
+ static int_type not_eof(int_type c) noexcept { return c == eof() ? 0 : c; }
|
||||
+};
|
||||
+
|
||||
+template <typename T, typename = bool> struct CanUseStdCharTraits : public std::false_type
|
||||
+{
|
||||
+public:
|
||||
+ typedef DetailCharTraits<T> TraitsType;
|
||||
+};
|
||||
+
|
||||
+template <typename T> struct CanUseStdCharTraits<T, decltype(std::char_traits<T>::eq(std::declval<T>(), std::declval<T>()))> : public std::true_type
|
||||
+{
|
||||
+public:
|
||||
+ typedef std::char_traits<T> TraitsType;
|
||||
+};
|
||||
+
|
||||
+}
|
||||
+
|
||||
+template <typename T> struct CanUseStdCharTraits : detail::CanUseStdCharTraits<typename std::remove_const<typename std::remove_reference<T>::type>::type> {
|
||||
+};
|
||||
+
|
||||
+}
|
||||
+
|
||||
+#endif // CPPRESTSDK_ROOT_CHAR_TRAITS_H
|
||||
--- a/Release/tests/functional/streams/memstream_tests.cpp (revision d17f091b5a753b33fb455e92b590fc9f4e921119)
|
||||
+++ b/Release/tests/functional/streams/memstream_tests.cpp (revision 6df13a8c0417ef700c0f164bcd0686ad46f66fd9)
|
||||
@@ -8,6 +8,7 @@
|
||||
*
|
||||
* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
****/
|
||||
+#include "cpprest/details/char_traits.h"
|
||||
#include "stdafx.h"
|
||||
#if defined(__cplusplus_winrt)
|
||||
#include <wrl.h>
|
||||
@@ -32,7 +33,7 @@
|
||||
{
|
||||
VERIFY_IS_TRUE(wbuf.can_write());
|
||||
|
||||
- std::basic_string<typename StreamBufferType::char_type> s;
|
||||
+ std::basic_string<typename StreamBufferType::char_type,typename utility::CanUseStdCharTraits<typename StreamBufferType::char_type>::TraitsType> s;
|
||||
s.push_back((typename StreamBufferType::char_type)0);
|
||||
s.push_back((typename StreamBufferType::char_type)1);
|
||||
s.push_back((typename StreamBufferType::char_type)2);
|
||||
@@ -137,7 +138,7 @@
|
||||
{
|
||||
VERIFY_IS_TRUE(wbuf.can_write());
|
||||
|
||||
- std::basic_string<typename StreamBufferType::char_type> s;
|
||||
+ std::basic_string<typename StreamBufferType::char_type,typename utility::CanUseStdCharTraits<typename StreamBufferType::char_type>::TraitsType> s;
|
||||
s.push_back((typename StreamBufferType::char_type)0);
|
||||
s.push_back((typename StreamBufferType::char_type)1);
|
||||
s.push_back((typename StreamBufferType::char_type)2);
|
||||
@@ -169,7 +170,7 @@
|
||||
|
||||
typedef concurrency::streams::rawptr_buffer<CharType> StreamBufferType;
|
||||
|
||||
- std::basic_string<CharType> s;
|
||||
+ std::basic_string<CharType,typename CanUseStdCharTraits<CharType>::TraitsType> s;
|
||||
s.push_back((CharType)0);
|
||||
s.push_back((CharType)1);
|
||||
s.push_back((CharType)2);
|
||||
@@ -198,7 +199,7 @@
|
||||
typedef concurrency::streams::container_buffer<CollectionType> StreamBufferType;
|
||||
typedef typename concurrency::streams::container_buffer<CollectionType>::char_type CharType;
|
||||
|
||||
- std::basic_string<CharType> s;
|
||||
+ std::basic_string<CharType, typename utility::CanUseStdCharTraits<CharType>::TraitsType> s;
|
||||
s.push_back((CharType)0);
|
||||
s.push_back((CharType)1);
|
||||
s.push_back((CharType)2);
|
||||
@@ -553,7 +554,7 @@
|
||||
VERIFY_IS_TRUE(rwbuf.can_read());
|
||||
VERIFY_IS_TRUE(rwbuf.can_write());
|
||||
VERIFY_IS_FALSE(rwbuf.is_eof());
|
||||
- std::basic_string<typename StreamBufferType::char_type> s;
|
||||
+ std::basic_string<typename StreamBufferType::char_type, typename utility::CanUseStdCharTraits<typename StreamBufferType::char_type>::TraitsType> s;
|
||||
s.push_back((typename StreamBufferType::char_type)0);
|
||||
s.push_back((typename StreamBufferType::char_type)1);
|
||||
s.push_back((typename StreamBufferType::char_type)2);
|
||||
@@ -684,7 +685,7 @@
|
||||
VERIFY_IS_TRUE(rwbuf.can_write());
|
||||
|
||||
// Write 4 characters
|
||||
- std::basic_string<typename StreamBufferType::char_type> s;
|
||||
+ std::basic_string<typename StreamBufferType::char_type, typename utility::CanUseStdCharTraits<typename StreamBufferType::char_type>::TraitsType> s;
|
||||
s.push_back((typename StreamBufferType::char_type)0);
|
||||
s.push_back((typename StreamBufferType::char_type)1);
|
||||
s.push_back((typename StreamBufferType::char_type)2);
|
||||
@@ -726,7 +727,7 @@
|
||||
VERIFY_IS_TRUE(rwbuf.can_write());
|
||||
|
||||
// Write 4 characters
|
||||
- std::basic_string<typename StreamBufferType::char_type> s;
|
||||
+ std::basic_string<typename StreamBufferType::char_type, typename utility::CanUseStdCharTraits<typename StreamBufferType::char_type>::TraitsType> s;
|
||||
s.push_back((typename StreamBufferType::char_type)0);
|
||||
s.push_back((typename StreamBufferType::char_type)1);
|
||||
s.push_back((typename StreamBufferType::char_type)2);
|
||||
--- a/Release/tests/functional/streams/stdstream_tests.cpp (revision d17f091b5a753b33fb455e92b590fc9f4e921119)
|
||||
+++ b/Release/tests/functional/streams/stdstream_tests.cpp (revision 6df13a8c0417ef700c0f164bcd0686ad46f66fd9)
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "cpprest/filestream.h"
|
||||
#include "cpprest/producerconsumerstream.h"
|
||||
#include "cpprest/rawptrstream.h"
|
||||
+#include "cpprest/details/char_traits.h"
|
||||
|
||||
#if (!defined(_WIN32) || !defined(CPPREST_EXCLUDE_WEBSOCKETS)) && !defined(__cplusplus_winrt)
|
||||
#include <boost/interprocess/streams/bufferstream.hpp>
|
||||
@@ -303,7 +304,8 @@
|
||||
|
||||
const std::streamsize iterations = 100;
|
||||
|
||||
- const std::string the_alphabet("abcdefghijklmnopqrstuvwxyz");
|
||||
+ const char *the_alphabet_characters = "abcdefghijklmnopqrstuvwxyz";
|
||||
+ const std::basic_string<uint8_t,typename utility::CanUseStdCharTraits<uint8_t>::TraitsType> the_alphabet(reinterpret_cast<const uint8_t *>(the_alphabet_characters));
|
||||
|
||||
auto writer = pplx::create_task([ostream, iterations, the_alphabet]() {
|
||||
auto os = ostream;
|
||||
@@ -341,7 +343,8 @@
|
||||
|
||||
const std::streamsize iterations = 100;
|
||||
|
||||
- const std::string the_alphabet("abcdefghijklmnopqrstuvwxyz");
|
||||
+ const char *the_alphabet_chars = "abcdefghijklmnopqrstuvwxyz";
|
||||
+ const std::basic_string<uint8_t,typename CanUseStdCharTraits<uint8_t>::TraitsType> the_alphabet(reinterpret_cast<const uint8_t *>(the_alphabet_chars));
|
||||
|
||||
auto writer = pplx::create_task([ostream, iterations, the_alphabet]() {
|
||||
auto os = ostream;
|
||||
@@ -0,0 +1,221 @@
|
||||
This patch moves the implementations of certain json-methods to the cpp-file-implementations.
|
||||
This is needed because llvm needs sizeof(T) to be valid for a lot more methods on containers
|
||||
and std::unique_ptr, so these methods can't be header only on llvm. This patch is developed
|
||||
by me and I cannot right now find an upstream bug-report on this just yet. I uploaded a similar
|
||||
patch to FreeBSD ports a while ago.
|
||||
--- a/Release/include/cpprest/json.h
|
||||
+++ b/Release/include/cpprest/json.h
|
||||
@@ -737,12 +737,10 @@
|
||||
_ASYNCRTIMP void format(std::basic_string<char>& string) const;
|
||||
|
||||
#ifdef ENABLE_JSON_VALUE_VISUALIZER
|
||||
- explicit value(std::unique_ptr<details::_Value> v, value_type kind) : m_value(std::move(v)), m_kind(kind)
|
||||
+ explicit value(std::unique_ptr<details::_Value> v, value_type kind);
|
||||
#else
|
||||
- explicit value(std::unique_ptr<details::_Value> v) : m_value(std::move(v))
|
||||
+ explicit value(std::unique_ptr<details::_Value> v);
|
||||
#endif
|
||||
- {
|
||||
- }
|
||||
|
||||
std::unique_ptr<details::_Value> m_value;
|
||||
#ifdef ENABLE_JSON_VALUE_VISUALIZER
|
||||
@@ -831,9 +829,9 @@
|
||||
typedef storage_type::size_type size_type;
|
||||
|
||||
private:
|
||||
- array() : m_elements() {}
|
||||
- array(size_type size) : m_elements(size) {}
|
||||
- array(storage_type elements) : m_elements(std::move(elements)) {}
|
||||
+ array();
|
||||
+ array(size_type size);
|
||||
+ array(storage_type elements);
|
||||
|
||||
public:
|
||||
/// <summary>
|
||||
@@ -915,20 +913,13 @@
|
||||
/// <returns>Iterator to the new location of the element following the erased element.</returns>
|
||||
/// <remarks>GCC doesn't support erase with const_iterator on vector yet. In the future this should be
|
||||
/// changed.</remarks>
|
||||
- iterator erase(iterator position) { return m_elements.erase(position); }
|
||||
+ iterator erase(iterator position);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the element at an index of the JSON array.
|
||||
/// </summary>
|
||||
/// <param name="index">The index of the element to delete.</param>
|
||||
- void erase(size_type index)
|
||||
- {
|
||||
- if (index >= m_elements.size())
|
||||
- {
|
||||
- throw json_exception("index out of bounds");
|
||||
- }
|
||||
- m_elements.erase(m_elements.begin() + index);
|
||||
- }
|
||||
+ void erase(size_type index);
|
||||
|
||||
/// <summary>
|
||||
/// Accesses an element of a JSON array. Throws when index out of bounds.
|
||||
@@ -959,15 +950,7 @@
|
||||
/// </summary>
|
||||
/// <param name="index">The index of an element in the JSON array.</param>
|
||||
/// <returns>A reference to the value kept in the field.</returns>
|
||||
- json::value& operator[](size_type index)
|
||||
- {
|
||||
- msl::safeint3::SafeInt<size_type> nMinSize(index);
|
||||
- nMinSize += 1;
|
||||
- msl::safeint3::SafeInt<size_type> nlastSize(m_elements.size());
|
||||
- if (nlastSize < nMinSize) m_elements.resize((size_type)nMinSize);
|
||||
-
|
||||
- return m_elements[index];
|
||||
- }
|
||||
+ json::value& operator[](size_type index);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of elements of the array.
|
||||
@@ -998,14 +981,8 @@
|
||||
typedef storage_type::size_type size_type;
|
||||
|
||||
private:
|
||||
- object(bool keep_order = false) : m_elements(), m_keep_order(keep_order) {}
|
||||
- object(storage_type elements, bool keep_order = false) : m_elements(std::move(elements)), m_keep_order(keep_order)
|
||||
- {
|
||||
- if (!keep_order)
|
||||
- {
|
||||
- sort(m_elements.begin(), m_elements.end(), compare_pairs);
|
||||
- }
|
||||
- }
|
||||
+ object(bool keep_order = false);
|
||||
+ object(storage_type elements, bool keep_order = false);
|
||||
|
||||
public:
|
||||
/// <summary>
|
||||
@@ -1087,22 +1064,13 @@
|
||||
/// <returns>Iterator to the new location of the element following the erased element.</returns>
|
||||
/// <remarks>GCC doesn't support erase with const_iterator on vector yet. In the future this should be
|
||||
/// changed.</remarks>
|
||||
- iterator erase(iterator position) { return m_elements.erase(position); }
|
||||
+ iterator erase(iterator position);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes an element of the JSON object. If the key doesn't exist, this method throws.
|
||||
/// </summary>
|
||||
/// <param name="key">The key of an element in the JSON object.</param>
|
||||
- void erase(const utility::string_t& key)
|
||||
- {
|
||||
- auto iter = find_by_key(key);
|
||||
- if (iter == m_elements.end())
|
||||
- {
|
||||
- throw web::json::json_exception("Key not found");
|
||||
- }
|
||||
-
|
||||
- m_elements.erase(iter);
|
||||
- }
|
||||
+ void erase(const utility::string_t& key);
|
||||
|
||||
/// <summary>
|
||||
/// Accesses an element of a JSON object. If the key doesn't exist, this method throws.
|
||||
@@ -1142,17 +1110,7 @@
|
||||
/// <param name="key">The key of an element in the JSON object.</param>
|
||||
/// <returns>If the key exists, a reference to the value kept in the field, otherwise a newly created null value
|
||||
/// that will be stored for the given key.</returns>
|
||||
- json::value& operator[](const utility::string_t& key)
|
||||
- {
|
||||
- auto iter = find_insert_location(key);
|
||||
-
|
||||
- if (iter == m_elements.end() || key != iter->first)
|
||||
- {
|
||||
- return m_elements.insert(iter, std::pair<utility::string_t, value>(key, value()))->second;
|
||||
- }
|
||||
-
|
||||
- return iter->second;
|
||||
- }
|
||||
+ json::value& operator[](const utility::string_t& key);
|
||||
|
||||
/// <summary>
|
||||
/// Gets an iterator to an element of a JSON object.
|
||||
--- a/Release/src/json/json.cpp
|
||||
+++ b/Release/src/json/json.cpp
|
||||
@@ -135,6 +135,14 @@
|
||||
{
|
||||
}
|
||||
|
||||
+#ifdef ENABLE_JSON_VALUE_VISUALIZER
|
||||
+web::json::value::value(std::unique_ptr<details::_Value> v, value_type kind) : m_value(std::move(v)), m_kind(kind)
|
||||
+#else
|
||||
+web::json::value::value(std::unique_ptr<details::_Value> v) : m_value(std::move(v))
|
||||
+#endif
|
||||
+{
|
||||
+}
|
||||
+
|
||||
web::json::value::value(const value& other)
|
||||
: m_value(other.m_value->_copy_value())
|
||||
#ifdef ENABLE_JSON_VALUE_VISUALIZER
|
||||
@@ -495,3 +503,67 @@
|
||||
#endif
|
||||
return instance;
|
||||
}
|
||||
+
|
||||
+web::json::array::array() : m_elements() {}
|
||||
+web::json::array::array(size_type size) : m_elements(size) {}
|
||||
+web::json::array::array(storage_type elements) : m_elements(std::move(elements)) {}
|
||||
+
|
||||
+web::json::array::iterator web::json::array::erase(web::json::array::iterator position)
|
||||
+{
|
||||
+ return m_elements.erase(position);
|
||||
+}
|
||||
+
|
||||
+void web::json::array::erase(web::json::array::size_type index)
|
||||
+{
|
||||
+ if (index >= m_elements.size())
|
||||
+ {
|
||||
+ throw json_exception("index out of bounds");
|
||||
+ }
|
||||
+ m_elements.erase(m_elements.begin() + index);
|
||||
+}
|
||||
+
|
||||
+json::value& web::json::array::operator[](web::json::array::size_type index)
|
||||
+{
|
||||
+ msl::safeint3::SafeInt<size_type> nMinSize(index);
|
||||
+ nMinSize += 1;
|
||||
+ msl::safeint3::SafeInt<size_type> nlastSize(m_elements.size());
|
||||
+ if (nlastSize < nMinSize) m_elements.resize((size_type)nMinSize);
|
||||
+
|
||||
+ return m_elements[index];
|
||||
+}
|
||||
+
|
||||
+web::json::object::object(bool keep_order) : m_elements(), m_keep_order(keep_order) {}
|
||||
+web::json::object::object(storage_type elements, bool keep_order) : m_elements(std::move(elements)), m_keep_order(keep_order)
|
||||
+{
|
||||
+ if (!keep_order)
|
||||
+ {
|
||||
+ sort(m_elements.begin(), m_elements.end(), compare_pairs);
|
||||
+ }
|
||||
+}
|
||||
+web::json::object::iterator web::json::object::erase(iterator position)
|
||||
+{
|
||||
+ return m_elements.erase(position);
|
||||
+}
|
||||
+
|
||||
+void web::json::object::erase(const utility::string_t& key)
|
||||
+{
|
||||
+ auto iter = find_by_key(key);
|
||||
+ if (iter == m_elements.end())
|
||||
+ {
|
||||
+ throw web::json::json_exception("Key not found");
|
||||
+ }
|
||||
+
|
||||
+ m_elements.erase(iter);
|
||||
+}
|
||||
+
|
||||
+json::value& web::json::object::operator[](const utility::string_t& key)
|
||||
+{
|
||||
+ auto iter = find_insert_location(key);
|
||||
+
|
||||
+ if (iter == m_elements.end() || key != iter->first)
|
||||
+ {
|
||||
+ return m_elements.insert(iter, std::pair<utility::string_t, value>(key, value()))->second;
|
||||
+ }
|
||||
+
|
||||
+ return iter->second;
|
||||
+}
|
||||
@@ -25,7 +25,7 @@ PATCHES=(
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
find thirdparty -mindepth 1 -not -name imapdl -delete
|
||||
find thirdparty -mindepth 1 -not -name imapdl -delete || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake vcs-snapshot
|
||||
inherit cmake
|
||||
|
||||
EGIT_COMMIT="721edb3e1a817e527fd9e1e18a3bea300822522e"
|
||||
|
||||
@@ -11,6 +11,8 @@ DESCRIPTION="A C++ header-only YAML library"
|
||||
HOMEPAGE="https://fktn-k.github.io/fkYAML/"
|
||||
SRC_URI="https://github.com/fktn-k/fkYAML/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
@@ -26,7 +28,7 @@ PATCHES=(
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
find thirdparty -mindepth 1 -not -name imapdl -delete
|
||||
find thirdparty -mindepth 1 -not -name imapdl -delete || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
DIST python_designateclient-6.2.0.tar.gz 72182 BLAKE2B 1c39a9d4a8a40c153aa5c2ec6896e9e0b30b7291a0f9bdf7cc79a4b4a16d29e2329029e8f1b9802cf1d1c9dd2ac047a2be67d25e696ead44e1958d6b65b5a9b0 SHA512 72995f35cd86dcf70bb623d89f1b51cace5c459db174478f119253fbfe4cc3f40c7a4d049bf65d992b8307bceef8d7619fc6649a52f9ae7f914b432f654fa6c5
|
||||
DIST python_designateclient-6.3.0.tar.gz 72386 BLAKE2B 6296b3ad3c516989c363ee4ac4653656330a0c8c3e2df9de8e8844a88d2c53f8926273e2dc6eda207ea95634f48fde22f99e6c6902c77a160db4c6da7037bccf SHA512 7a7eb0b4a310f921eaa68c5258a81bad91a15bb51b26e81f6ab17d34a0ce91817f47912114278a13ae767b5cd8063dea951f59de0f04d389c21371a77e26ba30
|
||||
|
||||
@@ -1 +1 @@
|
||||
DIST python_manilaclient-5.4.0.tar.gz 389596 BLAKE2B 3383d59b690f5c694b0fc57101b6569f8b41b0f4e7280f170b330f5e0c70f54cd55f491d9a989bc80194a215da2e88ca244e0b954e7d14697c14a3591fc9fa99 SHA512 c8149acbe151884d29fc520c44a80ab6fe6900bd1b40cc3a74a2bcb70fa8b868df5fffd7062e1fde685af171dc27689b77c6199be6cd272f4a1f21bc466dbf96
|
||||
DIST python_manilaclient-5.5.0.tar.gz 389835 BLAKE2B 8637355ffc379ec16f61e1b0f578c2ad5322aef72715e5ff101742cedb083c8d8f749c4e9a9ff9f6da66b3a458717a4828d2ba3bab1df86f8a14f21b0ceb7a13 SHA512 dd42607279e4b01dd5333e78c973808763cc7efa54973d04ef1f9a68cd44e7befe738fa7c01aed0a61a723d8bb63b4ef44041bc00f88a2c984f50fcf81d7345e
|
||||
|
||||
@@ -1 +1 @@
|
||||
DIST python_octaviaclient-3.10.0.tar.gz 97294 BLAKE2B ca56e662bf0173ad4a922b6fc9f82fbfe7a5cd7488abc2746836db44b6e128e159272a7b9618703aef143c6f50764da5d16cf2142a7730fba9ceb37648c37de6 SHA512 cf867242794e9c79be283915040d5280134da28fa92c4371a9ff94f7c03189e5fe513c5da42cfc9079e3be54234dce868b1770e3869654135a5be159029c7b1c
|
||||
DIST python_octaviaclient-3.11.1.tar.gz 97466 BLAKE2B f148eb93dcd10fa2d11b47d2920018666a22a11e9d88b25aea922a7146db3fa333d270311470421e8f677298768f2ac9b16c283e4dfe1f843b960f9dcbac218c SHA512 c9765255cfc69aed781d8d9d04f35e0548cf5a6f8f4cac52ca41f97f0db0e9a87ef5c902f133b233a5246c49c49364e8398173e6bf6d6bfc8cf89ae723de946e
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
DIST gitqlient-1.6.1.tar.gz 4971880 BLAKE2B b793dd406d1dff7aa193916a08dc5c10159eb54f79d2d9930b672aed5ee5d98fe3d6afb1869032bdeee1790b078a5fefa8064506353d56e870ea95bb24ebcc26 SHA512 e115c9fca6c8fe17b32d326a7f649d35ea55fd1f4c1df7c30962e9f07382d246cd23b8dbdbf6759620d1ba7ba9c48c7a391b2e0a730a58bba9f1ba6425a2da9e
|
||||
DIST gitqlient-GitServerPlugin-0.2.0.tar.gz 78411 BLAKE2B 4220f0d53abccac79a21cb5cb2e1cad608fbfc62afe797ed446594a642010f6476c519c3ba807db4cbc8f51150420186933cfeb18b27b98ddfd18882213e04e2 SHA512 d01c8fd3132d03f1f819ec7c81f920f6e37146f43182c322d6048ba008ab83dac71b43510445fe9ec5612555e1b18c2afb4a0193dd1a3dabb3b80ae35e9e9381
|
||||
@@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
MY_PN="GitServerPlugin"
|
||||
GQ="GitQlient"
|
||||
GQ_PN="gitqlient"
|
||||
GQ_PV="1.6.1"
|
||||
|
||||
DESCRIPTION="GitQlient GitServer plugin"
|
||||
HOMEPAGE="https://github.com/francescmm/GitServerPlugin"
|
||||
SRC_URI="
|
||||
https://github.com/francescmm/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${GQ_PN}-${MY_PN}-${PV}.tar.gz
|
||||
https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
PDEPEND=">=dev-vcs/gitqlient-1.6.1"
|
||||
RDEPEND="
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtwebengine:5[widgets]
|
||||
"
|
||||
|
||||
# No need SONAME for runtime plugin
|
||||
QA_SONAME="usr/lib.*/lib${MY_PN}.so"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/AuxiliarCustomWidgets src/AuxiliarCustomWidgets || die
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/QLogger src/QLogger || die
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/git src/git || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 "${MY_PN}".pro
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so lib/lib"${MY_PN}".so
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "To use ${MY_PN} set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>torokhov-s-a@yandex.ru</email>
|
||||
<name>Sergey Torokhov</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">francescmm/GitServerPlugin</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,2 +0,0 @@
|
||||
DIST gitqlient-1.6.1.tar.gz 4971880 BLAKE2B b793dd406d1dff7aa193916a08dc5c10159eb54f79d2d9930b672aed5ee5d98fe3d6afb1869032bdeee1790b078a5fefa8064506353d56e870ea95bb24ebcc26 SHA512 e115c9fca6c8fe17b32d326a7f649d35ea55fd1f4c1df7c30962e9f07382d246cd23b8dbdbf6759620d1ba7ba9c48c7a391b2e0a730a58bba9f1ba6425a2da9e
|
||||
DIST gitqlient-JenkinsPlugin-0.2.0.tar.gz 29474 BLAKE2B f8dfb020f68ec474b0d15b62a5566316f21cd29f4878170bcf7940e3df596a970535d5db3c3f05f12d18fdff5f5b6f99db242c807e8554754f08f14ad31997a0 SHA512 0c3089b80116974a687821940d7e78c6b663acf50cb060cff824d3e1e1838773eca8ed671778d2cf016d0b3e5fff8daab958f765af4eacc04dea66864966ae8e
|
||||
@@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
MY_PN="JenkinsPlugin"
|
||||
GQ="GitQlient"
|
||||
GQ_PN="gitqlient"
|
||||
GQ_PV="1.6.1"
|
||||
|
||||
DESCRIPTION="GitQlient Jenkins plugin"
|
||||
HOMEPAGE="https://github.com/francescmm/JenkinsPlugin"
|
||||
SRC_URI="
|
||||
https://github.com/francescmm/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${GQ_PN}-${MY_PN}-${PV}.tar.gz
|
||||
https://github.com/francescmm/${GQ}/releases/download/v${GQ_PV}/${GQ_PN}_${GQ_PV}.tar.gz -> ${GQ_PN}-${GQ_PV}.tar.gz
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
PDEPEND=">=dev-vcs/gitqlient-1.6.1"
|
||||
RDEPEND="
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtwebengine:5[widgets]
|
||||
"
|
||||
|
||||
# No need SONAME for runtime plugin
|
||||
QA_SONAME="usr/lib.*/lib${MY_PN}.so"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/AuxiliarCustomWidgets src/AuxiliarCustomWidgets || die
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/QLogger src/QLogger || die
|
||||
mv -T ../"${GQ_PN}_${GQ_PV}"/src/QPinnableTabWidget src/QPinnableTabWidget || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 "${MY_PN}".pro
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dolib.so lib/lib"${MY_PN}".so
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "To use ${MY_PN} set PluginFolder in GitQlient settings Plugin tab to /usr/$(get_libdir)"
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>torokhov-s-a@yandex.ru</email>
|
||||
<name>Sergey Torokhov</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">francescmm/JenkinsPlugin</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -49,7 +49,7 @@ SLOT="0"
|
||||
IUSE="discord faudio +llvm opencv vulkan wayland"
|
||||
|
||||
DEPEND="
|
||||
app-arch/p7zip
|
||||
app-arch/7zip
|
||||
app-arch/zstd
|
||||
dev-libs/flatbuffers
|
||||
dev-libs/hidapi
|
||||
|
||||
@@ -49,7 +49,7 @@ SLOT="0"
|
||||
IUSE="discord faudio +llvm opencv vulkan wayland"
|
||||
|
||||
DEPEND="
|
||||
app-arch/p7zip
|
||||
app-arch/7zip
|
||||
app-arch/zstd
|
||||
dev-libs/flatbuffers
|
||||
dev-libs/hidapi
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
DIST mir-2.20.1.tar.gz 6823288 BLAKE2B 68068f7f70eaacdf5840fe8c0bd65b0941240ede6850fc0fde80d894b1309a3f9741d7f28b399bdc453ab06954d1747dee5a9dc4561fe98236473c82cf334d65 SHA512 0e384200790aa025b0cc46d615adcf461b7a0a7dd1ca8429f023d5eeb6c9edf02aa099882c081d63635a55f7bd650b44d2c4294331fd04ce703be806ea866bb3
|
||||
DIST mir-2.20.2.tar.gz 6829935 BLAKE2B fcbd1608960cd67c94b56e1845f989e77eae10bd608b25b19887ab8f92ed388b960bb973d6639d1a794847d18ac3af9ff5e8a98d775b00388aaace3f43f46914 SHA512 f886e4fe561a96524cd45b4e84ce52241980aefd4edca8b01519ec790546a4a04b6e04fd79cca97e158c4b6bb94b0d0a281ae615c4574685b53fc38b2a0bb3ab
|
||||
DIST mir-2.21.1.tar.gz 6879903 BLAKE2B 644d41be226b7ecf673b26bcc14b52d693b11bc2d63775f591e7332d854b0d3725ca23a0747e7ea53b2928ea5f3221376d74fd6b5aea0997f392e2892028a12e SHA512 36bfef3462e2428d608e5b6e4ba910d4c0c1db6d4614cc46ebb322314230b785e308b120bf5a69e60aad6c6e04c369a48d7323cccc1d4a389dc757c69ffcff40
|
||||
|
||||
@@ -33,6 +33,7 @@ RDEPEND="
|
||||
x11-libs/libdrm
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/pixman
|
||||
virtual/libudev:=
|
||||
X? ( x11-libs/libX11 )
|
||||
"
|
||||
@@ -58,7 +59,7 @@ PATCHES=(
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
cmake_comment_add_subdirectory examples/
|
||||
cmake_comment_add_subdirectory examples/ examples/tests/
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
@@ -1,2 +1,2 @@
|
||||
DIST miracle-wm-0.4.1.tar.gz 478349 BLAKE2B 6a8f942280ed33d5e285fc41eab8c0b2fca34aeafd828e6afc346eb18c89e7aebb2056f55ee7c1d7a624581096f63d7091e0e1be44135d7df54482cfe878f851 SHA512 50b49bd711b0aa4d2285423340a4328e961b4feee77c8c2c931a747ceec1eaabb51e6a4bb3fa8d6cab420555baa2f919369a3d1d195b1bcbc1be033b2087f86e
|
||||
DIST miracle-wm-0.5.2.tar.gz 1089314 BLAKE2B b68e8f58b6359bdba2cb367d46ceb939a192ffb8b70566803b9aea3e2eb167a942aa6edf087ffa2a1910a51b5d6450f633936a60f89521deabafe51436a8fdd6 SHA512 959e79d7139decbd1ebc2d0bb03fd23a40bfc7debdeb500c5a62b1dfa568ef76b0e32e12064412122c4820f6525ec25206f0434b3d1614399e5b750e950dc53b
|
||||
DIST miracle-wm-0.6.1.tar.gz 1146630 BLAKE2B e5982359e7abbecd97b099c03b80a4374db01528981f4e1ee1fd8ef2112718af8d3c2c9a3f920c48dcb954cd03c93aa68433d3328a2c2ec27f230916fcfb4ade SHA512 823ac88b23b0d9337bf8e28520ca20fc17e0fe52955657c69703e8d37c394f192feb463ba307f7b6bc6c4b136770f3f03551991de649034b5abb1dc53c35c6e8
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
--- a/miracle-wm-config/CMakeLists.txt
|
||||
+++ b/miracle-wm-config/CMakeLists.txt
|
||||
@@ -3,7 +3,9 @@ pkg_check_modules(MIRCORE mircore REQUIRED)
|
||||
pkg_check_modules(YAML REQUIRED IMPORTED_TARGET yaml-cpp)
|
||||
pkg_check_modules(LIBEVDEV REQUIRED IMPORTED_TARGET libevdev)
|
||||
pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
|
||||
-find_package(GTest REQUIRED)
|
||||
+if(WITH_TESTS)
|
||||
+ find_package(GTest REQUIRED)
|
||||
+endif()
|
||||
|
||||
add_library(miracle-wm-config
|
||||
SHARED
|
||||
@@ -55,6 +57,7 @@ install(
|
||||
)
|
||||
|
||||
# Tests
|
||||
+if(WITH_TESTS)
|
||||
add_executable(test_miracle_wm_config_c_api
|
||||
tests/test_miracle_wm_config_c_api.cpp
|
||||
)
|
||||
@@ -74,3 +77,4 @@ target_link_libraries(test_miracle_wm_config_c_api
|
||||
)
|
||||
|
||||
add_test(NAME test_miracle_wm_config_c_api COMMAND test_miracle_wm_config_c_api)
|
||||
+endif()
|
||||
@@ -3,7 +3,9 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake systemd
|
||||
PYTHON_COMPAT=( python3_13 )
|
||||
|
||||
inherit cmake python-single-r1
|
||||
|
||||
DESCRIPTION="Tiling Wayland compositor based on Mir"
|
||||
HOMEPAGE="https://github.com/miracle-wm-org/miracle-wm"
|
||||
@@ -13,21 +15,33 @@ LICENSE="GPL-3+ MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="systemd test"
|
||||
REQUIRED_USE="systemd? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
COMMON_DEPEND="
|
||||
dev-cpp/yaml-cpp:=
|
||||
dev-cpp/nlohmann_json
|
||||
dev-libs/glib:2
|
||||
dev-libs/json-c:=
|
||||
dev-libs/libevdev
|
||||
dev-libs/libpcre2:=
|
||||
dev-libs/wayland
|
||||
>=gui-libs/mir-2.18:=
|
||||
media-libs/libglvnd
|
||||
x11-base/xwayland
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
systemd? (
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/dbus-next[${PYTHON_USEDEP}]
|
||||
dev-python/tenacity[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
${COMMON_DEPEND}
|
||||
media-libs/glm
|
||||
"
|
||||
BDEPEND="
|
||||
@@ -35,20 +49,29 @@ BDEPEND="
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-conditional-tests.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use systemd && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
use test || cmake_comment_add_subdirectory tests/
|
||||
|
||||
sed -i "s| /usr/lib/systemd/user| $(systemd_get_userunitdir)|" CMakeLists.txt || die
|
||||
use systemd && python_fix_shebang session/usr/bin/libexec/miracle-wm-wait-sni-ready
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DSYSTEMD_INTEGRATION=$(usex systemd)
|
||||
-DWITH_TESTS=$(usex test)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
"${BUILD_DIR}/bin/miracle-wm-tests" || die
|
||||
"${BUILD_DIR}/tests/miracle-wm-tests" || die
|
||||
"${BUILD_DIR}/miracle-wm-config/test_miracle_wm_config_c_api" || die
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
DIST pixman-0.3.0-LClMnz2VAAAs7QSCGwLimV5VUYx0JFnX5xWU6HwtMuDX.tar.gz 7966 BLAKE2B 8d6607e878b0bacc0fc16bcc2264ddd89e349b61a1b269e59b2e19b311064453a473f2401103b0e40906f7190d154d403b712e05fe937abe2f6253f7d8337820 SHA512 2eb43d460aff9ff2da015afc9230ca73588ada59df59465a3efa8f074d9d641fec4bf52ab3de475ec1a5ba2f04afc59221f231af5e2cf5aba7252bbde6be35a5
|
||||
DIST river-0.3.11.tar.gz 174745 BLAKE2B 6ab4906475d21d6eb1572d2eed53003deb33da5c953fdfa446444677ff7b25d10610d10ce565f891fc5bb20cd375dcdb895e92d084d86dfb1e2c75709852a834 SHA512 b0e2439247c4424b06136c9466447172d5ea4df9b3f8133051d19f8049c5da7d17e3eb03dfe6eac81d03c6762a8c40b2f6d6c918ea5348a23a330f1a782f3bd1
|
||||
DIST river-0.3.7.tar.gz 172036 BLAKE2B d428ec0abf562c0b0ef153499862e0c0c32b37721c870c7f0d54599634fccd5339595eb51e34d401e877378b10c945ad7e0fbf73a90c27c3a1c9eb0883ca88df SHA512 4297b2bd566a3f87fd0c158affd8573661d722ebb7e795356040b15185f09e67dcfac938fa26757d683a274dc08781559b059584dc4934c1d6f51666bf8cb9ec
|
||||
DIST river-0.3.9.tar.gz 174866 BLAKE2B fcadce04c095629c5b44a8f3aa38cd00038aa11e5e6a7f863e9ff6516191ee83b3cd805d88e4457c0acf471853701f1e0a71d1bae30921e37e1bd7ee7aee924f SHA512 1c69d07bdb0e16e2ae31afd1af39739b23f0ab070a70afcef86757bb3de5d44058711b860bf2936dca7d7589d8a5074e50edf19e8ea33abbf36418b838f71ffa
|
||||
DIST wayland-0.3.0-lQa1kjPIAQDmhGYpY-zxiRzQJFHQ2VqhJkQLbKKdt5wl.tar.gz 74934 BLAKE2B 8dda2bae62c65068825068dbe91e701ad4a71685d2209bb703d0e8b71b75f1546690b83fc66e9b81de59e26c9e5a9d8d5cfa3f2098cd16a3f13ada7f38fb94ce SHA512 436c7104c41bb3c26bedc3491d887293fa0a40c11a14bc0973a1fa873c5161a05c9681a857f6cf89c9b34106e2b9e92b4f67eebabaf16836cb99a459ad11d20e
|
||||
DIST wlroots-0.18.2-jmOlchnIAwBq45_cxU1V3OWErxxJjQZlc9PyJfR-l3uk.tar.gz 58688 BLAKE2B 744c6305c9593fc21d6c00973adfa84f28e153e2fcac8652590d4ecadc0051f3a496997f2d1ab6256136530b4fc50cfbca876020ec5f9ec0c93c9447b2a53639 SHA512 e41e14f90f6b8e760450eae74d5ed1396646a4af2b373347b0bb3d22ba27d6e22b9d4786e76025fc1127a270cafc12f5505770f8ae13202aba9ff1b01b4047f2
|
||||
DIST wlroots-0.19.2-jmOlcsnnAwDFAeOamkUaxyHNhKngH4Ai5rrLSVbqA8LW.tar.gz 59231 BLAKE2B 58eb9e3ee58c843f996dd3781cf7e477f7dbd7627024ba52ab36f5d214be7039b0308a25de843a304bf02c600b1b444eeeac254ab26d2ca21fff6eb686da6ad6 SHA512 d8266b76874a6704d3f453ef7e657a75e6279706476e78565afc46c08d7cdc29acd88f1b27f70225a3c2398b03d9230ed1a322fc688a6ca6ae45875219287e50
|
||||
DIST xkbcommon-0.3.0-VDqIe3K9AQB2fG5ZeRcMC9i7kfrp5m2rWgLrmdNn9azr.tar.gz 22730 BLAKE2B 6870fc2465e2b1ef4faa6330183a1dade4a4bcf36130113444e5221ff9c764db488304f2f25a603f2511c2562d55bf1011a5f8fe41a068e7e5b707e1d06c0792 SHA512 fe0dc46a8556f19c2ce1badbeee7576065cb56495b94b6d468ee6ed8667f9fef5377e26864b0c8e81c3a2718cfcaf8a4f5e13aab23a615f3a58ec639372fb758
|
||||
DIST zig-pixman-12209db20ce873af176138b76632931def33a10539387cba745db72933c43d274d56.tar.gz 7874 BLAKE2B 25e0e0a65ab45c08e13ed48393e0d009a63e0ec4c2d8452f08ec4b013f9b696adb1d7356a49b1c3b25710982fb34629002df8d433382d433fcdefd1de5fd4358 SHA512 61ce38e9788e9a3701cf32b2d8721424088e1a8bd11841fecc999a31f9b46148e63a35cf770a39edcc7887913019654f7df945b7d7e3b57437d007f7d45609b9
|
||||
DIST zig-wayland-1220687c8c47a48ba285d26a05600f8700d37fc637e223ced3aa8324f3650bf52242.tar.gz 56543 BLAKE2B aaf82efe78d25c59a87de050147857fcf9a19764141cb40d92b0dd48b96ea0ec52d00a1ab0df1afe4c45cda6d64dda97f296f0aa29d8b9ea3da49e1d5cd69e50 SHA512 dfb140c06d9e3c566034f9102426e7bd47dcde87a2ae16d43ce3ea72cf44bea872bab1d9a23a24ae9d57d2d4ae6c56060a6b10f869de3990046426b0462db85e
|
||||
|
||||
72
gui-wm/river/river-0.3.11.ebuild
Normal file
72
gui-wm/river/river-0.3.11.ebuild
Normal file
@@ -0,0 +1,72 @@
|
||||
# Copyright 2024-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="A dynamic tiling Wayland compositor"
|
||||
HOMEPAGE="https://isaacfreund.com/software/river/ https://codeberg.org/river/river"
|
||||
|
||||
declare -g -r -A ZBS_DEPENDENCIES=(
|
||||
[pixman-0.3.0-LClMnz2VAAAs7QSCGwLimV5VUYx0JFnX5xWU6HwtMuDX.tar.gz]='https://codeberg.org/ifreund/zig-pixman/archive/v0.3.0.tar.gz'
|
||||
[wayland-0.3.0-lQa1kjPIAQDmhGYpY-zxiRzQJFHQ2VqhJkQLbKKdt5wl.tar.gz]='https://codeberg.org/ifreund/zig-wayland/archive/v0.3.0.tar.gz'
|
||||
[wlroots-0.19.2-jmOlcsnnAwDFAeOamkUaxyHNhKngH4Ai5rrLSVbqA8LW.tar.gz]='https://codeberg.org/ifreund/zig-wlroots/archive/v0.19.2.tar.gz'
|
||||
[xkbcommon-0.3.0-VDqIe3K9AQB2fG5ZeRcMC9i7kfrp5m2rWgLrmdNn9azr.tar.gz]='https://codeberg.org/ifreund/zig-xkbcommon/archive/v0.3.0.tar.gz'
|
||||
)
|
||||
|
||||
ZIG_SLOT="0.14"
|
||||
inherit zig
|
||||
# TODO verify-sig support
|
||||
SRC_URI="
|
||||
https://codeberg.org/river/river/releases/download/v${PV}/${P}.tar.gz
|
||||
${ZBS_DEPENDENCIES_SRC_URI}
|
||||
"
|
||||
|
||||
# river: GPL-3-or-later
|
||||
# zig-pixman, zig-wayland, zig-wlroots, zig-xkbcommon: MIT
|
||||
LICENSE="GPL-3+ MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="X +llvm man"
|
||||
|
||||
BDEPEND="
|
||||
dev-libs/wayland-protocols
|
||||
dev-util/wayland-scanner
|
||||
man? ( app-text/scdoc )
|
||||
|| (
|
||||
dev-lang/zig:${ZIG_SLOT}[llvm(+)?]
|
||||
dev-lang/zig-bin:${ZIG_SLOT}
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
dev-libs/libevdev
|
||||
dev-libs/libinput:=
|
||||
dev-libs/wayland
|
||||
gui-libs/wlroots:0.19[X?]
|
||||
x11-libs/libxkbcommon[wayland,X?]
|
||||
x11-libs/pixman
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( "README.md" )
|
||||
|
||||
src_configure() {
|
||||
local my_zbs_args=(
|
||||
-Dstrip=false # Let Portage control this
|
||||
-Dpie=true
|
||||
-Dno-llvm=$(usex llvm false true)
|
||||
-Dman-pages=$(usex man true false)
|
||||
-Dxwayland=$(usex X true false)
|
||||
)
|
||||
|
||||
zig_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
zig_src_install
|
||||
|
||||
insinto /usr/share/wayland-sessions/
|
||||
doins contrib/river.desktop
|
||||
|
||||
insinto /usr/share/river/
|
||||
doins -r example/
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
DIST nulloy-0.9.5.tar.gz 326446 BLAKE2B 8dfe39e428abcdc8c593816ae2aaae2ce8e10e5f5551de77444a205abc40dc1a369ab06ca61090235c2601ad1c0243282159ff002e47046b1482b0ec6c3f4389 SHA512 ca65ed5a5d0727505e36e9f85fd93ae27210f01ad4677ffce305ad00ef0307807acb492d1304c9f7ec75f7ec7e0d88371a89799c779d8d7b280a54bf703bd3d0
|
||||
DIST nulloy-0.9.8.7.tar.gz 332534 BLAKE2B 2be3193db135a884a31ceb9b727aa564add8302f8fc07879ec952f01df4bd3946e2bb5ba89ebef4c44de077341490239b09ecb41b7b61fb76c92d23cfe8de660 SHA512 3d1aa93554a9354f69ce46101c64d1deb82356aa68886b3c098e73f67e621db1b4d2e2098243947a9380b741a0c5b65b7333a581bf924def5aff75374510ee79
|
||||
DIST nulloy-0.9.8.tar.gz 332399 BLAKE2B 5d18d6b00d6dc3f478e56a15e7b0869222892c94a46337712f1471a9ce2c3cf42bd0cf6c42c7177022ac323d732f095e1b3a1c7d37a9aff100fc8f833abd32e3 SHA512 4616e050664da46c3ddf89a10366134394b8a7d7cf26488396259b0ff394bbb03df7fe0f73b7d8476ad514b4fb118af0613f0d239b5e7ca0ecc769dfafb53036
|
||||
DIST nulloy-0.9.9.tar.gz 331205 BLAKE2B b16cfbf7395a386da15f03788588cd4a0c5ec4ba05ee089aa2a289963279b5c8e5d433a9f0d58102f58303ce7f3b18491be74d6b9a572770d1416b9774e839d2 SHA512 84a003721f07cf66256500275e0a6f41999bed2457bb0f1273b4963936889b49bb0832cbbac00016f11e5e9f2deca1a2021c36cd767d67f05bdf40653c87f0e3
|
||||
DIST nulloy-theme-night-1.1.tar.bz2 353588 BLAKE2B e22388b2236b3f274cae127dcb545444b465cbf164c4bb6a5b443fdf7e2494c663dd112bbe07f2f5d2bd5e8c11b3b874381925e7f386ace47e2838ebb7ad7a3e SHA512 ef92fc90ffe3383b5ee028f9f871676168fb845de1ecdb2b88f7397abbff433a2483e3f321cf4487c4551253013064815372a5be2a0860d3b5528abea6d97b59
|
||||
DIST nulloy-theme-night-v1.0.tar.bz2 353544 BLAKE2B 71191393fcf1117f9c6c11c30ea2e6a51638e3a098d11c6c22d41e123da45313681b83cd8d3bfa290ed3e3b099390b2ed46a167b2bcaacd44d7833d375df71d1 SHA512 b0f1e6e3d2df6289ba19fc16ae1fb95c4cd731b684aafb498f87079a7a2e6a60bcc3edde37698c3e69d04062c7f563855b6a7997dea80ab6fad6c3615ebadd6d
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/src/skins/skins.pri
|
||||
+++ b/src/skins/skins.pri
|
||||
@@ -12,7 +12,7 @@ win32 {
|
||||
ZIP_DEL_CMD = 7z d -tzip
|
||||
}
|
||||
|
||||
-unix:SKINS = metro silver slim
|
||||
+unix:SKINS = metro silver slim night
|
||||
win32:SKINS = Metro Silver Slim
|
||||
for(skin, SKINS) {
|
||||
_depends = $$SRC_DIR/skins/$$lower($${skin})/*
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<use>
|
||||
<flag name="skins">Without this flag - you can choose qt5 themes not only for preferences</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">nulloy/nulloy</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,73 +0,0 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg
|
||||
|
||||
DESCRIPTION="Music player with a waveform progress bar (sound visualization)"
|
||||
HOMEPAGE="https://nulloy.com"
|
||||
|
||||
NAME="nulloy-theme-night-v1.0"
|
||||
SRC_URI="https://github.com/nulloy/nulloy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
|
||||
skins? ( https://gitlab.com/vitaly-zdanevich/nulloy-theme-night/-/archive/v1.0/${NAME}.tar.bz2 )"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+skins"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore
|
||||
dev-qt/designer
|
||||
dev-qt/qtsvg
|
||||
dev-qt/linguist
|
||||
dev-qt/qtscript
|
||||
dev-qt/qtx11extras
|
||||
media-libs/gstreamer
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/taglib
|
||||
media-plugins/gst-plugins-meta
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if use skins ; then
|
||||
eapply "${FILESDIR}"/add-dark-theme.patch
|
||||
|
||||
cp -r "${WORKDIR}/${NAME}" src/skins/night
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Upstream ./configure script does not support specifying an option's
|
||||
# value after an equal sign like in '--prefix="${EPREFIX}/usr"', so we
|
||||
# have to set up all the options ourselves and call the script directly
|
||||
local myconfargs=(
|
||||
$(use skins || echo --no-skins)
|
||||
--no-update-check
|
||||
--gstreamer-tagreader
|
||||
--prefix "${EPREFIX}/usr"
|
||||
--libdir "$(get_libdir)"
|
||||
)
|
||||
|
||||
QMAKE=/usr/bin/qmake5 LRELEASE=/usr/lib64/qt5/bin/lrelease ./configure "${myconfargs[@]}" || die
|
||||
|
||||
# Because stripping should not be done by the build tools,
|
||||
# because Portage does it when the install phase is run to be able
|
||||
# to support the `splitdebug` and `installsources` FEATURES.
|
||||
# See related issue https://bugs.gentoo.org/856292
|
||||
echo "CONFIG += nostrip" >> "${WORKDIR}/${P}/.qmake.cache"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg
|
||||
|
||||
DESCRIPTION="Music player with a waveform progress bar (sound visualization)"
|
||||
HOMEPAGE="https://nulloy.com"
|
||||
|
||||
NAME="nulloy-theme-night-1.1"
|
||||
SRC_URI="https://github.com/nulloy/nulloy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
|
||||
skins? ( https://gitlab.com/vitaly-zdanevich/nulloy-theme-night/-/archive/1.1/${NAME}.tar.bz2 )"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+skins"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore
|
||||
dev-qt/designer
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/linguist
|
||||
dev-qt/qtscript
|
||||
dev-qt/qtx11extras
|
||||
media-libs/gstreamer
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/taglib
|
||||
media-plugins/gst-plugins-meta
|
||||
media-gfx/imagemagick[svg]
|
||||
"
|
||||
# imagemagick to generate icons, see
|
||||
# https://github.com/nulloy/nulloy/commit/9b89a9e60d68c59fa541807db68e5a1daf4110cc#r138660390
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if use skins ; then
|
||||
eapply "${FILESDIR}"/add-dark-theme.patch
|
||||
|
||||
cp -r "${WORKDIR}/${NAME}" src/skins/night
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Upstream ./configure script does not support specifying an option's
|
||||
# value after an equal sign like in '--prefix="${EPREFIX}/usr"', so we
|
||||
# have to set up all the options ourselves and call the script directly
|
||||
local myconfargs=(
|
||||
$(use skins || echo --no-skins)
|
||||
--no-update-check
|
||||
--gstreamer-tagreader
|
||||
--prefix "${EPREFIX}/usr"
|
||||
--libdir "$(get_libdir)"
|
||||
)
|
||||
|
||||
QMAKE=/usr/bin/qmake5 LRELEASE=/usr/lib64/qt5/bin/lrelease ./configure "${myconfargs[@]}" || die
|
||||
|
||||
# Because stripping should not be done by the build tools,
|
||||
# because Portage does it when the install phase is run to be able
|
||||
# to support the `splitdebug` and `installsources` FEATURES.
|
||||
# See related issue https://bugs.gentoo.org/856292
|
||||
echo "CONFIG += nostrip" >> "${WORKDIR}/${P}/.qmake.cache"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg
|
||||
|
||||
DESCRIPTION="Music player with a waveform progress bar (sound visualization)"
|
||||
HOMEPAGE="https://nulloy.com"
|
||||
|
||||
NAME="nulloy-theme-night-1.1"
|
||||
SRC_URI="https://github.com/nulloy/nulloy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
|
||||
skins? ( https://gitlab.com/vitaly-zdanevich/nulloy-theme-night/-/archive/1.1/${NAME}.tar.bz2 )"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+skins"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore
|
||||
dev-qt/designer
|
||||
dev-qt/qtsvg
|
||||
dev-qt/linguist
|
||||
dev-qt/qtscript
|
||||
dev-qt/qtx11extras
|
||||
media-libs/gstreamer
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/taglib
|
||||
media-plugins/gst-plugins-meta
|
||||
media-gfx/imagemagick
|
||||
"
|
||||
# imagemagick to generate icons, see
|
||||
# https://github.com/nulloy/nulloy/commit/9b89a9e60d68c59fa541807db68e5a1daf4110cc#r138660390
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if use skins ; then
|
||||
eapply "${FILESDIR}"/add-dark-theme.patch
|
||||
|
||||
cp -r "${WORKDIR}/${NAME}" src/skins/night
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Upstream ./configure script does not support specifying an option's
|
||||
# value after an equal sign like in '--prefix="${EPREFIX}/usr"', so we
|
||||
# have to set up all the options ourselves and call the script directly
|
||||
local myconfargs=(
|
||||
$(use skins || echo --no-skins)
|
||||
--no-update-check
|
||||
--gstreamer-tagreader
|
||||
--prefix "${EPREFIX}/usr"
|
||||
--libdir "$(get_libdir)"
|
||||
)
|
||||
|
||||
QMAKE=/usr/bin/qmake5 LRELEASE=/usr/lib64/qt5/bin/lrelease ./configure "${myconfargs[@]}" || die
|
||||
|
||||
# Because stripping should not be done by the build tools,
|
||||
# because Portage does it when the install phase is run to be able
|
||||
# to support the `splitdebug` and `installsources` FEATURES.
|
||||
# See related issue https://bugs.gentoo.org/856292
|
||||
echo "CONFIG += nostrip" >> "${WORKDIR}/${P}/.qmake.cache"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg
|
||||
|
||||
DESCRIPTION="Music player with a waveform progress bar (sound visualization)"
|
||||
HOMEPAGE="https://nulloy.com"
|
||||
|
||||
SRC_URI="https://github.com/nulloy/nulloy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+skins"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore
|
||||
dev-qt/designer
|
||||
dev-qt/qtsvg
|
||||
dev-qt/linguist
|
||||
dev-qt/qtscript
|
||||
dev-qt/qtx11extras
|
||||
media-gfx/imagemagick[svg]
|
||||
media-libs/gstreamer
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/taglib
|
||||
media-plugins/gst-plugins-meta
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
# Upstream ./configure script does not support specifying an option's
|
||||
# value after an equal sign like in '--prefix="${EPREFIX}/usr"', so we
|
||||
# have to set up all the options ourselves and call the script directly
|
||||
local myconfargs=(
|
||||
$(use skins || echo --no-skins)
|
||||
--no-update-check
|
||||
--gstreamer-tagreader
|
||||
--prefix "${EPREFIX}/usr"
|
||||
--libdir "$(get_libdir)"
|
||||
)
|
||||
|
||||
QMAKE=/usr/bin/qmake5 LRELEASE=/usr/lib64/qt5/bin/lrelease ./configure "${myconfargs[@]}" || die
|
||||
|
||||
# Because stripping should not be done by the build tools,
|
||||
# because Portage does it when the install phase is run to be able
|
||||
# to support the `splitdebug` and `installsources` FEATURES.
|
||||
# See related issue https://bugs.gentoo.org/856292
|
||||
echo "CONFIG += nostrip" >> "${WORKDIR}/${P}/.qmake.cache"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit git-r3 xdg
|
||||
|
||||
DESCRIPTION="Music player with a waveform progress bar (sound visualization)"
|
||||
HOMEPAGE="https://nulloy.com"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/nulloy/nulloy"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="+skins"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtcore
|
||||
dev-qt/designer
|
||||
dev-qt/qtsvg
|
||||
dev-qt/linguist
|
||||
dev-qt/qtscript
|
||||
dev-qt/qtx11extras
|
||||
media-libs/gstreamer
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/taglib
|
||||
media-plugins/gst-plugins-meta
|
||||
media-gfx/imagemagick[svg]
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_configure() {
|
||||
# Upstream ./configure script does not support specifying an option's
|
||||
# value after an equal sign like in '--prefix="${EPREFIX}/usr"', so we
|
||||
# have to set up all the options ourselves and call the script directly
|
||||
local myconfargs=(
|
||||
$(use skins || echo --no-skins)
|
||||
--no-update-check
|
||||
--gstreamer-tagreader
|
||||
--prefix "${EPREFIX}/usr"
|
||||
--libdir "$(get_libdir)"
|
||||
)
|
||||
|
||||
QMAKE=/usr/bin/qmake5 LRELEASE=/usr/lib64/qt5/bin/lrelease ./configure "${myconfargs[@]}" || die
|
||||
|
||||
# Because stripping should not be done by the build tools,
|
||||
# because Portage does it when the install phase is run to be able
|
||||
# to support the `splitdebug` and `installsources` FEATURES.
|
||||
# See related issue https://bugs.gentoo.org/856292
|
||||
echo "CONFIG += nostrip" >> "${WORKDIR}/${P}/.qmake.cache"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
einstalldocs
|
||||
}
|
||||
@@ -2,3 +2,5 @@ DIST vesktop-1.5.6-arm64.tar.gz 108278657 BLAKE2B 63d812c61bcac9ae842b1ddbdc5bef
|
||||
DIST vesktop-1.5.6.tar.gz 108271525 BLAKE2B 988a4e6e4008891303556c43ef353d767751ae04b40b3c78ccc86d56509f14e8091a1553abd1fb84f4b5148253f1af5314e9eb60e4d2b8f890c7d1c657582c44 SHA512 7b3dda340ffdfb8acb447d3d04abf296708619c96b2177707dbb2819cf72e29d94167211378e8200917a32be0ca0353868231f5eef730b413b94cfbb15e2af32
|
||||
DIST vesktop-1.5.7-arm64.tar.gz 109879427 BLAKE2B cbaa645d6c59d6e2dbebf1fc541c7ec416acd1995c016e66938d9d08fd8bfcd18f6219c9abee5c7ecab62cd88e223d231d29c2288b72aead2334607d9bdc1e5d SHA512 fa810c74d72ef491c4daa7ac1d6f0d36028552df66c8e98a0c4013febd446d0a69558cfd956186583710fdf3fa9074b123cb7aaf383733aef84164f669e6779a
|
||||
DIST vesktop-1.5.7.tar.gz 109784946 BLAKE2B 4d98c4720908667c080dc8b1e34192f6468e8c169e6ec9a52a76d91a821e142af95fc811899473ac0b7cae7c6d844f774a269dcdb2a2f9cb68da7482f6c0c5a1 SHA512 3529dccd6dbf9c581c7c4a19a45b6b97b8721d000a3179b9a2b25171562a9c3e3e17ac309d6a04efce616dfd93137b49a3f49e2936a56b4bffceb541a17f6e21
|
||||
DIST vesktop-1.5.8-arm64.tar.gz 112075350 BLAKE2B 52b065849f46b03a8cf77608ca1c1c6446612dde444db7da100e77aedc69aeb9b38a7b53a36fc439e00717512c10017a8fc35bf2f3b48f12cbf1e5ab06354e6b SHA512 d321fbe758bf864b0f82b7daa94e068a814c4f493d36756b9759e1de425953f203f1f649865824604ff04812ce8326759bb34e77544989e59fa150aad6521e32
|
||||
DIST vesktop-1.5.8.tar.gz 112045183 BLAKE2B 31839fad08da633d1afe8a17a3b580c9f50d94b1e4474421926a6874b86c7d376538e07854f7f9ef83c9f5f2849e89aefb6ae0a17c771cf50050dbca44b4c3eb SHA512 d5fcd55d66bce158fe7033b77c493b08bc1ed6153c403329458d15014dbde6e54be569995546075e535ce1e8a62f6f4ddc0dfbf51d6fce8b6f5a8a301f94eb1f
|
||||
|
||||
98
net-im/vesktop-bin/vesktop-bin-1.5.8.ebuild
Normal file
98
net-im/vesktop-bin/vesktop-bin-1.5.8.ebuild
Normal file
@@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_PN="vesktop"
|
||||
|
||||
CHROMIUM_LANGS="
|
||||
af am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi
|
||||
hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
|
||||
sw ta te th tr uk ur vi zh-CN zh-TW
|
||||
"
|
||||
|
||||
inherit chromium-2 desktop linux-info optfeature unpacker xdg
|
||||
|
||||
DESCRIPTION="All-in-one voice and text chat for gamers with Vencord Preinstalled"
|
||||
HOMEPAGE="https://github.com/Vencord/Vesktop/"
|
||||
SRC_URI="
|
||||
amd64? ( https://github.com/Vencord/Vesktop/releases/download/v${PV}/${MY_PN}-${PV}.tar.gz )
|
||||
arm64? ( https://github.com/Vencord/Vesktop/releases/download/v${PV}/${MY_PN}-${PV}-arm64.tar.gz )
|
||||
"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
RESTRICT="bindist mirror strip test"
|
||||
|
||||
DEPEND="
|
||||
app-accessibility/at-spi2-core
|
||||
dev-libs/expat
|
||||
dev-libs/glib
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
media-libs/alsa-lib
|
||||
media-libs/fontconfig
|
||||
media-libs/mesa[gbm(+)]
|
||||
net-print/cups
|
||||
sys-apps/dbus
|
||||
sys-libs/glibc
|
||||
x11-libs/cairo
|
||||
x11-libs/libdrm
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libdrm
|
||||
x11-libs/libxcb
|
||||
x11-libs/libxkbcommon
|
||||
x11-libs/pango
|
||||
x11-misc/xdg-utils
|
||||
"
|
||||
|
||||
DESTDIR="/opt/${PN}"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
CONFIG_CHECK="~USER_NS"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
use arm64 && S="${WORKDIR}/${MY_PN}-${PV}-arm64"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
default
|
||||
chromium_suid_sandbox_check_kernel_config
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
doicon -s 256 "${FILESDIR}/vesktop-bin.png"
|
||||
domenu "${FILESDIR}/vesktop-bin.desktop"
|
||||
|
||||
exeinto "${DESTDIR}"
|
||||
|
||||
doexe vesktop chrome-sandbox libEGL.so libffmpeg.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1
|
||||
|
||||
insinto "${DESTDIR}"
|
||||
doins chrome_100_percent.pak chrome_200_percent.pak icudtl.dat resources.pak snapshot_blob.bin v8_context_snapshot.bin
|
||||
insopts -m0755
|
||||
doins -r locales resources
|
||||
|
||||
fowners root "${DESTDIR}/chrome-sandbox"
|
||||
fperms 4711 "${DESTDIR}/chrome-sandbox"
|
||||
|
||||
[[ -x chrome_crashpad_handler ]] && doins chrome_crashpad_handler
|
||||
|
||||
dosym "${DESTDIR}/vesktop" "/usr/bin/vesktop-bin"
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "Desktop notifications support" x11-libs/libnotify
|
||||
}
|
||||
@@ -45,18 +45,6 @@ app-misc/mobile-datovka
|
||||
app-backup/b2
|
||||
dev-util/mock
|
||||
|
||||
# Lucio Sauer <watermanpaint@posteo.net> (2025-06-04)
|
||||
# Ebuild effectively unmaintained since 2021. I was unable to find the origin
|
||||
# of the installed files, so I don't see a reason to keep this.
|
||||
# Removal on 2025-07-04
|
||||
app-mobilephone/usb-tethering
|
||||
|
||||
# Lucio Sauer <watermanpaint@posteo.net> (2025-06-03)
|
||||
# Superseded by app-misc/anki::gentoo and poses extra maintenance burden with
|
||||
# little to no benefit.
|
||||
# Removal on 2025-07-03
|
||||
app-misc/anki-bin
|
||||
|
||||
# David (stkw0) Roman <davidroman96@gmail.com> (2025-06-03)
|
||||
# Unmaintained since 2021, fails to compile. Bug #859643
|
||||
# Removal on 2025-07-30
|
||||
@@ -67,16 +55,8 @@ app-crypt/uacme
|
||||
# Masked until upstream supports running without stem.
|
||||
www-apps/whoogle-search
|
||||
|
||||
# Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in> (2025-05-24)
|
||||
# Poor quality ebuild with incorrect deps, including masked dev-qt/linguist.
|
||||
# Removal on 2025-06-24.
|
||||
media-sound/nulloy
|
||||
x11-themes/nulloy-theme-night
|
||||
|
||||
# David (stkw0) Roman <davidroman96@gmail.com> (2025-04-30)
|
||||
# Depends on removed dev-qt/qtwebengine:5, they should be moved to qtwebengine:6
|
||||
dev-vcs/gitqlient-gitserver-plugin
|
||||
dev-vcs/gitqlient-jenkins-plugin
|
||||
media-video/stremio
|
||||
sci-physics/openmodelica
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
DIST zfsbootmenu-1.12.0.tar.gz 1688946 BLAKE2B 291dcc813767def653bc4983cb9ff4c5b1d9f191cb8fee6e9a58cd6826fe0204606aa095339e9eeb6e4dd3201f5f9ad1b4cc3a26712960bf057198225f4b65f9 SHA512 5af3d258eee3ade3e9e11e084f4de0d251acc952348fdc4d3656b32f8fec7460c2d59fa883e06f482bd2f59e1055d6b908cf43c29aee47059d369231197a6645
|
||||
DIST zfsbootmenu-2.2.2.tar.gz 1830178 BLAKE2B e2191e26215214ce2ed803bf0659aea9ba629fcb35acb75e6398731b5edcee4bc2820203844c80998e39fd4c6eb904244fce6a37126038cd816156466976100a SHA512 895491305bf97147252a63a28d378823068e83417146a949d018b49b6e6d3274af434e8047082dad08494f6db44429a9948531321750b88b0eaf282710356914
|
||||
DIST zfsbootmenu-2.3.0.tar.gz 1891010 BLAKE2B 2e84204994008c85ba0ad7231fe442bd02cbb45d57b3dfd707b86d1484b155dc8309958cd66d90336897e9841596aa74d6ffa4a969bca0e65679806ac8233e94 SHA512 9b8e2d5ea258a32cd09a9382faaa21beea54f2ed825fa747f10ffe0b9f191c257b023019ec76dc882e649e8ea6fcd8e310632bba6c783228c594e3d0fee2c9c8
|
||||
DIST zfsbootmenu-3.0.1.tar.gz 1905474 BLAKE2B 879eb533c333eb95eba7d6d003e3a5ec9446aa7a6443dc28f5c7002c20bfea229601cddb670a24b0638aa94ad14b038822d389488b5028c47484ffc39f7d1633 SHA512 8176ba9325a0d7f06ce9007a2a46cbb1a66f876987ef281f2fac0e0584dfd206ef55211de4af3aa9ae23d64788060119b070c9083e33928a85542efd07c08c95
|
||||
|
||||
55
sys-boot/zfsbootmenu/zfsbootmenu-3.0.1.ebuild
Normal file
55
sys-boot/zfsbootmenu/zfsbootmenu-3.0.1.ebuild
Normal file
@@ -0,0 +1,55 @@
|
||||
# Copyright 2023-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit prefix
|
||||
|
||||
DESCRIPTION="ZFS bootloader for root-on-ZFS systems"
|
||||
HOMEPAGE="https://zfsbootmenu.org"
|
||||
SRC_URI="https://github.com/zbm-dev/zfsbootmenu/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-stub-location.patch
|
||||
)
|
||||
|
||||
RDEPEND="
|
||||
app-shells/fzf
|
||||
dev-lang/perl
|
||||
dev-perl/boolean
|
||||
dev-perl/Config-IniFiles
|
||||
dev-perl/Sort-Versions
|
||||
dev-perl/YAML-PP
|
||||
sys-apps/kexec-tools
|
||||
sys-block/mbuffer
|
||||
sys-fs/zfs
|
||||
sys-kernel/dracut
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
hprefixify bin/*
|
||||
if [[ -n ${BROOT} ]]; then
|
||||
sed -e "s,#!/bin/sh,#!${BROOT}/bin/sh," \
|
||||
-i install-tree.sh releng/version.sh || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# There's a makefile in the source repo but it's only for install. There's
|
||||
# nothing to compile since zfsbootmenu is all scripts.
|
||||
true
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${ED}" EXAMPLES="/usr/share/doc/${PF}" install
|
||||
}
|
||||
|
||||
pkg_postinst () {
|
||||
elog "Please consult Gentoo wiki to configure the bootloader
|
||||
https://wiki.gentoo.org/wiki/ZFS/rootfs#ZFSBootMenu"
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
DIST nulloy-theme-night-1.1.5.tar.bz2 354840 BLAKE2B ed9210369b1e99d74220c005ddf019d0bd105189ad9a2a42e7eceb3b4f8834a866a4fc39c4d149f6152b57f221397b4f2b4beb922b464d3a0880966d91c5683e SHA512 070c756e21796f0590a4a541d47d62f29b475f4fa8be4386e0f47d55622d05ff2980703c5a7bc34a88f839f14430479f82bb4d29f6fb0ce35aeea284aca0fd49
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="gitlab">vitaly-zdanevich/nulloy-theme-night</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -1,24 +0,0 @@
|
||||
# Copyright 2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Black minimal theme for Nulloy music player (that one with the waveform)"
|
||||
HOMEPAGE="https://gitlab.com/vitaly-zdanevich/nulloy-theme-night"
|
||||
SRC_URI="https://gitlab.com/vitaly-zdanevich/nulloy-theme-night/-/archive/${PV}/nulloy-theme-night-${PV}.tar.bz2"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
media-sound/nulloy
|
||||
app-arch/zip
|
||||
"
|
||||
|
||||
src_install() {
|
||||
zip night.nzs id.txt form.ui script.js
|
||||
|
||||
insinto /usr/share/nulloy/skins/
|
||||
doins night.nzs
|
||||
}
|
||||
Reference in New Issue
Block a user