Cleanup and python 3.13
This commit is contained in:
4
app-emulation/fs-uae-launcher/Manifest
Normal file
4
app-emulation/fs-uae-launcher/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
AUX fs-uae-launcher-3.0.0-ROMs.patch 626 BLAKE2B 2662476f496345e6dc2f169b8c3e6e579ba68c3c7c1d9c782ce2dff39394520bde6dc1a52d9d43f562bddec9dc28daa3d0e7e1e93f1da48a0a932e1415ad40ea SHA512 8b607f64cd1c66601f7fccf5332377a85e905a6d9ba9fadb9a7234d5f36c350590011141602e093ee7a30dce4c9c6c0e9928b8b7a0be716eeaa15aeff1eacce0
|
||||
DIST fs-uae-launcher-3.1.70.tar.xz 7707368 BLAKE2B fce6e47b1e09fbfae4959cffe55fec5803aa4dca511af76d621fba2156eee5d76164c0ff5dfad75864b3c2fd5c0a8b5968181538d37b9a039ffd8ab037eeafa2 SHA512 6a4eca273ebd21f64ee0a863497fb39c8b17b6dba0b99a0122f33ea688fb2b341998280b3d0ab4cac2d913bc15834dfec3a1662331dea48933135a82e29f5a83
|
||||
EBUILD fs-uae-launcher-3.1.70.ebuild 1766 BLAKE2B 41851f4fe6da67a487b3228bd27cafb41e6353a8777fd594bebd45afe0ea6358132443d3290b7a51a8023fdee7e1885fadf65d003142045d5cd25e56ea537ebe SHA512 5d6a87332cceb908f6d45e45f883dc155a3c9005a13abaf9fec5bc0f4d27a2f9258d0cc53be857e1267d60e2cf1be0797c4737917b8e5364449a4b6ec506ec0c
|
||||
MISC metadata.xml 409 BLAKE2B 0e27dad4e68facd0066f0f7d02e859eef7147a16cffa734b74efce77eea44ed333052e3a2a9956c052d9c7e8459b50893b0af78eb2061d1c0a1eaf32597ee1d0 SHA512 a4cf13ffb131f6049cdbd83c16ee1114651450d874dca73f68dfa19686ab09021277e860068a4ed6e8318d9bb1b750f861cb2a693945bcd8d0d4eece7f576e94
|
||||
@@ -0,0 +1,14 @@
|
||||
diff -Naur a/fsgs/amiga/roms.py b/fsgs/amiga/roms.py
|
||||
--- a/fsgs/amiga/roms.py 2019-06-21 17:49:42.000000000 +0100
|
||||
+++ b/fsgs/amiga/roms.py 2019-07-21 21:42:14.135600616 +0100
|
||||
@@ -10,7 +10,9 @@
|
||||
# amiga-os-130.rom (decrypted, patched)
|
||||
# Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!]
|
||||
# Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o] (patch)
|
||||
- "891e9a547772fe0c6c19b610baf8bc4ea7fcb785"
|
||||
+ "891e9a547772fe0c6c19b610baf8bc4ea7fcb785",
|
||||
+ # kick13.rom - from Upgrade Commodore Amiga 500 (1989)
|
||||
+ "90933936cce43ca9bc6bf375662c076b27e3c458",
|
||||
]
|
||||
|
||||
A500_1_2_KICKSTARTS = [
|
||||
66
app-emulation/fs-uae-launcher/fs-uae-launcher-3.1.70.ebuild
Normal file
66
app-emulation/fs-uae-launcher/fs-uae-launcher-3.1.70.ebuild
Normal file
@@ -0,0 +1,66 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=yes
|
||||
|
||||
inherit distutils-r1 xdg
|
||||
|
||||
DESCRIPTION="PyQt5-based launcher for FS-UAE"
|
||||
HOMEPAGE="https://fs-uae.net/"
|
||||
SRC_URI="https://fs-uae.net/files/FS-UAE-Launcher/Stable/${PV}/${P}.tar.xz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc64"
|
||||
IUSE="lha"
|
||||
RESTRICT="test" # The test files are just boilerplate.
|
||||
|
||||
RDEPEND="
|
||||
app-emulation/fs-uae
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pyqt5[${PYTHON_USEDEP},declarative,gui,network,opengl,widgets]
|
||||
dev-python/pyopengl[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
lha? ( dev-python/lhafile[${PYTHON_USEDEP}] )
|
||||
')
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
sys-devel/gettext
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.0.0-ROMs.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
emake mo
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
emake install-data DESTDIR="${D}" prefix="${EPREFIX}"/usr
|
||||
mv "${ED}"/usr/share/doc/{${PN},${PF}} || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
elog "Some important information:"
|
||||
elog
|
||||
ewarn " - Do not use QtCurve, it will crash PyQt5!"
|
||||
elog
|
||||
elog " - By default, FS-UAE creates its directories under Documents/FS-UAE."
|
||||
elog " If your Documents directory is not configured according to the XDG"
|
||||
elog " user diretory spec, ~/FS-UAE will be used as a fallback."
|
||||
elog
|
||||
elog " - You can override this by putting the path to the desired base"
|
||||
elog " directory in a special config file. The config file will be read"
|
||||
elog " from ~/.config/fs-uae/base-dir by both FS-UAE and FS-UAE Launcher"
|
||||
elog " if it exists."
|
||||
elog
|
||||
elog " Alternatively, you can start FS-UAE and/or FS-UAE Launcher with"
|
||||
elog " --base-dir=/path/to/desired/dir"
|
||||
}
|
||||
14
app-emulation/fs-uae-launcher/metadata.xml
Normal file
14
app-emulation/fs-uae-launcher/metadata.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>chewi@gentoo.org</email>
|
||||
<name>James Le Cuirot</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">FrodeSolheim/fs-uae-launcher</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="lha">Enable LHA archive support</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
@@ -1,5 +1,6 @@
|
||||
AUX 050_virtualbox-5.2.8-nopie.patch 13011 BLAKE2B 17e94f0abbf52f5ee33538e63078f4cfc641fd72fc558a0f51dc3de033f2e2a2b4c38bb680847e80b1fed558e6ae287a5e1d8059ae54f59a1409215fb2424900 SHA512 a5af5766b8be4adda6fb1e1901ef18c88c24f59ac311afc58cc6d02555562f934c46159aa956b109342fb9890b1bd4af747d600c34ba8a211feebb8c9fd15715
|
||||
AUX 10-virtualbox.rules 576 BLAKE2B 11654424fdfe0276df88907476eda6ecdc84c2b2650c1d71a030009849c896ce34168daff8a29366109703f3d6756b40afa64f8a54f4ff6effedea80b4e9fc23 SHA512 12128375244e0fb090674e5a11cc70178f3c6208040830c009284addb91db7dc0a2d3cbd5d1056944782e936a63b0bcef03be0135683646c41d540413805f0ba
|
||||
AUX VirtualBox-python3.13.patch 3562 BLAKE2B 7979cd4950eebca3579138950cd64b8177f2d3f93218f1b94c80975629f565438c8d495106050da58f7fe3c67d15ec3faf1e64356761eecc6839be32870c134c SHA512 dd7aaa25187d9e0eb8fb8cc3d17660757c898c0a372f36f9dadcd7a7c1626733976cf2cd8f64211a0b6a6d4723e0aee70f9ab40465523e17e3cb0d38c035bca4
|
||||
AUX test_python.py 455 BLAKE2B 5b3295d568fcfb415673998682b8132a6eb396bd05b9a9498e795d446f0e1df7918a2324c4ca348e7ce3084853c2df03d82e6f0304da88fd93513a2f44e6df39 SHA512 8fb796424b37bf93880260655bd8d7e5ec0f8008d00593227a276fed7fff550f02cfbe0961f88f8eb55b17197241640e8c8c346b1cc3c07f1ca6257c7c591bf4
|
||||
AUX vboxwebsrv-confd 559 BLAKE2B 979dc91678fac7277c69e482b07f8d46df6b4df92ffb37d5358be33aa08b01808776f95e915377f3b65dc8b89b54141e70f655847aeba4d0bd12cfceb72d8889 SHA512 47af05e5c8f496f9d55cb1240ab55b3c12f655fda14a3e9d904ada18ed6b748f599b2429133772ff4bcd1f363e5afa19ff5873f9e538aebce58eb88253ef4cab
|
||||
AUX vboxwebsrv-initd 646 BLAKE2B d71673a3afea56aea69ab1d795d8b265bb5fc62296e35d6d28caaf600ca65da43006b6d69b58f6a05f7ca0301bafce2d983536db1c98ceb03ca880f5e7632023 SHA512 365bd3a9f5d8edeb921330eebf67b43f60b048d9869f8378fa68543ed6005320b06360590187631176c256d8ce49305b856a2e0c1dc20b42890e020a8c729719
|
||||
@@ -16,9 +17,12 @@ AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec
|
||||
AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171
|
||||
DIST VirtualBox-7.1.4.tar.bz2 206218796 BLAKE2B 62a4f44b4eac2e1cb2c0bace5dfabf86c41b738d81aede3de75d88159a8d76158748eaae38ee3eedbc0f79b639a875f1ef6805a8ca7c95021f475935f54d7ef9 SHA512 97654339d509447e2604db01e29f9e810f59498a378e645f412cffb67022c4e547f205e8ebdac6ae33aaa8f7bc0f289bdca2e5a04b1fa31b4a05c191d7600a9c
|
||||
DIST VirtualBox-7.1.6a.tar.bz2 205777317 BLAKE2B 584a53df603311bb1d49c8564bb05015426c678d58578327a73e1bb5d8ed4f0563a4edfaea13f3d41acc6902567572e67225cc9ea797b15489fb3d786d35c3f9 SHA512 fbb9487d531db6bf176e73f307ef1b65cc5263c8e5f38755cdc6bed41fe2906ffbd64076d42b8b505183d0ae054d8f6bccc522e981edd5a815e440066327cd3b
|
||||
DIST VirtualBox-7.1.8.tar.bz2 215541146 BLAKE2B dbe8e432162ed29716e14a390be1fa14d13f861943bb2392f8de0cd8ec3dbb991588a8aafe47b2bd0884ca12932af78799d7b21a2b115d818702ccbed564dc97 SHA512 9c801309aac8eeea94279c6872892046cdf933dda0dc7493be5442a9dabbb6e5e513e116bb17d8fd225a6d6d37285f21c26e42daeb37c4335f3636b810f84dfb
|
||||
DIST virtualbox-help-7.1.4.tar.xz 1586108 BLAKE2B e8219ed67b1db9a5e4d0271e25980fbcbfb8c72316dc4bd3337080c81082bb8ecad9c9317b5b9be77db1eeac42c567512a64fe86ae9bb6371dea8632e7afc9ab SHA512 185249fe2bdf2138a034c53e23eedb88cf487e1fb26a8bd623f0d75ea0d2ff4dff3484564a5b317703fb3f302ec7037cb0a49c7c3845e229fe2ac9e2c8c96af6
|
||||
DIST virtualbox-help-7.1.6a.tar.xz 984912 BLAKE2B fe30248627e61f75c6486b7ff73b68027cf9804bfc2df9d331dfbcb93571fb6816d95a35a05719a136d6540035f3bb628f6c61a8ca6ed704d10738b4017f9ad8 SHA512 528b74c170b1ab13b05df03c104f735a67f79cce4d2c03f7094a3cf481f0a832586d07137cab746eeeaae475f671c17996cd3c3acd9f72b77d24bef9a9a403e6
|
||||
DIST virtualbox-help-7.1.8.tar.xz 8308340 BLAKE2B 74a553dcf72306ab5168c403862c872d7de917f090a559fc06fc9a6bb344601ab5a78196e5ae13a9daed9150fc3b29e700fe6dbb4e589f8b3636fec6e9bb9ed5 SHA512 00613dead921bff77b16369b0267d06d668be7b56a12885cff4d050a1120d51de8576472b2dc069e93bf7cefcf4837ebe13d2d8c147953ad4484669df93d3e1e
|
||||
DIST virtualbox-patches-7.1.4-r1.tar.bz2 6140 BLAKE2B dc84a0522629d06b72ff98e330e2c104e55185914238fed53d696399e43400a1c32979724c156479c3a67d2c64f7f8389d58a83242de559cf8dd89fbda0804e6 SHA512 3541ace61bd64f6ecb2f7b3aaa2383c33ae51682676eead78b267ff82d46e769117f074a534301e734408efa0e622d63e778085f06741223b35ed8caaacc003d
|
||||
EBUILD virtualbox-7.1.4.ebuild 21865 BLAKE2B c4ab6c32a2320a1f9a3bc4c82d1138deb6ceee83dd32533e51c03102ec0afdd43ce47f53a7f2133717216fa7fc0afc7ffc4c912896844ec40d479f9f91de8e5a SHA512 a4fc1eb8ad68f6d540f177b589ed776e14bf597d6791d0ac15c389821ca8cadb9ea19243f60ded1551981c0b751545fcfe4f91d9b94325d8f8e3efc5ce130d12
|
||||
EBUILD virtualbox-7.1.6a.ebuild 21877 BLAKE2B 2928931ce4299231947cdef1c5661ae28114a3f6101aeee76840aa27c35058bec128c7f2fd9bc4496730b9fb8b25c269deffd5c7b44943f722e08e33536062bb SHA512 bc95f07403c6191c41a18ab5c2baa64d07d7d31a9d0d300fcfd002d06b72b68cd38f58794e650aa2cdedced062586e24827e1991497e4dde42cee5da9dcb5e6a
|
||||
EBUILD virtualbox-7.1.8.ebuild 22019 BLAKE2B ebb4e32bd3c423ab11745eec869b05298492b458ae1db1202ee10bc4d23dc728eaa2542c5926a54f4e845230a9685ac46ea156a6681de92bd2a4b80396999e4c SHA512 6c707838bcaf991342a2c391ed922d4578f08be4f6935b753ab306151fec14643c608e05595347b88a6fc5a703bf2d4c1550a42350f0409fb57b9b6d2eb26b8a
|
||||
MISC metadata.xml 948 BLAKE2B c074e494d9affda91addd2355f8e71616602102b4cc151d2b45efd04754f1f92621ecd313dbe3baa44c3301f57b61e9cff780d445c2ea3d19ce3d9c8ae05213a SHA512 5338812da9334aedf08dd7a31a4a07c7bfa8232e8f0de6af9de9ac0f5585397cea16e66cb73d56632efa4cf21386782108182d803de6ff45c08082a13dc5fed9
|
||||
|
||||
76
app-emulation/virtualbox/files/VirtualBox-python3.13.patch
Normal file
76
app-emulation/virtualbox/files/VirtualBox-python3.13.patch
Normal file
@@ -0,0 +1,76 @@
|
||||
diff --git a/configure b/configure
|
||||
index 65a39770f6f..465baafb1a5 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2187,7 +2187,7 @@ extern "C" int main(void)
|
||||
}
|
||||
EOF
|
||||
found=
|
||||
- SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.9 python3.10 python3.11 python3.12"
|
||||
+ SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.9 python3.10 python3.11 python3.12 python3.13"
|
||||
for p in $PYTHONDIR; do
|
||||
for d in $SUPPYTHONLIBS; do
|
||||
for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do
|
||||
diff --git a/src/libs/xpcom18a4/python/gen_python_deps.py b/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||
index 1e5add1c5f0..cc62b689e13 100755
|
||||
--- a/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||
+++ b/src/libs/xpcom18a4/python/gen_python_deps.py
|
||||
@@ -29,7 +29,7 @@ if sys.version_info >= (3, 10):
|
||||
else:
|
||||
from distutils.version import StrictVersion as Version
|
||||
|
||||
-versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.9", "3.10", "3.11", "3.12" ]
|
||||
+versions = ["2.6", "2.7", "3.1", "3.2", "3.2m", "3.3", "3.3m", "3.4", "3.4m", "3.5", "3.5m", "3.6", "3.6m", "3.7", "3.7m", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13" ]
|
||||
prefixes = ["/usr", "/usr/local", "/opt", "/opt/local"]
|
||||
known = {}
|
||||
|
||||
diff --git a/src/libs/xpcom18a4/python/Makefile.kmk b/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
index d3aea2dd2dd..fe6a1db9ee4 100644
|
||||
--- a/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
+++ b/src/libs/xpcom18a4/python/Makefile.kmk
|
||||
@@ -616,23 +616,23 @@ ifndef VBOX_ONLY_SDK
|
||||
endif
|
||||
endif
|
||||
|
||||
- ifdef VBOX_PYTHON311_INC
|
||||
+ ifdef VBOX_PYTHON313_INC
|
||||
#
|
||||
- # Python 3.11 version (implicitly with pymalloc)
|
||||
+ # Python 3.13 version (implicitly with pymalloc)
|
||||
#
|
||||
- DLLS += VBoxPython3_11
|
||||
- VBoxPython3_11_EXTENDS = VBoxPythonBase
|
||||
- VBoxPython3_11_EXTENDS_BY = appending
|
||||
- VBoxPython3_11_INCS = $(VBOX_PYTHON311_INC)
|
||||
- VBoxPython3_11_LIBS = $(VBOX_PYTHON311_LIB)
|
||||
+ DLLS += VBoxPython3_13
|
||||
+ VBoxPython3_13_EXTENDS = VBoxPythonBase
|
||||
+ VBoxPython3_13_EXTENDS_BY = appending
|
||||
+ VBoxPython3_13_INCS = $(VBOX_PYTHON313_INC)
|
||||
+ VBoxPython3_13_LIBS = $(VBOX_PYTHON313_LIB)
|
||||
|
||||
ifdef VBOX_WITH_32_ON_64_MAIN_API
|
||||
- ifdef VBOX_PYTHON311_LIB_X86
|
||||
- DLLS += VBoxPython3_11_x86
|
||||
- VBoxPython3_11_x86_EXTENDS = VBoxPythonBase_x86
|
||||
- VBoxPython3_11_x86_EXTENDS_BY = appending
|
||||
- VBoxPython3_11_x86_INCS = $(VBOX_PYTHON311_INC)
|
||||
- VBoxPython3_11_x86_LIBS = $(VBOX_PYTHON311_LIB_X86)
|
||||
+ ifdef VBOX_PYTHON313_LIB_X86
|
||||
+ DLLS += VBoxPython3_13_x86
|
||||
+ VBoxPython3_13_x86_EXTENDS = VBoxPythonBase_x86
|
||||
+ VBoxPython3_13_x86_EXTENDS_BY = appending
|
||||
+ VBoxPython3_13_x86_INCS = $(VBOX_PYTHON313_INC)
|
||||
+ VBoxPython3_13_x86_LIBS = $(VBOX_PYTHON313_LIB_X86)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -700,7 +700,7 @@ ifndef VBOX_ONLY_SDK
|
||||
# TODO: ASSUMING that we don't need a different headers for pymalloc
|
||||
# ('m' builds < 3.8) and CRT malloc.
|
||||
#
|
||||
- VBOX_PYTHON_LIMITED_API_VER := $(firstword $(foreach ver, 35 36 37 38 39 310 311 312 34 33 \
|
||||
+ VBOX_PYTHON_LIMITED_API_VER := $(firstword $(foreach ver, 35 36 37 38 39 310 313 312 34 33 \
|
||||
,$(if-expr defined(VBOX_PYTHON$(ver)_INC),$(ver),)$(if-expr defined(VBOX_PYTHON$(ver)M_INC),$(ver)M,)))
|
||||
ifneq ($(VBOX_PYTHON_LIMITED_API_VER),)
|
||||
DLLS += VBoxPython3
|
||||
779
app-emulation/virtualbox/virtualbox-7.1.8.ebuild
Normal file
779
app-emulation/virtualbox/virtualbox-7.1.8.ebuild
Normal file
@@ -0,0 +1,779 @@
|
||||
# Copyright 2022-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# To add a new Python here:
|
||||
# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
|
||||
# Do NOT skip this part. It'll end up silently not-building the Python extension
|
||||
# or otherwise misbehaving if you do.
|
||||
#
|
||||
# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
|
||||
#
|
||||
# May need to look at other distros (e.g. Arch Linux) to find patches for newer
|
||||
# Python versions as upstream tends to lag. Upstream may have patches on their
|
||||
# trunk branch but not release branch.
|
||||
#
|
||||
# See bug #785835, bug #856121.
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
|
||||
inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
|
||||
python-single-r1 tmpfiles toolchain-funcs udev xdg
|
||||
|
||||
MY_PN="VirtualBox"
|
||||
MY_P=${MY_PN}-${PV}
|
||||
HELP_PV=${PV}
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="
|
||||
https://download.virtualbox.org/virtualbox/${PV%*a}/${MY_P}.tar.bz2
|
||||
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.4-r1.tar.bz2
|
||||
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz ) )
|
||||
"
|
||||
S="${WORKDIR}/${MY_PN}-${PV%*a}"
|
||||
|
||||
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl test +udev vboxwebsrv vde +vmmraw vnc"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
unset WATCOM #856769
|
||||
|
||||
COMMON_DEPEND="
|
||||
acct-group/vboxusers
|
||||
app-arch/xz-utils
|
||||
~app-emulation/virtualbox-modules-${PV%*a}
|
||||
dev-libs/libtpms
|
||||
dev-libs/libxml2
|
||||
dev-libs/openssl:0=
|
||||
media-libs/libpng:0=
|
||||
media-libs/libvpx:0=
|
||||
net-misc/curl
|
||||
sys-libs/zlib
|
||||
dbus? ( sys-apps/dbus )
|
||||
gui? (
|
||||
dev-qt/qtbase:6[X,widgets]
|
||||
dev-qt/qtscxml:6
|
||||
dev-qt/qttools:6[assistant]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
opengl? (
|
||||
media-libs/libglvnd[X]
|
||||
media-libs/vulkan-loader
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
sdl? (
|
||||
media-libs/libsdl2[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
)
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
|
||||
vde? ( net-misc/vde )
|
||||
vnc? ( >=net-libs/libvncserver-0.9.9 )
|
||||
"
|
||||
# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
|
||||
# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
|
||||
# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
|
||||
# based on *DEPEND doesn't work for BDEPEND at least right now.
|
||||
#
|
||||
# There's a comment in Config.kmk about it
|
||||
# ("With Java 11 wsimport was removed, usually part of a separate install now.")
|
||||
# but it needs more investigation.
|
||||
#
|
||||
# See bug #878299 to track this issue.
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-libs/libxslt-1.1.19
|
||||
virtual/libcrypt:=
|
||||
x11-libs/libXt
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
gui? (
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
java? ( virtual/jdk:1.8 )
|
||||
opengl? (
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXrandr
|
||||
virtual/glu
|
||||
)
|
||||
sdl? (
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
"
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
gui? ( x11-libs/libxcb:= )
|
||||
java? ( virtual/jre:1.8 )
|
||||
"
|
||||
BDEPEND="
|
||||
>=app-arch/tar-1.34-r2
|
||||
>=dev-lang/yasm-0.6.2
|
||||
dev-libs/libIDL
|
||||
dev-util/glslang
|
||||
>=dev-build/kbuild-0.1.9998.3592
|
||||
sys-apps/which
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-doc/dita-ot-bin
|
||||
app-text/docbook-sgml-dtd:4.4
|
||||
app-text/docbook-xsl-ns-stylesheets
|
||||
dev-texlive/texlive-basic
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-latexrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-fontsextra
|
||||
dev-qt/qttools:6[assistant]
|
||||
sys-libs/nss_wrapper
|
||||
)
|
||||
gui? ( dev-qt/qttools:6[linguist] )
|
||||
nls? ( dev-qt/qttools:6[linguist] )
|
||||
java? ( virtual/jdk:1.8 )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
test? (
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
QA_FLAGS_IGNORED="
|
||||
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||
usr/lib64/virtualbox/VMMR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||
"
|
||||
|
||||
QA_TEXTRELS="
|
||||
usr/lib64/virtualbox/VMMR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||
"
|
||||
|
||||
QA_EXECSTACK="
|
||||
usr/lib64/virtualbox/iPxeBaseBin
|
||||
usr/lib64/virtualbox/VMMR0.r0
|
||||
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
|
||||
"
|
||||
|
||||
QA_WX_LOAD="
|
||||
usr/lib64/virtualbox/iPxeBaseBin
|
||||
"
|
||||
|
||||
QA_PRESTRIPPED="
|
||||
usr/lib64/virtualbox/VMMR0.r0
|
||||
usr/lib64/virtualbox/VBoxDDR0.r0
|
||||
usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
java? ( sdk )
|
||||
python? ( sdk ${PYTHON_REQUIRED_USE} )
|
||||
vboxwebsrv? ( java )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Downloaded patchset
|
||||
"${WORKDIR}"/virtualbox-patches-7.1.4-r1/patches
|
||||
"${FILESDIR}"/VirtualBox-python3.13.patch
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if ! use gui; then
|
||||
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
|
||||
fi
|
||||
|
||||
if ! use opengl; then
|
||||
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||
einfo "the OpenGL feature."
|
||||
fi
|
||||
if ! use nls && use gui; then
|
||||
einfo "USE=\"gui\" also selects USE=\"nls\". This build"
|
||||
einfo "will have NLS support."
|
||||
fi
|
||||
|
||||
# 749273
|
||||
local d=${ROOT}
|
||||
for i in usr "$(get_libdir)"; do
|
||||
d="${d}/$i"
|
||||
if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
|
||||
die "${d} should be owned by root, VirtualBox will not start otherwise"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
mkdir test
|
||||
cp "${FILESDIR}"/test_python.py test/
|
||||
python_fix_shebang test/test_python.py
|
||||
fi
|
||||
|
||||
# Only add nopie patch when we're on hardened
|
||||
if gcc-specs-pie; then
|
||||
eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch
|
||||
fi
|
||||
|
||||
# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
|
||||
rm -r kBuild/bin || die
|
||||
# Remove everything in tools except kBuildUnits
|
||||
find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || die
|
||||
|
||||
# Disable things unused or split into separate ebuilds
|
||||
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||
|
||||
if ! use pch; then
|
||||
# bug #753323
|
||||
printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
|
||||
>> LocalConfig.kmk || die
|
||||
fi
|
||||
|
||||
# bug #916002, #488176, #925347
|
||||
tc-ld-is-mold || tc-ld-force-bfd
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||
|
||||
# Do not use hard-coded ld (related to bug #488176)
|
||||
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
|
||||
|
||||
# Use PAM only when pam USE flag is enbaled (bug #376531)
|
||||
if ! use pam; then
|
||||
einfo "Disabling PAM removes the possibility to use the VRDP features."
|
||||
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
|
||||
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
|
||||
src/VBox/HostServices/Makefile.kmk || die
|
||||
echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.kmk || die
|
||||
fi
|
||||
|
||||
# add correct java path
|
||||
if use java; then
|
||||
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
|
||||
-i "${S}"/Config.kmk || die
|
||||
java-pkg-opt-2_src_prepare
|
||||
fi
|
||||
|
||||
# bug #940482
|
||||
filter-flags -fno-plt
|
||||
|
||||
# bug #908814
|
||||
filter-lto
|
||||
|
||||
# bug #843437
|
||||
cat >> LocalConfig.kmk <<-EOF || die
|
||||
CXXFLAGS=${CXXFLAGS}
|
||||
CFLAGS=${CFLAGS}
|
||||
EOF
|
||||
|
||||
if use sdl; then
|
||||
sed -i 's/sdl-config/sdl2-config/' configure || die
|
||||
echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
|
||||
fi
|
||||
|
||||
#443830
|
||||
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
|
||||
|
||||
if tc-is-clang; then
|
||||
# clang does not support this extension
|
||||
eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
|
||||
fi
|
||||
|
||||
# fix doc generation
|
||||
echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
|
||||
# replace xhtml names with numeric equivalents
|
||||
find doc/manual -name \*.xml -exec sed -i \
|
||||
-e 's/ /\ /g' \
|
||||
-e 's/–/\–/g' \
|
||||
-e 's/←/\←/g' \
|
||||
-e 's/→/\→/g' \
|
||||
-e 's/↔/\↔/g' {} \+ || die
|
||||
|
||||
# fix help path #891879
|
||||
echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
|
||||
|
||||
# 489208
|
||||
# Cannot patch the whole text, many translations. Use sed instead to replace the command
|
||||
find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
|
||||
's/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || die
|
||||
sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
|
||||
src/VBox/Frontends/VirtualBox/src/main.cpp \
|
||||
src/VBox/VMM/VMMR3/VM.cpp || die
|
||||
|
||||
# 890561
|
||||
echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
|
||||
|
||||
if ! use nls && ! use gui; then
|
||||
cat >> LocalConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_NLS :=
|
||||
VBOX_WITH_MAIN_NLS :=
|
||||
VBOX_WITH_PUEL_NLS :=
|
||||
VBOX_WITH_VBOXMANAGE_NLS :=
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC CXX LD RANLIB
|
||||
export HOST_CC="$(tc-getBUILD_CC)"
|
||||
|
||||
# --enable-webservice is a no-op
|
||||
# webservice is automagically enabled if gsoap is found
|
||||
local myconf=(
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
|
||||
--disable-kmods
|
||||
|
||||
$(usev !alsa --disable-alsa)
|
||||
$(usev !dbus --disable-dbus)
|
||||
$(usev debug --build-debug)
|
||||
$(usev !doc --disable-docs)
|
||||
$(usev !java --disable-java)
|
||||
$(usev !lvm --disable-devmapper)
|
||||
$(usev !pulseaudio --disable-pulse)
|
||||
$(usev !python --disable-python)
|
||||
$(usev !vboxwebsrv --with-gsoap-dir=/dev/null)
|
||||
$(usev vde --enable-vde)
|
||||
$(usev !vmmraw --disable-vmmraw)
|
||||
$(usev vnc --enable-vnc)
|
||||
)
|
||||
|
||||
if use gui || use sdl || use opengl; then
|
||||
myconf+=(
|
||||
$(usev !opengl --disable-opengl)
|
||||
$(usev !gui --disable-qt)
|
||||
$(usev !sdl --disable-sdl)
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--build-headless
|
||||
)
|
||||
fi
|
||||
|
||||
if use amd64 && ! has_multilib_profile; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
|
||||
# not an autoconf script
|
||||
edo ./configure "${myconf[@]}"
|
||||
|
||||
# Force usage of chosen Python implementation
|
||||
# bug #856121, bug #785835
|
||||
sed -i \
|
||||
-e '/VBOX_WITH_PYTHON.*=/d' \
|
||||
-e '/VBOX_PATH_PYTHON_INC.*=/d' \
|
||||
-e '/VBOX_LIB_PYTHON.*=/d' \
|
||||
AutoConfig.kmk || die
|
||||
|
||||
if use python; then
|
||||
cat >> AutoConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_PYTHON=$(usev python 1)
|
||||
VBOX_PATH_PYTHON_INC=$(python_get_includedir)
|
||||
VBOX_LIB_PYTHON=$(python_get_library_path)
|
||||
EOF
|
||||
|
||||
local mangled_python="${EPYTHON#python}"
|
||||
mangled_python="${mangled_python/.}"
|
||||
|
||||
# Stub out the script which defines what the Makefile ends up
|
||||
# building for. gen_python_deps.py gets called by the Makefile
|
||||
# with some args and it spits out a bunch of paths for a hardcoded
|
||||
# list of Pythons. We just override it with what we're actually using.
|
||||
# This minimises the amount of patching we have to do for new Pythons.
|
||||
cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
|
||||
print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
|
||||
print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
|
||||
print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
|
||||
print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
|
||||
EOF
|
||||
|
||||
chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
|
||||
else
|
||||
cat >> AutoConfig.kmk <<-EOF || die
|
||||
VBOX_WITH_PYTHON:=
|
||||
EOF
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS})
|
||||
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||
|
||||
local myemakeargs=(
|
||||
VBOX_BUILD_PUBLISHER=_Gentoo
|
||||
VBOX_WITH_VBOXIMGMOUNT=1
|
||||
|
||||
KBUILD_VERBOSE=2
|
||||
|
||||
AS="$(tc-getCC)"
|
||||
CC="$(tc-getCC)"
|
||||
CXX="$(tc-getCXX)"
|
||||
|
||||
TOOL_GCC3_CC="$(tc-getCC)"
|
||||
TOOL_GCC3_LD="$(tc-getCC)"
|
||||
TOOL_GCC3_AS="$(tc-getCC)"
|
||||
TOOL_GCC3_AR="$(tc-getAR)"
|
||||
TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GXX3_CC="$(tc-getCC)"
|
||||
TOOL_GXX3_CXX="$(tc-getCXX)"
|
||||
TOOL_GXX3_LD="$(tc-getCXX)"
|
||||
TOOL_GXX3_AS="$(tc-getCXX)"
|
||||
TOOL_GXX3_AR="$(tc-getAR)"
|
||||
TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GCC3_CFLAGS="${CFLAGS}"
|
||||
TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
|
||||
VBOX_GCC_OPT="${CXXFLAGS}"
|
||||
VBOX_NM="$(tc-getNM)"
|
||||
|
||||
TOOL_YASM_AS=yasm
|
||||
)
|
||||
|
||||
if use amd64 && has_multilib_profile; then
|
||||
myemakeargs+=(
|
||||
CC32="$(tc-getCC) -m32"
|
||||
CXX32="$(tc-getCXX) -m32"
|
||||
|
||||
TOOL_GCC32_CC="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_CXX="$(tc-getCXX) -m32"
|
||||
TOOL_GCC32_LD="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_AS="$(tc-getCC) -m32"
|
||||
TOOL_GCC32_AR="$(tc-getAR)"
|
||||
TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
|
||||
TOOL_GXX32_CC="$(tc-getCC) -m32"
|
||||
TOOL_GXX32_CXX="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_LD="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_AS="$(tc-getCXX) -m32"
|
||||
TOOL_GXX32_AR="$(tc-getAR)"
|
||||
TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
|
||||
)
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
# dita needs to write to ~/.fop and ~/.java
|
||||
# but it ignores ${HOME} and tries to write to the real home of user portage
|
||||
# resulting in a sandbox violation
|
||||
# -Duser.home= does not work
|
||||
# force using the temporary homedir with nss_wrapper
|
||||
echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
|
||||
echo "${LOGNAME}::$(id -g):" >> ~/group
|
||||
|
||||
local -x LD_PRELOAD=libnss_wrapper.so
|
||||
local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
|
||||
local -x NSS_WRAPPER_GROUP="${HOME}"/group
|
||||
fi
|
||||
|
||||
MAKE="kmk" emake "${myemakeargs[@]}" all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if use python; then
|
||||
local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
|
||||
local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
|
||||
local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
|
||||
local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
|
||||
local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
|
||||
einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
|
||||
einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
|
||||
einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
|
||||
einfo "PYTHONPATH ${PYTHONPATH}"
|
||||
LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
|
||||
|
||||
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
|
||||
|
||||
vbox_inst() {
|
||||
local binary="${1}"
|
||||
local perms="${2:-0750}"
|
||||
local path="${3:-${vbox_inst_path}}"
|
||||
|
||||
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
|
||||
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||
|
||||
insinto ${path}
|
||||
doins ${binary}
|
||||
fowners root:vboxusers ${path}/${binary}
|
||||
fperms ${perms} ${path}/${binary}
|
||||
}
|
||||
|
||||
# Create configuration files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||
|
||||
# Set the correct libdir
|
||||
sed \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||
|
||||
# Install the wrapper script
|
||||
exeinto ${vbox_inst_path}
|
||||
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
|
||||
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||
fperms 0750 ${vbox_inst_path}/VBox
|
||||
|
||||
# Install binaries and libraries
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r components
|
||||
|
||||
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,VMMPreload} \
|
||||
vboximg-mount vbox-img *so *r0; do
|
||||
vbox_inst ${each}
|
||||
done
|
||||
|
||||
# These binaries need to be suid root.
|
||||
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||
vbox_inst ${each} 4750
|
||||
done
|
||||
|
||||
# Install EFI Firmware files (bug #320757)
|
||||
for each in VBoxEFI{32,64}.fd ; do
|
||||
vbox_inst ${each} 0644
|
||||
done
|
||||
|
||||
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||
# VBoxXPCOMIPCD (bug #524202)
|
||||
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
# Symlink binaries to the shipped wrapper
|
||||
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} \
|
||||
VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
|
||||
dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
|
||||
|
||||
if use pam; then
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
fi
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
# environment variables used during SDK binding installation
|
||||
echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
|
||||
echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
if use sdl; then
|
||||
vbox_inst VBoxSDL 4750
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
fi
|
||||
|
||||
if use gui; then
|
||||
vbox_inst VirtualBox
|
||||
vbox_inst VirtualBoxVM 4750
|
||||
for each in VirtualBox{,VM} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
for each in virtualbox{,vm} VirtualBox{,VM} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
doins -r UnattendedTemplates
|
||||
|
||||
domenu ${PN}.desktop
|
||||
|
||||
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
|
||||
for size in 16 32 48 64 128 ; do
|
||||
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
|
||||
done
|
||||
newicon ${PN}-48px.png ${PN}.png
|
||||
doicon -s scalable ${PN}.svg
|
||||
popd &>/dev/null || die
|
||||
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||
icofile="${PN}-${ico}-${size}px.png"
|
||||
if [[ -f "${icofile}" ]]; then
|
||||
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
if use lvm; then
|
||||
vbox_inst VBoxVolInfo 4750
|
||||
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||
fi
|
||||
|
||||
if use sdk; then
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r sdk
|
||||
|
||||
if use java; then
|
||||
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
local udevdir="$(get_udevdir)"
|
||||
local udev_file="VBoxCreateUSBNode.sh"
|
||||
local rules_file="10-virtualbox.rules"
|
||||
|
||||
insinto ${udevdir}
|
||||
doins ${udev_file}
|
||||
fowners root:vboxusers ${udevdir}/${udev_file}
|
||||
fperms 0750 ${udevdir}/${udev_file}
|
||||
|
||||
insinto ${udevdir}/rules.d
|
||||
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
|
||||
> "${T}"/${rules_file} || die
|
||||
doins "${T}"/${rules_file}
|
||||
fi
|
||||
|
||||
if use vboxwebsrv; then
|
||||
vbox_inst vboxwebsrv
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
# Remove dead symlinks (bug #715338)
|
||||
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
|
||||
|
||||
# Fix version string in extensions or else they don't get accepted
|
||||
# by the virtualbox host process (see bug #438930)
|
||||
find ExtensionPacks -type f -name "ExtPack.xml" -exec sed -i '/Version/s@_Gentoo@@' {} \+ || die
|
||||
|
||||
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
|
||||
|
||||
if use vnc; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/VNC
|
||||
fi
|
||||
|
||||
if use dtrace; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
dodoc UserManual.pdf UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
elif use gui; then
|
||||
dodoc "${WORKDIR}"/${PN}-help-${HELP_PV}/UserManual.q{ch,hc}
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
|
||||
if [[ ! -x "${python_path_ext}" ]]; then
|
||||
eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
|
||||
eerror "but none were installed. This may happen if support for a Python target"
|
||||
eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
|
||||
die "Incomplete installation of Python bindings! File a bug with Gentoo!"
|
||||
fi
|
||||
|
||||
# 378871
|
||||
local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
|
||||
pushd "${installer_dir}" &> /dev/null || die
|
||||
sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
|
||||
-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
|
||||
-i vboxapi/__init__.py || die
|
||||
# insert shebang, the files come without one
|
||||
find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
|
||||
python_domodule vboxapi
|
||||
popd &> /dev/null || die
|
||||
|
||||
# upstream added a /bin/sh stub here
|
||||
# use /usr/bin/python3, python_doscript will take care of it
|
||||
sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
|
||||
python_doscript vboxshell.py
|
||||
|
||||
# do not install the installer
|
||||
rm -r "${installer_dir%vboxapi*}" || die
|
||||
fi
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
if use udev; then
|
||||
udev_reload
|
||||
udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
tmpfiles_process virtualbox-vboxusb.conf
|
||||
|
||||
if use gui; then
|
||||
elog "To launch VirtualBox just type: \"virtualbox\"."
|
||||
fi
|
||||
|
||||
elog "You must be in the vboxusers group to use VirtualBox."
|
||||
elog ""
|
||||
elog "The latest user manual is available for download at:"
|
||||
elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
|
||||
elog ""
|
||||
|
||||
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
|
||||
optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
|
||||
optfeature "Guest additions ISO" app-emulation/virtualbox-additions
|
||||
|
||||
if ! use udev; then
|
||||
ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
|
||||
use udev && udev_reload
|
||||
}
|
||||
33
app-text/calibre/Manifest
Normal file
33
app-text/calibre/Manifest
Normal file
@@ -0,0 +1,33 @@
|
||||
AUX 0001-HTML-Input-Dont-add-resources-that-exist-outside-the.patch 2420 BLAKE2B eafb4c38c87bdb708905b0c17b9d3466dad76c1f286f702b6c063c9af866ab8dc656af019eb10a70fa841cfda4e47e1eac9276abdd63d23cf2ffe69f377ad110 SHA512 083e7112f6bdabd0f1894a8afacc87a166ffdad7fa9c88683f05991249b2aa18de04c4e5d842991b0b49a6d0d76248093a7f6ed29a3d0c1a6725e8ab512982e7
|
||||
AUX 0001-PIL-11.0-changes-its-webp-features-output.patch 1223 BLAKE2B 959dc14e452dd1d19a67976fef43e7fc12ec7739d91710848e9f0cfd24966d553c74521a48a44f3b67d36256ef2041b20b8ee2201a855870270512a5937c36ba SHA512 365f55f94d3657a39a5495604f383e3ecda2ed9c4ab8e783b5117b59f2707f933722939049f4450e7629a3f91ce0c607d968427e6b05b9a00e275980b5b2c2ca
|
||||
AUX calibre-5.35.0-jxr-test.patch 827 BLAKE2B 0a94ac5b12ee2ec732d3ff68979c2060b0b218eee27409b3c351a9cc0b6bccce2260b8b387b442ae10f31483b20bd6d672f7d5424f7d9a8297a1bd14af2f7793 SHA512 259a3b4882bf0fbb01cb22974e219a621a2b337d6f638234a806148b11142fdbf9ac36ae38e71fcb7e18bd61362b34cf3c221ba1df317ec6ea8668591ad2d3ff
|
||||
AUX calibre-5.44.0-Fix-compatibility-with-zeroconf-0.73.patch 1065 BLAKE2B 7a74b7d7788340f96b326619f5e2bd916ff21644f0554b2507fcea439eec8217b8b002a2da3b99021fa576a6d3a6fd15d82222f005b8a4fbf37ab5016f33bdb9 SHA512 13f6fc949cc8c5c66013c772cd40429a679fa067d7828cc02e416ecbd556eafb56bebc80bc85a8b442feb3e6b94518450252e701e6426f5a2cde9d102312cf87
|
||||
AUX calibre-5.44.0-icu75.patch 1294 BLAKE2B 1f05f84e5653a7c3d9162fc1dc7d91fc73b3346323e05d3c379227deece394e0754a6c2d72223ef2453abf5b062ba3ad3b4705b110bd333e643fa0a35d0a0ad4 SHA512 3eecadbd27cb178f630b80b789d3e3a437d95e883b429473414fd08d9a412a9c32201b7b859d28446523426caff292580c244a86a1b7bb117fa2b7281fd15b5f
|
||||
AUX calibre-5.44.0-xss-backport.patch 1272 BLAKE2B 65be0f6b97b387b37faa86f79d84e150f0a2801a8f2bde95497ebf4f292f95a56bf9c49613d727446dfa9afdef6a4f108a28e1c02cb4343bbc717834ae544896 SHA512 d8ae8fbe64c40169efd4a2f090c194d5a032b2d7072b6f7763932597b227fb12f88712290fd902cf639d40fff48a8806226037d6bb89e8bb4d1a7a79d4bdc21f
|
||||
AUX calibre-7.0.0-jxr-test.patch 935 BLAKE2B bc38ea2f2d10ec4859ee03ab5d18048df4cf0af5ce4076efc013013bc975966390d618c43ce621675e3b8ee8f929bfaebaa72cf6bb7d8dea544bca77d9772b60 SHA512 db8da42fdcf5b5d5dfad35c128e394cf8f51e57dda6cd1a482803429738515fc1a8b338c711679a11acb93678f35f10883e1bf282e1443ccaafe2eb470fbbfee
|
||||
AUX calibre-7.17.0-qt-texttospeech.patch 1857 BLAKE2B c043883ffc42314d00754907ccbadbc6f1d4916f4d53b0cfe0a86403d251db26f07b26a169671683fd26816868e4f7538705c57024f1314d863edb39937bcee5 SHA512 246c1e8dc4f423b8d87d8e96b13d695c1efe1bd24c69b06fa82b8d655aad89d206ae1bc5998b9f2d160bcd1b87f4d0af41806ed17de711b445811a159d165a37
|
||||
AUX calibre-server-3.conf 541 BLAKE2B 06593633721e6adf2cf2077dffa83953eea46ccdcdc857ad468a9b74788326e9424f6ab9058be344dbbac8e49d343f5a1e53ddb486f2018b77319a7f8f713cf4 SHA512 12ef793a5b6ffd4413f780a13cad63927a95f15d17d85d4229eb5005ead68e51779abb822f9898ab5ae8c2094affeec1f9e85c34f109499739e6726b7641542a
|
||||
AUX calibre-server-3.init 1796 BLAKE2B f87d785d6f6fc10fa648d40944ec8538027854bb872d9a3be6b5b35b0abf3cda1e4e93874a9422914da5eb4287f193459733956e3f1e25e61bec0c214c552c99 SHA512 88110ded1b9c6cf8d3bfc3d5889654f77578f9d299e88daea9023767b930082e00fbddbb92a6e43c46d900248f3684232d93396ec1d0e784c7ec14b44783f98a
|
||||
AUX e9cc00560a28f56a303cca97630ab58e519dd9c8.patch 1335 BLAKE2B eb71cb5510d2259bbc7a4fe7b54652bb543aa3d26816654da7e22a6effb0c81770a91eccccecff5fe711d0495ff5b1ab378231e3cb10dd18f3faeb301acab1ba SHA512 211ea8c0fab1de5bd076eb965eda51ee1330a69e54251fc6a16e5aa0d6ef7721aea14a57a27eb75a99c8e37418aa15bd311e6f4d03f1f05d80cd87d2f00fb995
|
||||
DIST calibre-5.44.0.tar.xz 41015696 BLAKE2B c7053e728da20fccfa981ed4f56e24a4d5b382b7687c92ecb039b078fd4828de0529380093e4ab33f77d78aa54a59758c1620cf8f918937a9a64f13decdf77ee SHA512 3d79e76d820cd1a41605dfd4c1d992599a6e4a759e57a8383d42d86982177e4539313f59e647758ab1896ce5874cb2a93c7678bf962e332c44171651aabf0230
|
||||
DIST calibre-5.44.0.tar.xz.sig 566 BLAKE2B 413b95855d79bdb5b17ca5d760f834006797b4d3e413604f27d351a3392e16d647e772dc063306bf973e1156c34f68cb38152a66164bca849ebed5484e7f6065 SHA512 59957bf35a73f218241bf76cc86994d5af87cea11d3b0800e83f157bf0b2cfcaf4b6c1314562e74a1141d0c167fdb1619cb9a90e93b67f55dd55ceed77045059
|
||||
DIST calibre-7.16.0.tar.xz 44833684 BLAKE2B 2b609a0d014d43998f693a69c10f6d8b0165bf97f8c9d388cf4e1e398e7254b300d53b26e5ec24af651e03bb625bb088331dc77aa2ed6edea13de2beb0e75339 SHA512 5ea11badd972422299ce143e2aa33f58f7abcfd2837acba47d2a7aa6f0997a711245273205ed043c783e5e82bbaaf7cab44e5c03c00e274a03a4ba29be53a708
|
||||
DIST calibre-7.16.0.tar.xz.sig 566 BLAKE2B 1d09e8dd49ad53c88632dc23573fa9cd5403d45a308598ac4ed7d4f2dd5a84cc3ae6812ac652ff4a98fc5d67589ad1584411f7746b6b98468bf03a35a0585de6 SHA512 91f3897d95d234a8d673006273974d32cb6c5aa4953d247700d6d89d511c9b1450dc8e222eabf5d1e4d82de206e425ee440defaff38d1ca83efdbf4bcada7c7c
|
||||
DIST calibre-7.17.0.tar.xz 45053400 BLAKE2B 93149c4fab7a25e1239c4b8c72b766e5ffc71eb27d1206225bc8436f26d2c76f9323e0f0f63d8444291f02a5a7e94d4500715398a71df4ab2a5b16e325e7be73 SHA512 916337dc425916110528828bac0fbdc24db9496362c1e8dad67eafdfda42b90174fb6a4352400cd34af0f11268aabed82b166b3e4875f59e317359079e10bf3b
|
||||
DIST calibre-7.17.0.tar.xz.sig 566 BLAKE2B c041904919ef300f51ba7363daf7d2bc70fc8bb819ffef157e53c28f91b9716be56b1e95465180ecd67069241a5810b70ac08027f4837426a5426792fab05e49 SHA512 af88bcbf394ac6ec68c40d661545a17e956b31dd7797d1cc8490e090437206902a64c7a642cf1e34184e379c79066843959e1459eb1836bddbd615febbc85c07
|
||||
DIST calibre-7.19.0.tar.xz 45057708 BLAKE2B 888ddf4292b8c8931c811eb78d6e9b003139545947f2b7bf63fcd96d96caa050a0f93a30ed0313ccf9b4ebfb25c2df1be7f2806d5117a870d1ac34ad29669e39 SHA512 b1225d6d403a8c4dca321c108d270aa79cf65a450f7db90a4e4df5525e8c1c6eb06b4a2492de7b691f6a1a85ce09361dc3796311c46fa082d6e82829827022a7
|
||||
DIST calibre-7.19.0.tar.xz.sig 566 BLAKE2B 35a9f8987f0dfad0a14843f3db61f8b3442692dafdf9d253ed13c2071b7e8d9d4cec8012dad4b59b30013fdda790967cf42594a29c6a9a2a668bccda72ac2e72 SHA512 836a0138ed46b179fefe78bc678f6f8146fe5d8a1eb9111f02bcc804d96253281c918cc4ad7a3a860a3177babac9c6fd4b2e417361e59b7245d19bfa50f3f739
|
||||
DIST calibre-7.20.0.tar.xz 44795188 BLAKE2B 2ccb7fcd5acdf9f627d79f5656709a7eddee7545dd2c8a95bbb7d2dc61fb26dcf8c34c3c2d6b1514fdbb6b4d7c3fd3e98be72c778026c7b2bb4a42651c5e664b SHA512 3b6e2d4ed8d0755096b466f4bdcc8b6ca4810398caa2322c1efc30280680ff8b10dc5fb8cb763bed8fee82746e7c51c6f31f56e5d9689d5f43c671442004c532
|
||||
DIST calibre-7.20.0.tar.xz.sig 566 BLAKE2B 4d89a7781eb1500969ca75ddf01890bbfea6ecfde4e7173f062be6546e898f68a16e0ff7a3d76e5e17dc0abca617d381de24e18e72f4f05b5965b051f28e6cab SHA512 62dc9964c3a30477e22f832148fdaa57860559e2aaddccff107b37c399854ac3ca84097cd7072c2ee4e57403c7ed17286469f31f6efc3d790f63f438d9c78c79
|
||||
DIST calibre-7.21.0.tar.xz 44802864 BLAKE2B f86ce0f310ac5b38f3aa54ca6436ad9c22c465e5608089c0178fcc5ed87d988ffae50d6b760ae4281ce68315998a5e1c426f243b58bfae86a78e5479d824070d SHA512 0c2ee610833df83219c0c33b09e1374a8262f1630ccd48e3c4725c92922a3ac5d102ad83fc213457fb9de3efa4f5a2c98ff6dff039828e1661085a1054d7f631
|
||||
DIST calibre-7.21.0.tar.xz.sig 566 BLAKE2B 6410767553809878644ccae960b756b3b0571309bf4cbb61b9282586442243d41d1b2da578f97fbf7fbac573c7e9f84bc293e6b38e921850bce44bc7c87d74c8 SHA512 444492b958a01105cb60e8653f8b0e3c5c27a42876527b642f176a375459d3a5664b601aa8fa64c3d39ae486200cd456cd8691a055f7f7530225df106b1bd074
|
||||
DIST calibre-7.22.0.tar.xz 42428392 BLAKE2B e9b7e0dc6e92340ff76d99f44f8265a572d05afadb6b5b06312a6dfbc6b0540d49647686a3fbb367da67a31d680ec8982a46d7baeb2c8371b4eeea1f0eb6c1f8 SHA512 583a1e2bcdd05c350e57cb205fc95eb076210ea5c9156f95a08c63e27f418ecb735c0a68212514edaa05af61e780cf8377a1e1b76a89729ee13b4d5ed34359c7
|
||||
DIST calibre-7.22.0.tar.xz.sig 566 BLAKE2B d818c347043efcd8b01f68efdfdae43bf0315d45a7d8c52e8920972b8fa718b9551edb388a0531eb1781c8a959b31a16bb6f1dec517d3415b0a596d50c4d368e SHA512 9e72f286f01bf3ca76d702f0a8415635d5a352e06765f14a50fae828bea3f5c710200eb857075972e1bcfd176c05983421d899a13ef5aa9c3aa7e996bce80e5e
|
||||
EBUILD calibre-5.44.0-r5.ebuild 8984 BLAKE2B b5f9a34dadb013f347366ccbe2cc36168b85caf4a466188665d949d6116406664ba533290395046148d24104140aaa94b6caf5027444293c9fe17de43a27b4ca SHA512 43381007298d2f41cad354cd608e6f3b04192bb055836d9175d8c9204832f26d54297b0da0ddea4e6139ae058fb49ff761932978992928885b8197f193749804
|
||||
EBUILD calibre-7.16.0.ebuild 7987 BLAKE2B 61535b4bea3c99a8ac5cbe3b6738c91c3bdd0d30780a904102fc1b21799b835e922c034045bbfcf234f3a99890c0fa0203274ccefbdf570254dc946c65ea503b SHA512 090609b21ec694a22a89f27a516e10d5772bc5377c87e0fe2ff0b751c01d2a0cf9c4fa0512541a77e49483cbf7722a83e264b3bb0b45f3ee6f8d73e2b8f7054e
|
||||
EBUILD calibre-7.17.0.ebuild 8155 BLAKE2B e8045cf5f3e6557b0027ba84ce2c4e2558a1dd67f6007eee794ac2571c5277ed45b6c45b183d0144fe58c297af405637cb95c54ebdcfaaa96e6a9c117e7c3533 SHA512 07ba8a2a98a960111dec197e415b8ffcd9697a6d7e2278c7b417d6e89864713d7f0b1e7a015b23958f08db8fb5965e1c7502fc79508872c24b979d4b053eae38
|
||||
EBUILD calibre-7.19.0.ebuild 8374 BLAKE2B 80659908ab33bf598b3f3706c0c6b57cf477af6953e14f038544920862839864dc3dccc53f029e1fd45a62cc4d9f40719f1306ed44a474c6c8912977616639a6 SHA512 9a469b83c5c36b42e8d3e589a9a56cc7cf7be74bbf2e30f7d0987386de80882c8e8a538d7d873bf175f3bf5eacaf9fef09c93ddffa5e46b5d08aaebcf7d50566
|
||||
EBUILD calibre-7.20.0.ebuild 8400 BLAKE2B a36548f91272362a57c6286342855044cb39f7712ddfa9e55a3c72627ababc4eacdca6008741e63df056eb2ca7e5df0f59c22830ab988fcc3a8b683eb232ef79 SHA512 28a5034d892e24d61ffb0e40e0d996ce0a4dbb0faded49240d42803d920917457471efd86dd5706f64ab1075d917432daa9c482da0c3d302dcb78c41487d52a5
|
||||
EBUILD calibre-7.21.0.ebuild 8305 BLAKE2B cf08c0f9a5d1046632aa77f7d6e0ce2cb24551e716fe6f4c7614f508c8331841a574337b2678b0b79396f15d02df629247c7da16a90c0e925fb56d3567394230 SHA512 ec7852d1b70a18df376d10ea2d93b1147a3da58f3c635ecd6ac23c90c9f53f79b6da7a71d533334e62fc8b6f5aae6babfbbf8aaa3cc4fdb947516f999f7eda3c
|
||||
EBUILD calibre-7.22.0.ebuild 8337 BLAKE2B 93f2ebb81f4b2a0c15921b72b33bd13bdbef9f474b3def869a1f90862acab431edc37d25ab37a64c41763f2bf9503ab575c06fe980826950be6f23a04bc0cbe7 SHA512 27a8ed9283914061c446a519c8e88e29c4dde9c91e45f9f9385b74b6f635f1579d6345e28a8606fc238d65549d18176ab8f780b970731b2765f3901010732492
|
||||
MISC metadata.xml 662 BLAKE2B 102f4f537d2127c42311951cd5ca73e41a0ab948d85a037ed24c876382ffe628070d96b7310a337ac8efac61b32fd225b840b20fbe3f51e4cbf48ce073e95e7c SHA512 9929c8d731dfa112cf4b2ca67ddb269360a4f2cd84d9c0c0df6adfa2efe04669e1a45d9d7011f1dffe9e7ebf185e348478c2a1afa2bf2351e69b4f7e7c14da32
|
||||
265
app-text/calibre/calibre-5.44.0-r5.ebuild
Normal file
265
app-text/calibre/calibre-5.44.0-r5.ebuild
Normal file
@@ -0,0 +1,265 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.9.6_pre20171027:=
|
||||
<app-text/podofo-0.10:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
dev-python/faust-cchardet[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqt5-5.15.5_pre2107091435[gui,widgets,network,printsupport,svg,${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqtwebengine-5.15.5_pre2108100905[${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/zeroconf[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtimageformats:5
|
||||
dev-qt/qtcore:5=
|
||||
dev-qt/qtdbus:5=
|
||||
dev-qt/qtgui:5=[jpeg,png]
|
||||
dev-qt/qtwidgets:5
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? ( $(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]') )
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
>=virtual/podofo-build-0.9.6_pre20171027
|
||||
<virtual/podofo-build-0.10
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-5.35.0-jxr-test.patch"
|
||||
|
||||
# fix compatibility with recent versions of zeroconf
|
||||
"${FILESDIR}"/${PN}-5.44.0-Fix-compatibility-with-zeroconf-0.73.patch
|
||||
|
||||
# Security backport for CVE-2023-46303
|
||||
"${FILESDIR}"/0001-HTML-Input-Dont-add-resources-that-exist-outside-the.patch
|
||||
# bug #936270
|
||||
"${FILESDIR}"/${P}-icu75.patch
|
||||
# backport test-only fix for lxml 5
|
||||
"${FILESDIR}"/e9cc00560a28f56a303cca97630ab58e519dd9c8.patch
|
||||
# Security backport for CVE-2024-7008
|
||||
"${FILESDIR}"/${P}-xss-backport.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
sed -e "/^ os.chdir(os.path.join(src_dir, 'build'))$/a\
|
||||
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \
|
||||
'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \
|
||||
'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \
|
||||
'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \
|
||||
'-i', os.path.join(os.path.basename(src_dir), 'Makefile')])" \
|
||||
-e "s|open(self.j(bdir, '.qmake.conf'), 'wb').close()|open(self.j(bdir, '.qmake.conf'), 'wb').write(b'QMAKE_LFLAGS += ${LDFLAGS}')|" \
|
||||
-i setup/build.py || die "sed failed to patch build.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt5_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
243
app-text/calibre/calibre-7.16.0.ebuild
Normal file
243
app-text/calibre/calibre-7.16.0.ebuild
Normal file
@@ -0,0 +1,243 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? ( $(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]') )
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
246
app-text/calibre/calibre-7.17.0.ebuild
Normal file
246
app-text/calibre/calibre-7.17.0.ebuild
Normal file
@@ -0,0 +1,246 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? ( $(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]') )
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
# Don't test availability of PyQt6 tts module, which is not yet used.
|
||||
# Recheck this with future version bumps...
|
||||
"${FILESDIR}"/calibre-7.17.0-qt-texttospeech.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
254
app-text/calibre/calibre-7.19.0.ebuild
Normal file
254
app-text/calibre/calibre-7.19.0.ebuild
Normal file
@@ -0,0 +1,254 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? (
|
||||
$(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]')
|
||||
dev-python/pyqt6[multimedia,speech]
|
||||
)
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
# fix tests with pillow 11
|
||||
"${FILESDIR}"/0001-PIL-11.0-changes-its-webp-features-output.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# unpackaged TTS backend (optional at runtime): https://github.com/rhasspy/piper
|
||||
piper
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
# Some of these tests weren't practical to split out into distinct tests, so
|
||||
# have a different control mechanism
|
||||
use speech || export SKIP_SPEECH_TESTS=1
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
255
app-text/calibre/calibre-7.20.0.ebuild
Normal file
255
app-text/calibre/calibre-7.20.0.ebuild
Normal file
@@ -0,0 +1,255 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
>=media-video/ffmpeg-6:=
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? (
|
||||
$(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]')
|
||||
dev-python/pyqt6[multimedia,speech]
|
||||
)
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
# fix tests with pillow 11
|
||||
"${FILESDIR}"/0001-PIL-11.0-changes-its-webp-features-output.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# unpackaged TTS backend (optional at runtime): https://github.com/rhasspy/piper
|
||||
piper
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
# Some of these tests weren't practical to split out into distinct tests, so
|
||||
# have a different control mechanism
|
||||
use speech || export SKIP_SPEECH_TESTS=1
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
253
app-text/calibre/calibre-7.21.0.ebuild
Normal file
253
app-text/calibre/calibre-7.21.0.ebuild
Normal file
@@ -0,0 +1,253 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
>=media-video/ffmpeg-6:=
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? (
|
||||
$(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]')
|
||||
dev-python/pyqt6[multimedia,speech]
|
||||
)
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# unpackaged TTS backend (optional at runtime): https://github.com/rhasspy/piper
|
||||
piper
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
# Some of these tests weren't practical to split out into distinct tests, so
|
||||
# have a different control mechanism
|
||||
use speech || export SKIP_SPEECH_TESTS=1
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
254
app-text/calibre/calibre-7.22.0.ebuild
Normal file
254
app-text/calibre/calibre-7.22.0.ebuild
Normal file
@@ -0,0 +1,254 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit edo toolchain-funcs python-single-r1 qmake-utils verify-sig xdg
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="
|
||||
https://download.calibre-ebook.com/${PV}/${P}.tar.xz
|
||||
verify-sig? ( https://calibre-ebook.com/signatures/${P}.tar.xz.sig )
|
||||
"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kovidgoyal.gpg
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="+font-subsetting ios speech +system-mathjax test +udisks unrar"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Qt slotted dependencies are used because the libheadless.so plugin links to
|
||||
# QT_*_PRIVATE_ABI. It only uses core/gui/dbus.
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-i18n/uchardet
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.10.0:=
|
||||
app-text/poppler[utils]
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/snowball-stemmer:=
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
dev-python/jeepney[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
dev-python/lxml-html-clean[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.6.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[jpeg,truetype,webp,zlib,${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pychm-0.8.6[${PYTHON_USEDEP}]
|
||||
dev-python/pykakasi[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6[gui,network,opengl,printsupport,quick,svg,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/pyqt6-webengine[widgets,${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/xxhash[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.75.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
dev-qt/qtbase:6=[gui,widgets]
|
||||
dev-qt/qtimageformats:6
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-gfx/optipng-0.7.6
|
||||
>=media-video/ffmpeg-6:=
|
||||
virtual/libusb:1=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
font-subsetting? ( $(python_gen_cond_dep 'dev-python/fonttools[${PYTHON_USEDEP}]') )
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
speech? (
|
||||
$(python_gen_cond_dep 'app-accessibility/speech-dispatcher[python,${PYTHON_USEDEP}]')
|
||||
dev-python/pyqt6[multimedia,speech]
|
||||
)
|
||||
system-mathjax? ( >=dev-libs/mathjax-3:= )
|
||||
udisks? ( virtual/libudev )
|
||||
unrar? ( dev-python/unrardll )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
test? ( $(python_gen_cond_dep '>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]') )
|
||||
"
|
||||
BDEPEND="$(python_gen_cond_dep '
|
||||
>=dev-python/pyqt-builder-1.10.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/sip-5[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/pkgconfig
|
||||
system-mathjax? ( dev-lang/rapydscript-ng )
|
||||
verify-sig? ( sec-keys/openpgp-keys-kovidgoyal )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# Skip calling a binary (JxrDecApp) from libjxr which is used for tests
|
||||
# We don't (yet?) package libjxr and it seems to be dead upstream
|
||||
# (last commit in 2017)
|
||||
"${FILESDIR}/${PN}-7.0.0-jxr-test.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Warning:
|
||||
#
|
||||
# While it might be rather tempting to add yet another sed here,
|
||||
# please don't. There have been several bugs in Gentoo's packaging
|
||||
# of calibre from seds-which-become-stale. Please consider
|
||||
# creating a patch instead, but in any case, run the test suite
|
||||
# and ensure it passes.
|
||||
#
|
||||
# If in doubt about a problem, checking Fedora's packaging is recommended.
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
# This is only ever used at build time. It contains a small embedded copy
|
||||
# of the rapydscript-ng compiler usable inside of qtwebengine, if you don't
|
||||
# have rapydscript-ng (a nodejs package) itself installed. Its only purpose
|
||||
# is to build some resources that come bundled in dist tarballs already...
|
||||
# and which we may also need to regenerate e.g. to use system-mathjax.
|
||||
#
|
||||
# However, running qtwebengine violates the portage sandbox (among other
|
||||
# things, it tries to create directories in /usr! amazing) so this is a
|
||||
# wash anyway. The only real solution here is to package rapydscript-ng.
|
||||
#
|
||||
# We do not need it at build time, and *no one* needs it at install time.
|
||||
# Delete the cruft.
|
||||
rm -r resources/rapydscript/ || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# TODO: get qmake called by setup.py to respect CC and CXX too
|
||||
tc-export CC CXX
|
||||
|
||||
# bug 821871
|
||||
local MY_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
|
||||
export FT_LIB_DIR="${MY_LIBDIR}" HUNSPELL_LIB_DIR="${MY_LIBDIR}" PODOFO_LIB_DIR="${MY_LIBDIR}"
|
||||
export QMAKE="$(qt6_get_bindir)/qmake"
|
||||
|
||||
edo ${EPYTHON} setup.py build
|
||||
edo ${EPYTHON} setup.py gui
|
||||
|
||||
# A few different resources are bundled in the distfile by default, because
|
||||
# not all systems necessarily have them. We un-vendor them, using the
|
||||
# upstream integrated approach if possible. See setup/revendor.py and
|
||||
# consider migrating other resources to this if they do not use it, in
|
||||
# *preference* over manual rm'ing.
|
||||
edo ${EPYTHON} setup.py liberation_fonts \
|
||||
--path-to-liberation_fonts "${EPREFIX}"/usr/share/fonts/liberation-fonts \
|
||||
--system-liberation_fonts
|
||||
if use system-mathjax; then
|
||||
edo ${EPYTHON} setup.py mathjax --path-to-mathjax "${EPREFIX}"/usr/share/mathjax --system-mathjax
|
||||
edo ${EPYTHON} setup.py rapydscript
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Skipped tests:
|
||||
local _test_excludes=(
|
||||
# unpackaged Python dependency: py7zr
|
||||
7z
|
||||
# unpackaged Python dependency: pyzstd
|
||||
test_zstd
|
||||
# unpackaged TTS backend (optional at runtime): https://github.com/rhasspy/piper
|
||||
piper
|
||||
# tests if a completely unused module is bundled
|
||||
pycryptodome
|
||||
|
||||
$(usev !speech speech_dispatcher)
|
||||
$(usev !unrar test_unrar)
|
||||
|
||||
# undocumented reasons
|
||||
test_mem_leaks
|
||||
test_searching
|
||||
)
|
||||
|
||||
# Some of these tests weren't practical to split out into distinct tests, so
|
||||
# have a different control mechanism
|
||||
use speech || export SKIP_SPEECH_TESTS=1
|
||||
|
||||
edo ${PYTHON} setup.py test "${_test_excludes[@]/#/--exclude-test-name=}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C.utf8 # bug #709682
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${HOME}/.config/calibre"
|
||||
mkdir -p "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
# If this directory doesn't exist, zsh completion won't install
|
||||
dodir /usr/share/zsh/site-functions
|
||||
|
||||
edo "${PYTHON}" setup.py install \
|
||||
--staging-root="${ED}/usr" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
--staging-libdir="${ED}/usr/$(get_libdir)" \
|
||||
--system-plugins-location="${EPREFIX}/usr/share/calibre/system-plugins"
|
||||
|
||||
cp -r man-pages/ "${ED}"/usr/share/man || die
|
||||
|
||||
find "${ED}"/usr/share -type d -empty -delete || die
|
||||
|
||||
python_fix_shebang "${ED}/usr/bin"
|
||||
|
||||
python_optimize "${ED}"/usr/$(get_libdir)/calibre "${D}/$(python_get_sitedir)"
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
From 57190699030dc6746320e49695a67ce83c62d549 Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Sun, 28 May 2023 14:03:15 +0530
|
||||
Subject: [PATCH] HTML Input: Dont add resources that exist outside the folder
|
||||
hierarchy rooted at the parent folder of the input HTML file by default
|
||||
|
||||
(cherry picked from commit bbbddd2bf4ef4ddb467b0aeb0abe8765ed7f8a6b)
|
||||
---
|
||||
.../ebooks/conversion/plugins/html_input.py | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/src/calibre/ebooks/conversion/plugins/html_input.py b/src/calibre/ebooks/conversion/plugins/html_input.py
|
||||
index 6f9c2084ea..742f3e0279 100644
|
||||
--- a/src/calibre/ebooks/conversion/plugins/html_input.py
|
||||
+++ b/src/calibre/ebooks/conversion/plugins/html_input.py
|
||||
@@ -64,6 +64,16 @@ class HTMLInput(InputFormatPlugin):
|
||||
)
|
||||
),
|
||||
|
||||
+ OptionRecommendation(name='allow_local_files_outside_root',
|
||||
+ recommended_value=False, level=OptionRecommendation.LOW,
|
||||
+ help=_('Normally, resources linked to by the HTML file or its children will only be allowed'
|
||||
+ ' if they are in a sub-folder of the original HTML file. This option allows including'
|
||||
+ ' local files from any location on your computer. This can be a security risk if you'
|
||||
+ ' are converting untrusted HTML and expecting to distribute the result of the conversion.'
|
||||
+ )
|
||||
+ ),
|
||||
+
|
||||
+
|
||||
}
|
||||
|
||||
def convert(self, stream, opts, file_ext, log,
|
||||
@@ -76,6 +86,7 @@ def convert(self, stream, opts, file_ext, log,
|
||||
if hasattr(stream, 'name'):
|
||||
basedir = os.path.dirname(stream.name)
|
||||
fname = os.path.basename(stream.name)
|
||||
+ self.root_dir_of_input = os.path.abspath(basedir) + os.sep
|
||||
|
||||
if file_ext != 'opf':
|
||||
if opts.dont_package:
|
||||
@@ -250,6 +261,11 @@ def link_to_local_path(self, link_, base=None):
|
||||
frag = l.fragment
|
||||
if not link:
|
||||
return None, None
|
||||
+ link = os.path.abspath(os.path.realpath(link))
|
||||
+ if not link.startswith(self.root_dir_of_input):
|
||||
+ if not self.opts.allow_local_files_outside_root:
|
||||
+ self.log.warn('Not adding {} as it is outside the document root: {}'.format(link, self.root_dir_of_input))
|
||||
+ return None, None
|
||||
return link, frag
|
||||
|
||||
def resource_adder(self, link_, base=None):
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From a961ddbfcb96461fd830ccd6facb81d69cc679d8 Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Tue, 29 Oct 2024 06:08:04 +0530
|
||||
Subject: [PATCH] PIL 11.0 changes its webp features output
|
||||
|
||||
---
|
||||
src/calibre/test_build.py | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
|
||||
index 4e3d740705..91c32eba38 100644
|
||||
--- a/src/calibre/test_build.py
|
||||
+++ b/src/calibre/test_build.py
|
||||
@@ -436,16 +436,14 @@ def test_imaging(self):
|
||||
out = StringIO()
|
||||
features.pilinfo(out=out, supported_formats=False)
|
||||
out = out.getvalue()
|
||||
- for line in '''\
|
||||
+ lines = '''\
|
||||
--- PIL CORE support ok
|
||||
--- FREETYPE2 support ok
|
||||
--- WEBP support ok
|
||||
- --- WEBP Transparency support ok
|
||||
- --- WEBPMUX support ok
|
||||
- --- WEBP Animation support ok
|
||||
--- JPEG support ok
|
||||
--- ZLIB (PNG/ZIP) support ok
|
||||
- '''.splitlines():
|
||||
+ '''.splitlines()
|
||||
+ for line in lines:
|
||||
self.assertIn(line.strip(), out)
|
||||
with Image.open(I('lt.png', allow_user_override=False)) as i:
|
||||
self.assertGreaterEqual(i.size, (20, 20))
|
||||
--
|
||||
2.45.2
|
||||
|
||||
24
app-text/calibre/files/calibre-5.35.0-jxr-test.patch
Normal file
24
app-text/calibre/files/calibre-5.35.0-jxr-test.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
Avoid calling libjxr's JxrDecApp as we currently don't package it.
|
||||
--- a/src/calibre/utils/img.py
|
||||
+++ b/src/calibre/utils/img.py
|
||||
@@ -118,8 +118,6 @@
|
||||
i = QImage()
|
||||
if not i.loadFromData(data):
|
||||
q = what(None, data)
|
||||
- if q == 'jxr':
|
||||
- return load_jxr_data(data)
|
||||
raise NotImage(f'Not a valid image (detected type: {q})')
|
||||
return i
|
||||
|
||||
@@ -645,11 +643,6 @@
|
||||
despeckle_image(img)
|
||||
remove_borders_from_image(img)
|
||||
image_to_data(img, fmt='GIF')
|
||||
- raw = subprocess.Popen([get_exe_path('JxrDecApp'), '-h'],
|
||||
- creationflags=subprocess.DETACHED_PROCESS if iswindows else 0,
|
||||
- stdout=subprocess.PIPE).stdout.read()
|
||||
- if b'JPEG XR Decoder Utility' not in raw:
|
||||
- raise SystemExit('Failed to run JxrDecApp')
|
||||
# }}}
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 5d8d85c649b181747d182f676cfd76f843bd61f0 Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Sun, 1 Oct 2023 15:08:59 +0530
|
||||
Subject: [PATCH] Fix compatibility with zeroconf >= 0.73
|
||||
|
||||
Fixes #2038 (fix compatibility with newer zeroconf)
|
||||
---
|
||||
src/calibre/devices/smart_device_app/driver.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/calibre/devices/smart_device_app/driver.py b/src/calibre/devices/smart_device_app/driver.py
|
||||
index 87608f305b..b41c3a0063 100644
|
||||
--- a/src/calibre/devices/smart_device_app/driver.py
|
||||
+++ b/src/calibre/devices/smart_device_app/driver.py
|
||||
@@ -2175,6 +2175,8 @@ def monkeypatch_zeroconf():
|
||||
# "monkeypatch" zeroconf with a function without the check
|
||||
try:
|
||||
from zeroconf._utils.name import service_type_name
|
||||
+ # zeroconf 0.73 uses an lru cache so we need __wrapped__
|
||||
+ service_type_name = getattr(service_type_name, '__wrapped__', service_type_name)
|
||||
service_type_name.__kwdefaults__['strict'] = False
|
||||
except ImportError:
|
||||
import zeroconf
|
||||
--
|
||||
2.41.0
|
||||
|
||||
28
app-text/calibre/files/calibre-5.44.0-icu75.patch
Normal file
28
app-text/calibre/files/calibre-5.44.0-icu75.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
logical changes backported from:
|
||||
https://github.com/kovidgoyal/calibre/commit/a3d3d8d33e314ccabb5099e78e4056a79b7c9aa2
|
||||
https://bugs.gentoo.org/936270
|
||||
|
||||
diff -rup a/setup/build.py b/setup/build.py
|
||||
--- a/setup/build.py 2022-06-17 04:35:27.000000000 +0200
|
||||
+++ b/setup/build.py 2024-07-19 11:51:56.374389213 +0200
|
||||
@@ -65,6 +65,8 @@ class Extension:
|
||||
self.cflags.insert(0, '-std=c++11')
|
||||
elif kwargs.get('needs_c++14'):
|
||||
self.cflags.insert(0, '-std=c++14')
|
||||
+ elif kwargs.get('needs_c++17'):
|
||||
+ self.cflags.insert(0, '-std=c++17')
|
||||
else:
|
||||
if kwargs.get('needs_c99'):
|
||||
self.cflags.insert(0, '-std=c99')
|
||||
diff -rup a/setup/extensions.json b/setup/extensions.json
|
||||
--- a/setup/extensions.json 2022-06-17 04:35:27.000000000 +0200
|
||||
+++ b/setup/extensions.json 2024-07-19 11:52:11.253389395 +0200
|
||||
@@ -75,7 +75,7 @@
|
||||
"name": "sqlite_extension",
|
||||
"headers": "calibre/utils/cpp_binding.h",
|
||||
"sources": "calibre/db/sqlite_extension.cpp",
|
||||
- "needs_c++14": true,
|
||||
+ "needs_c++17": true,
|
||||
"libraries": "icudata icui18n icuuc icuio stemmer",
|
||||
"windows_libraries": "icudt icuin icuuc icuio libstemmer",
|
||||
"lib_dirs": "!icu_lib_dirs",
|
||||
33
app-text/calibre/files/calibre-5.44.0-xss-backport.patch
Normal file
33
app-text/calibre/files/calibre-5.44.0-xss-backport.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
Changelog:
|
||||
|
||||
Only relevant if you embed the calibre server within a larger server, it
|
||||
means attackers who can convince users to click on a specially crafted
|
||||
link, can run JavaScript code with the same origin as the larger server
|
||||
calibre is embedded in.
|
||||
|
||||
From e75f85919a3c3a5f2d87861050d8483d66561c06 Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Tue, 30 Jul 2024 13:40:21 +0530
|
||||
Subject: [PATCH] Fix #2075130 [Private
|
||||
bug](https://bugs.launchpad.net/calibre/+bug/2075130)
|
||||
|
||||
---
|
||||
src/calibre/srv/legacy.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/calibre/srv/legacy.py b/src/calibre/srv/legacy.py
|
||||
index 055228ebee..85586b07a6 100644
|
||||
--- a/src/calibre/srv/legacy.py
|
||||
+++ b/src/calibre/srv/legacy.py
|
||||
@@ -255,7 +255,7 @@ def browse(ctx, rd, rest):
|
||||
if rest.startswith('book/'):
|
||||
# implementation of https://bugs.launchpad.net/calibre/+bug/1698411
|
||||
# redirect old server book URLs to new URLs
|
||||
- redirect = ctx.url_for(None) + '#book_id=' + rest[5:] + "&panel=book_details"
|
||||
+ redirect = ctx.url_for(None) + '#book_id=' + int(rest[5:]) + "&panel=book_details"
|
||||
from lxml import etree as ET
|
||||
return html(ctx, rd, endpoint,
|
||||
E.html(E.head(
|
||||
--
|
||||
2.44.2
|
||||
|
||||
27
app-text/calibre/files/calibre-7.0.0-jxr-test.patch
Normal file
27
app-text/calibre/files/calibre-7.0.0-jxr-test.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
diff --git a/src/calibre/utils/img.py b/src/calibre/utils/img.py
|
||||
index b61627b63e..ff51c76e75 100644
|
||||
--- a/src/calibre/utils/img.py
|
||||
+++ b/src/calibre/utils/img.py
|
||||
@@ -129,8 +129,6 @@ def image_from_data(data):
|
||||
i = QImage()
|
||||
if not i.loadFromData(data):
|
||||
q = what(None, data)
|
||||
- if q == 'jxr':
|
||||
- return load_jxr_data(data)
|
||||
raise NotImage(f'Not a valid image (detected type: {q})')
|
||||
return i
|
||||
|
||||
@@ -693,13 +691,6 @@ def test(): # {{{
|
||||
despeckle_image(img)
|
||||
remove_borders_from_image(img)
|
||||
image_to_data(img, fmt='GIF')
|
||||
- p = subprocess.Popen([get_exe_path('JxrDecApp'), '-h'],
|
||||
- creationflags=subprocess.DETACHED_PROCESS if iswindows else 0,
|
||||
- stdout=subprocess.PIPE)
|
||||
- raw, _ = p.communicate()
|
||||
- p.wait()
|
||||
- if b'JPEG XR Decoder Utility' not in raw:
|
||||
- raise SystemExit('Failed to run JxrDecApp')
|
||||
# }}}
|
||||
|
||||
|
||||
38
app-text/calibre/files/calibre-7.17.0-qt-texttospeech.patch
Normal file
38
app-text/calibre/files/calibre-7.17.0-qt-texttospeech.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 6d87aa054724155c9413e5692fa1f242f9cc0efc Mon Sep 17 00:00:00 2001
|
||||
From: Eli Schwartz <eschwartz93@gmail.com>
|
||||
Date: Fri, 23 Aug 2024 02:20:00 -0400
|
||||
Subject: [PATCH] tests: delete qt TTS assert which is not yet used
|
||||
|
||||
It will be used in future versions of calibre, and should likely be
|
||||
gated on USE=speech.
|
||||
---
|
||||
src/calibre/test_build.py | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
|
||||
index 4f19363680..898caad665 100644
|
||||
--- a/src/calibre/test_build.py
|
||||
+++ b/src/calibre/test_build.py
|
||||
@@ -314,7 +314,7 @@ def test_apsw(self):
|
||||
def test_qt(self):
|
||||
if is_sanitized:
|
||||
raise unittest.SkipTest('Skipping Qt build test as sanitizer is enabled')
|
||||
- from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTextToSpeech, QTimer
|
||||
+ from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTimer
|
||||
QLoggingCategory.setFilterRules('''qt.webenginecontext.debug=true''')
|
||||
if hasattr(os, 'geteuid') and os.geteuid() == 0:
|
||||
# likely a container build, webengine cannot run as root with sandbox
|
||||
@@ -348,10 +348,6 @@ def test_qt(self):
|
||||
try:
|
||||
ensure_app()
|
||||
self.assertGreaterEqual(len(QFontDatabase.families()), 5, 'The QPA headless plugin is not able to locate enough system fonts via fontconfig')
|
||||
- available_tts_engines = tuple(x for x in QTextToSpeech.availableEngines() if x != 'mock')
|
||||
- self.assertTrue(available_tts_engines)
|
||||
-
|
||||
- self.assertGreaterEqual
|
||||
from calibre.ebooks.oeb.transforms.rasterize import rasterize_svg
|
||||
img = rasterize_svg(as_qimage=True)
|
||||
self.assertFalse(img.isNull())
|
||||
--
|
||||
2.44.2
|
||||
|
||||
13
app-text/calibre/files/calibre-server-3.conf
Normal file
13
app-text/calibre/files/calibre-server-3.conf
Normal file
@@ -0,0 +1,13 @@
|
||||
# /etc/conf.d/calibre-server
|
||||
# Change this to the user you want to run calibre-server as.
|
||||
# You may specify a group too, after a colon
|
||||
# NOTE: This must be set and not to root!
|
||||
CALIBRE_USER=
|
||||
|
||||
# Set the path of the library to serve.
|
||||
# Defaults to the default location for CALIBRE_USER.
|
||||
#CALIBRE_LIBRARY='<user home directory>/Calibre Library'
|
||||
|
||||
# Extra options to pass to calibre-server.
|
||||
# See the calibre-server man page for more options.
|
||||
#CALIBRE_SERVER_OPTS="--userdb /srv/calibre/users.sqlite --enable-auth --worker-count 10 --port 8080"
|
||||
58
app-text/calibre/files/calibre-server-3.init
Normal file
58
app-text/calibre/files/calibre-server-3.init
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License, v2 or later
|
||||
|
||||
depend() {
|
||||
need net
|
||||
need localmount
|
||||
after bootmisc
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ "${CALIBRE_USER}" = "" -o "${CALIBRE_USER}" = "root" ] ; then
|
||||
eerror "Please edit /etc/conf.d/calibre-server"
|
||||
eerror "You have to specify a user to run calibre-server as, as we will not run it as root!"
|
||||
eerror "Modify CALIBRE_USER to your needs (you can also add a group, after a colon)"
|
||||
return 1
|
||||
fi
|
||||
if ! getent passwd "${CALIBRE_USER%:*}" >/dev/null ; then
|
||||
eerror "Please edit /etc/conf.d/calibre-server"
|
||||
eerror "Your user has to exist!"
|
||||
return 1
|
||||
fi
|
||||
if [ "${CALIBRE_USER%:*}" != "${CALIBRE_USER}" ] ; then
|
||||
if ! getent group "${CALIBRE_USER#*:}" >/dev/null ; then
|
||||
eerror "Please edit /etc/conf.d/calibre-server"
|
||||
eerror "Your group has to exist too!"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [ "${CALIBRE_LIBRARY}" = "" ] ; then
|
||||
CALIBRE_USER_HOME=$(getent passwd "${CALIBRE_USER%:*}" | cut -d ':' -f 6)
|
||||
CALIBRE_LIBRARY="${CALIBRE_USER_HOME}/Calibre Library"
|
||||
fi
|
||||
if [ ! -d "${CALIBRE_LIBRARY}" ] ; then
|
||||
eerror "Please edit /etc/conf.d/calibre-server"
|
||||
eerror "The Calibre library, '${CALIBRE_LIBRARY},' does not exist."
|
||||
eerror "Please modify CALIBRE_LIBRARY to point to a valid library."
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig || return $?
|
||||
local pidfile=/var/run/calibre-server.pid
|
||||
ebegin "Starting calibre-server"
|
||||
start-stop-daemon --user "${CALIBRE_USER}" \
|
||||
--pidfile "${pidfile}" --make-pidfile --background --exec /usr/bin/calibre-server \
|
||||
-- ${CALIBRE_OPTS} "${CALIBRE_LIBRARY}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping calibre-server"
|
||||
start-stop-daemon --stop --user "${CALIBRE_USER}" \
|
||||
--pidfile /var/run/calibre-server.pid
|
||||
eend $?
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
From e9cc00560a28f56a303cca97630ab58e519dd9c8 Mon Sep 17 00:00:00 2001
|
||||
From: Kovid Goyal <kovid@kovidgoyal.net>
|
||||
Date: Mon, 8 Jan 2024 09:12:35 +0530
|
||||
Subject: [PATCH] Fix #2048475 [Tests fail with lxml
|
||||
5.0](https://bugs.launchpad.net/calibre/+bug/2048475)
|
||||
|
||||
---
|
||||
src/calibre/utils/xml_parse.py | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/calibre/utils/xml_parse.py b/src/calibre/utils/xml_parse.py
|
||||
index a31c6ed83ed7..339538b90057 100644
|
||||
--- a/src/calibre/utils/xml_parse.py
|
||||
+++ b/src/calibre/utils/xml_parse.py
|
||||
@@ -36,6 +36,11 @@ def safe_xml_fromstring(string_or_bytes, recover=True):
|
||||
return ans
|
||||
|
||||
|
||||
+def unsafe_xml_fromstring(string_or_bytes):
|
||||
+ parser = etree.XMLParser(resolve_entities=True)
|
||||
+ return fs(string_or_bytes, parser=parser)
|
||||
+
|
||||
+
|
||||
def find_tests():
|
||||
import unittest, tempfile, os
|
||||
from calibre.constants import iswindows
|
||||
@@ -61,7 +66,7 @@ def t(tid, val, expected, safe=True):
|
||||
raw = templ.format(id=tid, val=val)
|
||||
err = None
|
||||
try:
|
||||
- root = safe_xml_fromstring(raw) if safe else etree.fromstring(raw)
|
||||
+ root = safe_xml_fromstring(raw) if safe else unsafe_xml_fromstring(raw)
|
||||
except Exception as e:
|
||||
err = str(e)
|
||||
root = None
|
||||
17
app-text/calibre/metadata.xml
Normal file
17
app-text/calibre/metadata.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>eschwartz@gentoo.org</email>
|
||||
<name>Eli Schwartz</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">kovidgoyal/calibre</remote-id>
|
||||
<changelog>https://calibre-ebook.com/whats-new</changelog>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="font-subsetting">Enable font subsetting support</flag>
|
||||
<flag name="system-mathjax">Use a system copy of mathjax</flag>
|
||||
<flag name="unrar">Enable support for comic books compressed with the non-free Rar format</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
@@ -1,7 +1,11 @@
|
||||
AUX libftdi-0.20-cmake-include.patch 687 BLAKE2B 8817db6e200adcb3d76da91565fe25f694445a46325a6435d6d0545d6741b0d15b199f96aabf01ca664eeb3355008acc6ec309f5fa87f975584935ecd74558f7 SHA512 b7b2d3a8cd84f3bbc86aa43bc9d090359375c6ea6b52a32107cd46751d386768b3d196c0bca7235453c596ef19c5ee4e1a39739db90e3e0c06adc62609e7fb90
|
||||
AUX libftdi-0.20-cmake-version.patch 1010 BLAKE2B cd88bc50cebb22a5e982d8f7985014549bdae23e35fefb0d2f6cf14c4610d79ebfbbb11e94174b6c1ff260d83713c4c4db395c725bbe836142e0e80092324a3f SHA512 9ea6d07324c6cb89856f8a9411b0564fb344f2624162f5435b9cbaeddb97361d79dd9b71d0c64988106ec162cd5a93b43f2c5257f0f0207ce8151de37712cd91
|
||||
AUX libftdi-1.5-cmake-cxx.patch 1448 BLAKE2B f43c592cc17481e21dc1b0fe4a4cf583c3b2f192197133443f90dc1f9bd134fe903598dc9d12f92a8376bcd58f4cb698b9bd34ff4c06cf2df180260d2456126c SHA512 9881153611aa75dcc53f739bd510898f55d9fc56a07cec41e09fed37768c462663160d8491f7eaaa5dd7bc8935d36f33379d3529cfe355a3391507415a9e7cae
|
||||
AUX libftdi-1.5-cmake4.patch 2596 BLAKE2B 3bdcd9886451b0f0f14905109ec755d80bade06572c5c40ddc29115a6294c280f3ba13f9c7387100cde6d6cd1898e8f8d8fd891f2ffa2d91e04e44208f8d4a26 SHA512 7fa0ef24934e07a6f6e1cecb1e1246c2d96c42b97a7943a3ac532da041c1eb5d69bc2764613a6b0fd7baf9f91f8b82a9c23adde31c3d7f6663bca3c0222c2b07
|
||||
AUX libftdi-1.5-py312.patch 1144 BLAKE2B cf2263322b71ac06ac23f94fff8b2b68763fda8eb9d59d5811ed02e178a8c866f0f045b9acaced3b8cb01924504f3e00fd5f10c16642e9e2089a18f56e2e2c6c SHA512 8f0bdf45028d586a3d5d28aac135e6ad04f4e28d44e5a16953db78253a37374c87bf085eb1969a716e906a22f0b6affa874f3bc8e39c1b4ffaf8a84cdd5f800a
|
||||
AUX libftdi-1.5-swig-4.3.patch 4135 BLAKE2B 88da729f7ce3f02400f5ff1a7c9f94242625225b7e3193169725acf0f6acf8c3bcf29a85fa6dae9f632ac1cf05bcb6a7e9086256a9c687df3b1250d9b808f4a5 SHA512 6102992dfeca5c8ade821deff1d76d7ed579a1951287beede7cbd96cd09b39061b8742cdb7c073dd06af759d8fe476c66f9ba81c5b78f755658d02ae4014cf77
|
||||
AUX libftdi-1.5-tests-no-cxx.patch 1017 BLAKE2B ff3e05ae2cc48a023c74142f986159f68b6a3e49ccf9684c94b4de2fd03c8d5c53e600810d1e8933e09ed7aa167fab15101344a6bdc8b9e00647f2c86801f694 SHA512 6d0fa3923f8f1e92b22538448368016db24d194b886c4702731eb5038b65c8a03773cfe0a02459cf040574845ab482fb676f01a97f26d5c48065fd9427a11eeb
|
||||
DIST libftdi1-1.5.tar.bz2 116297 BLAKE2B 460ab93026e14a452e31fcc6930d305638fdc0ed06cb44fb9d50ad8f80199b17057d2f48a27b8295b43b956934289c872a2ef1ddb7f93fa93c6816511ef7607d SHA512 c525b2ab6aff9ef9254971ae7d57f3549a36a36875765c48f947d52532814a2a004de1232389d4fe824a8c8ab84277b08427308573476e1da9b7db83db802f6f
|
||||
EBUILD libftdi-1.5-r4.ebuild 1917 BLAKE2B 1e3a1b651d560dd752a8a8f61ba179423b6bc33f8b5b5d43f5daa0d51af84e5210dae0d6b69937629105a85516d845626f12f09f185260bc52ea8b6ea7c770f9 SHA512 f6b528fd3efe328ba9787537ae7983e68e9aedd62d64acb61a6e155010210496e95dabfa769380132f19a2f7acb9ab3f20561b593ec9e92fb68175cf29db46d6
|
||||
EBUILD libftdi-1.5-r4.ebuild 1917 BLAKE2B cf81642728b47ff66a177003e00eb1d4ff29dfec745df5bb977e43841cbc80da19a5c3231fb6242c4b947a25e3af3b51d6aa74997b8c8cfbd0a5728b06be3a03 SHA512 4cfdb32d72019f6c982f59d9c3a8bdc49ffc6b8ae762fa270409eb1096de1fe0f8ca6b89cd1e71ccf8010d5cd18462d7727e799da8e09678651e8d85145ae3eb
|
||||
EBUILD libftdi-1.5-r7.ebuild 2049 BLAKE2B 5d046361cb7967ebc606d20e94ca1825c11737336be521aec35242f00faab0ce7af26eecf2e9c439b83d8d1c209828121f6eb5e489e766a719aee221000ec992 SHA512 f76fce65bb6b574bc93f19ec99a3f7e9a44815d57e38f7388491d3c137b3b21af4e64d597bfd5d2bd8795a00f4bdf7cb87852c412bd21642eb15629f55b2d99b
|
||||
MISC metadata.xml 318 BLAKE2B c2c9ab83d57a082ed6608367f53f0f9420056c909d4ee50641da5b8f12b6a6ca996740fbdcadb0fa08460cb0cbef36dbedfaaf98acaea3eeeeee6afcf7724f54 SHA512 313b5c5dfcf5feb7dc8e41c1cb74939619451cb0747c1a281c9a0e763d26e0850a43e05d8fd2a836389bd75c2a4f153b80986e11be8171e9d93ca234f9df05f2
|
||||
|
||||
87
dev-embedded/libftdi/files/libftdi-1.5-cmake4.patch
Normal file
87
dev-embedded/libftdi/files/libftdi-1.5-cmake4.patch
Normal file
@@ -0,0 +1,87 @@
|
||||
From 503c8789db7cb99e4e53cae3c220f80aef07c785 Mon Sep 17 00:00:00 2001
|
||||
From: Yegor Yefremov <yegorslists@googlemail.com>
|
||||
Date: Wed, 2 Apr 2025 10:12:34 +0200
|
||||
Subject: [PATCH] CMakeLists.txt: bump CMake version to 3.15
|
||||
|
||||
Older CMake versions are treated as deprecated.
|
||||
|
||||
merged with cherry-picks of preceding changes:
|
||||
3861e7dc9e83f2f6ff4e1579cf3bbf63a6827105
|
||||
de9f01ece34d2fe6e842e0250a38f4b16eda2429
|
||||
3f314ed78111473b7cbf1b9d1854c9f6322eea7a
|
||||
|
||||
diff -u a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,3 +1,5 @@
|
||||
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
|
||||
+
|
||||
# Project
|
||||
project(libftdi1 C)
|
||||
set(MAJOR_VERSION 1)
|
||||
@@ -12,7 +14,6 @@
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
endif("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||
set(CMAKE_COLOR_MAKEFILE ON)
|
||||
-cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
|
||||
|
||||
add_definitions(-Wall)
|
||||
|
||||
@@ -211,30 +212,25 @@
|
||||
|
||||
set ( LIBFTDI_USE_FILE ${CMAKE_INSTALL_PREFIX}/${LIBFTDI_CMAKE_CONFIG_DIR}/UseLibFTDI1.cmake )
|
||||
|
||||
-if(CMAKE_VERSION VERSION_LESS 2.8.8)
|
||||
- configure_file ( cmake/LibFTDI1Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake @ONLY )
|
||||
- configure_file ( cmake/LibFTDI1ConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1ConfigVersion.cmake @ONLY )
|
||||
-else ()
|
||||
- include(CMakePackageConfigHelpers)
|
||||
-
|
||||
- configure_package_config_file (
|
||||
- cmake/LibFTDI1Config.cmake.in
|
||||
- ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake
|
||||
- INSTALL_DESTINATION ${LIBFTDI_CMAKE_CONFIG_DIR}
|
||||
- PATH_VARS
|
||||
- LIBFTDI_USE_FILE
|
||||
- LIBFTDI_ROOT_DIR
|
||||
- LIBFTDI_INCLUDE_DIR
|
||||
- LIBFTDI_INCLUDE_DIRS
|
||||
- LIBFTDI_LIBRARY_DIRS
|
||||
- NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
||||
- )
|
||||
- write_basic_package_version_file (
|
||||
- LibFTDI1ConfigVersion.cmake
|
||||
- VERSION ${LIBFTDI_VERSION_STRING}
|
||||
- COMPATIBILITY AnyNewerVersion
|
||||
- )
|
||||
-endif ()
|
||||
+include(CMakePackageConfigHelpers)
|
||||
+
|
||||
+configure_package_config_file (
|
||||
+ cmake/LibFTDI1Config.cmake.in
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/LibFTDI1Config.cmake
|
||||
+ INSTALL_DESTINATION ${LIBFTDI_CMAKE_CONFIG_DIR}
|
||||
+ PATH_VARS
|
||||
+ LIBFTDI_USE_FILE
|
||||
+ LIBFTDI_ROOT_DIR
|
||||
+ LIBFTDI_INCLUDE_DIR
|
||||
+ LIBFTDI_INCLUDE_DIRS
|
||||
+ LIBFTDI_LIBRARY_DIRS
|
||||
+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
||||
+)
|
||||
+write_basic_package_version_file (
|
||||
+ LibFTDI1ConfigVersion.cmake
|
||||
+ VERSION ${LIBFTDI_VERSION_STRING}
|
||||
+ COMPATIBILITY AnyNewerVersion
|
||||
+)
|
||||
|
||||
|
||||
install ( FILES
|
||||
--- a/examples/cmake_example/CMakeLists.txt
|
||||
+++ b/examples/cmake_example/CMakeLists.txt
|
||||
@@ -1,4 +1,4 @@
|
||||
-cmake_minimum_required ( VERSION 2.8 )
|
||||
+cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
|
||||
|
||||
project ( example C )
|
||||
|
||||
25
dev-embedded/libftdi/files/libftdi-1.5-py312.patch
Normal file
25
dev-embedded/libftdi/files/libftdi-1.5-py312.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
https://bugs.gentoo.org/934224
|
||||
http://developer.intra2net.com/git/?p=libftdi;a=commit;h=abd19b721f7e9b4d514ed319ece173ebc7b1ea72
|
||||
|
||||
From abd19b721f7e9b4d514ed319ece173ebc7b1ea72 Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
|
||||
Date: Mon, 19 Dec 2022 17:40:43 +0100
|
||||
Subject: [PATCH] python: move from distutils to sysconfig
|
||||
|
||||
The distutils module was deprecated in Python 3.10, and will be removed
|
||||
in 3.12 [1], thus switch to the sysconfig module instead.
|
||||
|
||||
[1] https://peps.python.org/pep-0632/
|
||||
--- a/python/CMakeLists.txt
|
||||
+++ b/python/CMakeLists.txt
|
||||
@@ -42,7 +42,7 @@ endif ()
|
||||
|
||||
set_target_properties ( ${SWIG_MODULE_ftdi1_REAL_NAME} PROPERTIES NO_SONAME ON )
|
||||
|
||||
-execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print( sysconfig.get_python_lib( plat_specific=True, prefix='${CMAKE_INSTALL_PREFIX}' ) )"
|
||||
+execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print( sysconfig.get_path( 'platlib', vars={'platbase': '${CMAKE_INSTALL_PREFIX}'} ) )"
|
||||
OUTPUT_VARIABLE _ABS_PYTHON_MODULE_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE )
|
||||
|
||||
--
|
||||
1.7.1
|
||||
82
dev-embedded/libftdi/files/libftdi-1.5-swig-4.3.patch
Normal file
82
dev-embedded/libftdi/files/libftdi-1.5-swig-4.3.patch
Normal file
@@ -0,0 +1,82 @@
|
||||
https://bugs.gentoo.org/953348
|
||||
http://developer.intra2net.com/git/?p=libftdi;a=commit;h=ff7707e3ffadc09af420b26370b9e097a5b2bc8b
|
||||
|
||||
From ff7707e3ffadc09af420b26370b9e097a5b2bc8b Mon Sep 17 00:00:00 2001
|
||||
From: William S Fulton <wsf@fultondesigns.co.uk>
|
||||
Date: Fri, 18 Oct 2024 09:38:20 +0200
|
||||
Subject: [PATCH] python: update for SWIG 4.3
|
||||
|
||||
SWIG 4.3 comes with an API change to the SWIG_Python_AppendOutput()
|
||||
function, so switch to the recommended SWIG_AppendOutput() instead.
|
||||
Because the new function is a macro in fact also switch to the {..}
|
||||
delimiters as the code needs to be preprocessed. The change is
|
||||
compatible with the previous SWIG releases 4.2 and 4.1 at least.
|
||||
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2319133
|
||||
Related: https://github.com/swig/swig/pull/2907
|
||||
---
|
||||
python/ftdi1.i | 18 +++++++++---------
|
||||
1 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/python/ftdi1.i b/python/ftdi1.i
|
||||
index 8b179f9..fac4d16 100644
|
||||
--- a/python/ftdi1.i
|
||||
+++ b/python/ftdi1.i
|
||||
@@ -52,7 +52,7 @@ char * str2charp_size(PyObject* pyObj, int * size)
|
||||
%enddef
|
||||
%feature("autodoc", ftdi_usb_find_all_docstring) ftdi_usb_find_all;
|
||||
%typemap(in,numinputs=0) SWIGTYPE** OUTPUT ($*ltype temp) %{ $1 = &temp; %}
|
||||
-%typemap(argout) SWIGTYPE** OUTPUT %{ $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj((void*)*$1,$*descriptor,0)); %}
|
||||
+%typemap(argout,noblock=1) SWIGTYPE** OUTPUT { $result = SWIG_AppendOutput($result, SWIG_NewPointerObj((void*)*$1,$*descriptor,0)); }
|
||||
%apply SWIGTYPE** OUTPUT { struct ftdi_device_list **devlist };
|
||||
int ftdi_usb_find_all(struct ftdi_context *ftdi, struct ftdi_device_list **devlist,
|
||||
int vendor, int product);
|
||||
@@ -92,12 +92,12 @@ char * str2charp_size(PyObject* pyObj, int * size)
|
||||
%enddef
|
||||
%feature("autodoc", ftdi_read_data_docstring) ftdi_read_data;
|
||||
%typemap(in,numinputs=1) (unsigned char *buf, int size) %{ $2 = PyInt_AsLong($input);$1 = (unsigned char*)malloc($2*sizeof(char)); %}
|
||||
-%typemap(argout) (unsigned char *buf, int size) %{
|
||||
+%typemap(argout,noblock=1) (unsigned char *buf, int size) {
|
||||
if(result<0)
|
||||
$2=0;
|
||||
- $result = SWIG_Python_AppendOutput($result, charp2str((char*)$1, $2));
|
||||
+ $result = SWIG_AppendOutput($result, charp2str((char*)$1, $2));
|
||||
free($1);
|
||||
-%}
|
||||
+}
|
||||
int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size);
|
||||
%clear (unsigned char *buf, int size);
|
||||
|
||||
@@ -119,12 +119,12 @@ char * str2charp_size(PyObject* pyObj, int * size)
|
||||
%enddef
|
||||
%feature("autodoc", ftdi_read_pins_docstring) ftdi_read_pins;
|
||||
%typemap(in,numinputs=0) unsigned char *pins ($*ltype temp) %{ $1 = &temp; %}
|
||||
-%typemap(argout) (unsigned char *pins) %{ $result = SWIG_Python_AppendOutput($result, charp2str((char*)$1, 1)); %}
|
||||
+%typemap(argout,noblock=1) (unsigned char *pins) { $result = SWIG_AppendOutput($result, charp2str((char*)$1, 1)); }
|
||||
int ftdi_read_pins(struct ftdi_context *ftdi, unsigned char *pins);
|
||||
%clear unsigned char *pins;
|
||||
|
||||
%typemap(in,numinputs=0) unsigned char *latency ($*ltype temp) %{ $1 = &temp; %}
|
||||
-%typemap(argout) (unsigned char *latency) %{ $result = SWIG_Python_AppendOutput($result, charp2str((char*)$1, 1)); %}
|
||||
+%typemap(argout,noblock=1) (unsigned char *latency) { $result = SWIG_AppendOutput($result, charp2str((char*)$1, 1)); }
|
||||
int ftdi_get_latency_timer(struct ftdi_context *ftdi, unsigned char *latency);
|
||||
%clear unsigned char *latency;
|
||||
|
||||
@@ -137,12 +137,12 @@ char * str2charp_size(PyObject* pyObj, int * size)
|
||||
%clear int* value;
|
||||
|
||||
%typemap(in,numinputs=1) (unsigned char *buf, int size) %{ $2 = PyInt_AsLong($input);$1 = (unsigned char*)malloc($2*sizeof(char)); %}
|
||||
-%typemap(argout) (unsigned char *buf, int size) %{
|
||||
+%typemap(argout,noblock=1) (unsigned char *buf, int size) {
|
||||
if(result<0)
|
||||
$2=0;
|
||||
- $result = SWIG_Python_AppendOutput($result, charp2str((char*)$1, $2));
|
||||
+ $result = SWIG_AppendOutput($result, charp2str((char*)$1, $2));
|
||||
free($1);
|
||||
-%}
|
||||
+}
|
||||
int ftdi_get_eeprom_buf(struct ftdi_context *ftdi, unsigned char * buf, int size);
|
||||
%clear (unsigned char *buf, int size);
|
||||
|
||||
--
|
||||
1.7.1
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..12} )
|
||||
PYTHON_COMPAT=( python3_{9..13} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
MY_P="${PN}1-${PV}"
|
||||
|
||||
92
dev-embedded/libftdi/libftdi-1.5-r7.ebuild
Normal file
92
dev-embedded/libftdi/libftdi-1.5-r7.ebuild
Normal file
@@ -0,0 +1,92 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MY_P="${PN}1-${PV}"
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
if [[ ${PV} == 9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://developer.intra2net.com/${PN}"
|
||||
else
|
||||
SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${MY_P}.tar.bz2"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Userspace access to FTDI USB interface chips"
|
||||
HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/"
|
||||
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="1"
|
||||
IUSE="cxx doc examples python test tools"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
virtual/libusb:1
|
||||
cxx? ( dev-libs/boost )
|
||||
doc? ( !dev-embedded/libftdi:0[doc] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
tools? ( dev-libs/confuse:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/boost )
|
||||
"
|
||||
BDEPEND="
|
||||
doc? ( app-text/doxygen )
|
||||
python? ( >=dev-lang/swig-4.2.0 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-tests-no-cxx.patch
|
||||
"${FILESDIR}"/${P}-cmake-cxx.patch
|
||||
"${FILESDIR}"/${P}-py312.patch
|
||||
"${FILESDIR}"/${P}-cmake4.patch
|
||||
"${FILESDIR}"/${P}-swig-4.3.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DFTDIPP=$(usex cxx)
|
||||
-DDOCUMENTATION=$(usex doc)
|
||||
-DEXAMPLES=$(usex examples)
|
||||
-DPYTHON_BINDINGS=$(usex python)
|
||||
-DBUILD_TESTS=$(usex test)
|
||||
-DFTDI_EEPROM=$(usex tools)
|
||||
-DCMAKE_SKIP_BUILD_RPATH=ON
|
||||
-DSTATICLIBS=OFF
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}/test" || die
|
||||
LD_LIBRARY_PATH="${BUILD_DIR}/src" ./test_libftdi1 -l all || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
use python && python_optimize
|
||||
dodoc AUTHORS ChangeLog README TODO
|
||||
|
||||
if use doc ; then
|
||||
# Clean up man pages with too generic names. #356369
|
||||
rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die
|
||||
|
||||
doman "${BUILD_DIR}"/doc/man/man3/*
|
||||
dodoc -r "${BUILD_DIR}"/doc/html
|
||||
fi
|
||||
|
||||
if use examples ; then
|
||||
docinto examples
|
||||
dodoc examples/*.c
|
||||
fi
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
AUX libcec-4.0.7-no-override-udev.patch 850 BLAKE2B ce5c795ba3db2d6600b93af6d15d95794435b22c29eb0b65f1d6dbcbb877f076abafd2b2b8d7bd751b981a34a939d61bf7389118a7252d7fc0517c472f583fc2 SHA512 fb23ccc01fee0c61453490e2f8037b1d30124077847e09f8a5e08365bca3253fa883484d412ae1f60cd7beefc6f2075a83bcdd36e160b14ebae23f4be41fb78b
|
||||
AUX libcec-6.0.2-musl-nullptr.patch 829 BLAKE2B cfad08ba094e7ca92caec9a38d77d3d65b5baedf49db2b131b33a84543c2ccd0f60b99e7100434a302710c8bcf0d526a6033aa119c8f274efeff277388e75d6d SHA512 015055905a639a8599d5b0766a17bd6b3c91feb59eba543b55919fe40d9bcd0deebdd1b29a9b92e718c7d1bf8486d8413dfea986bf2639e984ba9f8b7a162d0a
|
||||
AUX libcec-python13.patch 815 BLAKE2B 3e4a62b54fa0211f9c6225e1da56dd784d424e7efec23fcd279d92361fee99fd750f418497a68e62701130cb22471b5b28120d5a1e97b78d877f32ed4c688074 SHA512 cde2b029d9b831db240fcf7659419e9e2e85e7363e141d8751eb51d8a0e57fbda9343ba8eeab68279070c1aaf73ad01629115f0319cdf7044cb8fec7fb3004cb
|
||||
DIST libcec-6.0.2.tar.gz 355807 BLAKE2B 007530d839493355f283992a4390550d6ddd432977d7489c17087f7e5bb6f503c35e967ed6a620d55e2e7c25ce10814f360d146a28b860cdcdd108fae152f896 SHA512 c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb
|
||||
EBUILD libcec-6.0.2-r2.ebuild 2875 BLAKE2B 7f29dd45f8017ecfa30a584d6d85a9f1a485d02d4197f63abcbd852a5fdc1decc91a49014f5bd8b1383d56baf9c0bc3ad44baa0b71250958a6648086534d2e6e SHA512 515dc2254c83e0aac1f53f07258a0af86d0cd9d3672d3dcf52d5acd106ecb6b752b20b5d3ec69e64c3494b5ff91b38cb476c2eef65fbd751e92fc660b49bd79a
|
||||
EBUILD libcec-6.0.2.ebuild 3331 BLAKE2B 17df2b506e9521e7289191052a05fa8b8b080ee86c30420fc1aefaa3393162cb5ab92f0210155c483117c40d01fc0cce25ac012a68966e405a02283ca80a7a8b SHA512 5d43dceb5efb575675a76036710d557b946c59236a42e7dba57cfbdf2fab614688ee3e260abce93f8c643a7a26962b8c52118027772b617405f4a24522498e42
|
||||
MISC metadata.xml 828 BLAKE2B 55df5b9af327507fdb9f415c8616affc437d82ac5a7e57b53f21f7917285b10f70e58b3fdbebf6899aa8c10dbe73186f84643842b04953da74f94b6c4112b3d6 SHA512 25e981d2c88ce87c9c41f6816dfadeb00bf3e0d5dfebc8b135ceba09552c40c29501bede0e3a73a63dcacb0741167f6180a674d82cf2b66dfb649a4aa968387a
|
||||
|
||||
26
dev-libs/libcec/files/libcec-python13.patch
Normal file
26
dev-libs/libcec/files/libcec-python13.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
diff --git a/src/libcec/SwigHelper.h b/src/libcec/SwigHelper.h
|
||||
index 9855976..cc73024 100644
|
||||
--- a/src/libcec/SwigHelper.h
|
||||
+++ b/src/libcec/SwigHelper.h
|
||||
@@ -119,7 +119,7 @@ namespace CEC
|
||||
if (!!m_callbacks[callback])
|
||||
{
|
||||
/** call the callback */
|
||||
- result = PyEval_CallObject(m_callbacks[callback], arglist);
|
||||
+ result = PyObject_CallObject(m_callbacks[callback], arglist);
|
||||
|
||||
/** unref the argument and result */
|
||||
if (!!arglist)
|
||||
diff --git a/src/libcec/libcec.i b/src/libcec/libcec.i
|
||||
index 88250be..03ccd2a 100644
|
||||
--- a/src/libcec/libcec.i
|
||||
+++ b/src/libcec/libcec.i
|
||||
@@ -141,7 +141,7 @@ namespace std {
|
||||
if (!!lib)
|
||||
{
|
||||
lib->InitVideoStandalone();
|
||||
- PyEval_InitThreads();
|
||||
+ // PyEval_InitThreads();
|
||||
}
|
||||
return lib;
|
||||
}
|
||||
120
dev-libs/libcec/libcec-6.0.2-r2.ebuild
Normal file
120
dev-libs/libcec/libcec-6.0.2-r2.ebuild
Normal file
@@ -0,0 +1,120 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
MY_PV=${PV/_p/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
inherit cmake linux-info python-single-r1 udev
|
||||
|
||||
DESCRIPTION="Library for communicating with the Pulse-Eight USB HDMI-CEC Adaptor"
|
||||
HOMEPAGE="https://libcec.pulse-eight.com"
|
||||
SRC_URI="https://github.com/Pulse-Eight/${PN}/archive/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_P}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~riscv x86"
|
||||
IUSE="exynos kernel-cec python tools udev +xrandr"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND=">=dev-libs/libplatform-2.0.0
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
udev? ( virtual/udev )
|
||||
xrandr? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
python? ( dev-lang/swig )"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
CONFIG_CHECK="~USB_ACM"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.0.7-no-override-udev.patch"
|
||||
"${FILESDIR}/${PN}-6.0.2-musl-nullptr.patch"
|
||||
"${FILESDIR}/libcec-python13.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
use udev || CONFIG_CHECK+=" ~SYSFS"
|
||||
ERROR_SYSFS="When using libcec build without udev, kernel config option CONFIG_SYSFS is required to automatically detect P8 USB-CEC adapter port number"
|
||||
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
linux-info_pkg_setup
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
sed -Ee 's|[ ~]?#DIST#;?||g' debian/changelog.in > ChangeLog || die
|
||||
|
||||
(use tools && use python) || cmake_comment_add_subdirectory "src/pyCecClient"
|
||||
|
||||
if ! use tools; then
|
||||
cmake_comment_add_subdirectory "src/cec-client"
|
||||
cmake_comment_add_subdirectory "src/cecc-client"
|
||||
sed -i -Ee 's|add_dependencies\(cecc?-client cec\)|#DO NOT BUILD \0|' \
|
||||
CMakeLists.txt || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DHAVE_LINUX_API=$(usex kernel-cec ON OFF)
|
||||
-DHAVE_LIBUDEV=$(usex udev ON OFF)
|
||||
-DSKIP_PYTHON_WRAPPER=$(usex python OFF ON)
|
||||
-DHAVE_EXYNOS_API=$(usex exynos ON OFF)
|
||||
# bug 922690 and bug 955124
|
||||
-DHAVE_TDA995X_API=OFF
|
||||
-DHAVE_RPI_API=OFF
|
||||
)
|
||||
|
||||
if linux_config_exists && linux_chkconfig_present SYSFS; then
|
||||
mycmakeargs+=( -DHAVE_P8_USB_DETECT=ON )
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
if use udev ; then
|
||||
sed '/2548/ s/SUBSYSTEM/SUBSYSTEMS/; s/$/, GROUP="video"/;' "${S}/debian/pulse-eight-usb-cec.udev" > \
|
||||
"${BUILD_DIR}/65-pulse-eight-usb-cec.rules" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
use python && python_optimize "${D}$(python_get_sitedir)"
|
||||
|
||||
use tools && doman debian/cec-client.1
|
||||
|
||||
if use udev; then
|
||||
udev_dorules "${BUILD_DIR}/65-pulse-eight-usb-cec.rules"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use udev && udev_reload
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use udev && udev_reload
|
||||
|
||||
elog "You will need to ensure the user running your CEC client has"
|
||||
elog "read/write access to the device. You can ensure this by adding"
|
||||
elog "them to the video group"
|
||||
}
|
||||
@@ -5,5 +5,5 @@ AUX stfl-0.22-soname-symlink.patch 444 BLAKE2B 9aa44343a18a8d7fb2f75a60ae94c30ef
|
||||
AUX stfl-0.24-ncurses-widechar.patch 828 BLAKE2B 5916f745b819fad0c6dedb882acfca4395eab60de656ec138988c756cddbe1109088279aef1a5b55e33931735426958a0f654a9ef3f567845960a8e17198a635 SHA512 897e32ad0d67e424ee66c1d572611f3707c665a6830b7c4560378bcb4ec4a9d2fc65eab7b2a827785bd724bf45f1eea9f20824e02ddb36e611c42b036d19c2aa
|
||||
DIST stfl-0.24.tar.gz 45585 BLAKE2B a601f373f19baa3a11fb823852ada19ab824828935240280c74ff442a1e5c4abdf0abe56e445869e43785df3940a8c7269bc16457436abbe5e2853f907071059 SHA512 95df4574b1bc32d795751156dc5b93afbca3ba241607a3a55210c89dda61b9a26ad574bb5f729a0158c9052235dbf63d6c58b38e7f1061d14ab7062af6150fa0
|
||||
EBUILD stfl-0.24-r4.ebuild 3145 BLAKE2B d20c8e4bd67ee8f9f20d9e470eb02b03e6c52e5a007c722402a5fe8604835bbebd92d66a95d33f874c2a2b5cab82027282391fa9494336b43ba2d11d9e2fbf3e SHA512 7a342581482d8b0c14f6266d7ea66e1f0c5c7f26547445966354809c4de569f1f7c9f263e61b4c243f1f697744be787c4b24f6e74f2bb06720891ccbb2ef51f9
|
||||
EBUILD stfl-0.24-r5.ebuild 3256 BLAKE2B c17fe27fc8baff9f83b8f841f41c86c00a91effd3edcc7b9560df2a0716bd5dc8f8f163e5eeaf8655b7596f6598a41976b5800ce757653d628f3261dda7ee804 SHA512 e9ef5ef9b2acc66eb5c077a6d928807d6504742d7166a2187e6b72931ed24b12dd306b2f6dc2cfe8ffa960028c3254f55ce91ffa074765e5e7373fcfb31dd574
|
||||
EBUILD stfl-0.24-r5.ebuild 3256 BLAKE2B a175152483ce439845f98e5a3d1155b72e8a72cb4ebfc3dce19734f51ada460bb003bc9d94d95e224b3280c52bc3b7650cd5bcecbd6b90b8ee78275d4cff7e6b SHA512 87cdb0d32461fd805dd4c7fcefc234ee4140a2e83fff313a04d263522b0e14e0a6565a24eada3e7702e7559578249a7c80e5f3dbdace4dba23dd62c4a967aba2
|
||||
MISC metadata.xml 884 BLAKE2B d1ee81a475935527af118da278c54f34a773dff1165c39ea2013135b767dbfe96972623d83833501d0531df78547c5d6040990039674832e9f5f701f915d3924 SHA512 55dc2b480ea7b0929be1e74d60d06ddc33ce977885969fdda332a6cb390c219cc13c017c0a56ed3594c475dcb9586b2d433c65fa200675de421e1aa4b22c7ce5
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
inherit perl-module python-r1 toolchain-funcs
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
DIST IMDbPY-2020.9.25.tar.gz 259453 BLAKE2B a703682d11d798c182bb4fe0a93f8dd50c9e673ff8bb6f1acbea768121c32ec6c3293a559b48381e547c21b12103732d537c6402f0f9c3851016ae0d36376d32 SHA512 5cea5146ace93b525be97ce5f3d8bb037be2e43280b3893c5475b8b2f84265e61db72ef935b1a50c341577a22ce4c98ac6d052eb047868fa88fb2dd3fab6d86a
|
||||
EBUILD imdbpy-2020.9.25.ebuild 635 BLAKE2B 721c0c852c21baf4df59e686e9208021227dcaf8f0093ffcf61e5b98112e4851ffbf059a87f753f558e7ad9fa9bca453df6eea16ac8ba2fa3a6f757b26ebba3a SHA512 5b72f2455eaddc4246ce09084196dd40e64c66cc303521483c0025019eb41db074e30f884c60485d540a129f893ddd4741f50db595bab11d9701515eb47d8300
|
||||
EBUILD imdbpy-2020.9.25.ebuild 635 BLAKE2B fad63fdae8c2ca9feb59e675a3ed9dc3c3f2df45b5b49f1bbe1591234c31217cc6d43c3f14972f26a2055ddbce886ffadfd1e29df3ba6f445709a08d4fd7ebe0 SHA512 54d0404d108e0ef5ce579d33a50cf37533bacd97df4ca44d64aa9cccb8bfed21abd5767c64a3994cc150c73575954493e96b7a61fdaf3e99c94ffe03efe9ac11
|
||||
MISC ChangeLog 245 BLAKE2B e09b5b71349aad6d93cf4cc658f802f96870db2162d6da6c9e83fd39af5951f1108743ecdca7f1a52a16ac84975d9b64b4f9f5fff6ef6f691567750cd3d3f418 SHA512 204ee60a21ac6eafb081abebcdda70a8f8e52ece22c8ca82aabe8f9ce4c8beedf6ac001eb1b10e9978951b7b46a86eccec575665d31937cbbca16e12ad960e5a
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python2+ pypy{,3} )
|
||||
PYTHON_COMPAT=( python2_7 python3_{4..12} pypy{,3} )
|
||||
PYTHON_COMPAT=( python2_7 python3_{4..13} pypy{,3} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
AUX pastescript-setup.py-exclude-tests.patch 656 BLAKE2B 4570f85c9476528e19d548a3760fcf1ddb9d4f6cdc61ec7f6336d03ebaf92be0dae849bad044d7307a68be76a1b635a1764394fc7b409b4c5f9dfbdde83cd803 SHA512 231018ef54e937721efb84da42c238afc3903614c030d9966e05512e0a93a1717b8b20d668ab0ebea1c70202ade8d83de41edb85d2ae4665e0100abf1f75d963
|
||||
DIST PasteScript-2.0.2.tar.gz 117521 BLAKE2B 2de72050ee7f5b7037b99f9661b5445e523607afc84a8846f0e5d9e89196e302627f552825ce0e4f821b7ed9ed2713c87d7b504a4e2abf092f1e8fa014c40c4b SHA512 2f093eb982972fed354219c75c2e008931cea553960cea8aaafbe57cde8556de5626e7eb9bb3b9b7328bad3b7d9899f11fc9773a65380396dae506e7531516de
|
||||
EBUILD pastescript-2.0.2-r1.ebuild 1081 BLAKE2B c76912365f9c6189c32de419bcbba1d43d13ab2aa276007904db0db470c5b3c8bcc1906922145677faa6107ccb2a2c88f8835e8ea51766d9b5a86e82d6ddf4c4 SHA512 7fe741d757b8a1bca73b239138e1ac9a37c7ec8b1fbd97897080fc6ffae2137051445f54a2762a557aef2ac14c23be0932dfbfa02b585cfe5590edc43e044e09
|
||||
EBUILD pastescript-2.0.2.ebuild 1213 BLAKE2B 82310668fb12c5c6816dd46f1365b9b806df3d45c4c29c6ea6d67186976bc8c1808db0a4814187ebf236c2065ed99a84461e84f3fa0ef2ec0fad7d43a8946865 SHA512 76e9a2413d2de33be50f2a838466d1111806c592c1ddb03569b104ae5b0cb755156f84e547b38c9e1f38ca9c74a6672677993326bb676356910bd46b9234b66f
|
||||
EBUILD pastescript-2.0.2-r1.ebuild 1081 BLAKE2B 1022148f2b6dd2977652ab91e557636ba325dc825c2e916aef822883ad3e4c0eddab53f8906a359b1b5d705deae8ffa18dd43feed3df0766dcf2626a4e7efaed SHA512 b717e9e1381fa806c37e69ca877a1c9e97dab7cbcc6473012bd4d53aedd246d4053e4f75c411cee3d3dd890b64429acf7c5539d0fc35cd4c2560ae702da243a8
|
||||
EBUILD pastescript-2.0.2.ebuild 1213 BLAKE2B b0e8c68b06118359a02e20d78d980f79d0ab9867ad157fb8840e87108d7adda8c1b472f80bf020cd3e049e91f7d88dd61aa178bdb13dccd718735d5d4bba12a5 SHA512 30d9b61ab73c3ab9b23af81a70f351d2a830fc30f9fa68c5041ffacc6245b80f3bba1cf3d0f978b175f3f10b07df6f732870f4d2ccdf9d7dfe517eb7d7e35faa
|
||||
MISC ChangeLog 256 BLAKE2B e187fdda5ee06db51c3a9f123e38586deb29f152b0834c5d32f87345fafc4a0343d42f30c61d76310383a0a82524f1dcb560ef5b4482b8aaa902a04e7ebebb62 SHA512 df564905763b18c60a920017f09c7f98690001e4650179c0de0e8e3e1cebb29d4d2b72e0cb2b37ce5a1fba2d121c1692da27c4375c1e694e5b5459a7cc348ccd
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..12} pypy3 )
|
||||
PYTHON_COMPAT=( python3_{8..13} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..12} pypy3 )
|
||||
PYTHON_COMPAT=( python3_{8..13} pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
DIST pypubsub-4.0.3.tar.gz 174033 BLAKE2B 65fcd960ce2f0548f152546faa7a98055a823414c453b475d6ade339f55e72a60dcb8d627f6272cc844d181f772b76dba4e53b2ecc521bb05420abc09f6c30d2 SHA512 cf9aca44e91a5d0e5ecf6739deabf2980f9464395c89e3c5335c5248e47c570701e0534bb660c5005325a994d9f8e7f261f36bc8bea74cfc7eb760b73c572652
|
||||
EBUILD pypubsub-4.0.3.ebuild 575 BLAKE2B 75f69a645d9da77af57ab7af5abcfafc9c79380853861995d2d79545d01b2deeca5c65c9906cc1e806958794d5d6221cbf8944c83a332b5bf5077da478673927 SHA512 cc7c10e1400a15f0a6bb44e2f96b67e81aee69a750bf944fa5ab5817fb666b088f6b014e36dc77b7b3673f3ff58525b0d52183c218440aed58f222c1b14c2962
|
||||
EBUILD pypubsub-4.0.3.ebuild 575 BLAKE2B a9de477cee6629ffb79c333f575552210c009008957c5083ccb7faee83effa4430a3b7bbeb0b425af4f740bc1891327c05536c56bea3ee5458e97a663627e515 SHA512 0adffda1b042acff76cec4986d67e9a1a962bbcda53c54d9f6c7a69e6b88304001c6d43bab05a9b62dead3c3ff13c6ae0e2c464176f126d509372d0b80d9205e
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..12} )
|
||||
PYTHON_COMPAT=( python3_{6..13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
AUX 0001-Import-abstract-base-classes-from-collections.abc.patch 1429 BLAKE2B 2f08c58ac13e5d921639bf1db40fb83987356edcd84c2455cf872f752357e531d217f5215a132f53c8afbf9b0793205f4295ef2ff4bdb2d7673c0ad7809bd61c SHA512 f9ab50f63a6ac75509311c5f142ee075a0a54ff8fb0045973c30d545333e877818bae9f8884ce4aa1d6f8bc5212ef3b2baf04c115308a2f6508c2ac182eadc0a
|
||||
DIST twodict-1.2.tar.gz 7016 BLAKE2B dd396dd1a712474b6d07614190d69aee2cf47c46829d9bb9dec3e56e067a4f8289cd94aa9d2a7d9144a7b472fd13e4b1be8d229e3aff036bf65175be2b155027 SHA512 82fc49568d95fb742bb014789937e2c4fc54a1f680fd9743643bbfe50f580a62dc20e363974a3359586e6a47b72015e059f435f3b6470adcb567249a50cac434
|
||||
EBUILD twodict-1.2.ebuild 547 BLAKE2B da772c614bdc087e2abb53020bcf8ccd6e0dae4ff2710160bdf09887da9949daf3dc9c87772b6e70fbb522d1df2632fbc4b8d4cc7e099dec305dc4b3c8cf17aa SHA512 3e1b084915ede262b603c02082be94a16168ac36d1d897d12af7a507e0956e876e88af81908c0ff0e1cadef2ce2385808418114025cbd04f732c3c00e897a534
|
||||
EBUILD twodict-1.2.ebuild 547 BLAKE2B e528ab5f8fb05b0fb1a94ee8a9fab77dfcbdfe422f1d1ed9e33846ab085e814d46aaae598e550d934762090263a52dad1ac54e6d405a12cbc54e1a617d8e71a3 SHA512 46e39c83a2cbb982c57dcb54b9682dc0956aaa8c817b01acc245f367d1f25586eb720295a19f1422bb988bb13ff862fa75cb688c5ee8b91c0164ea0b2ea5bef2
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4..12} )
|
||||
PYTHON_COMPAT=( python2_7 python3_{4..13} )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0001-Import-abstract-base-classes-from-collections.abc.patch"
|
||||
|
||||
5
dev-qt/qtlocation/Manifest
Normal file
5
dev-qt/qtlocation/Manifest
Normal file
@@ -0,0 +1,5 @@
|
||||
DIST qtlocation-5.15.11-patchset.tar.xz 4796 BLAKE2B dcfa75bd3fb2e9069e1a530c27e2b4e9ac921fcf0ccb712f0894375b575ba25103948c6e5b85b56a8f9c9f2d7edf7df8e38501e93356e69f060b577a04c2d221 SHA512 14bd2864abc6f446dc4fbac03548cb42305685b46db757d856360780144095a021130bc0ebf1d07a516dc7991dc0cfbf733bd0ef6be58237bc15822c21af1d0b
|
||||
DIST qtlocation-everywhere-opensource-src-5.15.16.tar.xz 6548480 BLAKE2B 9f6d66d22f4ad45935e3e76e275866b236cd842b7a17a3a9e6553f75dcf3048cd70e0b046d5d08c57d4c9d7ea73f723b210d044f44bf494cafbbff590b0703e5 SHA512 321a8e68f731a97c7ef0209d6db0ff4891dd14dc43e14f5c4c5ac763069c7f17298fbc6410326df9265ccd631372cdba662fc82e26a324936d371c8572e19a48
|
||||
DIST qtlocation-mapboxgl-5.15.16-35d56672.tar.gz 3726302 BLAKE2B f51c0589a06fab35ba85b3bf4ca8a1904cda5aec47b17fdf747da527d02be623a76b1af5883b33267fab825a4b5d0863ea0220f2907e98e286b40d4a0bbc82e5 SHA512 5c2ff6ab7e4382d87546a802c5603bdcec3deb7fbb836fc981292c67660514caaa6118e164d2e099d0304710035572706562ec84e4aba5ce36b01cade8b0993e
|
||||
EBUILD qtlocation-5.15.16-r1.ebuild 1629 BLAKE2B 93af70522115073f42fcc8b073cd515c547f4be99a98bd8352fee740690fbbd0c5cba351f54ec0038dfc0c21bacd78f7bcba0a8d9cb02145a2748d4a5f371de6 SHA512 b21a9278eac1accf942ae82bb066991d5aacf59e43412a47e68b88a6b9bb0abf59347c310ca8988e248242b701a496862108e489da00ad7b537b6e6459aa61d3
|
||||
MISC metadata.xml 535 BLAKE2B 061ed9abebe579a38a262451a5e72d112adbcf4693078042f3b55be8d16b7bd430198edb732cd127deccf8c67d444b9951dd7ac8e2d0fef7de02913a3a8ba644 SHA512 823b03655b8bbb923d38d4f8358898beb2e2fa34d36e2d8d843e164027d58eb044a3e661b8dfc12cda123f15fd07d0987874b81543c47e46c670c25fa35dde87
|
||||
18
dev-qt/qtlocation/metadata.xml
Normal file
18
dev-qt/qtlocation/metadata.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>qt@gentoo.org</email>
|
||||
<name>Gentoo Qt Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<bugs-to>https://bugreports.qt.io/</bugs-to>
|
||||
<doc>https://doc.qt.io/</doc>
|
||||
<remote-id type="github">qt/qtlocation</remote-id>
|
||||
</upstream>
|
||||
<slots>
|
||||
<subslots>
|
||||
Must only be used by packages that are known to use private parts of the Qt API.
|
||||
</subslots>
|
||||
</slots>
|
||||
</pkgmetadata>
|
||||
59
dev-qt/qtlocation/qtlocation-5.15.16-r1.ebuild
Normal file
59
dev-qt/qtlocation/qtlocation-5.15.16-r1.ebuild
Normal file
@@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PATCHSET="${PN}-5.15.11-patchset"
|
||||
inherit qt5-build
|
||||
|
||||
DESCRIPTION="Location (places, maps, navigation) library for the Qt5 framework"
|
||||
|
||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
||||
MAPBOXGL_COMMIT=35d566724c48180c9a372c2ed50a253871a51574
|
||||
SRC_URI+=" https://invent.kde.org/qt/qt/${PN}-mapboxgl/-/archive/${MAPBOXGL_COMMIT}/${PN}-mapboxgl-${MAPBOXGL_COMMIT}.tar.gz -> ${PN}-mapboxgl-${PV}-${MAPBOXGL_COMMIT:0:8}.tar.gz
|
||||
https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
|
||||
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/icu:=
|
||||
=dev-qt/qtcore-${QT5_PV}*
|
||||
=dev-qt/qtdeclarative-${QT5_PV}*
|
||||
=dev-qt/qtgui-${QT5_PV}*
|
||||
=dev-qt/qtnetwork-${QT5_PV}*
|
||||
=dev-qt/qtpositioning-${QT5_PV}*[qml]
|
||||
=dev-qt/qtsql-${QT5_PV}*
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
=dev-qt/qtconcurrent-${QT5_PV}*
|
||||
"
|
||||
|
||||
QT5_TARGET_SUBDIRS=(
|
||||
src/3rdparty/clipper
|
||||
src/3rdparty/poly2tri
|
||||
src/3rdparty/clip2tri
|
||||
src/3rdparty/mapbox-gl-native
|
||||
src/location
|
||||
src/imports/location
|
||||
src/imports/locationlabs
|
||||
src/plugins/geoservices
|
||||
)
|
||||
|
||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
||||
|
||||
PATCHES=( "${WORKDIR}/${PATCHSET}" )
|
||||
|
||||
src_prepare() {
|
||||
rm -rf src/3rdparty/mapbox-gl-native/* || die
|
||||
mv "${WORKDIR}"/${PN}-mapboxgl-${MAPBOXGL_COMMIT}/* src/3rdparty/mapbox-gl-native || die
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
fi
|
||||
|
||||
src_configure() {
|
||||
# src/plugins/geoservices requires files that are only generated when
|
||||
# qmake is run in the root directory. Bug 633776.
|
||||
qt5_configure_oos_quirk qtlocation-config.pri src/location
|
||||
qt5-build_src_configure
|
||||
}
|
||||
3
dev-qt/qtsensors/Manifest
Normal file
3
dev-qt/qtsensors/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST qtsensors-everywhere-opensource-src-5.15.16.tar.xz 2051048 BLAKE2B 85fa8c67639751676ffa1ccd5ad1a89efbaed56f4bd39e99fd88bd25924d8cfc08d67a4f8f20878bac82a91f5768d60b5576e3799fc80221f2f6f7e7ac9994be SHA512 2bd63e07a996f5377bda885e7218fc218fc981bf2a637b3d939ae5913bbffe2a797716b0aaa63e61c7e1384f07712de8683787590649a8f01a424b7f4526502b
|
||||
EBUILD qtsensors-5.15.16.ebuild 559 BLAKE2B 411fcb30161c3700e93390c31ebc2b030ed91cfea3980da4eb860867d82180b73beea77a09b2c17956dff0ddd63ae4ba86bab6ff7318fa301bb3a9fceaf8caf1 SHA512 285fe9deab6c60bc5c151478fcb8fce78b55dc88af04b5216015f1e24ae4a2d991bef97757f1301da625263af625fe06121048a4f41bf46baa2ba596c1a1de8e
|
||||
MISC metadata.xml 594 BLAKE2B 93f6b9de5266ef5bba3342d149afd04d4fdb27cac760d91b7dfb866d81ff4d4e86a3de1a512815444aa825350dad45923437f5caa7fea7cf6066667f2328d00e SHA512 68d91bcb4c8904a65021a81b01474081565e55c6776d29b54a70318282ce604f8e29e75f3d7574aedf9397ec72b2c6bd1e81ed4e630a4ecf553e070baebd9d64
|
||||
21
dev-qt/qtsensors/metadata.xml
Normal file
21
dev-qt/qtsensors/metadata.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>qt@gentoo.org</email>
|
||||
<name>Gentoo Qt Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="qml">Build QML bindings</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://bugreports.qt.io/</bugs-to>
|
||||
<doc>https://doc.qt.io/</doc>
|
||||
<remote-id type="github">qt/qtsensors</remote-id>
|
||||
</upstream>
|
||||
<slots>
|
||||
<subslots>
|
||||
Must only be used by packages that are known to use private parts of the Qt API.
|
||||
</subslots>
|
||||
</slots>
|
||||
</pkgmetadata>
|
||||
29
dev-qt/qtsensors/qtsensors-5.15.16.ebuild
Normal file
29
dev-qt/qtsensors/qtsensors-5.15.16.ebuild
Normal file
@@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit qt5-build
|
||||
|
||||
DESCRIPTION="Hardware sensor access library for the Qt5 framework"
|
||||
|
||||
if [[ ${QT5_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
# TODO: simulator
|
||||
IUSE="qml"
|
||||
|
||||
RDEPEND="
|
||||
=dev-qt/qtcore-${QT5_PV}*
|
||||
=dev-qt/qtdbus-${QT5_PV}*
|
||||
qml? ( =dev-qt/qtdeclarative-${QT5_PV}* )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
qt_use_disable_mod qml quick \
|
||||
src/src.pro
|
||||
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
7
dev-util/nvidia-cuda-toolkit/Manifest
Normal file
7
dev-util/nvidia-cuda-toolkit/Manifest
Normal file
@@ -0,0 +1,7 @@
|
||||
AUX cuda-config.in 407 BLAKE2B 5f7a0d50d774db58c180b767f00bead7c7dbf5f6b3b4a2f960dfc3b8450f7abf5c2b67c6620c5318f1331646dd2003d61c70a4c31359efd16ff418ecc9d0b446 SHA512 363903b999c43a47a48c52e8898c6044fadcc66d259338ee22863e859c2bc9873a2f1392aa83c9182486d3aa4eaeb5f164cf8ccf29cc74fd8ad56245f76a039a
|
||||
AUX nvidia-cuda-toolkit-glibc-2.41-r1.patch 3163 BLAKE2B a3d5dbc50898b1502a342c3c70997864bc0e49ccf035b32a76a4ca1b282d236609b5ebc5d094ac0489abcb835456231a90428a758471af59464198b0dcf79999 SHA512 e0fb0018273416df4c1c40e5f74f6d0261a93bb9c4471c12732306b40903c1df8a509a9fd9060d968ac5484b791b6dd86a6db80b6993b979b22a41f44d6bf456
|
||||
AUX parse_manifest.py 8488 BLAKE2B fe4748e41727e717d99b3b7f294d7c8e67b44e3f352f27a76c386502870e6134217ead3d93714755f50b0393d514b9e317748aed89637c660e354d53354d1485 SHA512 ab90e614bfd729a0a90a7373d58fcf2f6e7ba3beb8a00841b87e8240c9386a678daf551f4fcc89040f10d46d159e316442978c60b1a8960070576cfb7a11d52c
|
||||
DIST cuda_12.8.1_570.124.06_linux.run 5382238770 BLAKE2B 6dff4eb32e97f960bdb2bd57d0dbf0920a9f85c19c26199adcac64eb9d30d7b6f6e2691c7a7a0b5b8249c7860cc685931080a3775c804f6e4e3294c43380e94f SHA512 2ac14ba054bf01924e1953053850f679ebdbc2b9150715398365464eae9d686cde2b82abb8f385b74e4eafa8d68421a9ea216c7647c08956ccba8b2299b50a6e
|
||||
DIST cuda_12.8.1_570.124.06_linux_sbsa.run 4606631442 BLAKE2B 142c3a231f2a621c4d6a74059b72125baca83d2653ba95c726e3e3c12cf8a0a6b75ced7c0bdaa98450c3d2c2224e88886598191b594ac69be52ba5765bb30592 SHA512 108a75e0ca098b0fd514b3380d42b4752669201dcd68c41f2c1ecf9f29c216ac5937fa33d60e11be06e8a2ad8ae73aa49e6685a363ea77af943e1a1b936b8349
|
||||
EBUILD nvidia-cuda-toolkit-12.8.1.ebuild 10532 BLAKE2B c40be32d8ec1da1ead0394212e632dc690c729ad7b0e7703f5cc1308ea8608a3de9f2cc9927ec8d47b430a1b0c1f7c456c558853b6c2e302522dd7941a9ed210 SHA512 05e6fa35eb4041e7cafb1c20efe314e997d025ca811690ba8efbad0a33f5eca4e6d08599cd1542cf1ed26f2ff94d69a65c3bb400ba117fc8493736c82da00451
|
||||
MISC metadata.xml 761 BLAKE2B a6ae653c6206cbc05349297499b6dde91bce6d543e10bd5ea915cfe9729dfa6f1eb954ae09c2e4d3997f51315ae090b38606c21b5099e750596ea66fdd93e817 SHA512 9133517d805201d25b651e48abed90394c88ef33a2571ab20b3b19d365f85a90478486c7c087c9150d7d9f6e4026873c5236c64ed649fd3bfc8f9b81479dcc59
|
||||
28
dev-util/nvidia-cuda-toolkit/files/cuda-config.in
Normal file
28
dev-util/nvidia-cuda-toolkit/files/cuda-config.in
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
SUPPORT_GCC_VERSIONS_BY_CUDA="CUDA_SUPPORTED_GCC"
|
||||
|
||||
_print_help() {
|
||||
cat <<- EOF
|
||||
Usage:
|
||||
$(basename $0) [options]
|
||||
|
||||
-s | --supported Returns by current CUDA supported gcc versions
|
||||
-h | --help Shows this help
|
||||
EOF
|
||||
}
|
||||
|
||||
case ${1} in
|
||||
-s|--supported)
|
||||
echo "${SUPPORT_GCC_VERSIONS_BY_CUDA}"
|
||||
exit 0
|
||||
;;
|
||||
-h|--help)
|
||||
_print_help
|
||||
exit 255
|
||||
;;
|
||||
*)
|
||||
_print_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,72 @@
|
||||
From cae8ab12c9f981f110bb2e1318d9c5306e3a2d81 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Zander <negril.nx@gmail.com>
|
||||
Date: Sat, 8 Feb 2025 16:34:42 +0100
|
||||
Subject: [PATCH] Updates headers for glibc-2.41
|
||||
|
||||
Match the extern definitions in cuda-crt headers with the changes in glibc-2.41.
|
||||
|
||||
/usr/include/bits/mathcalls.h(79): error: exception specification is
|
||||
incompatible with that of previous function "cospi" (declared at line 2601
|
||||
of
|
||||
/opt/cuda-12.8.0/bin/../targets/x86_64-linux/include/crt/math_functions.h)
|
||||
|
||||
extern double cospi (double __x) noexcept (true); extern double __cospi (double __x) noexcept (true);
|
||||
|
||||
See-Also: https://sourceware.org/git/?p=glibc.git;a=commit;h=0ae0af68d8fa3bf6cbe1e4f1de5929ff71de67b3
|
||||
Signed-off-by: Paul Zander <negril.nx@gmail.com>
|
||||
|
||||
diff --git a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
|
||||
index d8201f9..a9b19d4 100644
|
||||
--- a/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
|
||||
+++ b/builds/cuda_nvcc/targets/x86_64-linux/include/crt/math_functions.h
|
||||
@@ -2553,7 +2553,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float rcbrt
|
||||
*
|
||||
* \note_accuracy_double
|
||||
*/
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 41
|
||||
+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x) noexcept (true);
|
||||
+#else
|
||||
extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi(double x);
|
||||
+#endif
|
||||
/**
|
||||
* \ingroup CUDA_MATH_SINGLE
|
||||
* \brief Calculate the sine of the input argument
|
||||
@@ -2576,7 +2580,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double sinpi
|
||||
*
|
||||
* \note_accuracy_single
|
||||
*/
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 41
|
||||
+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x) noexcept (true);
|
||||
+#else
|
||||
extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpif(float x);
|
||||
+#endif
|
||||
/**
|
||||
* \ingroup CUDA_MATH_DOUBLE
|
||||
* \brief Calculate the cosine of the input argument
|
||||
@@ -2598,7 +2606,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float sinpi
|
||||
*
|
||||
* \note_accuracy_double
|
||||
*/
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 41
|
||||
+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x) noexcept (true);
|
||||
+#else
|
||||
extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi(double x);
|
||||
+#endif
|
||||
/**
|
||||
* \ingroup CUDA_MATH_SINGLE
|
||||
* \brief Calculate the cosine of the input argument
|
||||
@@ -2620,7 +2632,11 @@ extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ double cospi
|
||||
*
|
||||
* \note_accuracy_single
|
||||
*/
|
||||
+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 41
|
||||
+extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x) noexcept (true);
|
||||
+#else
|
||||
extern __DEVICE_FUNCTIONS_DECL__ __device_builtin__ float cospif(float x);
|
||||
+#endif
|
||||
/**
|
||||
* \ingroup CUDA_MATH_DOUBLE
|
||||
* \brief Calculate the sine and cosine of the first input argument
|
||||
--
|
||||
2.48.1
|
||||
|
||||
223
dev-util/nvidia-cuda-toolkit/files/parse_manifest.py
Normal file
223
dev-util/nvidia-cuda-toolkit/files/parse_manifest.py
Normal file
@@ -0,0 +1,223 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2024-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
#
|
||||
#
|
||||
# Takes the manifests/*.xml file from the NVIDIA CUDA Toolkit as input.
|
||||
# Those files contain a nested tree of package items.
|
||||
#
|
||||
# For each package node a if block is output that checks the package's
|
||||
# name attribute against the environment provided array SKIP_COMPONENTS
|
||||
# and skips that whole package if it's listed in it.
|
||||
#
|
||||
# Each item contains four nodes that reference things to install,
|
||||
# `dir`, `file`, `desktopFile`, & `pcfile`, and metadata that further
|
||||
# detail these. This script will output calls to do* calls that
|
||||
# use the metadata.
|
||||
# - dodir would create an empty file - we handle this in dofile
|
||||
# - dofile copies a regex file glob
|
||||
# - dodesktopFile creates a .desktop file
|
||||
# - dopcfile creates a pkgconfig file
|
||||
#
|
||||
# The resulting bash code can be run inside src_install().
|
||||
#
|
||||
# Usage: python parse_manifest.py <cuda_aarch64.xml|cuda_x86_64.xml>
|
||||
|
||||
|
||||
import argparse
|
||||
import xml.etree.ElementTree
|
||||
|
||||
import defusedxml.ElementTree
|
||||
from pathlib import Path
|
||||
|
||||
ind = "\t"
|
||||
indent = 1
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('filename') # positional argument
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
basedir = Path(args.filename).parents[1]
|
||||
|
||||
et = defusedxml.ElementTree.parse(args.filename)
|
||||
|
||||
# Find all packages under the package with the id main (i.e. under "CUDA Installer")
|
||||
for e in et.findall("[@id='main']/package"):
|
||||
def p_package(el: xml.etree.ElementTree.Element, level: int = 0):
|
||||
|
||||
skip = {
|
||||
"Documentation", # obsolete
|
||||
"Driver", # unused
|
||||
# "Kernel Objects", # split
|
||||
# "Demo Suite",
|
||||
# "Visual Tools",
|
||||
# old eclipse
|
||||
# "nsight",
|
||||
# old java
|
||||
# "nvvp",
|
||||
# "cuda-gdb-src"
|
||||
}
|
||||
|
||||
name = el.get("name")
|
||||
|
||||
# trim leading CUDA and trailing version
|
||||
if name.startswith("CUDA"):
|
||||
name2 = ' '.join(name.split(" ")[1:-1])
|
||||
else:
|
||||
name2 = name
|
||||
|
||||
if name2 in skip:
|
||||
return
|
||||
|
||||
# avoid having to deal with whitespaces in bash
|
||||
name2 = name2.replace(" ", "_")
|
||||
|
||||
path = ""
|
||||
|
||||
print(f"{ind * (level + 0) * indent}if ! has {name2} \"${{SKIP_COMPONENTS[@]}}\"; then # \"{name}\"")
|
||||
|
||||
# output attributes from unhandled tags
|
||||
for child in el:
|
||||
if child.tag == "package":
|
||||
continue
|
||||
if child.tag == "file":
|
||||
continue
|
||||
if child.tag == "desktopFile":
|
||||
continue
|
||||
if child.tag == "pcfile":
|
||||
continue
|
||||
for attrib in child.attrib:
|
||||
print(f"{child.tag} {attrib}={child.attrib[attrib]}")
|
||||
|
||||
# <name>CUDA Installer</name>
|
||||
# only for CUDA Installer
|
||||
# unused
|
||||
for node in el.findall("./name"):
|
||||
print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <type>compiler</type>
|
||||
# category. We use the package name instead.
|
||||
# unused
|
||||
# for node in el.findall("./type"):
|
||||
# print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <priority>1</priority>
|
||||
# probably sorting for the tui installer
|
||||
# unused
|
||||
# for node in el.findall("./priority"):
|
||||
# print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <single-selection/>
|
||||
# proably for tui installer
|
||||
# unused
|
||||
# for node in el.findall("./single-selection"):
|
||||
# print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <koversion>2.24.2</koversion>
|
||||
# version of the installed kernel object (Kernel Objects only)
|
||||
# unused
|
||||
for node in el.findall("./koversion"):
|
||||
print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <installPath>/usr/local/cuda-12.8</installPath>
|
||||
# overrides the install location
|
||||
# unused
|
||||
# for node in el.findall("./installPath"):
|
||||
# print(f"{ind * (level + 1) * indent}# {node.tag}: \"{node.text}\"")
|
||||
|
||||
# <buildPath>./builds/cuda_cccl/</buildPath>
|
||||
# path where the package files are found
|
||||
# we cd into it
|
||||
for node in el.findall("./buildPath"):
|
||||
path = node.text.removeprefix('./')
|
||||
print(f"{ind * (level + 1) * indent}cd \"${{S}}/{path}\" || die \"cd ${{S}}/{path} failed\"")
|
||||
print()
|
||||
|
||||
# <dir>bin</dir>
|
||||
# would install empty dirs
|
||||
# unused
|
||||
# for node in el.findall("./dir"):
|
||||
# pass
|
||||
|
||||
# <file dir="bin/">.*</file>
|
||||
# <file>targets/x86_64-linux/lib/.*\.so</file>
|
||||
# regex glob of files to install.
|
||||
for node in el.findall("./file"):
|
||||
# unescape '.*' -> '*' & '\.' -> '.'
|
||||
file = (node.text
|
||||
.replace(".*", "*")
|
||||
.replace(r"\.", ".")
|
||||
.replace("x86_64", "${narch}")
|
||||
.replace("sbsa", "${narch}")
|
||||
)
|
||||
|
||||
# optional dir offset, we merge it into path
|
||||
dir = ""
|
||||
if "dir" in node.attrib:
|
||||
dir = f" \"{Path(node.attrib["dir"])}\""
|
||||
|
||||
filepath = basedir / path / file
|
||||
|
||||
# ignore existing symlinks ( include, lib* ) and the uninstallers
|
||||
if not filepath.is_symlink() and not file.endswith("-uninstaller"):
|
||||
print(f"{ind * (level + 1) * indent}dofile \"{file}\"{dir}")
|
||||
|
||||
# <pcfile description="CUDA Runtime Library">opencl-12.8.pc</pcfile>
|
||||
# create a pkgconfig file for the given description and lib name/version
|
||||
for node in el.findall("./pcfile"):
|
||||
offset = node.text.rfind('-')
|
||||
if offset == -1:
|
||||
raise RuntimeError(f"failed to split pcfile {node.text}")
|
||||
|
||||
lib_name = node.text[:offset]
|
||||
|
||||
if not node.text.endswith('.pc'):
|
||||
raise RuntimeError(f"pcfile does not end in '.pc' {node.text}")
|
||||
lib_version = node.text[offset+1:-3]
|
||||
|
||||
if "description" not in node.attrib:
|
||||
raise RuntimeError(f"no description for {node.text}")
|
||||
|
||||
subdir = ""
|
||||
if "subdir" in node.attrib:
|
||||
subdir = f" \"{node.attrib["subdir"]}\""
|
||||
|
||||
print(f"{ind * (level + 1) * indent}dopcfile "
|
||||
f"\"{lib_name}\" "
|
||||
f"\"{lib_version}\" "
|
||||
f"\"{node.attrib["description"]}\"{subdir}")
|
||||
|
||||
# <desktopFile
|
||||
# filename="nsight"
|
||||
# name="Nsight Eclipse Edition"
|
||||
# categories="Development;IDE;Debugger;ParallelComputing"
|
||||
# keywords="cuda;gpu;nvidia;debugger;"
|
||||
# iconPath="libnsight/icon.xpm"
|
||||
# execPath="bin/nsight"
|
||||
# tryExecPath="bin/nsight"
|
||||
# />
|
||||
# create a .desktop file
|
||||
for node in el.findall("./desktopFile"):
|
||||
print(f"{ind * (level + 1) * indent}dodesktopFile \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["filename"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["name"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["categories"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["keywords"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["iconPath"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["execPath"]}\" \\")
|
||||
print(f"{ind * (level + 2) * indent}\"{node.attrib["tryExecPath"]}\"")
|
||||
|
||||
# iterator over all nested packages
|
||||
for node in el.findall("./package"):
|
||||
p_package(node, level + 1)
|
||||
|
||||
print(f"{ind * (level + 0) * indent}fi")
|
||||
|
||||
p_package(e)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
16
dev-util/nvidia-cuda-toolkit/metadata.xml
Normal file
16
dev-util/nvidia-cuda-toolkit/metadata.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>sci@gentoo.org</email>
|
||||
<name>Gentoo Science Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="debugger">Install the CUDA debugger</flag>
|
||||
<flag name="nsight">Install profiling and optimizing tools (nsight-compute, nsight-systems)</flag>
|
||||
<flag name="profiler">Install the NVIDIA CUDA profiler (nvprof) and the related libraries</flag>
|
||||
<flag name="rdma">Enable infiniband support via <pkg>sys-cluster/rdma-core</pkg></flag>
|
||||
<flag name="sanitizer">Install compute-sanitizer tool</flag>
|
||||
<flag name="vis-profiler">Install the NVIDIA CUDA visual profiler (nvvp)</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
372
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1.ebuild
Normal file
372
dev-util/nvidia-cuda-toolkit/nvidia-cuda-toolkit-12.8.1.ebuild
Normal file
@@ -0,0 +1,372 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# shellcheck disable=SC2317
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
inherit check-reqs toolchain-funcs
|
||||
inherit python-r1
|
||||
|
||||
DRIVER_PV="570.124.06"
|
||||
GCC_MAX_VER="14"
|
||||
CLANG_MAX_VER="19"
|
||||
|
||||
DESCRIPTION="NVIDIA CUDA Toolkit (compiler and friends)"
|
||||
HOMEPAGE="https://developer.nvidia.com/cuda-zone"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux.run
|
||||
)
|
||||
arm64? (
|
||||
https://developer.download.nvidia.com/compute/cuda/${PV}/local_installers/cuda_${PV}_${DRIVER_PV}_linux_sbsa.run
|
||||
)
|
||||
"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="NVIDIA-CUDA"
|
||||
|
||||
SLOT="0/${PV}" # UNSLOTTED
|
||||
# SLOT="${PV}" # SLOTTED
|
||||
|
||||
KEYWORDS="-* ~amd64 ~arm64 ~amd64-linux ~arm64-linux"
|
||||
IUSE="debugger examples profiler rdma sanitizer"
|
||||
RESTRICT="bindist mirror strip test"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# since CUDA 11, the bundled toolkit driver (== ${DRIVER_PV}) and the
|
||||
# actual required minimum driver version are different.
|
||||
RDEPEND="
|
||||
|| (
|
||||
<sys-devel/gcc-$(( GCC_MAX_VER + 1 ))_pre[cxx]
|
||||
<llvm-core/clang-$(( CLANG_MAX_VER + 1 ))_pre
|
||||
)
|
||||
sys-process/numactl
|
||||
debugger? (
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
examples? (
|
||||
media-libs/freeglut
|
||||
media-libs/glu
|
||||
)
|
||||
rdma? ( sys-cluster/rdma-core )
|
||||
"
|
||||
BDEPEND="
|
||||
$(python_gen_any_dep '
|
||||
dev-python/defusedxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
|
||||
# CUDA_PATH="/opt/cuda-${PV}" #950207
|
||||
CUDA_PATH="/opt/cuda"
|
||||
QA_PREBUILT="${CUDA_PATH#/}/*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/nvidia-cuda-toolkit-glibc-2.41-r1.patch"
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version "dev-python/defusedxml[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
cuda-toolkit_check_reqs() {
|
||||
if use amd64; then
|
||||
export CHECKREQS_DISK_BUILD="6645M"
|
||||
elif use arm64; then
|
||||
export CHECKREQS_DISK_BUILD="6412M"
|
||||
fi
|
||||
|
||||
"check-reqs_pkg_${EBUILD_PHASE}"
|
||||
}
|
||||
|
||||
cuda_verify() {
|
||||
if has_version "sys-apps/grep[pcre]"; then
|
||||
local DRIVER_PV_info
|
||||
DRIVER_PV_info="$(bash "${DISTDIR}/${A}" --info | grep -oP "cuda_${PV}.*run" | cut -d '_' -f 3)"
|
||||
|
||||
if [[ "${DRIVER_PV}" != "${DRIVER_PV_info}" ]]; then
|
||||
die "check DRIVER_PV is ${DRIVER_PV} and should be ${DRIVER_PV_info}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# rest only works in with unpacked sources
|
||||
[[ "${EBUILD_PHASE}" != prepare ]] && return
|
||||
|
||||
# run self checks
|
||||
local compiler_versions GCC_HAS_VER CLANG_HAS_VER
|
||||
compiler_versions="$(
|
||||
grep -oP "unsupported (GNU|clang) version.*(gcc versions later than|clang version must be less than) [0-9]*" \
|
||||
"${S}"/builds/cuda_nvcc/targets/*/include/crt/host_config.h
|
||||
)"
|
||||
|
||||
GCC_HAS_VER="$( echo "${compiler_versions}" | grep gcc | grep -oP "(?<=than )[0-9]*")"
|
||||
if [[ "${GCC_MAX_VER}" -ne "${GCC_HAS_VER}" ]]; then
|
||||
eqawarn "check GCC_MAX_VER is ${GCC_MAX_VER} and should be ${GCC_HAS_VER}"
|
||||
fi
|
||||
|
||||
CLANG_HAS_VER="$(( $(echo "${compiler_versions}" | grep clang | grep -oP "(?<=than )[0-9]*") - 1 ))"
|
||||
if [[ "${CLANG_MAX_VER}" -ne "${CLANG_HAS_VER}" ]]; then
|
||||
eqawarn "check CLANG_MAX_VER is ${CLANG_MAX_VER} and should be ${CLANG_HAS_VER}"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
cuda-toolkit_check_reqs
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
cuda-toolkit_check_reqs
|
||||
|
||||
# we need python for manifest parsing and to determine the supported python versions for cuda-gdb
|
||||
python_setup
|
||||
|
||||
if use amd64; then
|
||||
narch=x86_64
|
||||
elif use arm64; then
|
||||
narch=sbsa
|
||||
else
|
||||
die "unknown arch ${ARCH}"
|
||||
fi
|
||||
|
||||
export narch
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cuda_verify
|
||||
|
||||
local exclude=(
|
||||
"cuda-installer"
|
||||
"*-uninstaller"
|
||||
"NVIDIA-Linux-${narch}-${DRIVER_PV}.run"
|
||||
"builds/cuda_documentation"
|
||||
"builds/cuda_nsight"
|
||||
"builds/cuda_nvvp"
|
||||
"builds/nsight_compute"
|
||||
"builds/nsight_systems"
|
||||
"builds/nvidia_fs"
|
||||
)
|
||||
|
||||
bash "${DISTDIR}/${A}" --tar xf -X <(printf "%s\n" "${exclude[@]}") || die "failed to extract ${A}"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
:
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local -x SKIP_COMPONENTS=(
|
||||
"Kernel_Objects"
|
||||
"Visual_Tools"
|
||||
"Documentation" # obsolete
|
||||
"cuda-gdb-src" # not used
|
||||
)
|
||||
|
||||
! use debugger && SKIP_COMPONENTS+=( "cuda-gdb" )
|
||||
! use examples && SKIP_COMPONENTS+=( "Demo_Suite" )
|
||||
! use profiler && SKIP_COMPONENTS+=( "cuda-cupti" "cuda-profiler-api" "nvprof" )
|
||||
! use sanitizer && SKIP_COMPONENTS+=( "compute-sanitizer" )
|
||||
|
||||
dodir "${CUDA_PATH}"
|
||||
into "${CUDA_PATH}"
|
||||
|
||||
dofile() {
|
||||
debug-print-function "${FUNCNAME[0]}" "$@"
|
||||
|
||||
if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
|
||||
die "${FUNCNAME[0]} must receive one or two arguments"
|
||||
fi
|
||||
|
||||
local _DESTDIR
|
||||
_DESTDIR="$(dirname "${CUDA_PATH}/${1%/}")${2:+/${2%/}}"
|
||||
mkdir -p "${ED}${_DESTDIR}" || die "mkdir ${_DESTDIR} failed"
|
||||
|
||||
local dir
|
||||
dir="$(dirname "${1}")"
|
||||
|
||||
if test -z "$(find "${dir}" -maxdepth 1 -name "$(basename "$1")" -print -quit)"; then
|
||||
if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
|
||||
return
|
||||
fi
|
||||
if [[ "$1" == "targets/x86_64-linux/lib/stubs/libcusolverMg*" ]] ||
|
||||
[[ "$1" == "targets/x86_64-linux/lib/libcusparse.so.*" ]]; then
|
||||
return
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
if [[ -e "${ED}${_DESTDIR}/$(basename "${1}")" ]]; then
|
||||
# skip noisy warnings
|
||||
if [[ "$(basename "${1}")" == "include" ]] ||
|
||||
[[ "$(basename "${1}")" == "lib64" ]]; then
|
||||
return
|
||||
fi
|
||||
eqawarn "${ED}${_DESTDIR}/$(basename "${1}") exists"
|
||||
return
|
||||
fi
|
||||
|
||||
eval mv -i "${1}" "${ED}${_DESTDIR}" || die "mv failed ${PWD} / ${1} -> ${ED} ${_DESTDIR}"
|
||||
}
|
||||
|
||||
dopcfile() {
|
||||
[[ $# -eq 0 ]] && return
|
||||
|
||||
dodir "${CUDA_PATH}/pkgconfig"
|
||||
cat > "${ED}${CUDA_PATH}/pkgconfig/${1}-${2}.pc" <<-EOF || die "dopcfile"
|
||||
cudaroot=${EPREFIX}${CUDA_PATH}
|
||||
libdir=\${cudaroot}/targets/${narch}-linux/lib${4}
|
||||
includedir=\${cudaroot}/targets/${narch}-linux/include
|
||||
|
||||
Name: ${1}
|
||||
Description: ${3}
|
||||
Version: ${2}
|
||||
Libs: -L\${libdir} -l${1}
|
||||
Cflags: -I\${includedir}
|
||||
EOF
|
||||
}
|
||||
|
||||
pushd builds >/dev/null || die
|
||||
fix_executable_bit=(
|
||||
cuda_cupti/extras/CUPTI/samples/pc_sampling_utility/pc_sampling_utility_helper.h
|
||||
cuda_cupti/extras/CUPTI/samples/pc_sampling_continuous/libpc_sampling_continuous.pl
|
||||
|
||||
libcufile/gds/tools/run_gdsio.cfg
|
||||
)
|
||||
|
||||
if use amd64; then
|
||||
fix_executable_bit+=(
|
||||
cuda_opencl/targets/*/include/CL/cl.hpp
|
||||
|
||||
libcufile/targets/*/lib/libcufile_rdma_static.a
|
||||
libcufile/targets/*/lib/libcufile_static.a
|
||||
)
|
||||
fi
|
||||
chmod -x "${fix_executable_bit[@]}" || die "failed chmod"
|
||||
popd >/dev/null || die
|
||||
|
||||
ebegin "parsing manifest" "${S}/manifests/cuda_"*.xml # {{{
|
||||
|
||||
"${EPYTHON}" "${FILESDIR}/parse_manifest.py" "${S}/manifests/cuda_"*".xml" &> "${T}/install.sh" \
|
||||
|| die "failed to parse manifest"
|
||||
# shellcheck disable=SC1091
|
||||
source "${T}/install.sh" || die "failed to source install script"
|
||||
|
||||
eend $? # }}}
|
||||
|
||||
if use debugger; then
|
||||
if [[ -d "${ED}/${CUDA_PATH}/extras/Debugger/lib64" ]]; then
|
||||
rmdir "${ED}/${CUDA_PATH}/extras/Debugger/lib64" || die "remove debugger lib64"
|
||||
fi
|
||||
|
||||
find "${ED}/${CUDA_PATH}/bin" -maxdepth 1 -name "cuda-gdb-*-tui" -print0 | while read -rd $'\0' tui_name; do
|
||||
impl="$(basename "${tui_name}" | cut -d '-' -f 3 | tr '.' '_')"
|
||||
|
||||
if ! has "${impl}" "${PYTHON_COMPAT[@]}" || ! use "python_targets_${impl}"; then
|
||||
rm "${tui_name}" || die "tui-name rm ${tui_name}"
|
||||
sed -e "/$(basename "${tui_name}")\"/d" -i "${ED}/${CUDA_PATH}/bin/cuda-gdb" || die "tui_name sed"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# remove rdma libs (unless USE=rdma)
|
||||
if ! use rdma; then
|
||||
rm "${ED}/${CUDA_PATH}/targets/${narch}-linux/lib/libcufile_rdma"* || die "failed to remove rdma files"
|
||||
fi
|
||||
|
||||
# Add include and lib symlinks
|
||||
dosym "targets/${narch}-linux/include" "${CUDA_PATH}/include"
|
||||
dosym "targets/${narch}-linux/lib" "${CUDA_PATH}/lib64"
|
||||
|
||||
find "${ED}/${CUDA_PATH}" -empty -delete || die
|
||||
|
||||
local ldpathextradirs pathextradirs
|
||||
|
||||
use debugger && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/Debugger/lib64"
|
||||
use profiler && ldpathextradirs+=":${EPREFIX}${CUDA_PATH}/extras/CUPTI/lib64"
|
||||
|
||||
local revord=$(( 999999 - $(printf "%02d%02d%02d" "$(ver_cut 1)" "$(ver_cut 2)" "$(ver_cut 3)") ))
|
||||
newenvd - "99cuda${revord}" <<-EOF
|
||||
PATH=${EPREFIX}${CUDA_PATH}/bin${pathextradirs}
|
||||
PKG_CONFIG_PATH=${EPREFIX}${CUDA_PATH}/pkgconfig
|
||||
LDPATH=${EPREFIX}${CUDA_PATH}/lib64:${EPREFIX}${CUDA_PATH}/nvvm/lib64${ldpathextradirs}
|
||||
EOF
|
||||
|
||||
# CUDA prepackages libraries, don't revdep-build on them
|
||||
insinto /etc/revdep-rebuild
|
||||
newins - "80${PN}${revord}" <<-EOF
|
||||
SEARCH_DIRS_MASK="${EPREFIX}${CUDA_PATH}"
|
||||
EOF
|
||||
|
||||
# https://bugs.gentoo.org/926116
|
||||
insinto /etc/sandbox.d
|
||||
newins - "80${PN}" <<-EOF
|
||||
SANDBOX_PREDICT="/proc/self/task"
|
||||
EOF
|
||||
|
||||
# TODO drop and replace with runtime detection similar to what python does {{{
|
||||
# ATTENTION: change requires revbump, see link below for supported GCC # versions
|
||||
# https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
|
||||
local cuda_supported_gcc=( 8.5 9.5 10 11 12 13 "${GCC_MAX_VER}" )
|
||||
|
||||
sed \
|
||||
-e "s:CUDA_SUPPORTED_GCC:${cuda_supported_gcc[*]}:g" \
|
||||
"${FILESDIR}"/cuda-config.in > "${ED}/${CUDA_PATH}/bin/cuda-config" || die
|
||||
fperms +x "${CUDA_PATH}/bin/cuda-config"
|
||||
# }}}
|
||||
|
||||
# skip til cudnn has been changed #950207
|
||||
# if [[ "${SLOT}" != "${PV}" ]]; then
|
||||
# dosym "${CUDA_PATH}" "${CUDA_PATH%"-${PV}"}"
|
||||
# fi
|
||||
|
||||
fowners -R root:root "${CUDA_PATH}"
|
||||
}
|
||||
|
||||
pkg_postinst_check() {
|
||||
if tc-is-gcc &&
|
||||
ver_test "$(gcc-major-version)" -gt "${GCC_MAX_VER}"; then
|
||||
ewarn
|
||||
ewarn "gcc > ${GCC_MAX_VER} will not work with CUDA"
|
||||
ewarn
|
||||
ewarn "Append --ccbin= pointing to a gcc bindir to the nvcc compiler flags (NVCCFLAGS)"
|
||||
ewarn "or set NVCC_CCBIN to the same bindir."
|
||||
ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")\""
|
||||
ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/*-linux-gnu/gcc-bin/${GCC_MAX_VER}")"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
if tc-is-clang &&
|
||||
ver_test "$(clang-major-version)" -gt "${CLANG_MAX_VER}"; then
|
||||
ewarn
|
||||
ewarn "clang > ${CLANG_MAX_VER} will not work with CUDA"
|
||||
ewarn
|
||||
ewarn "Append --ccbin= pointing to a clang bindir to the nvcc compiler flags (NVCCFLAGS)"
|
||||
ewarn "or set NVCC_CCBIN to the same bindir."
|
||||
ewarn " NVCCFLAGS=\"--ccbin=$(eval echo "${EPREFIX}/usr/lib/llvm/*/bin${CLANG_MAX_VER}")\""
|
||||
ewarn " NVCC_CCBIN=$(eval echo "${EPREFIX}/usr/lib/llvm/*/bin${CLANG_MAX_VER}")"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
pkg_postinst_check
|
||||
fi
|
||||
|
||||
if use profiler; then
|
||||
einfo
|
||||
einfo "nvidia-drivers restricts access to performance counters."
|
||||
einfo "You'll need to run profiling tools (nvprof) "
|
||||
einfo "using sudo (needs cap SYS_ADMIN) or add the following line to "
|
||||
einfo "a modprobe configuration file "
|
||||
einfo "(e.g. /etc/modprobe.d/nvidia-prof.conf): "
|
||||
einfo
|
||||
einfo "options nvidia NVreg_RestrictProfilingToAdminUsers=0"
|
||||
einfo
|
||||
fi
|
||||
}
|
||||
3
dev-util/smartgit/Manifest
Normal file
3
dev-util/smartgit/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST smartgit-linux-24_1_3.tar.gz 114331319 BLAKE2B bd93a34d4a5a401876ee7eefed407b0ef85631caddaf4c3e016216b21a285c390bacb5e0932d10578354d4e9b0b014024459e8ba67ccfdf9ebae206472e15b9d SHA512 20eaf5e1a50930da98995388cd6b24e65c91fc150d16611a50382b28155d4a23f97cf49a6e14495ff574874c1f5e1c0dc53bc2ab0e000c8dcb2084e28c799ea3
|
||||
EBUILD smartgit-24.1.3.ebuild 1828 BLAKE2B 27fa71b604b1e4ab81a9b89ae5fc095fc3c7787d29ab6360e1f0ecda240b1ff36ca65c5f013ae2189007dfe0fbc7a6ea71bf0a597cf587bc36ae52951989b86b SHA512 be19fa12af72025f36067f76e252ba745f0604e10f79c98c70ad8cf5cafd62ba71f630ccaf2aa317e949255994e2e1592d29036744e56140d7a4657f8bc971ec
|
||||
MISC metadata.xml 349 BLAKE2B 03f788b099a1848be49f82e53cdbabde80b226276df7632eb4589660503ee06953f21251609e5444b9a593f97b102d4d1eab3c3cf38fe65c8cf92e6d1d537ee5 SHA512 2ec7de32f08bc98067071da34fb86cadfc57f6eb640d15ebbf8774bf874eb2849ef27af19c583c907135995da45beb0d669cf71d49a3a0fd9e80981a79d55553
|
||||
9
dev-util/smartgit/metadata.xml
Normal file
9
dev-util/smartgit/metadata.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>waebbl-gentoo@posteo.net</email>
|
||||
<name>Bernd Waibel</name>
|
||||
</maintainer>
|
||||
<longdescription>SmartSVN is a powerful GUI SVN client written in Java</longdescription>
|
||||
</pkgmetadata>
|
||||
67
dev-util/smartgit/smartgit-24.1.3.ebuild
Normal file
67
dev-util/smartgit/smartgit-24.1.3.ebuild
Normal file
@@ -0,0 +1,67 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop java-pkg-2 optfeature xdg
|
||||
|
||||
MY_PV="$(ver_rs 1- '_')"
|
||||
MY_P="${PN}-linux-${MY_PV}"
|
||||
|
||||
DESCRIPTION="Git client with support for GitHub Pull Requests+Comments, SVN and Mercurial"
|
||||
HOMEPAGE="https://www.syntevo.com/smartgit"
|
||||
SRC_URI="https://www.syntevo.com/downloads/smartgit/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}"/${PN}
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="smartgit"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RESTRICT="bindist fetch mirror"
|
||||
|
||||
RDEPEND=">=virtual/jre-1.8:1.8"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
pkg_nofetch(){
|
||||
einfo "Please download ${MY_P} from:"
|
||||
einfo "http://www.syntevo.com/smartgit/download"
|
||||
einfo "and move/copy it to your DISTDIR folder"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-2_pkg_setup
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local rdir="/opt/${PN}" X
|
||||
insinto ${rdir}
|
||||
doins -r *
|
||||
chmod +x "${ED}"${rdir}/bin/smartgit.sh || die
|
||||
|
||||
java-pkg_register-environment-variable SWT_GTK3 0
|
||||
java-pkg_regjar "${ED}"/${rdir}/lib/*.jar
|
||||
# java-pkg_dolauncher ${PN} --java_args "-Dsun.io.useCanonCaches=false -Xmx768m -Xverify:none -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:InitiatingHeapOccupancyPercent=25" --jar bootloader.jar
|
||||
|
||||
for X in 32 48 64 128 256; do
|
||||
doicon -s ${X} "${ED}"${rdir}/bin/smartgit-${X}.png
|
||||
done
|
||||
doicon -s scalable "${ED}"${rdir}/bin/smartgit.svg
|
||||
make_desktop_entry "bash ${rdir}/bin/${PN}.sh" "SmartGIT" "/usr/share/icons/hicolor/scalable/apps/${PN}.svg" "Development;RevisionControl"
|
||||
|
||||
# remove integrated git
|
||||
rm -r "${ED}"${rdir}/git || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
elog "${PN} relies on external git executables to work."
|
||||
elog "To run SmartGIT run /opt/${PN}/bin/${PN}.sh"
|
||||
ewarn "Please note, the current version needs java-11 to work!"
|
||||
optfeature "Git support" dev-vcs/git
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
||||
7
media-gfx/freecad/Manifest
Normal file
7
media-gfx/freecad/Manifest
Normal file
@@ -0,0 +1,7 @@
|
||||
AUX freecad-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch 381 BLAKE2B 2fe05252a4e7846006c5f4e679eae5416ede589b9a6ad5fc30425933bedf933bf586b711c2c7d6a59c3881d454ea76ca39e0556a5a31c3769032694f0858e264 SHA512 731befc86267de4e5fa2caf619a8ae9692580d7025ebc26a80f6744a3104263622c38d87d0d8a263a1a15ef1c1d78c9ff3351aa463a9943941bd7d96d946e516
|
||||
AUX freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch 347 BLAKE2B 1c8119aec9408d77db8e09c34b86ba6a8da268509959ba5839b1ad0bb6c5b4023326055170836bf164d0d1e0a13a91ac601bde7eb6b184e4f9b1425e93ce9d38 SHA512 63bb73d0de1e12d3a34a2d055e3ddc2bdbdae5c1c67cd7c9a26047abfeda48943d793f30d190ae28f6f8e9ee7072f671badd4b8f3df29824b401bed0dbf90ed5
|
||||
AUX freecad-9999-Gentoo-specific-don-t-check-vcs.patch 322 BLAKE2B 431b69d749c5639d2407207632ab48f1af36319290c1016985ed2431fe7a5314a5df8373a0a5235fcd08de5762dd090dd89b73846703348d5e2e0fac7c9c7048 SHA512 f67b3bfa013a497d0372649d9339665dd5c48b2dd00814e55ee6fcad6580a8219139f6c1931f2da5e210d181205af55e19b91a4d08b4d0dc7d45fcef358eb0ed
|
||||
AUX freecad-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch 469 BLAKE2B 23e56fbc49b3c3d5ede85e6ec15d26c88c93590fce105e0b75e8b0bd3fee125c500cd59d8db0144c610edb371df318396e056333ec7a411f7647b38d18006efc SHA512 82737af95603ff1f667bf49ee43b85b411eeeb5fd9b577ad7fca6e02bcbfda5c3bbb6c70386e5f69d2181d6226574f82cb68b7e66dfe8f4bb14d946f594582cf
|
||||
DIST freecad-1.0.0.tar.gz 91599325 BLAKE2B 65540eb42e7d508456c9edbf2122e0f288708c33e6d00d3c8c45550e7a614f658f91ba25978a66819bc094b7138aab72a89c0172d0841be1ff798ade5a8bdc64 SHA512 afc1079ea04fd5bb8135f8ad1012d9e4e05c8839dd0a4e00253eada58fe018f445c1200d1ca7ac9f268644c946cbf55b7b313dc3d6bd010f9da3a3334103b7db
|
||||
EBUILD freecad-1.0.0-r3.ebuild 8822 BLAKE2B 4ffdcc7aa97922b7a52f30bc871ac751560b8b706fec978f05a7b9590913eea94347add1b950652db137dae43d99abad2bad9d93ca1ec2534eed964fc4c4200e SHA512 4f3de1aebd529b6ddd6b1e23c071355c567cf0e04b79c485537440cbde2bd6589f1befefbb87d05bb396c8aa0dfe594b305a5bef865ab7fd62f40892688d86f3
|
||||
MISC metadata.xml 3060 BLAKE2B 7ad73261d4457110b7fbfa4a9304fe0e9fe7461bb01f49960b22c5a6c8433e8af8d416d0d28850b25c29158fd73847b2f0302cac73102c83019da00a13cc6786 SHA512 5b5e7b44f22b7fadc8ee79adb59308f1c5e398438f8304bb78829b73a65fea145a71a7d8cf1c5b0a9193455f1570fe57fdbd8aaa49bea6ee3a121faa23258515
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -16,7 +16,7 @@ else()
|
||||
option(FREECAD_USE_CCACHE "Auto detect and use ccache during compilation" ON)
|
||||
endif()
|
||||
|
||||
-if(FREECAD_USE_CCACHE)
|
||||
+if(OFF)
|
||||
find_program(CCACHE_PROGRAM ccache) #This check should occur before project()
|
||||
if(CCACHE_PROGRAM)
|
||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
|
||||
@@ -0,0 +1,15 @@
|
||||
--- a/src/Tools/SubWCRev.py
|
||||
+++ b/src/Tools/SubWCRev.py
|
||||
@@ -510,12 +510,6 @@ def main():
|
||||
bindir = a
|
||||
|
||||
vcs = [
|
||||
- GitControl(),
|
||||
- DebianGitHub(),
|
||||
- BazaarControl(),
|
||||
- Subversion(),
|
||||
- MercurialControl(),
|
||||
- DebianChangelog(),
|
||||
UnknownControl(),
|
||||
]
|
||||
for i in vcs:
|
||||
@@ -0,0 +1,14 @@
|
||||
--- a/src/Tools/SubWCRev.py
|
||||
+++ b/src/Tools/SubWCRev.py
|
||||
@@ -511,11 +511,6 @@ def main():
|
||||
|
||||
vcs = [
|
||||
GitControl(),
|
||||
- DebianGitHub(),
|
||||
- BazaarControl(),
|
||||
- Subversion(),
|
||||
- MercurialControl(),
|
||||
- DebianChangelog(),
|
||||
UnknownControl(),
|
||||
]
|
||||
for i in vcs:
|
||||
@@ -0,0 +1,20 @@
|
||||
--- a/tests/src/Base/CMakeLists.txt
|
||||
+++ b/tests/src/Base/CMakeLists.txt
|
||||
@@ -11,4 +11,6 @@ target_sources(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/tst_Tools.cpp
|
||||
)
|
||||
|
||||
-setup_qt_test(InventorBuilder)
|
||||
+if(BUILD_GUI)
|
||||
+ setup_qt_test(InventorBuilder)
|
||||
+endif()
|
||||
--- a/tests/src/Gui/CMakeLists.txt
|
||||
+++ b/tests/src/Gui/CMakeLists.txt
|
||||
@@ -6,4 +6,6 @@ target_sources(
|
||||
)
|
||||
|
||||
# Qt tests
|
||||
-setup_qt_test(QuantitySpinBox)
|
||||
+if(BUILD_GUI)
|
||||
+ setup_qt_test(QuantitySpinBox)
|
||||
+endif()
|
||||
305
media-gfx/freecad/freecad-1.0.0-r3.ebuild
Normal file
305
media-gfx/freecad/freecad-1.0.0-r3.ebuild
Normal file
@@ -0,0 +1,305 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
|
||||
inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
|
||||
|
||||
DESCRIPTION="Qt based Computer Aided Design application"
|
||||
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
|
||||
|
||||
MY_PN=FreeCAD
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
|
||||
S="${WORKDIR}/freecad-${PV}"
|
||||
else
|
||||
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/FreeCAD-${PV}"
|
||||
fi
|
||||
|
||||
# code is licensed LGPL-2
|
||||
# examples are licensed CC-BY-SA (without note of specific version)
|
||||
LICENSE="LGPL-2 CC-BY-SA-4.0"
|
||||
SLOT="0"
|
||||
IUSE="debug designer +gui netgen pcl +smesh spacenav test X"
|
||||
# Modules are found in src/Mod/ and their options defined in:
|
||||
# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
|
||||
# To get their dependencies:
|
||||
# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
|
||||
IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
bim? ( mesh )
|
||||
cam? ( mesh )
|
||||
gui? ( bim )
|
||||
designer? ( gui )
|
||||
fem? ( smesh )
|
||||
inspection? ( points )
|
||||
mesh? ( smesh )
|
||||
openscad? ( mesh )
|
||||
reverse? ( mesh points )
|
||||
test? ( techdraw )
|
||||
"
|
||||
# Draft Workbench needs BIM
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-cpp/gtest
|
||||
dev-cpp/yaml-cpp
|
||||
dev-libs/boost:=
|
||||
dev-libs/libfmt:=
|
||||
dev-libs/xerces-c[icu]
|
||||
dev-qt/qtbase:6[concurrent,network,xml]
|
||||
media-libs/freetype
|
||||
sci-libs/opencascade:=[json]
|
||||
sys-libs/zlib
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/numpy[${PYTHON_USEDEP}]
|
||||
dev-python/pybind11[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
')
|
||||
assembly? ( sci-libs/ondselsolver )
|
||||
cloud? (
|
||||
dev-libs/openssl:=
|
||||
net-misc/curl
|
||||
)
|
||||
fem? (
|
||||
sci-libs/vtk:=
|
||||
$(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]')
|
||||
)
|
||||
gui? (
|
||||
>=media-libs/coin-4.0.0
|
||||
dev-qt/qtbase:6[gui,opengl,widgets]
|
||||
dev-qt/qtsvg:6
|
||||
dev-qt/qttools:6[designer?,widgets]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/matplotlib[${PYTHON_USEDEP}]
|
||||
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
|
||||
dev-python/pyside:6=[uitools(-),gui,svg,${PYTHON_USEDEP}]
|
||||
|
||||
' )
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
spacenav? ( dev-libs/libspnav[X?] )
|
||||
)
|
||||
netgen? ( media-gfx/netgen[opencascade] )
|
||||
openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') )
|
||||
pcl? ( sci-libs/pcl:= )
|
||||
smesh? (
|
||||
sci-libs/hdf5:=[zlib]
|
||||
>=sci-libs/med-4.0.0-r1
|
||||
sci-libs/vtk:=
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-cpp/eigen-3.3.1:3
|
||||
dev-cpp/ms-gsl
|
||||
"
|
||||
BDEPEND="
|
||||
dev-lang/swig
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch
|
||||
"${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
|
||||
"${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
|
||||
)
|
||||
|
||||
DOCS=( CODE_OF_CONDUCT.md README.md )
|
||||
|
||||
CHECKREQS_DISK_BUILD="2G"
|
||||
|
||||
pkg_setup() {
|
||||
check-reqs_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Fix desktop file
|
||||
sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# -Werror=odr, -Werror=lto-type-mismatch
|
||||
# https://bugs.gentoo.org/875221
|
||||
# https://github.com/FreeCAD/FreeCAD/issues/13173
|
||||
filter-lto
|
||||
|
||||
# Fix building tests
|
||||
append-ldflags -Wl,--copy-dt-needed-entries
|
||||
|
||||
local mycmakeargs=(
|
||||
-DBUILD_DESIGNER_PLUGIN=$(usex designer)
|
||||
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
|
||||
-DBUILD_GUI=$(usex gui)
|
||||
-DBUILD_SMESH=$(usex smesh)
|
||||
-DBUILD_VR=OFF
|
||||
-DBUILD_WITH_CONDA=OFF
|
||||
|
||||
# Modules
|
||||
-DBUILD_ADDONMGR=$(usex addonmgr)
|
||||
-DBUILD_ASSEMBLY=$(usex assembly)
|
||||
-DBUILD_BIM=$(usex bim)
|
||||
-DBUILD_CAM=$(usex cam)
|
||||
-DBUILD_CLOUD=$(usex cloud)
|
||||
-DBUILD_DRAFT=ON
|
||||
# see below for DRAWING
|
||||
-DBUILD_FEM=$(usex fem)
|
||||
-DBUILD_FEM_NETGEN=$(usex fem $(usex netgen))
|
||||
-DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart
|
||||
-DBUILD_HELP=ON
|
||||
-DBUILD_IDF=$(usex idf)
|
||||
-DBUILD_IMPORT=ON # import module for various file formats
|
||||
-DBUILD_INSPECTION=$(usex inspection)
|
||||
-DBUILD_JTREADER=OFF # uses an old proprietary library
|
||||
-DBUILD_MATERIAL=ON
|
||||
-DBUILD_MEASURE=ON
|
||||
-DBUILD_MESH=$(usex mesh)
|
||||
-DBUILD_MESH_PART=$(usex mesh)
|
||||
-DBUILD_OPENSCAD=$(usex openscad)
|
||||
-DBUILD_PART=ON
|
||||
-DBUILD_PART_DESIGN=ON
|
||||
-DBUILD_PLOT=ON
|
||||
-DBUILD_POINTS=$(usex points)
|
||||
-DBUILD_REVERSEENGINEERING=$(usex reverse)
|
||||
-DBUILD_ROBOT=$(usex robot)
|
||||
-DBUILD_SANDBOX=OFF
|
||||
-DBUILD_SHOW=$(usex gui)
|
||||
-DBUILD_SKETCHER=ON # needed by draft workspace
|
||||
-DBUILD_SPREADSHEET=ON
|
||||
-DBUILD_START=ON
|
||||
-DBUILD_SURFACE=$(usex surface)
|
||||
-DBUILD_TECHDRAW=$(usex techdraw)
|
||||
-DBUILD_TEST=ON # always build test workbench for run-time testing
|
||||
-DBUILD_TUX=$(usex gui)
|
||||
-DBUILD_WEB=ON # needed by start workspace
|
||||
|
||||
-DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
|
||||
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
|
||||
|
||||
-DFREECAD_BUILD_DEBIAN=OFF
|
||||
|
||||
-DFREECAD_USE_EXTERNAL_ONDSELSOLVER=$(usex assembly)
|
||||
-DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
|
||||
-DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
|
||||
-DFREECAD_USE_FREETYPE=ON
|
||||
-DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
|
||||
-DFREECAD_USE_PCL=$(usex pcl)
|
||||
-DFREECAD_USE_PYBIND11=ON
|
||||
-DFREECAD_USE_QT_FILEDIALOG=ON
|
||||
|
||||
# install python modules to site-packages' dir. True only for the main package,
|
||||
# sub-packages will still be installed inside /usr/lib64/freecad
|
||||
-DINSTALL_TO_SITEPACKAGES=ON
|
||||
|
||||
# Use the version of shiboken2 that matches the selected python version
|
||||
-DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
|
||||
-DPython3_EXECUTABLE=${PYTHON}
|
||||
)
|
||||
|
||||
if use debug; then
|
||||
# BUILD_SANDBOX currently broken, see
|
||||
# https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
|
||||
mycmakeargs+=(
|
||||
-DBUILD_SANDBOX=OFF
|
||||
-DBUILD_TEMPLATE=ON
|
||||
)
|
||||
else
|
||||
mycmakeargs+=(
|
||||
-DBUILD_SANDBOX=OFF
|
||||
-DBUILD_TEMPLATE=OFF
|
||||
)
|
||||
fi
|
||||
|
||||
if use gui; then
|
||||
mycmakeargs+=(
|
||||
-DFREECAD_QT_MAJOR_VERSION=6
|
||||
-DFREECAD_QT_VERSION=6
|
||||
-DQT_DEFAULT_MAJOR_VERSION=6
|
||||
-DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc"
|
||||
-DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc"
|
||||
-DBUILD_QT5=OFF
|
||||
# Drawing module unmaintained and not ported to qt6
|
||||
-DBUILD_DRAWING=OFF
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
# We use the FreeCADCmd binary instead of the FreeCAD binary here
|
||||
# for two reasons:
|
||||
# 1. It works out of the box with USE=-gui as well, not needing a guard
|
||||
# 2. We don't need virtualx.eclass and its dependencies
|
||||
# The environment variables are needed, so that FreeCAD knows
|
||||
# where to save its temporary files, and where to look and write its
|
||||
# configuration. Without those, there is a sandbox violation, when it
|
||||
# tries to create /var/lib/portage/home/.FreeCAD directory.
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local -x FREECAD_USER_HOME="${HOME}"
|
||||
local -x FREECAD_USER_DATA="${T}"
|
||||
local -x FREECAD_USER_TEMP="${T}"
|
||||
./bin/FreeCADCmd --run-test 0 --set-config AppHomePath="${BUILD_DIR}/" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
dobin src/Tools/freecad-thumbnailer
|
||||
|
||||
if use gui; then
|
||||
newbin - freecad <<- _EOF_
|
||||
#!/bin/sh
|
||||
# https://github.com/coin3d/coin/issues/451
|
||||
: "\${QT_QPA_PLATFORM:=xcb}"
|
||||
export QT_QPA_PLATFORM
|
||||
exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}"
|
||||
_EOF_
|
||||
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
|
||||
fi
|
||||
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
|
||||
|
||||
rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
|
||||
|
||||
python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
|
||||
# compile main package in python site-packages as well
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
einfo "You can load a lot of additional workbenches using the integrated"
|
||||
einfo "AddonManager."
|
||||
|
||||
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
|
||||
einfo "support. Some of them are available in Gentoo. Take a look at"
|
||||
einfo "https://wiki.freecad.org/Installing_additional_components"
|
||||
optfeature_header "External programs used by FreeCAD"
|
||||
optfeature "dependency graphs" media-gfx/graphviz
|
||||
optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
|
||||
optfeature "importing OpenSCAD files, Mesh booleans" media-gfx/openscad
|
||||
use bim && optfeature "working with COLLADA documents" dev-python/pycollada
|
||||
if use fem || use mesh; then
|
||||
optfeature "mesh generation" sci-libs/gmsh
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
||||
96
media-gfx/freecad/metadata.xml
Normal file
96
media-gfx/freecad/metadata.xml
Normal file
@@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>negril.nx+gentoo@gmail.com</email>
|
||||
<name>Paul Zander</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Gentoo Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="addonmgr">
|
||||
Build the addon manager module for automatic handling of 3rd
|
||||
party addons
|
||||
</flag>
|
||||
<flag name="assembly">
|
||||
Build the assembly module to create 3D models composed of several
|
||||
distinguishable parts as a conformed machine.
|
||||
</flag>
|
||||
<flag name="bim">
|
||||
Build the BIM module and workbench
|
||||
</flag>
|
||||
<flag name="cam">
|
||||
Build the CAM module and workbench
|
||||
</flag>
|
||||
<flag name="cloud">
|
||||
Build the Cloud workbench, to access cloud providers (mostly
|
||||
Amazon S3).
|
||||
</flag>
|
||||
<flag name="designer">
|
||||
Build and install the Qt designer plugin, so the FreeCAD widgets
|
||||
can be used from within designer.
|
||||
</flag>
|
||||
<flag name="fem">
|
||||
Build the FEM module and workbench which provides Finite Element
|
||||
Analysis (FEA) workflows
|
||||
</flag>
|
||||
<flag name="gui">
|
||||
Build FreeCAD with a Qt based GUI. If built without setting this
|
||||
USE flag, FreeCAD can be used in a headless mode, for server-side
|
||||
instances.
|
||||
The Python modules are available, without their GUI parts though,
|
||||
if this is unset.
|
||||
</flag>
|
||||
<flag name="idf">
|
||||
Build the IDF module to provide file exchange capabilities with
|
||||
IDF files
|
||||
</flag>
|
||||
<flag name="inspection">
|
||||
Build the inspection workbench which gives you specific tools
|
||||
for examination of shapes (experimental)
|
||||
</flag>
|
||||
<flag name="mesh">
|
||||
Build the mesh module and workbench
|
||||
</flag>
|
||||
<flag name="netgen">
|
||||
Build support for the netgen mesher through <pkg>media-gfx/netgen</pkg>.
|
||||
</flag>
|
||||
<flag name="openscad">
|
||||
Build the OpenSCAD module for interoperability with OpenSCAD
|
||||
and repairing Constructive Solid Geometry (CSG) history
|
||||
</flag>
|
||||
<flag name="pcl">
|
||||
Use external <pkg>sci-libs/pcl</pkg> for point clouds support.
|
||||
</flag>
|
||||
<flag name="points">
|
||||
Build the points module and workbench for working with point clouds
|
||||
</flag>
|
||||
<flag name="reverse">
|
||||
Build the reverse engineering module and workbench
|
||||
</flag>
|
||||
<flag name="robot">
|
||||
Build the robot module and workbench for studying robot movements
|
||||
</flag>
|
||||
<flag name="smesh">
|
||||
Build Salome SMESH
|
||||
</flag>
|
||||
<flag name="spacenav">
|
||||
Add support for space navigator devices through
|
||||
<pkg>dev-libs/libspnav</pkg>
|
||||
</flag>
|
||||
<flag name="surface">
|
||||
Build the surface module and workbench
|
||||
</flag>
|
||||
<flag name="techdraw">
|
||||
Build the techdraw module and workbench, a more advanced and
|
||||
feature-rich successor of the drawing workbench
|
||||
</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://github.com/FreeCAD/FreeCAD/issues</bugs-to>
|
||||
<remote-id type="github">FreeCAD/FreeCAD</remote-id>
|
||||
<doc lang="en">https://wiki.freecad.org/Main_Page</doc>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
@@ -2,6 +2,8 @@ AUX makeresolvedeb_gentoo_1.6.0.patch 3462 BLAKE2B 8072b571bc370b9f0c7b3b62504c9
|
||||
AUX makeresolvedeb_gentoo_1.6.4.patch 3082 BLAKE2B 8745b0117c8882c5175e331a21bcc2603c189db85aaeb00e7c6d4b7e49bfcf58e4ab4ca364a7fd2e51b1078e6a5f7e7f09be794c5759250c05e4056e947ce071 SHA512 eabff75c6344aa8f1a8e2cb9c2310ded387425d11f57c814b1bd4db6a7d75613d3e8e6bc1e9585af2aca07eed23912e1187ff838059feb79d382d772e7e38267
|
||||
AUX makeresolvedeb_gentoo_1.7.1.patch 4017 BLAKE2B afc88a452565f045b01d262874b3594923f25c18641f41c881344a82522ef86fe6d6e6defddcc117be29438ca02badb20e71a8605433405eb9f6987317ddcdf0 SHA512 19917afbc2e14b8f399e3005823f74df0d5d537b0dc195fc39e19ed8e429b88184409ffd27e8b026cd6baf783cd860ca290e7758bc8a10b6dfcaed16ba1292f3
|
||||
AUX makeresolvedeb_gentoo_1.7.3.patch 4017 BLAKE2B afc88a452565f045b01d262874b3594923f25c18641f41c881344a82522ef86fe6d6e6defddcc117be29438ca02badb20e71a8605433405eb9f6987317ddcdf0 SHA512 19917afbc2e14b8f399e3005823f74df0d5d537b0dc195fc39e19ed8e429b88184409ffd27e8b026cd6baf783cd860ca290e7758bc8a10b6dfcaed16ba1292f3
|
||||
AUX makeresolvedeb_gentoo_1.8.0.patch 6431 BLAKE2B 26e3fd74fa3e2232a652bba8b6ba3f07a51f8963404caed2e987d16d598217ee7e27c660441633831a3d3c186e6857c179a4b0a42048389a37118be6d73f46f3 SHA512 acf064b64d1d5232696ad679ba5c314edac5d8d186db07b090e947aee26a8ef9ab9cbc560bfdda2d836467e4c163c8bb4509303bf2d2f89659f9688c1e39b718
|
||||
AUX makeresolvedeb_gentoo_1.8.1.patch 6431 BLAKE2B 26e3fd74fa3e2232a652bba8b6ba3f07a51f8963404caed2e987d16d598217ee7e27c660441633831a3d3c186e6857c179a4b0a42048389a37118be6d73f46f3 SHA512 acf064b64d1d5232696ad679ba5c314edac5d8d186db07b090e947aee26a8ef9ab9cbc560bfdda2d836467e4c163c8bb4509303bf2d2f89659f9688c1e39b718
|
||||
DIST DaVinci_Resolve_17.4.6_Linux.zip 2340066824 BLAKE2B 6e87a65f6657a8e9bd5cbcecb62b6dd74b45e4a8d6ae0d6e2aca6643d669a8aa49736e21e9826518897adbbf2d7f36d26bec402424158e4cb232560ab0c7ecdf SHA512 5067737e66d355d28aed34a5ff810ce552c6e8f07b9fcf1935cc7b2bfc65054de67e1a53c68560f58a60e3d63078bc47cba2c4257d0afaa3d76bfc50840a1409
|
||||
DIST DaVinci_Resolve_18.1.4_Linux.zip 3185181538 BLAKE2B d27e829c0e740ca9791029f387160592463133418c2ccf5b6bfaf485e7ec2bf45b1e17a5eb51955c067858d987879bc42325c25738ecf4c7b80ddd1701c336ea SHA512 bba889e818051fc22190f671468c48ebe8fe8a802af37ada0314c255510e5e2fc22dc69e409772e79b8e90f259274d298451f3a2df4f3048428f2022d4e8f6c4
|
||||
DIST DaVinci_Resolve_18.5_Linux.zip 2565526748 BLAKE2B daaf338fdfc911a141f88657d66868835cc5028576e67d9b6f27f6dbd5efd10a0d3196440e6838113797e2e84f8a1f92aeb8b9d1e5837dfa542924d2a593cadf SHA512 eed54f8cd4cac06e17117c41bb8dff0185e51b3eb7050cad0a965c2d3dde023f0818c8d423da6bd0f1a2863dbf37095a7e3f127fddc1ba83a3f7bbdc997af13b
|
||||
@@ -10,10 +12,13 @@ DIST DaVinci_Resolve_18.6.6_Linux.zip 2596581675 BLAKE2B d366b57810472811b2706b7
|
||||
DIST DaVinci_Resolve_19.0b4_Linux.zip 2955282171 BLAKE2B 4e40f311789eff324ec107aa2e459af1da8a7a4548d2983935d557f408ba84d14f451bd18a6f1a7e330641a0e5b563328815858a780afd073c51794496284f3e SHA512 c60d830384ae9a085bce8c3b782aab3280a4bdf8b68d10982ad6f0c44ee071ee2a5b41424cf1c527770d9ad36ebf4154e82fb6a915ce9f4cc2c31133a4c7e4a8
|
||||
DIST DaVinci_Resolve_19.1.1_Linux.zip 3034078545 BLAKE2B f2fe3e612d857f21c5bb08d9a717ed8d8d71b35bd870f920fdb50ff06157836a58a74c2c73b92dbea6c2ded87020c2717317a9e33c7286c8a67d19b8307c4246 SHA512 29924f6a57fa5d476ec09bd88a3f037e9b69b98466ee381cf2338b3c61270c48b4de054123bb924bb96bb63a36393de7b520114d435fe4296f9e7e2212104e9d
|
||||
DIST DaVinci_Resolve_19.1.2_Linux.zip 3034084076 BLAKE2B 196cc04a3cab96bc4d0324563bec39b06ff90a024ccf71b6fd158559314c25a6ae153bdcc341c6f1dd4088427bc9ac127f422db495f1a7af85a605461ab2e9ba SHA512 c6b03bfa62adbceeb5fe827f4605e245f18ccb2b01a5cf31ba91a5aeb27aad5a16ad824491335564317cc7f8a7951336e00f074223e4e61401540d4f1b4c8f14
|
||||
DIST DaVinci_Resolve_19.1.4_Linux.zip 3006240320 BLAKE2B f8c0b713031b57b9e6b49ac6c02166e7335dadb0e5780b02d740cca5a2cbdc453aff963e0361c04bc82f4f1ad4474ab8e6d4c9cdefd2107996f023af01e77239 SHA512 d2aebcdd95021f383c9e441d87acffdf75de1f641413146b6796bbe5eb4472c7ca973404060778c580e5fdde402162e1fdbc419958569468c90fe72263714c1a
|
||||
DIST DaVinci_Resolve_20.0b2_Linux.zip 3405164918 BLAKE2B 9a061cd21616a49584d13b5f3cbcc9b11bafbc18783553e7067e3e68c116115ca3c5f9493775274d83572797523a8ec23245093e9fda220de50c34a828077b1f SHA512 9fd02bb4a2133e3ba1f12ac65d2703d9f88c5f0f826b415722e41dcc849701e5a33d639834d85ca8c65c75bcd60ebb30ed74ff57e71378a1da5f06d52292833e
|
||||
DIST makeresolvedeb_1.6.0_multi.sh.tar.gz 4191 BLAKE2B ab2f09f339700ee31e011811152c6b97cc7e172698236efba0c0254cf69966c776dd222302e1da0266423f0af9c54ae426de4f5354d0d4550ae89b354f0a3d7a SHA512 02baae42c1e9d2163660b765ee6556660b337a3dfe25a60ee4bad9331d84700538ff9b339d045dd91cc0d89d1cd805e56437ae3a8d6ddf6502d0be0f0e5bc114
|
||||
DIST makeresolvedeb_1.6.4_multi.sh.tar.gz 4338 BLAKE2B f3bab11a08432e765645e314e1906c677db5b4e321a477856d4bea6439af860c4037314d2f12200a8a227c6a36b940425688d556c312d165a77f04d6c4513cde SHA512 3e11bef55bce1947422b8f204987b5aabb645121f29f416050d73b569cb04105107ffc63a88443e795fca7eca5f022401a6c575ad1ae3311158483d6691398ce
|
||||
DIST makeresolvedeb_1.7.1_multi.sh.tar.gz 4974 BLAKE2B dda1e77d88ec8c9065f4b26bc275f560ea147a3274540ae6ead10be35ce432904d4a4ef8ae69548bc88b44a628060f86cca5508477a100f1809a5f091ef0e137 SHA512 1cfcc1fc9b39dfb0424465453756c9f192d34bdfb046e4bad035bd1b516747bb04d1f2081d18d40da334a893d964e496cfab943f1262344a26926dffaf5f0a2a
|
||||
DIST makeresolvedeb_1.7.3_multi.sh.tar.gz 5045 BLAKE2B 06571f207417c932c357a53ff47121727d1911032b516a2250b3555dc7cda48dfe9698403be052ee2e22f5ee9c6fc3a29fedc4afa0d80899d274b10ad033d0e4 SHA512 e5ddb6ce33d71461da07cccc59a20158b49f9958413b36262210ddb674a5a98548a6850e6e627085f3649056595d37bfdfb8728ded4507fb00a0380399c0724c
|
||||
DIST makeresolvedeb_1.8.1_multi.sh.tar.gz 5174 BLAKE2B 2973cae15082e768dcda5f4c64a45ff7651b3f656f87afa39e3c96d80b789f29ed16ce659c9702d3642651b856f9cd8636509d818fe5c727730b6f694c997bc7 SHA512 4df385416774e22c684f1333714b32c9b6e9f9769e305bc3bc39929931536481a2fee7ead8e8023a3973b150aa91df539c33eee16b9bf6a5a5e955e4ccf1d096
|
||||
EBUILD davinci-resolve-17.4.6.ebuild 2467 BLAKE2B fb9de7cd7a13482dcfe42f8e6823179daf144c72d4b8a8024b5aa5f502288862848dacc52bbe40f565f91c04dc991aaf02d5a0ef95e9ac626847f95ffbb16780 SHA512 dbc71120a6131aac4eeb7ab48a67ec153fb9a38316ce38a581fd99cae7f7479daa08b1afc3a88a208fc7c034b13df87fab0c7b104219f391e74fec2ab39781c7
|
||||
EBUILD davinci-resolve-18.1.4.ebuild 2676 BLAKE2B 9e5d0fe3f172f4ac1a66f669fac95ce2c29803188eecc4b5e21e5044fb2403e48726d82d44440b64447aa7a3165a43984f1a1cc3836618d2aa93f631eb7a5c63 SHA512 04a11cf5f04926bfdf0446dfa0ce6223034d05e9ee8ffb63bbcc3ef37d2db5f50060acfd309c39aab6cebe5fe21c55d9d4f88c5a0d6eb80c1a3ffef812bde508
|
||||
EBUILD davinci-resolve-18.5.ebuild 2704 BLAKE2B 55d5d8f34e7423acc8281aedb15b8210a0cc6246e061f8e4de3f7ecc5e35ccda2fc176fb0b4f4e74c62086108c55d6becf358a1c2db8e771052afb52a9269047 SHA512 b7def9977ed812b485d7dec598df4d673cc08ec1be39b5f488f167d86505fba12fd894170c26890614908ed36d1ae2c30a0a7bbd2091a3552182b538a8592695
|
||||
@@ -22,5 +27,7 @@ EBUILD davinci-resolve-18.6.6.ebuild 2948 BLAKE2B 0a229f5f4b209286a89252ffe01535
|
||||
EBUILD davinci-resolve-19.0_beta4.ebuild 2948 BLAKE2B c55d2e23c0915a80dcd2f7971e98d9153df1a3b9539a56be62c637a15aea75be5655bb229552c94beced4bf388dd2d2ee1076447267a01b1e93ebc611974d3e2 SHA512 04ed8a2f936ad8c8392bebdea34850568ce05e238b735018b3b3f37f5e19409ff338076d7152cee1dcd131b26cfe2937023466bd4dab3d1ac0bd3a6208ba2965
|
||||
EBUILD davinci-resolve-19.1.1.ebuild 2973 BLAKE2B 2cb43ad48fb3cb684f647adf29871590cc73e66bb7152dd999b36cf94787e31203c7941da60e8df8951bd4091148133b5a654a3d64d6df2953381d7a0ed33529 SHA512 b25ffa9f1390ee64f8f3bdbe57c75cce62ea07de888edb25e209869cc5dabe7a6f407785b1816cf5fc72b77b1cb4bddc8ee91dd396b52cccb1ff66993ac6178d
|
||||
EBUILD davinci-resolve-19.1.2.ebuild 2973 BLAKE2B 2cb43ad48fb3cb684f647adf29871590cc73e66bb7152dd999b36cf94787e31203c7941da60e8df8951bd4091148133b5a654a3d64d6df2953381d7a0ed33529 SHA512 b25ffa9f1390ee64f8f3bdbe57c75cce62ea07de888edb25e209869cc5dabe7a6f407785b1816cf5fc72b77b1cb4bddc8ee91dd396b52cccb1ff66993ac6178d
|
||||
EBUILD davinci-resolve-19.1.4.ebuild 2973 BLAKE2B eb155b186dc807634a6a4b4850008e767ba4eef6666e47b72182f195c08908e0f7ce9f7fbbc27390d797d77a3985d60d2c886f8ee09d87c1c10746fc8eff0ad8 SHA512 9bda7b13f97ef550d438ebcb9aa86cfc15551394d0cf2b96b81c101bf29312c1e5dcaf4ed214ed8748651fe273f5076443c2c5758a2fa7bd462e6a3b7d90df15
|
||||
EBUILD davinci-resolve-20.0_beta2.ebuild 2956 BLAKE2B a18c43fa3541493b0774dbfe6a647400e683e745295338685dc6d42827ebb1fd7069ea29068a0baa5d256d2f0cf50355cda8d8471c6ca27f5bb423bf6361396a SHA512 614f04bd0f83937c90443dfd7b5d85e6a9ce39d0fe61134ef6cad4c5faad7892fe55bc5606b897cdb5c790f3c4cd272911ea6a4f5d06c25248cc0f38b3ac4aeb
|
||||
MISC ChangeLog 984 BLAKE2B 6b5afde0d34caa62f7a6e336c651652380e9144d8c3382dcca2ee680b85724d93deca09c903565ccd79987d39ed61c517f1a5e717f37d3b00d24ac95c038edf3 SHA512 8110c143fd18310b7f12b9eb575f5179a574f0941bf1d6978c96ff4887289ecabfc4c3ab5fb4a9125d9b9d5e65d9d430ebc349965b925ba0bd35cf86466badba
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
136
media-video/davinci-resolve/davinci-resolve-19.1.4.ebuild
Normal file
136
media-video/davinci-resolve/davinci-resolve-19.1.4.ebuild
Normal file
@@ -0,0 +1,136 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MAJOR_VER="$(ver_cut 1-3)"
|
||||
#MAJOR_VER="19.0b4"
|
||||
if [[ "${PN}" == "davinci-resolve-studio" ]] ; then
|
||||
BASE_NAME="DaVinci_Resolve_Studio_${MAJOR_VER}_Linux"
|
||||
CONFLICT_PKG="!!media-video/davinci-resolve"
|
||||
else
|
||||
BASE_NAME="DaVinci_Resolve_${MAJOR_VER}_Linux"
|
||||
CONFLICT_PKG="!!media-video/davinci-resolve-studio"
|
||||
fi
|
||||
ARC_NAME="${BASE_NAME}.zip"
|
||||
MRD_VER=1.8.1
|
||||
inherit udev xdg
|
||||
|
||||
DESCRIPTION="Professional A/V post-production software suite"
|
||||
HOMEPAGE="
|
||||
https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion
|
||||
"
|
||||
SRC_URI="${ARC_NAME}
|
||||
https://www.danieltufvesson.com/download/?file=makeresolvedeb/makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
|
||||
|
||||
LICENSE="all-rights-reserved"
|
||||
KEYWORDS="-* ~amd64"
|
||||
SLOT="0"
|
||||
IUSE="doc udev +system-glib"
|
||||
|
||||
RESTRICT="strip mirror bindist fetch userpriv"
|
||||
|
||||
RDEPEND="
|
||||
virtual/glu
|
||||
x11-libs/gtk+:=
|
||||
virtual/libcrypt:=
|
||||
${CONFLICT_PKG}
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
dev-libs/apr-util
|
||||
app-arch/libarchive
|
||||
dev-libs/openssl-compat
|
||||
sys-libs/ncurses-compat
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwebengine:5
|
||||
dev-qt/qtwebsockets:5
|
||||
dev-qt/qtvirtualkeyboard:5
|
||||
media-libs/gstreamer
|
||||
media-libs/libpng
|
||||
sys-fs/fuse[suid]
|
||||
udev? ( virtual/udev )
|
||||
virtual/opencl
|
||||
x11-misc/xdg-user-dirs
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="dev-util/patchelf"
|
||||
|
||||
S="${WORKDIR}"
|
||||
DR="${WORKDIR}/davinci-resolve_${MAJOR_VER}-mrd${MRD_VER}_amd64"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
pkg_nofetch() {
|
||||
einfo "Please download installation file"
|
||||
einfo " - ${ARC_NAME}"
|
||||
einfo "from ${HOMEPAGE} and place it in \$\{DISTDIR\}."
|
||||
einfo "===="
|
||||
einfo "Please download installation file"
|
||||
einfo " - makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
|
||||
einfo "from https://www.danieltufvesson.com/makeresolvedeb and place it in \$\{DISTDIR\}."
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/makeresolvedeb*.sh "${WORKDIR}"/makeresolvedeb.sh
|
||||
eapply -p0 "${FILESDIR}/makeresolvedeb_gentoo_${MRD_VER}.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
sed -i -e "s!#LIBDIR#!$(get_libdir)!" "${WORKDIR}"/makeresolvedeb.sh || die "Sed failed!"
|
||||
}
|
||||
|
||||
_adjust_sandbox() {
|
||||
addwrite /dev
|
||||
addread /dev
|
||||
addpredict /root
|
||||
addpredict /etc
|
||||
addpredict /lib
|
||||
addpredict /usr
|
||||
addpredict /sys
|
||||
addpredict "/var/BlackmagicDesign"
|
||||
addpredict "/var/BlackmagicDesign/DaVinci Resolve"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
_adjust_sandbox
|
||||
cd "${WORKDIR}"
|
||||
chmod u+x ${BASE_NAME}.run
|
||||
CI_TEST="1" "${WORKDIR}"/makeresolvedeb.sh ${BASE_NAME}.run
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cp -a ${DR}/lib "${ED}" || die
|
||||
cp -a ${DR}/opt "${ED}" || die
|
||||
cp -a ${DR}/usr "${ED}" || die
|
||||
cp -a ${DR}/var "${ED}" || die
|
||||
|
||||
if use doc ; then
|
||||
dodoc *.pdf
|
||||
fi
|
||||
|
||||
# See bug 718070 for reason for the next line.
|
||||
if use system-glib ; then
|
||||
rm -f "${ED}"/opt/resolve/libs/libglib-*
|
||||
rm -f "${ED}"/opt/resolve/libs/libgio-2.0.so*
|
||||
rm -f "${ED}"/opt/resolve/libs/libgmodule-2.0.so*
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
udev_reload
|
||||
}
|
||||
|
||||
135
media-video/davinci-resolve/davinci-resolve-20.0_beta2.ebuild
Normal file
135
media-video/davinci-resolve/davinci-resolve-20.0_beta2.ebuild
Normal file
@@ -0,0 +1,135 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# MAJOR_VER="$(ver_cut 1-3)"
|
||||
MAJOR_VER="20.0b2"
|
||||
if [[ "${PN}" == "davinci-resolve-studio" ]] ; then
|
||||
BASE_NAME="DaVinci_Resolve_Studio_${MAJOR_VER}_Linux"
|
||||
CONFLICT_PKG="!!media-video/davinci-resolve"
|
||||
else
|
||||
BASE_NAME="DaVinci_Resolve_${MAJOR_VER}_Linux"
|
||||
CONFLICT_PKG="!!media-video/davinci-resolve-studio"
|
||||
fi
|
||||
ARC_NAME="${BASE_NAME}.zip"
|
||||
MRD_VER=1.8.1
|
||||
inherit udev xdg
|
||||
|
||||
DESCRIPTION="Professional A/V post-production software suite"
|
||||
HOMEPAGE="
|
||||
https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion
|
||||
"
|
||||
SRC_URI="${ARC_NAME}
|
||||
https://www.danieltufvesson.com/download/?file=makeresolvedeb/makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
|
||||
|
||||
LICENSE="all-rights-reserved"
|
||||
KEYWORDS="-* ~amd64"
|
||||
SLOT="0"
|
||||
IUSE="doc udev +system-glib"
|
||||
|
||||
RESTRICT="strip mirror bindist fetch userpriv"
|
||||
|
||||
RDEPEND="
|
||||
virtual/glu
|
||||
x11-libs/gtk+:=
|
||||
virtual/libcrypt:=
|
||||
${CONFLICT_PKG}
|
||||
"
|
||||
|
||||
# dev-qt/qtcore:5
|
||||
# dev-qt/qtsvg:5
|
||||
# dev-qt/qtwebengine:5
|
||||
# dev-qt/qtwebsockets:5
|
||||
# dev-qt/qtvirtualkeyboard:5
|
||||
DEPEND="
|
||||
dev-libs/apr-util
|
||||
app-arch/libarchive
|
||||
dev-libs/openssl-compat
|
||||
media-libs/gstreamer
|
||||
media-libs/libpng
|
||||
sys-fs/fuse[suid]
|
||||
udev? ( virtual/udev )
|
||||
virtual/opencl
|
||||
x11-misc/xdg-user-dirs
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="dev-util/patchelf"
|
||||
|
||||
S="${WORKDIR}"
|
||||
DR="${WORKDIR}/davinci-resolve_${MAJOR_VER}-mrd${MRD_VER}_amd64"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
pkg_nofetch() {
|
||||
einfo "Please download installation file"
|
||||
einfo " - ${ARC_NAME}"
|
||||
einfo "from ${HOMEPAGE} and place it in ${DISTDIR}."
|
||||
einfo "===="
|
||||
einfo "Please download installation file"
|
||||
einfo " - makeresolvedeb_${MRD_VER}_multi.sh.tar.gz"
|
||||
einfo "from https://www.danieltufvesson.com/makeresolvedeb and place it in \$\{DISTDIR\}."
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
mv "${WORKDIR}"/makeresolvedeb*.sh "${WORKDIR}"/makeresolvedeb.sh
|
||||
eapply -p0 "${FILESDIR}/makeresolvedeb_gentoo_${MRD_VER}.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
sed -i -e "s!#LIBDIR#!$(get_libdir)!" "${WORKDIR}"/makeresolvedeb.sh || die "Sed failed!"
|
||||
}
|
||||
|
||||
_adjust_sandbox() {
|
||||
addwrite /dev
|
||||
addread /dev
|
||||
addpredict /root
|
||||
addpredict /etc
|
||||
addpredict /lib
|
||||
addpredict /usr
|
||||
addpredict /sys
|
||||
addpredict "/var/BlackmagicDesign"
|
||||
addpredict "/var/BlackmagicDesign/DaVinci Resolve"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
_adjust_sandbox
|
||||
cd "${WORKDIR}"
|
||||
chmod u+x ${BASE_NAME}.run
|
||||
CI_TEST="1" "${WORKDIR}"/makeresolvedeb.sh ${BASE_NAME}.run
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cp -a ${DR}/lib "${ED}" || die
|
||||
cp -a ${DR}/opt "${ED}" || die
|
||||
cp -a ${DR}/usr "${ED}" || die
|
||||
cp -a ${DR}/var "${ED}" || die
|
||||
|
||||
if use doc ; then
|
||||
dodoc *.pdf
|
||||
fi
|
||||
|
||||
# See bug 718070 for reason for the next line.
|
||||
if use system-glib ; then
|
||||
rm -f "${ED}"/opt/resolve/libs/libglib-*
|
||||
rm -f "${ED}"/opt/resolve/libs/libgio-2.0.so*
|
||||
rm -f "${ED}"/opt/resolve/libs/libgmodule-2.0.so*
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
udev_reload
|
||||
}
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
--- makeresolvedeb_1.8.0_multi.sh 2025-04-05 12:19:25.000000000 +0100
|
||||
+++ makeresolvedeb.sh 2025-04-19 09:31:00.488534091 +0100
|
||||
@@ -67,7 +67,7 @@
|
||||
fi
|
||||
if [[ -e "${1}" ]]; then
|
||||
echo "[ERROR: UNABLE TO REPLACE DIRECTORY] $1"
|
||||
- ERRORS=$((ERRORS+1))
|
||||
+ ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
create_directory "${1}"
|
||||
}
|
||||
@@ -164,8 +164,8 @@
|
||||
copy_object "${UNPACK_DIR}"/libs/libBlackmagicRawAPI.so "${RESOLVE_BASE_DIR}"/bin/
|
||||
|
||||
# Install panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib/
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib/ libDaVinciPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#/
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR#/ libDaVinciPanelAPI.so
|
||||
|
||||
# Add postinst commands
|
||||
cat >> "${DEB_DIR}"/DEBIAN/postinst <<EOF
|
||||
@@ -221,8 +221,8 @@
|
||||
copy_object "${UNPACK_DIR}"/share/default_cm_config.bin "${RESOLVE_BASE_DIR}"/share/
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
|
||||
# BlackmagicRawAPI fixes
|
||||
create_directory "${RESOLVE_BASE_DIR}"/bin/BlackmagicRawAPI/
|
||||
@@ -240,7 +240,7 @@
|
||||
chmod -R a+rw /opt/resolve/Fairlight
|
||||
chmod -R a+rw /var/BlackmagicDesign/"DaVinci Resolve"
|
||||
EOF
|
||||
-
|
||||
+
|
||||
# libcudafix for Resolve 16.0 & 16.1
|
||||
if [[ "$RESOLVE_VERSION" == 16.0* ]] || [[ "$RESOLVE_VERSION" == 16.1* ]];
|
||||
then
|
||||
@@ -284,9 +284,9 @@
|
||||
copy_object "${UNPACK_DIR}"/share/default_cm_config.bin "${RESOLVE_BASE_DIR}"/share/
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# BlackmagicRawAPI fixes for 17.0 & 17.1
|
||||
if [[ "$RESOLVE_VERSION" == 17.0* ]] || [[ "$RESOLVE_VERSION" == 17.1* ]];
|
||||
@@ -344,11 +344,11 @@
|
||||
if [[ -e "${UNPACK_DIR}"/share/remote-monitoring-log-conf.xml ]]; then
|
||||
copy_object "${UNPACK_DIR}"/share/remote-monitoring-log-conf.xml "${RESOLVE_BASE_DIR}"/share/
|
||||
fi
|
||||
-
|
||||
+
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -406,9 +406,9 @@
|
||||
done
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -466,9 +466,9 @@
|
||||
done
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -489,9 +489,9 @@
|
||||
fi
|
||||
if [[ -e "${UNPACK_DIR}"/BlackmagicRAWPlayer ]]; then
|
||||
echo "Adding BlackmagicRAWPlayer"
|
||||
-
|
||||
+
|
||||
copy_object "${UNPACK_DIR}"/BlackmagicRAWPlayer "${RESOLVE_BASE_DIR}"
|
||||
-
|
||||
+
|
||||
assert_object "${DEB_DIR}"/opt/resolve/graphics/blackmagicraw-player_256x256_apps.png
|
||||
assert_object "${DEB_DIR}"/opt/resolve/BlackmagicRAWPlayer/BlackmagicRAWPlayer
|
||||
cat > "${DEB_DIR}"/usr/share/applications/com.blackmagicdesign.rawplayer.desktop <<EOF
|
||||
@@ -510,9 +510,9 @@
|
||||
fi
|
||||
if [[ -e "${UNPACK_DIR}"/BlackmagicRAWSpeedTest ]]; then
|
||||
echo "Adding BlackmagicRAWSpeedTest"
|
||||
-
|
||||
+
|
||||
copy_object "${UNPACK_DIR}"/BlackmagicRAWSpeedTest "${RESOLVE_BASE_DIR}"
|
||||
-
|
||||
+
|
||||
assert_object "${DEB_DIR}"/opt/resolve/graphics/blackmagicraw-speedtest_256x256_apps.png
|
||||
assert_object "${DEB_DIR}"/opt/resolve/BlackmagicRAWSpeedTest/BlackmagicRAWSpeedTest
|
||||
cat > "${DEB_DIR}"/usr/share/applications/com.blackmagicdesign.rawspeedtest.desktop <<EOF
|
||||
@@ -848,8 +848,8 @@
|
||||
|
||||
# Verify that we have the commands we need
|
||||
check_command tar
|
||||
-check_command fakeroot
|
||||
-check_command dpkg-deb
|
||||
+# check_command fakeroot
|
||||
+# check_command dpkg-deb
|
||||
echo
|
||||
|
||||
# Create destination directories
|
||||
@@ -928,7 +928,7 @@
|
||||
then
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
-
|
||||
+
|
||||
# Clean up
|
||||
remove_directory "${UNPACK_DIR}"
|
||||
remove_directory "${DEB_DIR}"
|
||||
@@ -0,0 +1,141 @@
|
||||
--- makeresolvedeb_1.8.0_multi.sh 2025-04-05 12:19:25.000000000 +0100
|
||||
+++ makeresolvedeb.sh 2025-04-19 09:31:00.488534091 +0100
|
||||
@@ -67,7 +67,7 @@
|
||||
fi
|
||||
if [[ -e "${1}" ]]; then
|
||||
echo "[ERROR: UNABLE TO REPLACE DIRECTORY] $1"
|
||||
- ERRORS=$((ERRORS+1))
|
||||
+ ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
create_directory "${1}"
|
||||
}
|
||||
@@ -164,8 +164,8 @@
|
||||
copy_object "${UNPACK_DIR}"/libs/libBlackmagicRawAPI.so "${RESOLVE_BASE_DIR}"/bin/
|
||||
|
||||
# Install panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib/
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib/ libDaVinciPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#/
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR#/ libDaVinciPanelAPI.so
|
||||
|
||||
# Add postinst commands
|
||||
cat >> "${DEB_DIR}"/DEBIAN/postinst <<EOF
|
||||
@@ -221,8 +221,8 @@
|
||||
copy_object "${UNPACK_DIR}"/share/default_cm_config.bin "${RESOLVE_BASE_DIR}"/share/
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
|
||||
# BlackmagicRawAPI fixes
|
||||
create_directory "${RESOLVE_BASE_DIR}"/bin/BlackmagicRawAPI/
|
||||
@@ -240,7 +240,7 @@
|
||||
chmod -R a+rw /opt/resolve/Fairlight
|
||||
chmod -R a+rw /var/BlackmagicDesign/"DaVinci Resolve"
|
||||
EOF
|
||||
-
|
||||
+
|
||||
# libcudafix for Resolve 16.0 & 16.1
|
||||
if [[ "$RESOLVE_VERSION" == 16.0* ]] || [[ "$RESOLVE_VERSION" == 16.1* ]];
|
||||
then
|
||||
@@ -284,9 +284,9 @@
|
||||
copy_object "${UNPACK_DIR}"/share/default_cm_config.bin "${RESOLVE_BASE_DIR}"/share/
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# BlackmagicRawAPI fixes for 17.0 & 17.1
|
||||
if [[ "$RESOLVE_VERSION" == 17.0* ]] || [[ "$RESOLVE_VERSION" == 17.1* ]];
|
||||
@@ -344,11 +344,11 @@
|
||||
if [[ -e "${UNPACK_DIR}"/share/remote-monitoring-log-conf.xml ]]; then
|
||||
copy_object "${UNPACK_DIR}"/share/remote-monitoring-log-conf.xml "${RESOLVE_BASE_DIR}"/share/
|
||||
fi
|
||||
-
|
||||
+
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -406,9 +406,9 @@
|
||||
done
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -466,9 +466,9 @@
|
||||
done
|
||||
|
||||
# Extract panel API library
|
||||
- create_directory "${DEB_DIR}"/usr/lib
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libDaVinciPanelAPI.so
|
||||
- extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/lib libFairlightPanelAPI.so
|
||||
+ create_directory "${DEB_DIR}"/usr/#LIBDIR#
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libDaVinciPanelAPI.so
|
||||
+ extract_tgz "${UNPACK_DIR}"/share/panels/dvpanel-framework-linux-x86_64.tgz "${DEB_DIR}"/usr/#LIBDIR# libFairlightPanelAPI.so
|
||||
|
||||
# Create common data dir
|
||||
create_directory "${DEB_DIR}"/var/BlackmagicDesign/DaVinci\ Resolve
|
||||
@@ -489,9 +489,9 @@
|
||||
fi
|
||||
if [[ -e "${UNPACK_DIR}"/BlackmagicRAWPlayer ]]; then
|
||||
echo "Adding BlackmagicRAWPlayer"
|
||||
-
|
||||
+
|
||||
copy_object "${UNPACK_DIR}"/BlackmagicRAWPlayer "${RESOLVE_BASE_DIR}"
|
||||
-
|
||||
+
|
||||
assert_object "${DEB_DIR}"/opt/resolve/graphics/blackmagicraw-player_256x256_apps.png
|
||||
assert_object "${DEB_DIR}"/opt/resolve/BlackmagicRAWPlayer/BlackmagicRAWPlayer
|
||||
cat > "${DEB_DIR}"/usr/share/applications/com.blackmagicdesign.rawplayer.desktop <<EOF
|
||||
@@ -510,9 +510,9 @@
|
||||
fi
|
||||
if [[ -e "${UNPACK_DIR}"/BlackmagicRAWSpeedTest ]]; then
|
||||
echo "Adding BlackmagicRAWSpeedTest"
|
||||
-
|
||||
+
|
||||
copy_object "${UNPACK_DIR}"/BlackmagicRAWSpeedTest "${RESOLVE_BASE_DIR}"
|
||||
-
|
||||
+
|
||||
assert_object "${DEB_DIR}"/opt/resolve/graphics/blackmagicraw-speedtest_256x256_apps.png
|
||||
assert_object "${DEB_DIR}"/opt/resolve/BlackmagicRAWSpeedTest/BlackmagicRAWSpeedTest
|
||||
cat > "${DEB_DIR}"/usr/share/applications/com.blackmagicdesign.rawspeedtest.desktop <<EOF
|
||||
@@ -848,8 +848,8 @@
|
||||
|
||||
# Verify that we have the commands we need
|
||||
check_command tar
|
||||
-check_command fakeroot
|
||||
-check_command dpkg-deb
|
||||
+# check_command fakeroot
|
||||
+# check_command dpkg-deb
|
||||
echo
|
||||
|
||||
# Create destination directories
|
||||
@@ -928,7 +928,7 @@
|
||||
then
|
||||
ERRORS=$((ERRORS+1))
|
||||
fi
|
||||
-
|
||||
+
|
||||
# Clean up
|
||||
remove_directory "${UNPACK_DIR}"
|
||||
remove_directory "${DEB_DIR}"
|
||||
@@ -1,10 +0,0 @@
|
||||
AUX skypeforlinux.sh 648 BLAKE2B a4f64e21dff7db50bb2d9a774dd1265f9bcfeee75f63b34295f621dcaa1a6a36fa9852bf5137e0986bc9ddd064ee6586e83a2793cfcda0a266fff0be44f81d5e SHA512 e320df17eb89d6a4a748b56b70576d7904fa9b4c999bf26263aef3bd8ac536cd5db318c14ccd9981d2aa0ec15dd73f4b3f56b9317abae54264475a2eb6901eb2
|
||||
AUX skypeforlinux.svg 4771 BLAKE2B 21b00b4722d0c25ef7f0d02ad2898f9551ec36eee9f01d460904d60381832f3422674d8ec05d469ad29e8ea5e42757d2724544a757e6d47cea62f1ffef566b17 SHA512 6f6d2cb70ed115baf5465ef8ad4b5e5df5c35bb598e79f1457b6d304015e67f83d30e37094c542854f9bdeb5333cad287bd3e1dd14e839e702ab4e3b8b118559
|
||||
DIST skypeforlinux-8.119.0.201_p348.snap 185835520 BLAKE2B e6576a93228ff5db1e745a90e2c1554d7cd0e2b5394f83ff73dcb64ad5b5ac296dcf8f1ee780bc41473bb28210c1096286fececad1550815042aec0e5d97870e SHA512 b076cb9a917ee6a68a4d402b1dc7aabfdd4d2713697e5404da88cef6c7a940185769c9faea196e0bb7066fbb68427b5e60a52cc74d13058b3652093f0644f4b8
|
||||
DIST skypeforlinux-8.120.76.101_p349.snap 185786368 BLAKE2B 9304701021f496b59e193bd24c59a7a3b3bcbcf05e656f64147f01022059b5ff0d6de0f83e27db486c96af574f2113988d44cfd744018d19d6e8a30995d728da SHA512 6365baa82ca9a2f45dd638e4c0aabd2b48744220560a8f9388fb2a63e8111ba62a199e81228ff83d98077551e3545256745a0fe6632cb419e03c364fdb144515
|
||||
DIST skypeforlinux-8.134.0.202_p378.snap 190337024 BLAKE2B 92e14d5a7e7f244e84e69e21cb518e1fc8b5ff42ea406c7a5b00308a358dc08fa4e95dbda155824e49f94d4a5d29bbd37bc4b473e200cd97bc7f10b1e9e619a7 SHA512 009da43e2b620dc9e927026d44ed1873cca915dad5105002c02b76849335eb7a0a2ac404a9dca151d1018a04f8dc7ac53d6ef84fc9117284db46e3cb386c3415
|
||||
DIST skypeforlinux-8.134.0.203_p382.snap 189882368 BLAKE2B 91bcaa1457a58e98a46f019c25a5b0208eaa9d1777311608d109464d40afc2e85d6a2ac2b4ee4918773a52c49e833d8d7d881b434e3c83ae60b445df6a1d2181 SHA512 cc486075efd474de6b9bcebabaa3c0a2e1eb7b10c2fefc6ab85c9fa796cbb560d45a11a1cd31d0968f8c9e489c8eed48698de3195878bb97d166b836e3ff4f07
|
||||
EBUILD skypeforlinux-8.119.0.201_p348.ebuild 2722 BLAKE2B d39118a3fef5c3e0b120a4855c194ba156294f5ae61258271b83b23e0de9d115bb7e8b816358cec1e9a3725ed412e22cd96c8fce5179224d8f694223546bb6b4 SHA512 25ba9674b269b5f8ad1de4dd5297b38cb30e53cde1ad6c58a5bcfbbf44ef367ff93d61b4b62fea3d7325bc4f1920b81d3482128d9c93ad2db78d5fbe9aaccd61
|
||||
EBUILD skypeforlinux-8.120.76.101_p349.ebuild 2722 BLAKE2B d39118a3fef5c3e0b120a4855c194ba156294f5ae61258271b83b23e0de9d115bb7e8b816358cec1e9a3725ed412e22cd96c8fce5179224d8f694223546bb6b4 SHA512 25ba9674b269b5f8ad1de4dd5297b38cb30e53cde1ad6c58a5bcfbbf44ef367ff93d61b4b62fea3d7325bc4f1920b81d3482128d9c93ad2db78d5fbe9aaccd61
|
||||
EBUILD skypeforlinux-8.134.0.202_p378.ebuild 2722 BLAKE2B d39118a3fef5c3e0b120a4855c194ba156294f5ae61258271b83b23e0de9d115bb7e8b816358cec1e9a3725ed412e22cd96c8fce5179224d8f694223546bb6b4 SHA512 25ba9674b269b5f8ad1de4dd5297b38cb30e53cde1ad6c58a5bcfbbf44ef367ff93d61b4b62fea3d7325bc4f1920b81d3482128d9c93ad2db78d5fbe9aaccd61
|
||||
EBUILD skypeforlinux-8.134.0.203_p382.ebuild 2722 BLAKE2B d39118a3fef5c3e0b120a4855c194ba156294f5ae61258271b83b23e0de9d115bb7e8b816358cec1e9a3725ed412e22cd96c8fce5179224d8f694223546bb6b4 SHA512 25ba9674b269b5f8ad1de4dd5297b38cb30e53cde1ad6c58a5bcfbbf44ef367ff93d61b4b62fea3d7325bc4f1920b81d3482128d9c93ad2db78d5fbe9aaccd61
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Allow the user to override command-line flags, bug #357629.
|
||||
# This is based on Debian's chromium-browser package, and is intended
|
||||
# to be consistent with Debian.
|
||||
for f in /etc/chromium/*; do
|
||||
[[ -f ${f} ]] && source "${f}"
|
||||
done
|
||||
|
||||
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
|
||||
# default CHROMIUM_FLAGS (from /etc/chromium/default).
|
||||
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
|
||||
|
||||
# Let the wrapped binary know that it has been run through the wrapper.
|
||||
export CHROME_WRAPPER="$(readlink -f "$0")"
|
||||
|
||||
HERE="$(dirname "$CHROME_WRAPPER")"
|
||||
|
||||
exec -a "skypeforlinux" "$HERE/skypeforlinux" ${CHROMIUM_FLAGS} "$@"
|
||||
@@ -1,35 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="1000" width="990.833313">
|
||||
<defs>
|
||||
<linearGradient id="a" x1="8.392999649" y1="1.105999947" x2="11.125" y2="18.35400009" gradientUnits="userSpaceOnUse">
|
||||
<stop offset=".012" stop-color="#00b7f0" />
|
||||
<stop offset=".339" stop-color="#009de5" />
|
||||
<stop offset=".755" stop-color="#0082d9" />
|
||||
<stop offset="1" stop-color="#0078d4" />
|
||||
</linearGradient>
|
||||
<linearGradient id="b" x1="14.37899971" y1="26.64500046" x2="29.54599953" y2="17.88899994" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#0078d4" />
|
||||
<stop offset=".37" stop-color="#007ad5" />
|
||||
<stop offset=".573" stop-color="#0082d9" />
|
||||
<stop offset=".735" stop-color="#0090df" />
|
||||
<stop offset=".875" stop-color="#00a3e7" />
|
||||
<stop offset="1" stop-color="#00bcf2" />
|
||||
</linearGradient>
|
||||
<linearGradient id="c" x1="10.44999981" y1="6.68900013" x2="24.29100037" y2="30.66200066" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#00b7f0" />
|
||||
<stop offset="1" stop-color="#007cc1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g transform="translate(-381.7262001,-337.1428572)">
|
||||
<path d="m 18.51799965,9.729999542 a 8.758999825,8.729999542 0 0 1 -8.758999825,8.729999538 8.758999825,8.729999542 0 0 1 -8.758999825,-8.729999538 8.758999825,8.729999542 0 0 1 8.758999825,-8.729999542 8.758999825,8.729999542 0 0 1 8.758999825,8.729999542" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" style="fill:url(#a)" />
|
||||
<path d="m 30.72499943,22.2670002 a 8.762000084,8.732999802 0 0 1 -8.76200009,8.7329998 8.762000084,8.732999802 0 0 1 -8.76200008,-8.7329998 8.762000084,8.732999802 0 0 1 8.76200008,-8.7329998 8.762000084,8.732999802 0 0 1 8.76200009,8.7329998" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" style="fill:url(#b)" />
|
||||
<path d="m 1.032,10.477 a 8.758,8.758 0 1 0 9.817,-9.41 15.915,15.915 0 0 0 -9.817,9.41 z" fill-rule="evenodd" opacity=".05" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 30.702,21.64 a 8.761,8.761 0 1 0 -9.533,9.324 15.915,15.915 0 0 0 9.533,-9.325 z" fill-rule="evenodd" opacity=".05" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 1.442,12.473 a 8.755,8.755 0 1 0 11.398,-10.917 14.893,14.893 0 0 0 -11.398,10.917 z" fill-rule="evenodd" opacity=".1" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 30.304,19.588 a 8.758,8.758 0 1 0 -11.192,10.939 14.893,14.893 0 0 0 11.192,-10.939 z" fill-rule="evenodd" opacity=".1" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 1.764,13.301 a 8.753,8.753 0 1 0 11.894,-11.39 14.387,14.387 0 0 0 -11.894,11.39 z" fill-rule="evenodd" opacity=".1" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 29.981,18.743 a 8.756,8.756 0 1 0 -11.713,11.444 14.386,14.386 0 0 0 11.713,-11.444 z" fill-rule="evenodd" opacity=".1" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
<path d="m 29.73700047,16.06500053 a 13.87300014,13.82699966 0 0 1 -13.87300015,13.82699967 13.87300014,13.82699966 0 0 1 -13.873000145,-13.82699967 13.87300014,13.82699966 0 0 1 13.873000145,-13.82699966 13.87300014,13.82699966 0 0 1 13.87300015,13.82699966" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" style="fill:url(#c)" />
|
||||
<path d="m 11.963,15.585 a 4.358,4.358 0 0 1 -1.367,-1.442 3.986,3.986 0 0 1 -0.468,-1.993 3.582,3.582 0 0 1 0.844,-2.412 5.08,5.08 0 0 1 2.2,-1.47 8.495,8.495 0 0 1 2.88,-0.485 11.184,11.184 0 0 1 1.916,0.147 6.918,6.918 0 0 1 1.329,0.343 2.576,2.576 0 0 1 1.04,0.664 1.344,1.344 0 0 1 0.321,0.893 1.294,1.294 0 0 1 -0.338,0.931 1.124,1.124 0 0 1 -0.849,0.354 1.529,1.529 0 0 1 -0.631,-0.142 11.434,11.434 0 0 0 -1.503,-0.55 5.455,5.455 0 0 0 -1.448,-0.18 3.305,3.305 0 0 0 -1.814,0.464 1.509,1.509 0 0 0 -0.724,1.355 1.363,1.363 0 0 0 0.376,0.953 3.426,3.426 0 0 0 1.013,0.725 q 0.637,0.316 1.9,0.838 a 1.97,1.97 0 0 1 0.272,0.109 13.497,13.497 0 0 1 2.352,1.209 4.742,4.742 0 0 1 1.448,1.486 3.92,3.92 0 0 1 0.523,2.064 4.151,4.151 0 0 1 -0.724,2.488 4.304,4.304 0 0 1 -2.025,1.503 8.537,8.537 0 0 1 -3.044,0.496 9.59,9.59 0 0 1 -4.149,-0.785 2.258,2.258 0 0 1 -0.854,-0.664 1.493,1.493 0 0 1 -0.278,-0.904 1.181,1.181 0 0 1 0.365,-0.92 1.345,1.345 0 0 1 0.941,-0.332 2.407,2.407 0 0 1 1.1,0.283 q 0.632,0.316 0.997,0.474 a 5.008,5.008 0 0 0 0.86,0.272 4.92,4.92 0 0 0 1.105,0.114 2.95,2.95 0 0 0 1.857,-0.495 1.635,1.635 0 0 0 0.626,-1.356 1.44,1.44 0 0 0 -0.392,-0.99 4.167,4.167 0 0 0 -1.154,-0.84 q -0.763,-0.402 -2.146,-0.98 a 13.291,13.291 0 0 1 -2.357,-1.225" fill="#fff" fill-rule="evenodd" transform="matrix(33.33333333,0,0,33.33333333,348.3928668,303.8095239)" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.7 KiB |
@@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg multilib-build
|
||||
|
||||
DESCRIPTION="Skype extracted from snap package without using snap crap."
|
||||
HOMEPAGE="https://snapcraft.io/skype"
|
||||
# fetch snap dl url from:
|
||||
# curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/skype | jq
|
||||
# "url": "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_333.snap"
|
||||
# },
|
||||
# "revision": 333, => patch level (_p)
|
||||
# "version": "8.114.0.214" => version
|
||||
SRC_URI="https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${PV/#*_p/}.snap -> ${P}.snap"
|
||||
|
||||
S="${WORKDIR}/squashfs-root/usr/share/${PN}/"
|
||||
|
||||
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="system-ffmpeg system-mesa"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
BDEPEND="sys-fs/squashfs-tools[lzo]"
|
||||
DEPEND="
|
||||
app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
|
||||
dev-libs/nspr[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss[${MULTILIB_USEDEP}]
|
||||
media-libs/alsa-lib[${MULTILIB_USEDEP}]
|
||||
media-libs/freetype:2[${MULTILIB_USEDEP}]
|
||||
media-gfx/graphite2[${MULTILIB_USEDEP}]
|
||||
net-print/cups[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/pango[${MULTILIB_USEDEP}]
|
||||
system-ffmpeg? ( >=media-video/ffmpeg-6[chromium] )
|
||||
system-mesa? ( media-libs/mesa[vulkan] )
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
unsquashfs "${DISTDIR}"/${P}.snap
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt/${PN}
|
||||
cp -a . "${ED}"/opt/${PN} || die
|
||||
|
||||
if use system-ffmpeg; then
|
||||
rm "${ED}/opt/${PN}/libffmpeg.so" || die
|
||||
dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "opt/${PN}/libffmpeg.so" || die
|
||||
elog "Using system ffmpeg. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
if use system-mesa; then
|
||||
rm "${ED}/opt/${PN}/libEGL.so" || die
|
||||
rm "${ED}/opt/${PN}/libGLESv2.so" || die
|
||||
rm "${ED}/opt/${PN}/libvulkan.so.1" || die
|
||||
rm "${ED}/opt/${PN}/libvk_swiftshader.so" || die
|
||||
rm "${ED}/opt/${PN}/vk_swiftshader_icd.json" || die
|
||||
elog "Using system mesa. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
# install wrapper reading /etc/chromium/* for CHROME_FLAGS
|
||||
exeinto /opt/${PN}
|
||||
doexe "${FILESDIR}/${PN}.sh"
|
||||
|
||||
# remove chrome-sandbox binary, users should use kernel namespaces
|
||||
# https://bugs.gentoo.org/692692#c18
|
||||
rm "${ED}"/opt/${PN}/chrome-sandbox || die
|
||||
|
||||
dosym ../../opt/${PN}/${PN}.sh /usr/bin/${PN}
|
||||
|
||||
newicon -s scalable "${FILESDIR}/${PN}.svg" ${PN}.svg
|
||||
make_desktop_entry "${EPREFIX}"/opt/${PN}/${PN}.sh "Skype" \
|
||||
${PN} "Network;Chat;InstantMessaging;" \
|
||||
"MimeType=x-scheme-handler/skype;"
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg multilib-build
|
||||
|
||||
DESCRIPTION="Skype extracted from snap package without using snap crap."
|
||||
HOMEPAGE="https://snapcraft.io/skype"
|
||||
# fetch snap dl url from:
|
||||
# curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/skype | jq
|
||||
# "url": "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_333.snap"
|
||||
# },
|
||||
# "revision": 333, => patch level (_p)
|
||||
# "version": "8.114.0.214" => version
|
||||
SRC_URI="https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${PV/#*_p/}.snap -> ${P}.snap"
|
||||
|
||||
S="${WORKDIR}/squashfs-root/usr/share/${PN}/"
|
||||
|
||||
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="system-ffmpeg system-mesa"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
BDEPEND="sys-fs/squashfs-tools[lzo]"
|
||||
DEPEND="
|
||||
app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
|
||||
dev-libs/nspr[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss[${MULTILIB_USEDEP}]
|
||||
media-libs/alsa-lib[${MULTILIB_USEDEP}]
|
||||
media-libs/freetype:2[${MULTILIB_USEDEP}]
|
||||
media-gfx/graphite2[${MULTILIB_USEDEP}]
|
||||
net-print/cups[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/pango[${MULTILIB_USEDEP}]
|
||||
system-ffmpeg? ( >=media-video/ffmpeg-6[chromium] )
|
||||
system-mesa? ( media-libs/mesa[vulkan] )
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
unsquashfs "${DISTDIR}"/${P}.snap
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt/${PN}
|
||||
cp -a . "${ED}"/opt/${PN} || die
|
||||
|
||||
if use system-ffmpeg; then
|
||||
rm "${ED}/opt/${PN}/libffmpeg.so" || die
|
||||
dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "opt/${PN}/libffmpeg.so" || die
|
||||
elog "Using system ffmpeg. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
if use system-mesa; then
|
||||
rm "${ED}/opt/${PN}/libEGL.so" || die
|
||||
rm "${ED}/opt/${PN}/libGLESv2.so" || die
|
||||
rm "${ED}/opt/${PN}/libvulkan.so.1" || die
|
||||
rm "${ED}/opt/${PN}/libvk_swiftshader.so" || die
|
||||
rm "${ED}/opt/${PN}/vk_swiftshader_icd.json" || die
|
||||
elog "Using system mesa. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
# install wrapper reading /etc/chromium/* for CHROME_FLAGS
|
||||
exeinto /opt/${PN}
|
||||
doexe "${FILESDIR}/${PN}.sh"
|
||||
|
||||
# remove chrome-sandbox binary, users should use kernel namespaces
|
||||
# https://bugs.gentoo.org/692692#c18
|
||||
rm "${ED}"/opt/${PN}/chrome-sandbox || die
|
||||
|
||||
dosym ../../opt/${PN}/${PN}.sh /usr/bin/${PN}
|
||||
|
||||
newicon -s scalable "${FILESDIR}/${PN}.svg" ${PN}.svg
|
||||
make_desktop_entry "${EPREFIX}"/opt/${PN}/${PN}.sh "Skype" \
|
||||
${PN} "Network;Chat;InstantMessaging;" \
|
||||
"MimeType=x-scheme-handler/skype;"
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg multilib-build
|
||||
|
||||
DESCRIPTION="Skype extracted from snap package without using snap crap."
|
||||
HOMEPAGE="https://snapcraft.io/skype"
|
||||
# fetch snap dl url from:
|
||||
# curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/skype | jq
|
||||
# "url": "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_333.snap"
|
||||
# },
|
||||
# "revision": 333, => patch level (_p)
|
||||
# "version": "8.114.0.214" => version
|
||||
SRC_URI="https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${PV/#*_p/}.snap -> ${P}.snap"
|
||||
|
||||
S="${WORKDIR}/squashfs-root/usr/share/${PN}/"
|
||||
|
||||
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="system-ffmpeg system-mesa"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
BDEPEND="sys-fs/squashfs-tools[lzo]"
|
||||
DEPEND="
|
||||
app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
|
||||
dev-libs/nspr[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss[${MULTILIB_USEDEP}]
|
||||
media-libs/alsa-lib[${MULTILIB_USEDEP}]
|
||||
media-libs/freetype:2[${MULTILIB_USEDEP}]
|
||||
media-gfx/graphite2[${MULTILIB_USEDEP}]
|
||||
net-print/cups[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/pango[${MULTILIB_USEDEP}]
|
||||
system-ffmpeg? ( >=media-video/ffmpeg-6[chromium] )
|
||||
system-mesa? ( media-libs/mesa[vulkan] )
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
unsquashfs "${DISTDIR}"/${P}.snap
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt/${PN}
|
||||
cp -a . "${ED}"/opt/${PN} || die
|
||||
|
||||
if use system-ffmpeg; then
|
||||
rm "${ED}/opt/${PN}/libffmpeg.so" || die
|
||||
dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "opt/${PN}/libffmpeg.so" || die
|
||||
elog "Using system ffmpeg. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
if use system-mesa; then
|
||||
rm "${ED}/opt/${PN}/libEGL.so" || die
|
||||
rm "${ED}/opt/${PN}/libGLESv2.so" || die
|
||||
rm "${ED}/opt/${PN}/libvulkan.so.1" || die
|
||||
rm "${ED}/opt/${PN}/libvk_swiftshader.so" || die
|
||||
rm "${ED}/opt/${PN}/vk_swiftshader_icd.json" || die
|
||||
elog "Using system mesa. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
# install wrapper reading /etc/chromium/* for CHROME_FLAGS
|
||||
exeinto /opt/${PN}
|
||||
doexe "${FILESDIR}/${PN}.sh"
|
||||
|
||||
# remove chrome-sandbox binary, users should use kernel namespaces
|
||||
# https://bugs.gentoo.org/692692#c18
|
||||
rm "${ED}"/opt/${PN}/chrome-sandbox || die
|
||||
|
||||
dosym ../../opt/${PN}/${PN}.sh /usr/bin/${PN}
|
||||
|
||||
newicon -s scalable "${FILESDIR}/${PN}.svg" ${PN}.svg
|
||||
make_desktop_entry "${EPREFIX}"/opt/${PN}/${PN}.sh "Skype" \
|
||||
${PN} "Network;Chat;InstantMessaging;" \
|
||||
"MimeType=x-scheme-handler/skype;"
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit desktop xdg multilib-build
|
||||
|
||||
DESCRIPTION="Skype extracted from snap package without using snap crap."
|
||||
HOMEPAGE="https://snapcraft.io/skype"
|
||||
# fetch snap dl url from:
|
||||
# curl -H 'Snap-Device-Series: 16' http://api.snapcraft.io/v2/snaps/info/skype | jq
|
||||
# "url": "https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_333.snap"
|
||||
# },
|
||||
# "revision": 333, => patch level (_p)
|
||||
# "version": "8.114.0.214" => version
|
||||
SRC_URI="https://api.snapcraft.io/api/v1/snaps/download/QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV_${PV/#*_p/}.snap -> ${P}.snap"
|
||||
|
||||
S="${WORKDIR}/squashfs-root/usr/share/${PN}/"
|
||||
|
||||
LICENSE="Skype-TOS MIT MIT-with-advertising BSD-1 BSD-2 BSD Apache-2.0 Boost-1.0 ISC CC-BY-SA-3.0 CC0-1.0 openssl ZLIB APSL-2 icu Artistic-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="system-ffmpeg system-mesa"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
BDEPEND="sys-fs/squashfs-tools[lzo]"
|
||||
DEPEND="
|
||||
app-accessibility/at-spi2-core:2[${MULTILIB_USEDEP}]
|
||||
dev-libs/nspr[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss[${MULTILIB_USEDEP}]
|
||||
media-libs/alsa-lib[${MULTILIB_USEDEP}]
|
||||
media-libs/freetype:2[${MULTILIB_USEDEP}]
|
||||
media-gfx/graphite2[${MULTILIB_USEDEP}]
|
||||
net-print/cups[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
x11-libs/libX11[${MULTILIB_USEDEP}]
|
||||
x11-libs/pango[${MULTILIB_USEDEP}]
|
||||
system-ffmpeg? ( >=media-video/ffmpeg-6[chromium] )
|
||||
system-mesa? ( media-libs/mesa[vulkan] )
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
unsquashfs "${DISTDIR}"/${P}.snap
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /opt/${PN}
|
||||
cp -a . "${ED}"/opt/${PN} || die
|
||||
|
||||
if use system-ffmpeg; then
|
||||
rm "${ED}/opt/${PN}/libffmpeg.so" || die
|
||||
dosym "../../usr/$(get_libdir)/chromium/libffmpeg.so" "opt/${PN}/libffmpeg.so" || die
|
||||
elog "Using system ffmpeg. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
if use system-mesa; then
|
||||
rm "${ED}/opt/${PN}/libEGL.so" || die
|
||||
rm "${ED}/opt/${PN}/libGLESv2.so" || die
|
||||
rm "${ED}/opt/${PN}/libvulkan.so.1" || die
|
||||
rm "${ED}/opt/${PN}/libvk_swiftshader.so" || die
|
||||
rm "${ED}/opt/${PN}/vk_swiftshader_icd.json" || die
|
||||
elog "Using system mesa. This is experimental and may lead to crashes."
|
||||
fi
|
||||
|
||||
# install wrapper reading /etc/chromium/* for CHROME_FLAGS
|
||||
exeinto /opt/${PN}
|
||||
doexe "${FILESDIR}/${PN}.sh"
|
||||
|
||||
# remove chrome-sandbox binary, users should use kernel namespaces
|
||||
# https://bugs.gentoo.org/692692#c18
|
||||
rm "${ED}"/opt/${PN}/chrome-sandbox || die
|
||||
|
||||
dosym ../../opt/${PN}/${PN}.sh /usr/bin/${PN}
|
||||
|
||||
newicon -s scalable "${FILESDIR}/${PN}.svg" ${PN}.svg
|
||||
make_desktop_entry "${EPREFIX}"/opt/${PN}/${PN}.sh "Skype" \
|
||||
${PN} "Network;Chat;InstantMessaging;" \
|
||||
"MimeType=x-scheme-handler/skype;"
|
||||
}
|
||||
@@ -4,5 +4,5 @@ AUX chrome-remote-desktop.rc 1183 BLAKE2B d1d56ac91a2ced2c6f13019f9d5c7f1d554c2f
|
||||
DIST chrome-remote-desktop_110.0.5481.14_amd64.deb 17742536 BLAKE2B 3a010b73f786e013aa4bf358811ab306e87681860c1db12b5e915c80b653da0a7e190ff36c78c91fa7a68a8873c7f66a23bb6bdb98630fd881b30c33f12559f7 SHA512 66a374f04664c26e15c5c42b2dbd942dd9cdbc23127733f2f1c136deff868509db80c17028b5f9cae48a460b22443f39af337313dfd865705134737d72372600
|
||||
DIST chrome-remote-desktop_118.0.5993.9_amd64.deb 17677480 BLAKE2B 1f29d8a8d90f12515afbea857e5f4b7ec0ca56a3051e14e7f67c38c906d743c74ca274a00342a8a9745effeb0023a7e88615c886dcbdcbe68bbcafe317b8902d SHA512 ffa0fb28cb7842a13df3228b5ca6e83c2e9d3967c5013b3613cefec7f86f56e6df069f33e65c3a979ce15d971906cb4488b90a4dffc4b95cd5d65346b4a08f87
|
||||
EBUILD chrome-remote-desktop-110.0.5481.14.ebuild 4808 BLAKE2B 99e6d5789bf9b1e3d9204580f1337d21c86a245766b0fc45898dce1e4770e408acf50cc8a4d4d11500b50c496dcb312ca6099729c685cf01b950819b71149884 SHA512 71b2d4f96ea426ae59547a708bec5fa76c0344daf23fa2d26a375c40159fdd73c95d065485e972be607f1dd598fd29114d102ca828d96b984b3da02ba059f702
|
||||
EBUILD chrome-remote-desktop-118.0.5993.9.ebuild 4852 BLAKE2B 2441593dd7a8416acf33cdcc6e954e16498eb8f094325b4820d1688e3fac385aea376db6ea7caa1a3fd902819adf1a67b5f39a21d163da73c007f451d1632b6f SHA512 fa3689bfbd73bfbd657e890aa18df43dff7388ca5ce7e65ee97d21e0f5596a9cef093d7b1884bde72b7c29814e33ef34d6a2eb39d3823e8081784ad4d827a8d4
|
||||
EBUILD chrome-remote-desktop-118.0.5993.9.ebuild 4851 BLAKE2B b94a132a7fe3f0cee06946d52f1a91d44c7ea08e33057617abe3002ab64c57da73e38064369b652b65476d081e1eacd797a9bf826baa78dee619286ffcface6d SHA512 2253f642f2bbf3a72c660de29f8a2daec3b5d18099417eb6b6b7f8ac50d46ff19623aa8b0138bf4d7a2123f0bb1afc27e04ad14dcf55d04919ba82ee35a546b8
|
||||
MISC metadata.xml 248 BLAKE2B 2545c58c45b8fd57a236bab059e0bd3da47a3e0d3881d141a9b2dc2e275a2d8f0663d83366b45103b48fd257d62a4a2314a8dd6b79113f8b86c91a90524918c5 SHA512 1397e06cb2ad5941988872f37df6f54100aaa06bfc7ef30ba394f95191ddaa1e9f2180d8eb856eb10f9646d9cbc4a6f020805470633c492519e66e3de788439a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Base URL: https://dl.google.com/linux/chrome-remote-desktop/deb/
|
||||
@@ -13,9 +13,9 @@
|
||||
# Use curl to find the answer:
|
||||
# curl -q https://dl.google.com/linux/chrome-remote-desktop/deb/dists/stable/main/binary-amd64/Packages | grep ^Filename
|
||||
|
||||
EAPI="7"
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..12} )
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
PLOCALES="am ar bg bn ca cs da de el en_GB en es_419 es et fa fil fi 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 vi zh_CN zh_TW"
|
||||
|
||||
inherit unpacker python-single-r1 optfeature plocale
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
DIST RASClient-20.0.25390_x86_64.tar.bz2 33146232 BLAKE2B 008aabeb55e42ae07a640990c705bfb9e7cb84804e417443df9a6aaf2872c1d35bf80dac90ffd470b698ff48a8163c67013eaabf1de5cb15a29750d70065acad SHA512 2d8ded4c97e1f6a51b93d215b954e0d45fec13e084ff6d20776e047b9d04580bf97fc500c5cc513ce8c0fd613177055fce2cb3862c575a8082a8b1e042ae63e7
|
||||
DIST RASClient-sso-20.0.25390_x86_64.tar.bz2 9302 BLAKE2B 56cc7d7316be20bc118d38a7a1642980cc45fc9d4a53acd52c7e8a8e5c3be03467343494e6bab7d7b4a9b74aa89c6483ea34302ebb0c88aaa8fc04f961dc5f16 SHA512 bccd9e11c2b674f47809f33ed22d803c9d70164892e419df09a6d2411c67468a3f022c922f810d33516de39098fe0ac2c5c8439b54bc70c026c08ec27f1c99ef
|
||||
EBUILD rasclient-20.0.0.25390.ebuild 2002 BLAKE2B 83a3c776dd6bc7e24a351a4a0805b16c1d140996b03ccdd895d732b65e34a2f56e92746f8334d1497e7cf582b043a21325fb3b1b5adb09c9fc78432f408ee102 SHA512 c795faab8d827f210fbd3aa314fd08f8689ffed7f1c7033a66294dd366bc497ac3cedfee56bede47cd261805bcae9ba6391ebadbe9259996a85f117862790fb8
|
||||
DIST RASClient-20.2.25889_x86_64.tar.bz2 33777916 BLAKE2B 6ccef1c6469c75cf89bd6b9247b1fbe945ad8d48d183a3e2be0fed396e1fd1ec8be75f461649db43d7454326e0d02f086ccbe84b12aeabcfaab2064ce5952a55 SHA512 94285ae84e1296e846f91c207ebb3daa48738e65b501fa780d8f1862073fc055aa5c7ea2365001d589bc39559848640692cd314f2efbbfaabd9a32b28994b027
|
||||
DIST RASClient-sso-20.2.25889_x86_64.tar.bz2 9643 BLAKE2B 9334960baaba9312ca788bfe2d1779e327ab34d043825ae6081369e25da72624e3d76c97bfba1185183ae76bd375c5f8734762b41d23a4f284eb70050fba87d9 SHA512 d9a51a7b3ab6b9f73f69c6c09ddfd5bab98f0f9358a5203d9bc14de10223095d75e580f63cfcd8bce09c530b377569d0dd8d8b2bde5801932d3750e49d70e98a
|
||||
EBUILD rasclient-20.2.0.25889.ebuild 2002 BLAKE2B 83a3c776dd6bc7e24a351a4a0805b16c1d140996b03ccdd895d732b65e34a2f56e92746f8334d1497e7cf582b043a21325fb3b1b5adb09c9fc78432f408ee102 SHA512 c795faab8d827f210fbd3aa314fd08f8689ffed7f1c7033a66294dd366bc497ac3cedfee56bede47cd261805bcae9ba6391ebadbe9259996a85f117862790fb8
|
||||
MISC ChangeLog 385 BLAKE2B ebe7cc81e97a7c49bd6dc63e83c4701deb3fa3cc665ae2c0c231e7d4dc79ce3a490e325dd57f962fa74b097fa3fb076ebafd6b0a3fc57d985fe6e16fc4cfc7a5 SHA512 eefdb08d4f09532d35752696b1ac758520ae01f5dca8f44fc63dbd1c7cfb3d83f7f03a32db69c051517ac36b16b9298727fc95d85b188ea336760652fb92305f
|
||||
MISC metadata.xml 408 BLAKE2B 66a3e2838d5c5f95c7463733cd13b1230ef3ca005ec0c5dac797561be30f950da98dfa41eeb4d43cf97500c9a2e0d04c57b0b084d60107072a988dd7c4d16ded SHA512 9cac3e4a07c425e87274de776e03d243e462341168235cd3991ef4706aa1a902cf6591ae8e965b9c4ed370fc2ebef3ca805a9c761d05c4b994ae8667198b267c
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
DIST youtube-dl-gui-1.8.3.tar.gz 703377 BLAKE2B fc3bedfe3201e86c97eff6a52a325ce6bac1f9183c6fc98470a40b32ec53c0f6dccc04607ae288b4ae1baefea7bbd032e424c5f2cd5afcc96b66cb6ce7ac6f8f SHA512 f56adb25baea489f21a57a5513d95e656835429b4512e49d848076afaa60fa356d3468cd5460fcc6e6f311bf605d959a78b4277a0ab272903dde25c2cc87ca8e
|
||||
EBUILD youtube-dl-gui-1.8.3.ebuild 1240 BLAKE2B 17f4c3e2521f193257d3bbdb9d257a1ebb8bcd2402b5471563afdbf0d3d4cfef2cdc5936b5978f2c5af7de4cf1ee4b84ca22bbca101fec7994665bcde62e9ccd SHA512 061b219427b54b2ade93cf3bb0e668d8f8c39caf624e991b71dd04406765fdf211ffee5010920b7c2f823ef402663f53389f95bc276533997c19968fcf6aa5da
|
||||
EBUILD youtube-dl-gui-1.8.3.ebuild 1240 BLAKE2B 8614e20c2a06da1c54fb1e82eb9fe65c8e191da26c9765b5eb4b5cf88030ac469743e9e76b5fa9eb296359a0e7dbcfa6cd0857e667225acdd14b72dc4895ad62 SHA512 990974c479f4566a8599dcc594143f6784647bea13afb40522989c4793823e91e114127ba3ccfb8280838331288fddacdf9db5e61a5cbbe571b5017260911e0b
|
||||
MISC ChangeLog 385 BLAKE2B d26a404024005320f18259719956d818bc18bb6908022d6f9ac1d75de3956e19e376c8a3d7c4d5a2b3ebd332c1cbf34b39bb6d1b2863db12d373a36c5b20c63e SHA512 f0c8175bac806497f36974575b3db65b22a326aa3b74225f60b96e36b2e591351e7d9d76194ad4c1991c4b982424a1c9b894b55ff30974e1fe9d581122dada4c
|
||||
MISC metadata.xml 411 BLAKE2B 6bd76e3591b8a2d88277f9ebfbd5951a7458a266adf5818533a1d829a770db62e1de41a4cb4f29206ed5eb381c6f4bfdc04973c4c65bd72496b7e31b6c85880f SHA512 df1f54923628bff824dc8835c96902bd07d4462472b9b8f356abb0b9b81875d78fa96e511290739ecc5423eadc8b2579a65b2f31f9c2c6a73c8d3413c0603d98
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{4..12} )
|
||||
PYTHON_COMPAT=( python3_{4..13} )
|
||||
|
||||
inherit desktop distutils-r1 xdg-utils
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
DIST ytdlp-servustv-2023.12.27.zip 25464 BLAKE2B bc6e96f9c144941c6ebcd61f7f59458df459da8ac5e6d7240c8df86c0eb86b554925c23a0398d47b5976ec118bb229d02fb2241a6c973d627cabb044f7d25ba6 SHA512 5c2515ad8dbddbadba9f1093f63de20e25377776c4678d88fac7dc1fbe21a6233f640b0dd026d43bc04a2de5ff0e3dae4c6ff1bb65acc1a79a06ecddb731a88a
|
||||
EBUILD ytdlp-servustv-2023.12.27.ebuild 539 BLAKE2B b2def50f2010d605cb57cfa68b34606f8f6366c50af96cd8e06a723b24603dc7528deb5055585a0f5395a9233b2c563ac59217eda86475241e2fe71c84ddb8ba SHA512 91bfdca3898a054ca5648497a33a3e59cbdfb60b9723ded05787926b4e00b6634e42270d29b6f4c127457bf7dad9640be7bc586ea2fb42e3f937ee2309545a41
|
||||
EBUILD ytdlp-servustv-2023.12.27.ebuild 539 BLAKE2B a1188382ee098ffa6c9fd3e7546d26027677d95c3e4ecc0aca64702ff285047bfcf6702f47ac5c2be3c21b45c805d9611ecb83a2993caea495206c990646a23a SHA512 db78759b4a7f2d45037135638c96775999115a8ae6e58dd7cfd3672bf34c2cc8045654f32aa9d1ee4e123ea0f779cfaef4521587d11e41dcdfb28955f64275b3
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# $Id$
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{7..12} )
|
||||
PYTHON_COMPAT=( python3_{7..13} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
AUX kicad-7.0.0-werror.patch 682 BLAKE2B 268cf848679ffb5b5aa2389a6392986f908c64861fb6908a864ae41d788f8ac10a21d30b7a20b98409cad7f57191958f9d95d448be7c8070806c585c03d7ce8a SHA512 c30b9a080cc74687b44fb5e547d746c4e3298096e9ffa1bf5a7a2b477efb8d05db8adad7255d6b92eb2c00f739e4fcd79b9c198b3122265d26edc1db5cb4ee5e
|
||||
AUX kicad-8.0.1-libgit2.patch 1329 BLAKE2B 2e9b8f5d498b60feafdbf658b05350611e67b6449412c5e8b5b2d0a3b3bacc04ced8a6f5a7d3333221c36756b43ddfe95e41f6e98fca6fe010022bc8495d71c7 SHA512 1842a255ebfea314b6880ccd00f4a9693cf288e8dec09a51e8f9da42b14e602e4bf668deadcbf216c05a1f4650723db01e2df3033ed29c6df9a7c2c8a3a5f2eb
|
||||
DIST kicad-8.0.2.tar.bz2 72713030 BLAKE2B ba47a16b5c435970a45aef9988a5f6d218df043a5ce3547a191991ef63620125989e6218e97266a62c76ece604248bdf0652a10d423346fe3648c8ba240651c4 SHA512 192bcd494f00eccc430ddf9e9034f252bae177f06da81e730fb82f000a58bac9201d49ecba93c3bd17608b6df6a944beea85849050e306e11c1abfbd0028ff4a
|
||||
EBUILD kicad-8.0.2-r1.ebuild 4477 BLAKE2B e80525202782c7e7e58d976a0b495150e3d8ba9b4073c9dac854933ad22973927c6dea3fd39099928f675ce866979ef094e182334cd5e9c5e03c26a03f5ba5a5 SHA512 7c1b65eb3ef115346140cabea04ab4f64f791872bd999136e32bba2a1c2c172c70a3757b17412826f32c2793c80d7d60050f47630e50bcd7c032e592fef0c152
|
||||
DIST kicad-9.0.0-protobuf-30.patch 1054 BLAKE2B 64d084b9ed97a283e3a9cb32721ce0c90fc13555a71c07dcfd0878a20f43660a00e17fd45d2250b1cf421acd43214de6b8c4906f90726652ebd46254e8db06b2 SHA512 0453efd6b94ba5dee94b3aed3d5108ed1bed342f549225caceb236de418f426f24784728c3c81eb46182bf8ff9e20e4dc7dd6c95b09cc7a199c51d383bde010d
|
||||
DIST kicad-9.0.0.tar.bz2 128194997 BLAKE2B b5083fbe6bd219711c0ddf1204c283ac588829a24cc46c9e4e93300f046c6a3d890a2924cda803ae41920b74bbc5f16804317a8babc68d6c3b191b5d8cd23b42 SHA512 3b6d346d9a8d42c0ed9185427a99d78fbd9d789170aed6b9a7c6983eb58e69a1c20a7ea1b98769aa3d8121f641ca05cd8540e67f33448da2f6202f4abbc6de16
|
||||
EBUILD kicad-9.0.0-r1.ebuild 6033 BLAKE2B b54d3add11cc68d7db3c74ba51b45438e19dbb7791876dfe1d2a17d207d6ad899ccde2460dc3316b1a01b8de2ec4c0c35dc4d63dca65d863c78fffd42b4a2e39 SHA512 21af63084bf24635456c8edf0a0c248700fef34915a9ead0ac41925857d8a6c242cc57c0015d70f9c46040a7fe9b917d30e687f0c447e593e29127fb3f0a8cbf
|
||||
MISC metadata.xml 811 BLAKE2B 4f2150b49b1bebf73aa3440ae1ace1624ce02e022d361051e895a18d28f2ab802fed04c94552b36fc0265335a1eacd5d3a7c407fc88f0c4f7de9e4fa6afa6c5f SHA512 c09c2143516f361a8553ab5c44ffa47c77c7a8dbf53596dfe9ba81378c1a7e3aee8378353950cd8805b675d0a29444848fddd4acfe107a54e3f56e87183a1c6c
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
From 04fc6081bd3d6575d00589f71150ab796778a9c9 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Smith <matthew@gentoo.org>
|
||||
Date: Mon, 20 Feb 2023 17:53:50 +0000
|
||||
Subject: [PATCH] build: Remove Werror flag from clipper2
|
||||
|
||||
Bug: https://bugs.gentoo.org/895014
|
||||
|
||||
--- a/thirdparty/clipper2/CMakeLists.txt
|
||||
+++ b/thirdparty/clipper2/CMakeLists.txt
|
||||
@@ -27,7 +27,7 @@ target_compile_definitions(clipper2 PUBLIC USINGZ)
|
||||
if (MSVC)
|
||||
target_compile_options(clipper2 PRIVATE /W4 /WX)
|
||||
else()
|
||||
- target_compile_options(clipper2 PRIVATE -Wall -Wextra -Wpedantic -Werror)
|
||||
+ target_compile_options(clipper2 PRIVATE -Wall -Wextra -Wpedantic)
|
||||
target_link_libraries(clipper2 PUBLIC -lm)
|
||||
endif()
|
||||
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From: Huang Rui <vowstar@gmail.com>
|
||||
Date: Fri, 22 Mar 2024 18:18:40 +0800
|
||||
Subject: [PATCH] libgit2-1.8.0 compatibility: adjusted parent pointer type
|
||||
|
||||
- Adjusted parent pointer type in git_commit_create call for compatibility
|
||||
with libgit2 1.8.0 and above.
|
||||
- Included preprocessor checks to maintain support for versions older than
|
||||
1.8.0.
|
||||
- Ensures consistent function behavior across different libgit2 versions.
|
||||
|
||||
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17536
|
||||
Signed-off-by: Huang Rui <vowstar@gmail.com>
|
||||
---
|
||||
kicad/project_tree_pane.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
--- a/kicad/project_tree_pane.cpp
|
||||
+++ b/kicad/project_tree_pane.cpp
|
||||
@@ -2233,7 +2233,14 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
git_oid oid;
|
||||
+ // Check if the libgit2 library version is 1.8.0 or higher
|
||||
+#if ( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
|
||||
+ // For libgit2 version 1.8.0 and above
|
||||
+ git_commit* const parents[1] = { parent };
|
||||
+#else
|
||||
+ // For libgit2 versions older than 1.8.0
|
||||
const git_commit* parents[1] = { parent };
|
||||
+#endif
|
||||
|
||||
if( git_commit_create( &oid, repo, "HEAD", author, author, nullptr, commit_msg.mb_str(), tree,
|
||||
1, parents ) != 0 )
|
||||
--
|
||||
2.44.0
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
WX_GTK_VER="3.2-gtk3"
|
||||
|
||||
inherit check-reqs cmake flag-o-matic optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
|
||||
@@ -11,22 +11,42 @@ inherit check-reqs cmake flag-o-matic optfeature python-single-r1 toolchain-func
|
||||
DESCRIPTION="Electronic Schematic and PCB design tools"
|
||||
HOMEPAGE="https://www.kicad.org"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_PV="${PV/_rc/-rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2"
|
||||
SRC_URI+="
|
||||
https://gitlab.com/kicad/code/kicad/-/commit/5774338af2e22e1ff541ad9ab368e459e2a2add2.patch -> ${PN}-9.0.0-protobuf-30.patch
|
||||
"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
KEYWORDS="amd64"
|
||||
fi
|
||||
fi
|
||||
|
||||
# BSD for bundled pybind
|
||||
LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
|
||||
# KiCAD is licensed under GPLv3 or later
|
||||
# As per LICENSES.README some components are under different, but GPL compatible license:
|
||||
# Licensed under Apache License, Version 2.0: portions of code in libs/kimath/include/math/util.h
|
||||
# Licensed under BOOSTv1: clipper, clipper2, libcontext, pegtl, picosha2, turtle
|
||||
# Licensed under ISC: portions of code in include/geometry/polygon_triangulation.h
|
||||
# Licensed under MIT: argparse, compoundfilereader, delaunator, fmt, json_schema_validator, magic_enum nanodbc,
|
||||
# nlohmann/json, nlohmann/fifo_map, pboettch/json-schema-validator, picoSHA2, rectpack2d,
|
||||
# sentry-native, thread-pool, tinyspline_lib
|
||||
# Licensed under MIT and BSD: glew
|
||||
# Licensed under BSD: pybind11
|
||||
# Licensed under BSD2: gzip-hpp
|
||||
# Licensed under GPLv2 (or later): dxflib, math_for_graphics, potrace,
|
||||
# SutherlandHodgmanClipPoly in thirdparty/other_math
|
||||
# Licensed under ZLib: nanosvg
|
||||
# Licensed in the public domain: lemon
|
||||
# Licensed under CC BY-SA 4.0: all the demo files provided in demos/*
|
||||
# Licensed under clause-3 BSD: ibis/kibis files in eeschema/sim/kibis
|
||||
# Licensed under CC0: uopamp.lib.spice in some directories in qa/data/eeschema/spice_netlists/
|
||||
LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD BSD-2 Apache-2.0 ISC MIT ZLIB CC-BY-SA-4.0 CC0-1.0"
|
||||
SLOT="0"
|
||||
IUSE="doc examples nls openmp test"
|
||||
|
||||
@@ -43,6 +63,8 @@ COMMON_DEPEND="
|
||||
dev-db/unixODBC
|
||||
dev-libs/boost:=[context,nls]
|
||||
dev-libs/libgit2:=
|
||||
>=dev-libs/protobuf-27.2:=[protobuf,protoc]
|
||||
>=dev-libs/nng-1.10.0:=
|
||||
media-libs/freeglut
|
||||
media-libs/glew:0=
|
||||
>=media-libs/glm-0.9.9.1
|
||||
@@ -66,6 +88,7 @@ COMMON_DEPEND="
|
||||
media-gfx/cairosvg
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sci-electronics/electronics-menu
|
||||
@@ -80,6 +103,10 @@ fi
|
||||
|
||||
CHECKREQS_DISK_BUILD="1500M"
|
||||
|
||||
PATCHES=(
|
||||
"${DISTDIR}/${P}-protobuf-30.patch" # drop in 9.0.1
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
|
||||
|
||||
@@ -141,7 +168,12 @@ src_compile() {
|
||||
src_test() {
|
||||
# Test cannot find library in Portage's sandbox. Let's create a link so test can run.
|
||||
mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
|
||||
dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
|
||||
ln -s "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
|
||||
|
||||
export CMAKE_SKIP_TESTS=(
|
||||
qa_pcbnew
|
||||
qa_cli
|
||||
)
|
||||
|
||||
# LD_LIBRARY_PATH is there to help it pick up the just-built libraries
|
||||
LD_LIBRARY_PATH="${BUILD_DIR}/common:${BUILD_DIR}/common/gal:${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" \
|
||||
6
sci-libs/libsigrok/Manifest
Normal file
6
sci-libs/libsigrok/Manifest
Normal file
@@ -0,0 +1,6 @@
|
||||
AUX libsigrok-0.5.2-py313.patch 1897 BLAKE2B b4221654e1a056e9e2bcf04b79685f231204984eb40e31eecd09d04774956fc6e9fd474c0070255a130dbd67e9b191b013da8fc6568b3673bae759ca7e6d253d SHA512 081674a2d92b4562efadf812b70fece9d9a2373ff31c34e42189ea3ba5a9f49ce10f4bed70a24efdee77834f0a105fa3f54231669ff7ba8216e8761472150fe7
|
||||
AUX libsigrok-0.5.2-sipeed-slogic.patch 42177 BLAKE2B e2451273f22091c4c6c550f5ee729e5ae298684de680599bb403e44474d9471c408718403a11a679403a404c45f12fe2aea1be0897ac24fb6433f6610135a954 SHA512 c0fdcb6b39d1e76a928116e8b31cced8b63421f551fd89729f03188da1988b94b6349b35c5d9516faadec4d7ba4071380e0b58608e049e1878250ab294bf0568
|
||||
AUX libsigrok-0.5.2-swig-4.1.patch 377 BLAKE2B f795f46bce213e9444ea3d8b362a4d82d3e34676a9aae49f45764679effa388afcc15bc04e14fdc89cb25fbd700ca3bf80234b291c3607b0454ecf997d20997d SHA512 0334cbb95fbba961d9f16b18978dd15dbf68b80b897af54d25660dd0bcb049d21ea681f39bae3884c4869ecce4efd2601bce7825fbd41160ddddbe92ad678740
|
||||
DIST libsigrok-f6d0f7a.zip 1761945 BLAKE2B 719965bb29636232ca9cdf8ea61b8365e23a875ba300e75ff1662cb43217df2cb0eb9bac796ae1debc9236e17a7bff575442e0d42f70b22e94bd928e05d3f013 SHA512 b3d59cc60845bfc46c72c7a67145e5e0b9641793d590a0a814f60f22fdb02bf6e9373219c0dca4d1805fd47321b12c6dea4c40a31fc412571b70a37cec267642
|
||||
EBUILD libsigrok-0.6.0.ebuild 3506 BLAKE2B 21f395a147c87a9f3c924fc137c773700d211d55dd8500dab3101d1d79fe9469f6d7d7f0b83477da096f28eb6f9394d1d0f141fce1f6a953f7925c73f608b33d SHA512 55a8a11ad36e8d8b04f95e53ad1afc51f2e3d7cf5d71c947d662defca8233f5e740363ea64ae505578344a8bd9252264a2eeef60000d808b21ae96e8d7e01a1d
|
||||
MISC metadata.xml 886 BLAKE2B cb7cece1f79a4affb612e55f147eb93895a805e43aed6bbabfed2e3b925b0714d64651c00294da2742f8c09ce9984a58888b89025d73712400c8bd026296b2cb SHA512 79c9697b3fe6954108cb60ae79c06cee280ef6d73bcd9e35ab148750a4fa55c8e5118c21cdb4e3ae009d4c160a26c98132448476ef90ac6d7a19a79138c3b2f6
|
||||
46
sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch
Normal file
46
sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
http://sigrok.org/gitweb/?p=libsigrok.git;a=commit;h=5bc8174531df86991ba8aa6d12942923925d9e72
|
||||
|
||||
From: Gerhard Sittig <redacted>
|
||||
Date: Mon, 2 Oct 2023 16:33:08 +0000 (+0200)
|
||||
Subject: bindings/python: rephrase for Python 3.9 deprecation (call API)
|
||||
X-Git-Url: http://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=5bc8174531df86991ba8aa6d12942923925d9e72;hp=1711287ee9e5e4d37cab1cf9fcda5c98f732a137
|
||||
|
||||
bindings/python: rephrase for Python 3.9 deprecation (call API)
|
||||
|
||||
The PyEval_CallObject() routine was deprecated in Python 3.9, use
|
||||
PyObject_CallObject() instead which has existed since at least 3.0.
|
||||
|
||||
There are also PyEval_InitThreads() deprecation warnings, but these
|
||||
originate from SWIG generated code and are outside of our control.
|
||||
Requires SWIG version 4.1 to silence these.
|
||||
|
||||
Tested-By: Sascha Silbe <redacted>
|
||||
--- a/bindings/python/sigrok/core/classes.i
|
||||
+++ b/bindings/python/sigrok/core/classes.i
|
||||
@@ -134,7 +134,7 @@ typedef guint pyg_flags_type;
|
||||
|
||||
auto arglist = Py_BuildValue("(OO)", log_obj, string_obj);
|
||||
|
||||
- auto result = PyEval_CallObject($input, arglist);
|
||||
+ auto result = PyObject_CallObject($input, arglist);
|
||||
|
||||
Py_XDECREF(arglist);
|
||||
Py_XDECREF(log_obj);
|
||||
@@ -177,7 +177,7 @@ typedef guint pyg_flags_type;
|
||||
$1 = [=] () {
|
||||
const auto gstate = PyGILState_Ensure();
|
||||
|
||||
- const auto result = PyEval_CallObject($input, nullptr);
|
||||
+ const auto result = PyObject_CallObject($input, nullptr);
|
||||
const bool completed = !PyErr_Occurred();
|
||||
const bool valid_result = (completed && result == Py_None);
|
||||
|
||||
@@ -221,7 +221,7 @@ typedef guint pyg_flags_type;
|
||||
|
||||
auto arglist = Py_BuildValue("(OO)", device_obj, packet_obj);
|
||||
|
||||
- auto result = PyEval_CallObject($input, arglist);
|
||||
+ auto result = PyObject_CallObject($input, arglist);
|
||||
|
||||
Py_XDECREF(arglist);
|
||||
Py_XDECREF(device_obj);
|
||||
1451
sci-libs/libsigrok/files/libsigrok-0.5.2-sipeed-slogic.patch
Normal file
1451
sci-libs/libsigrok/files/libsigrok-0.5.2-sipeed-slogic.patch
Normal file
File diff suppressed because it is too large
Load Diff
11
sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch
Normal file
11
sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
https://bugs.gentoo.org/878395
|
||||
--- a/bindings/cxx/enums.py
|
||||
+++ b/bindings/cxx/enums.py
|
||||
@@ -73,6 +73,8 @@
|
||||
code = open(os.path.join(outdirname, 'cxx/enums.cpp'), 'w')
|
||||
swig = open(os.path.join(outdirname, 'swig/enums.i'), 'w')
|
||||
|
||||
+print('%include "attribute.i" \n', file=swig)
|
||||
+
|
||||
for file in (header, code):
|
||||
print("/* Generated file - edit enums.py instead! */", file=file)
|
||||
156
sci-libs/libsigrok/libsigrok-0.6.0.ebuild
Normal file
156
sci-libs/libsigrok/libsigrok-0.6.0.ebuild
Normal file
@@ -0,0 +1,156 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
GIT_COMMIT="f6d0f7a"
|
||||
|
||||
inherit autotools python-r1 java-pkg-opt-2 udev xdg
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="git://sigrok.org/${PN}"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="http://sigrok.org/gitweb/?p=${PN}.git;a=snapshot;h=${GIT_COMMIT};sf=zip -> ${PN}-${GIT_COMMIT}.zip"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
S="${WORKDIR}/${PN}-${GIT_COMMIT}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support"
|
||||
HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0/4"
|
||||
IUSE="bluetooth +cxx ftdi hidapi java nettle parport python serial static-libs test +udev usb"
|
||||
REQUIRED_USE="java? ( cxx )
|
||||
python? ( cxx ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# We also support librevisa, but that isn't in the tree ...
|
||||
LIB_DEPEND="
|
||||
>=dev-libs/glib-2.32.0[static-libs(+)]
|
||||
>=dev-libs/libzip-0.8:=[static-libs(+)]
|
||||
bluetooth? ( >=net-wireless/bluez-4.0:= )
|
||||
cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
|
||||
ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
|
||||
hidapi? ( >=dev-libs/hidapi-0.8.0 )
|
||||
nettle? ( dev-libs/nettle:=[static-libs(+)] )
|
||||
parport? ( sys-libs/libieee1284[static-libs(+)] )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
>=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}]
|
||||
)
|
||||
serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
|
||||
usb? ( virtual/libusb:1[static-libs(+)] )
|
||||
"
|
||||
RDEPEND="
|
||||
java? ( >=virtual/jre-1.8:* )
|
||||
!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
static-libs? ( ${LIB_DEPEND} )
|
||||
"
|
||||
DEPEND="${LIB_DEPEND//\[static-libs(+)]}
|
||||
cxx? ( app-text/doxygen )
|
||||
java? (
|
||||
>=dev-lang/swig-3.0.6
|
||||
>=virtual/jdk-1.8:*
|
||||
)
|
||||
python? (
|
||||
>=dev-lang/swig-3.0.6
|
||||
dev-python/numpy[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)
|
||||
test? ( >=dev-libs/check-0.9.4 )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
PATCHES=(
|
||||
# https://bugs.gentoo.org/878395
|
||||
"${FILESDIR}/${PN}-0.5.2-swig-4.1.patch"
|
||||
"${FILESDIR}/${PN}-0.5.2-sipeed-slogic.patch"
|
||||
"${FILESDIR}/${PN}-0.5.2-py313.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python_setup
|
||||
java-pkg-opt-2_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
[[ ${PV} == *9999* ]] && git-r3_src_unpack || default
|
||||
}
|
||||
|
||||
sigrok_src_prepare() {
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sigrok_src_prepare
|
||||
use python && python_copy_sources
|
||||
}
|
||||
|
||||
sigrok_src_configure() {
|
||||
econf \
|
||||
$(use_with bluetooth libbluez) \
|
||||
$(use_with ftdi libftdi) \
|
||||
$(use_with hidapi libhidapi) \
|
||||
$(use_with nettle libnettle) \
|
||||
$(use_with parport libieee1284) \
|
||||
$(use_with serial libserialport) \
|
||||
$(use_with usb libusb) \
|
||||
$(use_enable cxx) \
|
||||
$(use_enable java) \
|
||||
$(use_enable static-libs static) \
|
||||
"${@}"
|
||||
}
|
||||
|
||||
each_python_configure() {
|
||||
cd "${BUILD_DIR}"
|
||||
sigrok_src_configure --disable-ruby --enable-python
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
sigrok_src_configure --disable-ruby --disable-python
|
||||
use python && python_foreach_impl each_python_configure
|
||||
}
|
||||
|
||||
each_python_compile() {
|
||||
cd "${BUILD_DIR}"
|
||||
emake python-build
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
use python && python_foreach_impl each_python_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check
|
||||
}
|
||||
|
||||
each_python_install() {
|
||||
cd "${BUILD_DIR}"
|
||||
emake python-install DESTDIR="${D}"
|
||||
python_optimize
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
use python && python_foreach_impl each_python_install
|
||||
use udev && udev_dorules contrib/*.rules
|
||||
find "${D}" -name '*.la' -type f -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
xdg_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
xdg_pkg_postrm
|
||||
}
|
||||
20
sci-libs/libsigrok/metadata.xml
Normal file
20
sci-libs/libsigrok/metadata.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>embedded@gentoo.org</email>
|
||||
<name>Embedded Gentoo</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
libsigrok is a shared library written in C, which provides the basic
|
||||
hardware access drivers for logic analyzers and other supported devices,
|
||||
as well as input/output file format support.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="ftdi">Enable drivers that need <pkg>dev-embedded/libftdi</pkg></flag>
|
||||
<flag name="hidapi">Enable drivers that need <pkg>dev-libs/hidapi</pkg></flag>
|
||||
<flag name="nettle">Enable drivers that need <pkg>dev-libs/nettle</pkg></flag>
|
||||
<flag name="parport">Enable drivers that are parallel (IEEE1284) based</flag>
|
||||
<flag name="serial">Enable drivers that are serial (RS232) based</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
3
sci-libs/libsigrokdecode/Manifest
Normal file
3
sci-libs/libsigrokdecode/Manifest
Normal file
@@ -0,0 +1,3 @@
|
||||
DIST libsigrokdecode-782c35b.zip 837923 BLAKE2B 9c1fcbd3eb19a55f840aab53e79a7409e4508a6c47dfe384b94a8ca76be193a98b67d6b488bf7c9efa79899d9d96acb87a2a4b103ba13a26a5b8bc46727fc54e SHA512 beb954d793647e0756abfa3a54641b5db7dc566cb31d205796e4fdb38f3dcf97320046d88fb2d9ee55e0ec91864c021ded362ba7bc5a3ac1e4dfccc98bd2dd6b
|
||||
EBUILD libsigrokdecode-0.6.0.ebuild 1229 BLAKE2B fc32c61a3720624c6d536400832f76ac2ecb28a497621c666c34654ae4e187e3073a0cb188ce4386501aa46698d4f6d82b5beba94716cf9fde1f908031d012f7 SHA512 18b0b338b1c07c7fd8932a60a9ff52a81ee3cd42c6ed5618dc7d74859cacc92259ef31b69cbb28cab8f245366b2fd5206b43f750e0c249f8aeda262b1bd94773
|
||||
MISC metadata.xml 248 BLAKE2B 9858a97a2186d5b06e272fe28021e0e668897630d8b99023000e8e58e852e80e16b399d8f864b9dff6c9fda25e1519ac8b4331792a4b441be23922707c4ad6a9 SHA512 a1e8f757e473af3ab0ccf695f849dc91e1be877dd505d339bdd26e35a2cf7fb5ffd8f5bf34e933873a462023aecb0edbddefbbda455289279182059cd6c1b0e5
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user