parent
10da1fe6b5
commit
66f9657741
Binary file not shown.
Binary file not shown.
@ -0,0 +1,221 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
FINDLIB_USE="ocaml"
|
||||
JAVA_PKG_WANT_SOURCE="1.8"
|
||||
JAVA_PKG_WANT_TARGET="1.8"
|
||||
|
||||
inherit findlib toolchain-funcs java-pkg-opt-2 autotools systemd \
|
||||
python-r1 tmpfiles
|
||||
|
||||
DESCRIPTION="Daemon that provides access to the Linux/Unix console for a blind person"
|
||||
HOMEPAGE="https://brltty.app/"
|
||||
SRC_URI="https://brltty.app/archive/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+api +beeper bluetooth doc +fm gpm iconv icu
|
||||
java louis +midi ncurses nls ocaml +pcm policykit python
|
||||
usb systemd +speech tcl xml X"
|
||||
REQUIRED_USE="doc? ( api )
|
||||
java? ( api )
|
||||
ocaml? ( api )
|
||||
python? ( api ${PYTHON_REQUIRED_USE} )
|
||||
tcl? ( api )"
|
||||
|
||||
DEPEND="
|
||||
acct-group/brltty
|
||||
acct-user/brltty
|
||||
dev-libs/libpcre2[pcre32]
|
||||
bluetooth? (
|
||||
sys-apps/dbus
|
||||
net-wireless/bluez
|
||||
)
|
||||
gpm? ( >=sys-libs/gpm-1.20 )
|
||||
iconv? ( virtual/libiconv )
|
||||
icu? ( dev-libs/icu:= )
|
||||
louis? ( dev-libs/liblouis:= )
|
||||
midi? ( media-libs/alsa-lib )
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
pcm? ( media-libs/alsa-lib )
|
||||
policykit? ( sys-auth/polkit )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
speech? (
|
||||
app-accessibility/espeak-ng
|
||||
app-accessibility/flite
|
||||
app-accessibility/speech-dispatcher
|
||||
)
|
||||
systemd? ( sys-apps/systemd )
|
||||
tcl? ( >=dev-lang/tcl-8.4.15:0= )
|
||||
usb? ( virtual/libusb:0 )
|
||||
xml? ( dev-libs/expat )
|
||||
X? (
|
||||
app-accessibility/at-spi2-core:2
|
||||
sys-apps/dbus
|
||||
x11-libs/libX11
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
)"
|
||||
RDEPEND="${DEPEND}
|
||||
java? ( >=virtual/jre-1.8:* )
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
nls? ( virtual/libintl )
|
||||
python? ( >=dev-python/cython-0.16[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
HTML_DOCS=( "${S}"/Documents/Manual-BrlAPI/. )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-respect-AR.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
|
||||
# We run eautoconf instead of using eautoreconf because brltty uses
|
||||
# a custom build system that uses autoconf without the rest of the
|
||||
# autotools.
|
||||
eautoconf
|
||||
use python && python_copy_sources
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR LD PKG_CONFIG
|
||||
|
||||
export JAVAC=""
|
||||
export JAVA_JNI_FLAGS=""
|
||||
if use java; then
|
||||
export JAVA_HOME="$(java-config -g JAVA_HOME)"
|
||||
export JAVAC_HOME="${JAVA_HOME}/bin"
|
||||
export JAVA_JNI_FLAGS="$(java-pkg_get-jni-cflags)"
|
||||
export JAVAC="$(java-pkg_get-javac) -encoding UTF-8 $(java-pkg_javac-args)"
|
||||
fi
|
||||
|
||||
# Override bindir for backward compatibility.
|
||||
# Also override localstatedir so that the lib/brltty directory is installed
|
||||
# correctly.
|
||||
# Disable stripping since we do that ourselves.
|
||||
local myconf=(
|
||||
--bindir="${EPREFIX}"/bin
|
||||
--htmldir="${EPREFIX}"/usr/share/doc/"${P}"/html
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--disable-stripping
|
||||
--with-updatable-directory="${EPREFIX}"/var/lib/brltty
|
||||
--with-writable-directory="${EPREFIX}"/run/brltty
|
||||
--with-privilege-parameters=lx:user=brltty
|
||||
$(use_enable api)
|
||||
$(use_with beeper beep-package)
|
||||
$(use_with fm fm-package)
|
||||
$(use_enable gpm)
|
||||
$(use_enable iconv)
|
||||
$(use_enable icu)
|
||||
$(use_enable java java-bindings)
|
||||
$(use_enable louis liblouis)
|
||||
$(use_with midi midi-package)
|
||||
$(use_enable nls i18n)
|
||||
$(use_enable ocaml ocaml-bindings)
|
||||
$(use_with pcm pcm-package)
|
||||
$(use_enable policykit polkit)
|
||||
$(use_enable python python-bindings)
|
||||
$(use_enable speech speech-support)
|
||||
$(use_with systemd service-package)
|
||||
$(use_enable tcl tcl-bindings)
|
||||
$(use_enable xml expat)
|
||||
$(use_enable X x)
|
||||
$(use_with bluetooth bluetooth-package)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with usb usb-package)
|
||||
)
|
||||
# disable espeak since we use espeak-ng
|
||||
use speech && myconf+=( --with-speech-driver=-es )
|
||||
|
||||
econf "${myconf[@]}"
|
||||
|
||||
if use python; then
|
||||
python_configure() {
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
python_foreach_impl run_in_build_dir python_configure
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 JAVA_JNI_FLAGS="${JAVA_JNI_FLAGS}" JAVAC="${JAVAC}"
|
||||
|
||||
if use python; then
|
||||
python_build() {
|
||||
cd "Bindings/Python" || die
|
||||
emake -j1
|
||||
}
|
||||
python_foreach_impl run_in_build_dir python_build
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use ocaml; then
|
||||
findlib_src_preinst
|
||||
fi
|
||||
|
||||
emake -j1 INSTALL_ROOT="${D}" OCAML_LDCONF= install
|
||||
|
||||
if use python; then
|
||||
python_install() {
|
||||
cd "Bindings/Python" || die
|
||||
emake -j1 INSTALL_ROOT="${D}" install
|
||||
}
|
||||
python_foreach_impl run_in_build_dir python_install
|
||||
fi
|
||||
|
||||
if use java; then
|
||||
java-pkg_doso Bindings/Java/libbrlapi_java.so
|
||||
java-pkg_dojar Bindings/Java/brlapi.jar
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins Documents/brltty.conf
|
||||
newinitd "${FILESDIR}"/brltty.initd brltty
|
||||
pushd Autostart/Systemd 1> /dev/null || die
|
||||
emake -j1 INSTALL_ROOT="${ED}" install
|
||||
popd
|
||||
pushd Autostart/Udev 1> /dev/null || die
|
||||
emake -j1 INSTALL_ROOT="${ED}" install
|
||||
popd
|
||||
|
||||
newdoc doc/Manual-BRLTTY/English/BRLTTY.txt BRLTTY-en.txt
|
||||
newdoc doc/Manual-BRLTTY/French/BRLTTY.txt BRLTTY-fr.txt
|
||||
newdoc doc/Manual-BrlAPI/English/BrlAPI.txt BrlAPI-en.txt
|
||||
dodoc Documents/{CONTRIBUTORS,ChangeLog,HISTORY,README*,TODO}
|
||||
if use doc; then
|
||||
HTML_DOCS="doc/Manual-BRLTTY" einstalldocs
|
||||
fi
|
||||
|
||||
keepdir /var/lib/BrlAPI
|
||||
rm -fr "${ED}/run" || die
|
||||
find "${ED}" -name '*.a' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process ${PN}.conf
|
||||
|
||||
elog "please be sure ${EROOT}/etc/brltty.conf is correct for your system."
|
||||
elog
|
||||
elog "To make brltty start on boot on an OpenRC system, type this command:"
|
||||
elog "# rc-update add brltty boot"
|
||||
elog
|
||||
elog "If you are using systemd, type this command:"
|
||||
elog "# systemctl daemon-reload"
|
||||
elog
|
||||
elog "Please reload udev by typing:"
|
||||
elog "# udevadm control --reload"
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
diff --git a/Programs/Makefile.in b/Programs/Makefile.in
|
||||
index f1dc9aeb5..811a73a11 100644
|
||||
--- a/Programs/Makefile.in
|
||||
+++ b/Programs/Makefile.in
|
||||
@@ -687,7 +687,7 @@ $(API_DLL): $(API_CLIENT_OBJECTS)
|
||||
[ ! -f lib.def ] || mv lib.def $(API_DEF)
|
||||
|
||||
$(API_ARC): $(API_CLIENT_OBJECTS)
|
||||
- ar rc $@ $(API_CLIENT_OBJECTS)
|
||||
+ $(AR) rc $@ $(API_CLIENT_OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
brlapi_client.$O:
|
@ -0,0 +1,11 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
command=/bin/brltty
|
||||
pidfile=/var/run/brltty.pid
|
||||
command_args="-P ${pidfile} -q"
|
||||
|
||||
depend() {
|
||||
after dbus localmount
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST orca-40.0.tar.xz 3603368 BLAKE2B 3ac99f32ee496004e568ce61d5862591556bedfd8dc7ef1b707b62b120f1349ae38bbd427b0d3cc67c7be7334bcc46b067ee44a45c51bcdbdf15ee78c0243f64 SHA512 16e15b1cb4b5a2a3d14ddf9e9277e6b0c65e2ab0a7370fd8bfb830bee9d208ef6b5b3d0c19cc2ff6107f3b0cd41e8ae00881033645f7a309ca3ce65aebd73a1b
|
||||
DIST orca-40.1.tar.xz 3603308 BLAKE2B e934e54d598a70ec22014a0749ce8b6cc2cb8d27c9fbb8d2488b0d088ebe175dd21a96e51ccb9eccba0254bf4664bc36796cdd2c965d1721562cf1a83d0e3fc7 SHA512 4e3bec3151abe81bb7d07717dba94e7a998ec269af430e2a5ef999b6c39606066df7f4161861a0e7c019626d9c609f4de154814d9af3b60e6bc8a1565e0fa075
|
||||
DIST orca-41.1.tar.xz 3635644 BLAKE2B 8951111e0eb6e89709c4fbf98ab92cc503995c8dddfe150b925ce18f638377feb6786419bba394cd8652f4d39254f64d179a223b48c0faef8fa20b070fcbbe11 SHA512 4f6534025d70231b6c43cfe1f6d8d5c8f33b4727a0bc83417e65c564364a63a64d44d61be2786166814dbd7b1b7bad38f69b008ce119ca45b0fc9be0f512549b
|
||||
DIST orca-41.2.tar.xz 3637836 BLAKE2B bebe1d6e37b88f8e1c97c2ee2a599185c2c14d88fc7d12805bb5a7623b1323ad8688cb846b6e733ef02d58390eb390d1dcd2150a0ed50c8109a7468d62f525c2 SHA512 a2d208193aaac48bf12ca22732b338cdcb5299edc7e7b5c75c88f8dee6ad69762287dbb36c25661c08f904b3848a2ca0e60f2d7153e41594944fab509ff3ef07
|
||||
|
@ -0,0 +1,63 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
inherit gnome2 python-single-r1
|
||||
|
||||
DESCRIPTION="Extensible screen reader that provides access to the desktop"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Orca"
|
||||
|
||||
LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
||||
|
||||
IUSE="+braille"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
>=app-accessibility/at-spi2-atk-2.34:2
|
||||
>=app-accessibility/at-spi2-core-2.36:2[introspection]
|
||||
>=dev-libs/atk-2.36
|
||||
>=dev-libs/glib-2.28:2
|
||||
media-libs/gstreamer:1.0[introspection]
|
||||
>=x11-libs/gtk+-3.6.2:3[introspection]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/gst-python:1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygobject-3.18:3[${PYTHON_USEDEP}]
|
||||
')
|
||||
braille? (
|
||||
$(python_gen_cond_dep '
|
||||
>=app-accessibility/brltty-5.0-r3[python,${PYTHON_USEDEP}]
|
||||
dev-libs/liblouis[python,${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
dev-libs/atk[introspection]
|
||||
$(python_gen_cond_dep '
|
||||
>=app-accessibility/speech-dispatcher-0.8[python,${PYTHON_USEDEP}]
|
||||
>=dev-python/pyatspi-2.36[${PYTHON_USEDEP}]
|
||||
dev-python/setproctitle[${PYTHON_USEDEP}]
|
||||
')
|
||||
x11-libs/libwnck:3[introspection]
|
||||
x11-libs/pango[introspection]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.8
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# app-text/yelp-tools
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
$(use_with braille liblouis)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
gnome2_src_install
|
||||
python_optimize
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST selint-1.1.0.tar.gz 283926 BLAKE2B 0908f8830ce4b569c54e8c025dd92c39af59172fee0b8061f5b8cdaf61222979a78c3726a5647af9161ce7e4a7ddd5bee64772afecd2024368afa76294b3d317 SHA512 3af358e0f42a285a0360ce2b4db9014ef1e4f0b792623007f88cf510799080975d9e44817e8911bbd32b141704a7fd11e1b4d8f91e124d0fa91c38f71a978c91
|
||||
DIST selint-1.2.0.tar.gz 306527 BLAKE2B 842d796d3beea327ac937b977123a9248f317f0ab88e8187ff5ef7b7da2efd9b6c4bccda2dc1fd4661691904f90f346df0120f9398733e62942e70bef5c3c5ab SHA512 e289cb0a25454b1fd5f5435e11f3d956e6c545bbbbe79b7a47d40681746d8eb66bb78bdb541f2629a4f23435853568a8e52d10e6f8dde8e8ddb03f4493ea7504
|
||||
DIST selint-1.2.1.tar.gz 307680 BLAKE2B 792ab2f79bc449faa6f94c13ce86f805ef36ebd11873019b36ae5f3d7450017d699d046771fc8359442d8aa24b096e1767e78054b8b2173cab6ac9bf0bb30cad SHA512 2b790cb41cab7dddb34dc9b9365641ae94c22356e3e85b5319ec23090cba633ce09e05a9b97eaba8617208057971f8fbdc8bd360b32a1f7ad0178c11c8711888
|
||||
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
DESCRIPTION="Static code analysis of refpolicy style SELinux policy"
|
||||
HOMEPAGE="https://github.com/TresysTechnology/selint/wiki"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit autotools git-r3
|
||||
EGIT_REPO_URI="https://github.com/TresysTechnology/selint.git"
|
||||
else
|
||||
SRC_URI="https://github.com/TresysTechnology/selint/releases/download/v${PV}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/confuse:=
|
||||
dev-libs/uthash"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/check )"
|
||||
|
||||
src_prepare() {
|
||||
[[ ${PV} == 9999 ]] && eautoreconf
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf $(use_with test check)
|
||||
}
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST clzip-1.13.tar.gz 123369 BLAKE2B 3d6b205aa7c60e04baddcf826d3da709f58b5796c95ac348a77e9d997ab68dda750c65b78ba50656a6c986146bc87da8b3503c86a3e0d568c9e6b1550aad5997 SHA512 7b9943f3e971cb9cabadb3b0832c23984c9329cb48bbfa6fd0780146b6b3d612386b6ca8c6e688c05470e3e3474b688dfb3228ba6aff2093ea1d781eba5f2791
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="C language version of lzip"
|
||||
HOMEPAGE="https://www.nongnu.org/lzip/clzip.html"
|
||||
SRC_URI="https://download.savannah.gnu.org/releases/lzip/clzip/${P/_/-}.tar.gz"
|
||||
S="${WORKDIR}/${P/_/-}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
src_configure() {
|
||||
# not autotools-based
|
||||
local myconf=(
|
||||
--prefix="${EPREFIX}"/usr
|
||||
CC="$(tc-getCC)"
|
||||
CPPFLAGS="${CPPFLAGS}"
|
||||
CFLAGS="${CFLAGS}"
|
||||
LDFLAGS="${LDFLAGS}"
|
||||
)
|
||||
|
||||
./configure "${myconf[@]}" || die
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,224 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
|
||||
|
||||
# we need latest -ga tag from git, but want to keep build number as well
|
||||
# as _p component of the gentoo version string.
|
||||
|
||||
MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
|
||||
SLOT="${PV%%[.+]*}"
|
||||
|
||||
DESCRIPTION="Open source implementation of the Java programming language"
|
||||
HOMEPAGE="https://openjdk.java.net"
|
||||
SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source"
|
||||
|
||||
COMMON_DEPEND="
|
||||
media-libs/freetype:2=
|
||||
media-libs/giflib:0/7
|
||||
sys-libs/zlib
|
||||
"
|
||||
# Many libs are required to build, but not to run, make is possible to remove
|
||||
# by listing conditionally in RDEPEND unconditionally in DEPEND
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=sys-apps/baselayout-java-0.1.0-r1
|
||||
!headless-awt? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups )
|
||||
selinux? ( sec-policy/selinux-java )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
app-arch/zip
|
||||
media-libs/alsa-lib
|
||||
net-print/cups
|
||||
virtual/pkgconfig
|
||||
x11-base/xorg-proto
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
|| (
|
||||
dev-java/openjdk-bin:${SLOT}
|
||||
dev-java/icedtea-bin:${SLOT}
|
||||
dev-java/openjdk:${SLOT}
|
||||
dev-java/icedtea:${SLOT}
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
|
||||
|
||||
S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" )
|
||||
|
||||
# The space required to build varies wildly depending on USE flags,
|
||||
# ranging from 2GB to 16GB. This function is certainly not exact but
|
||||
# should be close enough to be useful.
|
||||
openjdk_check_requirements() {
|
||||
local M
|
||||
M=2048
|
||||
M=$(( $(usex debug 3 1) * $M ))
|
||||
M=$(( $(usex jbootstrap 2 1) * $M ))
|
||||
M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
|
||||
|
||||
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
openjdk_check_requirements
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
openjdk_check_requirements
|
||||
|
||||
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}"
|
||||
JAVA_PKG_WANT_SOURCE="${SLOT}"
|
||||
JAVA_PKG_WANT_TARGET="${SLOT}"
|
||||
|
||||
java-vm-2_pkg_setup
|
||||
java-pkg-2_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# new warnings in new gcc https://bugs.gentoo.org/685426
|
||||
sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
|
||||
hotspot/make/linux/makefiles/gcc.make || die
|
||||
|
||||
chmod +x configure || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# general build info found here:
|
||||
#https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
|
||||
|
||||
# Work around stack alignment issue, bug #647954.
|
||||
use x86 && append-flags -mincoming-stack-boundary=2
|
||||
|
||||
# Work around -fno-common ( GCC10 default ), bug #706638
|
||||
append-flags -fcommon
|
||||
|
||||
# Strip some flags users may set, but should not. #818502
|
||||
filter-flags -fexceptions
|
||||
|
||||
tc-export_build_env CC CXX PKG_CONFIG STRIP
|
||||
|
||||
local myconf=(
|
||||
--disable-ccache
|
||||
--disable-freetype-bundling
|
||||
--disable-precompiled-headers
|
||||
--enable-unlimited-crypto
|
||||
--with-boot-jdk="${JDK_HOME}"
|
||||
--with-extra-cflags="${CFLAGS}"
|
||||
--with-extra-cxxflags="${CXXFLAGS}"
|
||||
--with-extra-ldflags="${LDFLAGS}"
|
||||
--with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
|
||||
--with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
|
||||
--with-giflib=system
|
||||
--with-jtreg=no
|
||||
--with-jobs=1
|
||||
--with-num-cores=1
|
||||
--with-update-version="$(ver_cut 2)"
|
||||
--with-build-number="b$(ver_cut 4)"
|
||||
--with-milestone="fcs" # magic variable that means "release version"
|
||||
--with-vendor-name="Gentoo"
|
||||
--with-vendor-url="https://gentoo.org"
|
||||
--with-vendor-bug-url="https://bugs.gentoo.org"
|
||||
--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
|
||||
--with-zlib=system
|
||||
--with-native-debug-symbols=$(usex debug internal none)
|
||||
$(usex headless-awt --disable-headful '')
|
||||
$(tc-is-clang && echo "--with-toolchain-type=clang")
|
||||
)
|
||||
|
||||
(
|
||||
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
|
||||
CFLAGS= CXXFLAGS= LDFLAGS= \
|
||||
CONFIG_SITE=/dev/null \
|
||||
CONFIG_SHELL="${EPREFIX}/bin/bash"
|
||||
econf "${myconf[@]}"
|
||||
)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myemakeargs=(
|
||||
JOBS=$(makeopts_jobs)
|
||||
LOG=debug
|
||||
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
|
||||
NICE= # Use PORTAGE_NICENESS, don't adjust further down
|
||||
$(usex doc docs '')
|
||||
$(usex jbootstrap bootcycle-images images)
|
||||
)
|
||||
emake "${myemakeargs[@]}" -j1 #nowarn
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
|
||||
local ddest="${ED}/${dest#/}"
|
||||
|
||||
cd "${S}"/build/*-release/images/j2sdk-image || die
|
||||
|
||||
if ! use alsa; then
|
||||
rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
|
||||
fi
|
||||
|
||||
# build system does not remove that
|
||||
if use headless-awt ; then
|
||||
rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
|
||||
{,jre/}bin/policytool bin/appletviewer || die
|
||||
fi
|
||||
|
||||
if ! use examples ; then
|
||||
rm -vr demo/ || die
|
||||
fi
|
||||
|
||||
if ! use source ; then
|
||||
rm -v src.zip || die
|
||||
fi
|
||||
|
||||
dodir "${dest}"
|
||||
cp -pPR * "${ddest}" || die
|
||||
|
||||
dosym -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
|
||||
|
||||
java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
||||
java-vm_set-pax-markings "${ddest}"
|
||||
java-vm_revdep-mask
|
||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||
|
||||
if use doc ; then
|
||||
docinto html
|
||||
dodoc -r "${S}"/build/*-release/docs/*
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
java-vm-2_pkg_postinst
|
||||
einfo "JavaWebStart functionality provided by icedtea-web package"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST idris2-0.5.1_p20211112.tar.gz 6202861 BLAKE2B 189bf28c7a33281494edea9b2c0821a934000fe9ca6e929b3318fe33576553142e5ad8d81598249cc384c6e342491ccef0998f33a4f2940b80264f5a3e4b32b2 SHA512 3b419ddbdc4aa3a28d92bf204448090c168d6a844d570886f982129f9e650c7112bbf95b727baf6c9f0f2fd6200c75eb68b6b71fd8684e01365eaf964dea1ea1
|
||||
DIST idris2-0.5.1_p20220131.tar.gz 6283472 BLAKE2B 86b75457b8772d0a8938a4d3422af08fa8e625b675cc2648bc9f2683a6654586ff91b8b1d592f72a3a44c72fa830f9ebc5ae0c451398e8cb5d3fdf5070f7f8ab SHA512 50f21819dee929f847a6b64c89231da9dd55bc35314300aa7d3c3c5ea0da451caba67081ca8b2ffd89608d3aaa042e9b9a6ecb2df0585589404bae3c6a2fe74a
|
||||
|
@ -0,0 +1,104 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
H=a2c7e9f306ea8ff935bbeff1eac764291b12ce87
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Purely functional programming language with first class types"
|
||||
HOMEPAGE="https://idris-lang.org/"
|
||||
|
||||
if [[ "${PV}" == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/idris-lang/Idris2.git"
|
||||
else
|
||||
SRC_URI="https://github.com/idris-lang/Idris2/archive/${H}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
S="${WORKDIR}/${PN^}-${H}"
|
||||
fi
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="+chez doc racket test-full"
|
||||
REQUIRED_USE="^^ ( chez racket )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/gmp
|
||||
chez? ( dev-scheme/chez[threads] )
|
||||
racket? ( dev-scheme/racket[threads] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
doc? ( dev-python/sphinx_rtd_theme )
|
||||
test-full? (
|
||||
dev-scheme/chez[threads]
|
||||
dev-scheme/racket[threads]
|
||||
net-libs/nodejs
|
||||
)
|
||||
"
|
||||
|
||||
# Generated via "SCHEME", not CC
|
||||
QA_FLAGS_IGNORED="usr/lib/idris2/bin/idris2_app/idris2
|
||||
usr/lib/idris2/bin/idris2_app/idris2-boot"
|
||||
QA_PRESTRIPPED="${QA_FLAGS_IGNORED}"
|
||||
|
||||
src_prepare() {
|
||||
# Clean up environment of Idris and Racket variables
|
||||
unset IDRIS2_DATA IDRIS2_INC_CGS IDRIS2_LIBS IDRIS2_PACKAGE_PATH
|
||||
unset IDRIS2_PATH IDRIS2_PREFIX
|
||||
unset PLTUSERHOME
|
||||
|
||||
tc-export AR CC CXX LD RANLIB
|
||||
export CFLAGS
|
||||
sed -i '/^CFLAGS/d' ./support/*/Makefile || die
|
||||
|
||||
# Fix "PREFIX"
|
||||
sed -i 's|$(HOME)/.idris2|/usr/lib/idris2|g' ./config.mk || die
|
||||
|
||||
# Bad tests
|
||||
sed -i 's|, "futures001"||g' ./tests/Main.idr || die
|
||||
# > Missing incremental compile data, reverting to whole program compilation
|
||||
sed -i 's|"chez033",||g' ./tests/Main.idr || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export IDRIS2_VERSION=${PV}
|
||||
export SCHEME=$(usex chez chezscheme racket)
|
||||
|
||||
if use chez ; then
|
||||
export IDRIS2_CG=chez
|
||||
export BOOTSTRAP_TARGET=bootstrap
|
||||
elif use racket ; then
|
||||
export IDRIS2_CG=racket
|
||||
export BOOTSTRAP_TARGET=bootstrap-racket
|
||||
else
|
||||
die "Neither chez nor racket was chosen"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# > jobserver unavailable
|
||||
# This is caused by Makefile using a script which in turn calls make
|
||||
# https://github.com/idris-lang/Idris2/issues/2152
|
||||
emake SCHEME=${SCHEME} ${BOOTSTRAP_TARGET} -j1
|
||||
|
||||
use doc && emake -C ./docs html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake SCHEME=${SCHEME} bootstrap-test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# "DESTDIR" variable is not respected
|
||||
emake IDRIS2_PREFIX="${D}"/usr/lib/idris2 PREFIX="${D}"/usr/lib/idris2 install
|
||||
dosym ../lib/${PN}/bin/${PN} /usr/bin/${PN}
|
||||
|
||||
# Install documentation
|
||||
use doc && dodoc -r ./docs/build/html
|
||||
einstalldocs
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST libusb-1.0.24.tar.bz2 606593 BLAKE2B f6188b5af1225cf8b6d1486b6efcf48e837ee4f2e3592adab3ae6aae0a74a67aa54f40f0dd547f951a194d40954f2ee33acf741d2eee0b8449ce64f2edcf1018 SHA512 5aea36a530aaa15c6dd656d0ed3ce204522c9946d8d39ffbb290dab4a98cda388a2598da4995123d1032324056090bd429e702459626d3e8d7daeebc4e7ff3dc
|
||||
DIST libusb-1.0.25.tar.bz2 609127 BLAKE2B 3aecfbf9fc068fdfb8e612918bb895988f8400dc2c3ffd96a81792ab844d632f0c098947200512ddc37cfa9003956f8454c1d0362973a5d646a225f81cc2923b SHA512 f1e6e5577d4bd1ff136927dc66c615014a06ac332ddd797b1d1ad5f7b68e2405e66068dcb210e2f0ae3e31681603ef72efbd88bf7fbe0eb41ce700fdc3f92f9d
|
||||
|
@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib-minimal usr-ldscript
|
||||
|
||||
DESCRIPTION="Userspace access to USB devices"
|
||||
HOMEPAGE="https://libusb.info/ https://github.com/libusb/libusb"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="1"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="debug doc examples static-libs test udev"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="static-libs? ( !udev )"
|
||||
|
||||
RDEPEND="udev? ( >=virtual/libudev-208:=[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}
|
||||
!udev? ( virtual/os-headers )"
|
||||
BDEPEND="doc? ( app-doc/doxygen )"
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable udev)
|
||||
$(use_enable debug debug-log)
|
||||
$(use_enable test tests-build)
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
use doc && emake -C doc
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
emake check
|
||||
|
||||
# noinst_PROGRAMS from tests/Makefile.am
|
||||
if [[ -e /dev/bus/usb ]]; then
|
||||
tests/stress || die
|
||||
else
|
||||
# bug #824266
|
||||
ewarn "/dev/bus/usb does not exist, skipping stress test"
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
gen_usr_ldscript -a usb-1.0
|
||||
|
||||
use doc && dodoc -r doc/api-1.0
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
|
||||
dodoc AUTHORS ChangeLog NEWS PORTING README TODO
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc examples/*.{c,h}
|
||||
fi
|
||||
}
|
@ -1,2 +1,4 @@
|
||||
DIST voikko-fi-2.4.tar.gz 701807 BLAKE2B 978871a733b12be53287ec2d4637428f6991cdb3098a97cc7fc673d7b1e1ac85eb6811653c1121a1f04b23f40e1b6ff6340a5514c2d1231cf7be37879c70cf20 SHA512 00098fd52d4f81b30fe7f0ecb97ee8f240d898dfd511da1fdc5e6fd7046f2bf94c0230dc733bc6034f178d56d26c3ee69965eb61c04fc7b30087131767701858
|
||||
DIST voikko-fi-2.4.tar.gz.asc 833 BLAKE2B f4f470118716cf3ad2348b8ae74f57d95a03adff3ffee66a1f09ae569e240a99ff08e026cd7bf575347ec9941bf6e0174c0b3b468a3434304dd8356db3e4d35d SHA512 bb68fe81c0d8cea206b93484d94d5bfc9a9272827616f3ce8016721027a736b190ae37679baed70df0350c3f84235fdb3d6a525d93123ff561ef6d83b7717562
|
||||
DIST voikko-fi-2.5.tar.gz 703898 BLAKE2B 596425311bcdbbf8af97bc32cd69c59cdfa56300afbce22501f084b138ffbd7a915f08628e40a832110e9d366d128747d7e7a0ebdfa38a7734c4f1c1cb303997 SHA512 6de3c6c13a9fb05a463a55177dc1707d5e4ca01c7ccf08e0f8ab73cb3a353ee4935adc23a1b5f6c5da568dbb075c081a700d8d46eb99b6bcbed0efb4d977f59a
|
||||
DIST voikko-fi-2.5.tar.gz.asc 833 BLAKE2B 329d442064adee3967b703e19edcdfb20a03e3337751282129e2816f265fcd4ada9c2ce82c146bcde8a644e47b462404ce9abf99f5bc6d2fe2f986f83b73d1e1 SHA512 ccdaa4e76b81f8ee8fcc20c1d870200a1255f9aa84c8dae139f343e8b2cc9ecefb38a16af8653e9c94a1e5cba25c850b8309d406e3d5b323864c8c0ad38979eb
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_REQ_USE="xml"
|
||||
|
||||
inherit python-any-r1 verify-sig
|
||||
|
||||
DESCRIPTION="Finnish dictionary for libvoikko based spell checkers (vvfst format)"
|
||||
HOMEPAGE="https://voikko.puimula.org/"
|
||||
SRC_URI="https://www.puimula.org/voikko-sources/${PN}/${P}.tar.gz
|
||||
verify-sig? ( https://www.puimula.org/voikko-sources/voikko-fi/${P}.tar.gz.asc )"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DEPEND="dev-libs/foma
|
||||
dev-libs/libvoikko"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND="${PYTHON_DEPS}
|
||||
dev-libs/libvoikko
|
||||
verify-sig? ( sec-keys/openpgp-keys-voikko )"
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/voikko.asc
|
||||
|
||||
src_compile() {
|
||||
emake vvfst
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}/usr/share/voikko/" vvfst-install
|
||||
einstalldocs
|
||||
}
|
Binary file not shown.
@ -0,0 +1,240 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit multilib flag-o-matic pax-utils toolchain-funcs
|
||||
|
||||
#same order as http://www.sbcl.org/platform-table.html
|
||||
BV_X86=1.4.3
|
||||
BV_AMD64=2.2.1
|
||||
BV_PPC=1.2.7
|
||||
BV_PPC64LE=1.5.8
|
||||
BV_SPARC=1.0.28
|
||||
BV_ALPHA=1.0.28
|
||||
BV_ARM=1.4.11
|
||||
BV_ARM64=1.4.2
|
||||
BV_X64_MACOS=1.2.11
|
||||
BV_PPC_MACOS=1.0.47
|
||||
BV_X86_SOLARIS=1.2.7
|
||||
BV_X64_SOLARIS=1.2.7
|
||||
BV_SPARC_SOLARIS=1.0.23
|
||||
|
||||
DESCRIPTION="Steel Bank Common Lisp (SBCL) is an implementation of ANSI Common Lisp"
|
||||
HOMEPAGE="http://sbcl.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/sbcl/${P}-source.tar.bz2
|
||||
x86? ( mirror://sourceforge/sbcl/${PN}-${BV_X86}-x86-linux-binary.tar.bz2 )
|
||||
amd64? ( mirror://sourceforge/sbcl/${PN}-${BV_AMD64}-x86-64-linux-binary.tar.bz2 )
|
||||
ppc? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC}-powerpc-linux-binary.tar.bz2 )
|
||||
ppc64? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC64LE}-ppc64le-linux-binary.tar.bz2 )
|
||||
sparc? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC}-sparc-linux-binary.tar.bz2 )
|
||||
alpha? ( mirror://sourceforge/sbcl/${PN}-${BV_ALPHA}-alpha-linux-binary.tar.bz2 )
|
||||
arm? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM}-armhf-linux-binary.tar.bz2 )
|
||||
arm64? ( mirror://sourceforge/sbcl/${PN}-${BV_ARM64}-arm64-linux-binary.tar.bz2 )
|
||||
x64-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_MACOS}-x86-64-darwin-binary.tar.bz2 )
|
||||
ppc-macos? ( mirror://sourceforge/sbcl/${PN}-${BV_PPC_MACOS}-powerpc-darwin-binary.tar.bz2 )
|
||||
x86-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X86_SOLARIS}-x86-solaris-binary.tar.bz2 )
|
||||
x64-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_X64_SOLARIS}-x86-64-solaris-binary.tar.bz2 )
|
||||
sparc-solaris? ( mirror://sourceforge/sbcl/${PN}-${BV_SPARC_SOLARIS}-sparc-solaris-binary.tar.bz2 )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
|
||||
IUSE="debug doc source +threads +unicode zlib"
|
||||
|
||||
CDEPEND=">=dev-lisp/asdf-3.3:="
|
||||
BDEPEND="${CDEPEND}
|
||||
doc? ( sys-apps/texinfo >=media-gfx/graphviz-2.26.0 )"
|
||||
RDEPEND="${CDEPEND}
|
||||
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.6 ) )"
|
||||
|
||||
# Disable warnings about executable stacks, as this won't be fixed soon by upstream
|
||||
QA_EXECSTACK="usr/bin/sbcl"
|
||||
|
||||
CONFIG="${S}/customize-target-features.lisp"
|
||||
ENVD="${T}/50sbcl"
|
||||
|
||||
# Prevent ASDF from using the system libraries
|
||||
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)"
|
||||
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)"
|
||||
|
||||
usep() {
|
||||
use ${1} && echo "true" || echo "false"
|
||||
}
|
||||
|
||||
sbcl_feature() {
|
||||
echo "$( [[ ${1} == "true" ]] && echo "(enable ${2})" || echo "(disable ${2})")" >> "${CONFIG}"
|
||||
}
|
||||
|
||||
sbcl_apply_features() {
|
||||
sed 's/^X//' > "${CONFIG}" <<-'EOF'
|
||||
(lambda (list)
|
||||
X (flet ((enable (x) (pushnew x list))
|
||||
X (disable (x) (setf list (remove x list))))
|
||||
EOF
|
||||
if use x86 || use amd64; then
|
||||
sbcl_feature "$(usep threads)" ":sb-thread"
|
||||
fi
|
||||
sbcl_feature "true" ":sb-ldb"
|
||||
sbcl_feature "false" ":sb-test"
|
||||
sbcl_feature "$(usep unicode)" ":sb-unicode"
|
||||
sbcl_feature "$(usep zlib)" ":sb-core-compression"
|
||||
sbcl_feature "$(usep debug)" ":sb-xref-for-internals"
|
||||
sed 's/^X//' >> "${CONFIG}" <<-'EOF'
|
||||
X )
|
||||
X list)
|
||||
EOF
|
||||
cat "${CONFIG}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
mv sbcl-*-* sbcl-binary || die
|
||||
cd "${S}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #468482
|
||||
eapply "${FILESDIR}"/concurrency-test-2.0.1.patch
|
||||
# bugs #486552, #527666, #517004
|
||||
eapply "${FILESDIR}"/bsd-sockets-test-2.0.5.patch
|
||||
# bugs #560276, #561018
|
||||
eapply "${FILESDIR}"/sb-posix-test-1.2.15.patch
|
||||
# bug #767742
|
||||
eapply "${FILESDIR}"/etags-2.1.0.patch
|
||||
|
||||
eapply "${FILESDIR}"/verbose-build-2.0.3.patch
|
||||
|
||||
eapply_user
|
||||
|
||||
# Make sure the *FLAGS variables are sane.
|
||||
# sbcl needs symbols in resulting binaries, so building with the -s linker flag will fail.
|
||||
strip-unsupported-flags
|
||||
filter-flags -fomit-frame-pointer -Wl,-s
|
||||
filter-ldflags -s
|
||||
|
||||
# original bugs #526194, #620532
|
||||
# this broke no-pie default builds, c.f. bug #632670
|
||||
# Pass CFLAGS down by appending our value, to let users override
|
||||
# the default values.
|
||||
# Keep passing LDFLAGS down via the LINKFLAGS variable.
|
||||
sed -e "s@\(CFLAGS += -g .*\)\$@\1 ${CFLAGS}@" \
|
||||
-e "s@LINKFLAGS += -g\$@LINKFLAGS += ${LDFLAGS}@" \
|
||||
-i src/runtime/GNUmakefile || die
|
||||
|
||||
sed -e "s@SBCL_PREFIX=\"/usr/local\"@SBCL_PREFIX=\"${EPREFIX}/usr\"@" \
|
||||
-i make-config.sh || die
|
||||
|
||||
# Use installed ASDF version
|
||||
cp "${EPREFIX}"/usr/share/common-lisp/source/asdf/build/asdf.lisp contrib/asdf/ || die
|
||||
# Avoid installation of ASDF info page. See bug #605752
|
||||
sed '/INFOFILES/s/asdf.info//' -i doc/manual/Makefile || die
|
||||
|
||||
use source && sed 's%"$(BUILD_ROOT)%$(MODULE).lisp "$(BUILD_ROOT)%' -i contrib/vanilla-module.mk
|
||||
|
||||
# Some shells(such as dash) don't have "time" as builtin
|
||||
# and we don't want to DEPEND on sys-process/time
|
||||
sed "s,^time ,," -i make.sh || die
|
||||
sed "s,/lib,/$(get_libdir),g" -i install.sh || die
|
||||
# #define SBCL_HOME ...
|
||||
sed "s,/usr/local/lib,${EPREFIX}/usr/$(get_libdir),g" -i src/runtime/runtime.c || die
|
||||
# change location of /etc/sbclrc ...
|
||||
sed "s,/etc/sbclrc,${EPREFIX}/etc/sbclrc,g" -i src/code/toplevel.lisp || die
|
||||
|
||||
find . -type f -name .cvsignore -delete
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# customizing SBCL version as per
|
||||
# http://sbcl.cvs.sourceforge.net/sbcl/sbcl/doc/PACKAGING-SBCL.txt?view=markup
|
||||
echo -e ";;; Auto-generated by Gentoo\n\"gentoo-${PR}\"" > branch-version.lisp-expr
|
||||
|
||||
# applying customizations
|
||||
sbcl_apply_features
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local bindir="${WORKDIR}"/sbcl-binary
|
||||
|
||||
# clear the environment to get rid of non-ASCII strings, see bug #174702
|
||||
# set HOME for paludis
|
||||
env - HOME="${T}" PATH="${PATH}" \
|
||||
CC="$(tc-getCC)" AS="$(tc-getAS)" LD="$(tc-getLD)" \
|
||||
CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" ASFLAGS="${ASFLAGS}" LDFLAGS="${LDFLAGS}" \
|
||||
GNUMAKE=make ./make.sh \
|
||||
"sh ${bindir}/run-sbcl.sh --no-sysinit --no-userinit --disable-debugger" \
|
||||
|| die "make failed"
|
||||
|
||||
# need to set HOME because libpango(used by graphviz) complains about it
|
||||
if use doc; then
|
||||
env - HOME="${T}" PATH="${PATH}" \
|
||||
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
|
||||
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
|
||||
make -C doc/manual info html || die "Cannot build manual"
|
||||
env - HOME="${T}" PATH="${PATH}" \
|
||||
CL_SOURCE_REGISTRY="(:source-registry :ignore-inherited-configuration)" \
|
||||
ASDF_OUTPUT_TRANSLATIONS="(:output-translations :ignore-inherited-configuration)" \
|
||||
make -C doc/internals info html || die "Cannot build internal docs"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
ewarn "Unfortunately, it is known that some tests fail eg."
|
||||
ewarn "run-program.impure.lisp. This is an issue of the upstream's"
|
||||
ewarn "development and not of Gentoo's side. Please, before filing"
|
||||
ewarn "any bug(s) search for older submissions. Thank you."
|
||||
time ( cd tests && sh run-tests.sh )
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install system-wide initfile
|
||||
dodir /etc/
|
||||
sed 's/^X//' > "${ED}"/etc/sbclrc <<-EOF
|
||||
;;; The following is required if you want source location functions to
|
||||
;;; work in SLIME, for example.
|
||||
X
|
||||
(setf (logical-pathname-translations "SYS")
|
||||
X '(("SYS:SRC;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/src/**/*.*")
|
||||
X ("SYS:CONTRIB;**;*.*.*" #p"${EPREFIX}/usr/$(get_libdir)/sbcl/**/*.*")))
|
||||
X
|
||||
;;; Setup ASDF2
|
||||
(load "${EPREFIX}/etc/common-lisp/gentoo-init.lisp")
|
||||
EOF
|
||||
|
||||
# Install documentation
|
||||
unset SBCL_HOME
|
||||
INSTALL_ROOT="${ED}/usr" LIB_DIR="${EPREFIX}/usr/$(get_libdir)" DOC_DIR="${ED}/usr/share/doc/${PF}" \
|
||||
sh install.sh || die "install.sh failed"
|
||||
|
||||
# bug #517008
|
||||
pax-mark -mr "${D}"/usr/bin/sbcl
|
||||
|
||||
# rm empty directories lest paludis complain about this
|
||||
find "${ED}" -empty -type d -exec rmdir -v {} +
|
||||
|
||||
if use doc; then
|
||||
dodoc -r doc/internals/sbcl-internals
|
||||
|
||||
doinfo doc/manual/*.info*
|
||||
doinfo doc/internals/sbcl-internals.info
|
||||
|
||||
docinto internals-notes
|
||||
dodoc doc/internals-notes/*
|
||||
else
|
||||
rm -Rv "${ED}/usr/share/doc/${PF}" || die
|
||||
fi
|
||||
|
||||
# install the SBCL source
|
||||
if use source; then
|
||||
./clean.sh
|
||||
cp -av src "${ED}/usr/$(get_libdir)/sbcl/" || die
|
||||
for d in contrib/*/; do
|
||||
cp -av "$d" "${ED}/usr/$(get_libdir)/sbcl/" || die
|
||||
done
|
||||
fi
|
||||
|
||||
# necessary for running newly-saved images
|
||||
echo "SBCL_HOME=${EPREFIX}/usr/$(get_libdir)/${PN}" > "${ENVD}"
|
||||
echo "SBCL_SOURCE_ROOT=${EPREFIX}/usr/$(get_libdir)/${PN}/src" >> "${ENVD}"
|
||||
doenvd "${ENVD}"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST bigarray-compat-1.0.0.tar.gz 1385 BLAKE2B afa38fd206de8738db51742467b95df4aec3e4e713c946c2c1d041da7e19483bdb53dca440b50c9c1b3c3a5fd7ac71a63ccfe74a14a5743f10f35429838a1c14 SHA512 c365fee15582aca35d7b05268cde29e54774ad7df7be56762b4aad78ca1409d4326ad3b34af0f1cc2c7b872837290a9cd9ff43b47987c03bba7bba32fe8a030f
|
||||
DIST bigarray-compat-1.1.0.tar.gz 2046 BLAKE2B a42ca96452106920a26e8cc95e1f31d887af57687243b6896f4ac80091c78c590ee37e7291c2319b5d9ef3f0fd72b8add463e2ef11f830cee169451f34930c1f SHA512 bbd9c2b319930db832ae8d41844ef81e74ced9f745f32981f2efcc9777220d55e1e5d6dc2965e9e1a6ed5e0d56ad27c672289f8dc28fbe2658f3230cbda5a800
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="Compatibility library to use Stdlib.Bigarray when possible"
|
||||
HOMEPAGE="https://github.com/mirage/bigarray-compat"
|
||||
SRC_URI="https://github.com/mirage/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
@ -1,3 +1,4 @@
|
||||
DIST ocaml-migrate-parsetree-1.8.0.tar.gz 466241 BLAKE2B 0b2211ed3a2a2e4e5200a6da0eb288839620fb6397b3cb2b1b83ed7c9a6a23eb7505e1311d30a8449a198221888a5d3b44d528dc84b1f6cabc546adad4110c67 SHA512 25eefd57a23221c7e71025557c977159c2a831713a40188e9750af7ddb93f089163ad4d8b24c53667869839249f1f389ea7928f54777101d5c291684e76be1a1
|
||||
DIST ocaml-migrate-parsetree-2.1.0.tar.gz 169358 BLAKE2B 072ba6e1a879d5e308e7b40c55c323f353cd2187c8884bce25bffd35d7f5e64f2aa7070ae2766c1e41ef47ffbbf44218fdc8b823dbb33c6c11f0e262cd94ab83 SHA512 0fd9dc9ae9a4c0b50f100958c0df6d9bb33a4d3c2e4d9572aae52d4e7393c1432deca9f5812dbccc637150b1a8f58eabb433e87baf08c79af9e1ff3c58509a32
|
||||
DIST ocaml-migrate-parsetree-2.2.0.tar.gz 188265 BLAKE2B a551ab1abd9db751d5300cd6c570e2072fa8d242c6a58c9b84387b177211081f6747526ae787ad51817bd63162c3fed61cbd1e3af083a49a524c0e38c69546e1 SHA512 7c1eec4b1d66d6d7df685684b054d8e98de6d4bafb6601116affc9f05fa89fb098824005891f0002e12c2d83ade734cffde2070792db8c9bc2d79825b86b45c1
|
||||
DIST ocaml-migrate-parsetree-2.3.0.tar.gz 206750 BLAKE2B 47ffdf83d8329a5dc715f4d43f5440ee05bc88d2ebd1e7a11b8c45a2b1de64be77b2d0905f46a594fa84ca62785c64472b2b8bc1ee37440fca9b8dd5a56dbcc5 SHA512 f2000939eee0b2eac93d059292b0bc13aa809c9fe5e54b1e0bf412e41921647e9bc71ef23e0c6fba70e481891ece5a65763743932c69bf278a1036c437313219
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="Convert OCaml parsetrees between different major versions"
|
||||
HOMEPAGE="https://github.com/let-def/ocaml-migrate-parsetree"
|
||||
SRC_URI="https://github.com/let-def/ocaml-migrate-parsetree/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt test"
|
||||
RESTRICT="!test? ( test ) strip"
|
||||
|
||||
DEPEND="test? ( dev-ml/cinaps )"
|
||||
BDEPEND=">=dev-ml/dune-2.3"
|
@ -1 +1,2 @@
|
||||
DIST ocplib-endian-1.1.tar.gz 17544 BLAKE2B 62e4b1cb998ac00fd3cfd7178939b6c9f8c1bebe7c0dc072fbb45b79172cb07f4466e5f1e6e93b41e3fb8c3df8020d2033eb24abfec4906d3ad003fa22bdcd27 SHA512 39351c666d1394770696fa89ac62f7c137ad1697d99888bfba2cc8de2c61df05dd8b3aa327c117bf38f3e29e081026d2c575c5ad0022bde92b3d43aba577d3f9
|
||||
DIST ocplib-endian-1.2.tar.gz 18061 BLAKE2B 25354888f80ec4d09b9605f293b121dd66d365a461d2e40d9c3d41afa56303562d5db03a469469c1d59d304dd0d47657381c2f42b9e4935005c2ce85fbd5b80a SHA512 2e70be5f3d6e377485c60664a0e235c3b9b24a8d6b6a03895d092c6e40d53810bfe1f292ee69e5181ce6daa8a582bfe3d59f3af889f417134f658812be5b8b85
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="Functions to read and write int16/32/64 from strings, bytes, and bigarrays"
|
||||
HOMEPAGE="https://github.com/OCamlPro/ocplib-endian"
|
||||
SRC_URI="https://github.com/OCamlPro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
# 2 of 70 tests fail
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND=">=dev-ml/cppo-1.6.6"
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="opam client libraries"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV/_/-}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/cmdliner:=
|
||||
~dev-ml/opam-repository-${PV}:=
|
||||
~dev-ml/opam-state-${PV}:=
|
||||
~dev-ml/opam-solver-${PV}:=
|
||||
dev-ml/opam-file-format:=
|
||||
dev-ml/re:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="test? ( sys-apps/bubblewrap )"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# We are opam
|
||||
OPAM_INSTALLER_DEP=" "
|
||||
inherit opam
|
||||
|
||||
DESCRIPTION="Core libraries for opam"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV}"
|
||||
OPAM_INSTALLER="${S}/opam-installer"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/ocamlgraph:=
|
||||
dev-ml/re:=
|
||||
dev-ml/opam-file-format:=
|
||||
dev-ml/cmdliner:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/cppo"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9))))
|
||||
EOF
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 opam-installer
|
||||
emake -j1 ${PN}.install
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# We are opam
|
||||
OPAM_INSTALLER_DEP=" "
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="Core libraries for opam"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV}"
|
||||
OPAM_INSTALLER="${S}/opam-installer"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
~dev-ml/opam-core-${PV}:=
|
||||
dev-ml/re:=
|
||||
dev-ml/opam-file-format:=
|
||||
>=dev-ml/dose3-6.0:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-ml/cppo"
|
||||
BDEPEND="test? (
|
||||
sys-apps/bubblewrap
|
||||
dev-ml/mccs
|
||||
)"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
sed -i \
|
||||
-e '/wrap-build-commands/d' \
|
||||
-e '/wrap-install-commands/d' \
|
||||
-e '/wrap-remove-commands/d' \
|
||||
tests/reftests/opamroot-versions.test \
|
||||
|| die
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="opam repository libraries"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV/_/-}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
~dev-ml/opam-format-${PV}:=
|
||||
dev-ml/re:=
|
||||
>=dev-ml/dose3-6.0:=
|
||||
dev-ml/opam-file-format:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="opam solver"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV/_/-}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
~dev-ml/opam-format-${PV}:=
|
||||
dev-ml/opam-file-format:=
|
||||
dev-ml/re:=
|
||||
>=dev-ml/mccs-1.1.4:=
|
||||
>=dev-ml/dose3-6.0:=
|
||||
dev-ml/cudf:=
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-ml/opam-client )"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="opam state libraries"
|
||||
HOMEPAGE="https://opam.ocaml.org/ https://github.com/ocaml/opam"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV/_/-}"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/re:=
|
||||
dev-ml/opam-file-format:=
|
||||
~dev-ml/opam-repository-${PV}:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit dune
|
||||
|
||||
DESCRIPTION="A source-based package manager for OCaml"
|
||||
HOMEPAGE="http://opam.ocaml.org/"
|
||||
SRC_URI="https://github.com/ocaml/opam/archive/${PV/_/-}.tar.gz -> opam-${PV}.tar.gz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-ml/opam/opam-2.1.0-dose3-6.patch.xz"
|
||||
S="${WORKDIR}/opam-${PV/_/-}"
|
||||
|
||||
LICENSE="LGPL-2.1-with-linking-exception"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="+ocamlopt"
|
||||
|
||||
RDEPEND="
|
||||
dev-ml/cmdliner:=
|
||||
dev-ml/cudf:=
|
||||
>=dev-ml/dose3-6.0:=
|
||||
dev-ml/extlib:=
|
||||
~dev-ml/opam-client-${PV}:=
|
||||
dev-ml/opam-file-format:=
|
||||
dev-ml/re:="
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${WORKDIR}"/opam-2.1.0-dose3-6.patch )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
cat <<- EOF >> "${S}/dune"
|
||||
(env
|
||||
(dev
|
||||
(flags (:standard -warn-error -3-9-33)))
|
||||
(release
|
||||
(flags (:standard -warn-error -3-9-33))))
|
||||
EOF
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A Python package that generates fake data for you"
|
||||
HOMEPAGE="https://github.com/joke2k/faker"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/text-unidecode-1.3[${PYTHON_USEDEP}]
|
||||
!dev-ruby/faker"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/freezegun[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP},tiff]
|
||||
dev-python/random2[${PYTHON_USEDEP}]
|
||||
dev-python/validators[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests pytest
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST ansi-0.2.0.tar.gz 5173 BLAKE2B 436caa8e1f36e96f1844e79e3a0ff0c4099e76b25ce9f56c9d8663aeeb650f32fba75a14fe8548f557fb020e2340707272fdda4cdd3c245c903a4f801ae48413 SHA512 22c69b5030f03eca9470e288c16e62042ccd02ef2e232600a4fab629354601d5da0f7c16b60dae7293c69255e5d4125298890d99dba8e5387960a5be60b92d61
|
||||
DIST ansi-0.3.5.tar.gz 6597 BLAKE2B 4e32bd7add4af1d9f11173aa79d6ed139814f3b3727a4599f104e8632a4e169fdaccf3e18ecf425f86c17c70c1d185f6a915bd9cbac2589d376fc23c338127e6 SHA512 a12b7e1231c2691edf6d807907fe6b8a8d6c6bc116fd9681b6bb7603e6e2ce7af17e3e7892d4046752844327eb8f02a248f93686640bec24dbe2be59202b01e3
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="ANSI cursor movement and graphics in Python"
|
||||
HOMEPAGE="https://github.com/tehmaze/ansi/"
|
||||
SRC_URI="https://github.com/tehmaze/${PN}/archive/${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${P}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -1 +1,2 @@
|
||||
DIST ansi2html-1.6.0.tar.gz 36053 BLAKE2B deb63c6c9f431ff225cfcbbd2995f0fce9535736dba7d8c92f1f2e51d525640e69bc4269ab073438239edb35815288fa17b2d69c89cca7627ba2b5096009611f SHA512 35e5fb6cee96fe41a658c005734a58b08bc05e8ad5903ad18684c316bdad351a70c534b4162416225bc2ca774d01b4ac1bb8a8dad3170d0738aa7b3daf46b3c0
|
||||
DIST ansi2html-1.7.0.tar.gz 42189 BLAKE2B 91c7409b4f8b7503e719489b18e9d7267d80c5259b7481f127cb8d1e6429649249b0832746285efc3e8a4f90ca8f21b872b002634d47a4a54ddfdcc74df0f576 SHA512 bcae0de9874899bd8440853b8279f3b2c4ed46e24bf807221ddc9d1bfa39647e2efd178aefc2fd39bad27b53890270b6ff7c150a0b8e74581b8323ef7a16c977
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
DISTUTILS_USE_SETUPTOOLS=pyproject.toml
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Convert text with ANSI color codes to HTML"
|
||||
HOMEPAGE="https://pypi.org/project/ansi2html/ https://github.com/pycontribs/ansi2html"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]"
|
||||
BDEPEND="
|
||||
dev-python/setuptools_scm[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
|
||||
dev-python/toml[${PYTHON_USEDEP}]
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
)
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests --install pytest
|
||||
|
||||
python_install_all() {
|
||||
use doc && doman man/${PN}.1
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Upstream https://github.com/pycontribs/ansi2html/issues/124
|
||||
use doc && emake man/ansi2html.1
|
||||
distutils-r1_src_compile
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST autocommand-2.2.1_p20211118.gh.tar.gz 22093 BLAKE2B 186062c0234fc0cc553c5d2a474a5fef46e0de25de8220228715265630fc95ed5f9b64321131322af71fadcc70ef79690652cd555a908b4e8628603a8ee494b2 SHA512 488228c7536f00ff9fbed99677440bfd7228aa64189bbcfb6aad7a92dc698d8283dfbd619ffeaeef883b0e600a90e2a0f56fa79958f144ce673dff53f8d59f89
|
@ -0,0 +1,25 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
inherit distutils-r1
|
||||
|
||||
COMMIT="031c9750c74e3313b954b09e3027aaa6595649bb"
|
||||
|
||||
DESCRIPTION="Library to create a command-line program from a function"
|
||||
HOMEPAGE="https://pypi.org/project/autocommand/
|
||||
https://github.com/Lucretiel/autocommand"
|
||||
SRC_URI="
|
||||
https://github.com/Lucretiel/autocommand/archive/${COMMIT}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
S="${WORKDIR}/${PN}-${COMMIT}"
|
||||
|
||||
LICENSE="LGPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="pypi">autocommand</remote-id>
|
||||
<remote-id type="github">Lucretiel/autocommand</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1 @@
|
||||
DIST cachecontrol-0.12.10.gh.tar.gz 39944 BLAKE2B a760db75384a48a21506d7bcc9edc63dd5b8f7b09ba4ff7afb968c7df3a505a9c6e5eece6e275ec1c9d49763a36124f7221123739fe07695ac2b0bbfb62e948c SHA512 3374a2b0cd42d6f3975b42de46e7aaf92a15403b65aaf53ba14102d6ce68bad85dc4d8f0eaa294604b54ee3e2b1d7d3c56c1dac8e717de41cc7be6d880afc1e7
|
@ -0,0 +1,36 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="httplib2 caching for requests"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/CacheControl/
|
||||
https://github.com/ionrock/cachecontrol/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/ionrock/cachecontrol/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/cherrypy[${PYTHON_USEDEP}]
|
||||
dev-python/lockfile[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="github">ionrock/cachecontrol</remote-id>
|
||||
<remote-id type="pypi">CacheControl</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,3 +1,4 @@
|
||||
DIST cfn-lint-0.56.3.tar.gz 8278034 BLAKE2B 894d30add7a193d256dc2195c0cd1d4b75f10f60abe9e37c5b0bdd84178d9559759326ad3e55d2321b99588094b436dc2dc8dff1cc561ae56dd4cee98d6b43bd SHA512 8aeaf44a626f9bfc05ebeefc8aec9211fcac1a65de681d5d700f3621631bff15e74ed644b9d0dc8af4d9b0b14802c2259dbc4ccf38594705040f5fd3af1cf482
|
||||
DIST cfn-lint-0.56.4.tar.gz 8550039 BLAKE2B 99efd99b423e068717f3050e4da444436463c16b0a55dfc36ca7ca45b1136d08bbce84441c8c4170eff7c82cbd4ecf87b6f78504b1d09d850d803a7e957903c9 SHA512 b7c94d85d58f9e44ff8d5575bb33c8c7fafcb908afe144d585765f02d645436d6583ecc802f0fa376597b75c72ada9a23862141cf1170c1ac1f64f2467d346fb
|
||||
DIST cfn-lint-0.57.0.tar.gz 8579636 BLAKE2B 5e9cadcbd695b1047c4cf51132fcdf5a254a89fcd89a86e3c5d86096e8cd376f7f02422757f7daaf98490ff82df88933a976faba1ea6504a463ed7c485c83631 SHA512 11ec66bc5a98c928e059778462766100fb47f4b45a4cc7023d3d2b70ae664a1b199ec4df0d95cb9ada5a09a1f7a609fcec7d76339b3d9d6430bbe85462e1c020
|
||||
DIST cfn-lint-0.58.0.tar.gz 8645209 BLAKE2B b198c8e6a56095782ab5fbd70f1f5872d951da133ee7056ef468e5d1cd0ba1a7831ebd4263248ec2cec04980211e01cf3525e18f8ad272d6b1aaeee07527028d SHA512 238929a79d25b6a5945fd43f29fa3c432c650923634495c2ace7e3f6ace0c7701bcc278ea151a9172691bd04164f8a7b409dd8387e82e5917a9f65e1a556a4d2
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="CloudFormation Linter"
|
||||
HOMEPAGE="https://pypi.org/project/cfn-lint/ https://github.com/aws-cloudformation/cfn-lint/"
|
||||
SRC_URI="
|
||||
https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz
|
||||
-> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-python/aws-sam-translator-1.42.0[${PYTHON_USEDEP}]
|
||||
dev-python/jsonpatch[${PYTHON_USEDEP}]
|
||||
>=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
|
||||
dev-python/junit-xml[${PYTHON_USEDEP}]
|
||||
dev-python/networkx[${PYTHON_USEDEP}]
|
||||
>dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.11[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# TODO
|
||||
test/unit/module/test_template.py::TestTemplate::test_build_graph
|
||||
# requires git repo
|
||||
test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
|
||||
# Internet
|
||||
test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
|
||||
test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_2
|
||||
test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# unpin the deps
|
||||
sed -e 's:~=[0-9.]*::' -i setup.py || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST charset_normalizer-2.0.10.gh.tar.gz 82368 BLAKE2B 935af7625c138f8751de60c4179ee6b0195e99366c7bbecd8e9dfdf09ea557e2eb7cb86830321f91b3b7aa3fc1b3cc376266a4c22d23aabc6dfa6b9db57beb45 SHA512 87c8cbadef8c57121f0f6e2ea9558a9d2124dc444789dd984beadae020349a4e48a484e8937399f0e99f8c87edc621d55d26a9f22fa738e468e70ed17564d7ae
|
||||
DIST charset_normalizer-2.0.11.gh.tar.gz 83221 BLAKE2B 3342c56b9e66c64e80ec8a29d9b416e8d11c0c57800f40dcbdb9105ae11c1e838682e178d46b2b604b29afa61aabf0b9c3f9db3063998542f03f1c379a64b7f8 SHA512 1026302a412263ce0fc1b2f3c1a32f27b060cdcabe49f4567a5641e4f58a5375813d5d668e96b37af1a982b2d2c6e437ae229706704196a211ba14dfdc7c9ea0
|
||||
DIST charset_normalizer-2.0.9.gh.tar.gz 79757 BLAKE2B 9e4b3f65689791739f6b7509bcf9cce8f0a9c536251452b1130aa4476fa218c11087db719d8273087884a9e96b9daf32599d1386e95bda42ca31600b0b37299e SHA512 0957752c1083897193fbdfbeec453a2b279b0834c0074f9f1ae08faac51d3e281eeb0a6d8fb217885101fd04761296555364a9f957e89bf8103fdc569d249056
|
||||
|
@ -0,0 +1,33 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..10} pypy3 )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="The Real First Universal Charset Detector"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/charset-normalizer/
|
||||
https://github.com/Ousret/charset_normalizer/"
|
||||
SRC_URI="
|
||||
https://github.com/Ousret/charset_normalizer/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/addopts/d' setup.cfg || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# pytest-httpx interferes with logging tests
|
||||
epytest -p no:httpx
|
||||
}
|
@ -0,0 +1,416 @@
|
||||
From 94a2cc036203c6da55174ef3b105c0c875bbc79f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Mon, 31 Jan 2022 22:25:34 +0100
|
||||
Subject: [PATCH] Use context managers to close files properly and fix tests on
|
||||
PyPy
|
||||
|
||||
Use context managers (`with`) to ensure that all open files are closed
|
||||
correctly. This resolves resource leaks and test failures with PyPy3.7.
|
||||
|
||||
The code prior to this change used four approaches for closing files:
|
||||
|
||||
1. Using a context manager (`with` clause).
|
||||
|
||||
2. Using a try/finally clause.
|
||||
|
||||
3. Closing the file in the same scope (unreliable: file object can leak
|
||||
on exception).
|
||||
|
||||
4. Not closing open files at all.
|
||||
|
||||
The last point is a real problem for PyPy since it does not GC
|
||||
unreachable objects as aggressively as CPython does. While leaving
|
||||
a function scope on CPython causes the file objects private to it to
|
||||
be destroyed (and therefore closed), in PyPy they can stay dangling
|
||||
for some time. When combines with buffered writes, this means that
|
||||
writes can still remain pending after returning from function.
|
||||
|
||||
Using a context manager is a simple, consistent way to ensure that
|
||||
the file object is closed once it is no longer needed. In turn, this
|
||||
guarantees that all pending writes will be performed upon function
|
||||
return and the code won't be hiting race conditions between writing
|
||||
a file and reading it afterwards.
|
||||
---
|
||||
cherrypy/_cperror.py | 3 ++-
|
||||
cherrypy/_cpmodpy.py | 5 +----
|
||||
cherrypy/lib/auth_digest.py | 13 ++++++------
|
||||
cherrypy/lib/covercp.py | 40 ++++++++++++++++++------------------
|
||||
cherrypy/lib/reprconf.py | 5 +----
|
||||
cherrypy/lib/sessions.py | 10 ++-------
|
||||
cherrypy/process/plugins.py | 3 ++-
|
||||
cherrypy/test/helper.py | 3 ++-
|
||||
cherrypy/test/logtest.py | 33 ++++++++++++++++-------------
|
||||
cherrypy/test/modfastcgi.py | 5 +----
|
||||
cherrypy/test/modfcgid.py | 5 +----
|
||||
cherrypy/test/modpy.py | 5 +----
|
||||
cherrypy/test/modwsgi.py | 5 +----
|
||||
cherrypy/test/test_core.py | 5 ++---
|
||||
cherrypy/test/test_states.py | 11 +++++-----
|
||||
15 files changed, 67 insertions(+), 84 deletions(-)
|
||||
|
||||
diff --git a/cherrypy/_cperror.py b/cherrypy/_cperror.py
|
||||
index 4e727682..ebf1dcf6 100644
|
||||
--- a/cherrypy/_cperror.py
|
||||
+++ b/cherrypy/_cperror.py
|
||||
@@ -532,7 +532,8 @@ def get_error_page(status, **kwargs):
|
||||
return result
|
||||
else:
|
||||
# Load the template from this path.
|
||||
- template = io.open(error_page, newline='').read()
|
||||
+ with io.open(error_page, newline='') as f:
|
||||
+ template = f.read()
|
||||
except Exception:
|
||||
e = _format_exception(*_exc_info())[-1]
|
||||
m = kwargs['message']
|
||||
diff --git a/cherrypy/_cpmodpy.py b/cherrypy/_cpmodpy.py
|
||||
index 0e608c48..a08f0ed9 100644
|
||||
--- a/cherrypy/_cpmodpy.py
|
||||
+++ b/cherrypy/_cpmodpy.py
|
||||
@@ -339,11 +339,8 @@ LoadModule python_module modules/mod_python.so
|
||||
}
|
||||
|
||||
mpconf = os.path.join(os.path.dirname(__file__), 'cpmodpy.conf')
|
||||
- f = open(mpconf, 'wb')
|
||||
- try:
|
||||
+ with open(mpconf, 'wb') as f:
|
||||
f.write(conf_data)
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
response = read_process(self.apache_path, '-k start -f %s' % mpconf)
|
||||
self.ready = True
|
||||
diff --git a/cherrypy/lib/auth_digest.py b/cherrypy/lib/auth_digest.py
|
||||
index fbb5df64..981e9a5d 100644
|
||||
--- a/cherrypy/lib/auth_digest.py
|
||||
+++ b/cherrypy/lib/auth_digest.py
|
||||
@@ -101,13 +101,12 @@ def get_ha1_file_htdigest(filename):
|
||||
"""
|
||||
def get_ha1(realm, username):
|
||||
result = None
|
||||
- f = open(filename, 'r')
|
||||
- for line in f:
|
||||
- u, r, ha1 = line.rstrip().split(':')
|
||||
- if u == username and r == realm:
|
||||
- result = ha1
|
||||
- break
|
||||
- f.close()
|
||||
+ with open(filename, 'r') as f:
|
||||
+ for line in f:
|
||||
+ u, r, ha1 = line.rstrip().split(':')
|
||||
+ if u == username and r == realm:
|
||||
+ result = ha1
|
||||
+ break
|
||||
return result
|
||||
|
||||
return get_ha1
|
||||
diff --git a/cherrypy/lib/covercp.py b/cherrypy/lib/covercp.py
|
||||
index 3e219713..005fafa5 100644
|
||||
--- a/cherrypy/lib/covercp.py
|
||||
+++ b/cherrypy/lib/covercp.py
|
||||
@@ -334,26 +334,26 @@ class CoverStats(object):
|
||||
yield '</body></html>'
|
||||
|
||||
def annotated_file(self, filename, statements, excluded, missing):
|
||||
- source = open(filename, 'r')
|
||||
- buffer = []
|
||||
- for lineno, line in enumerate(source.readlines()):
|
||||
- lineno += 1
|
||||
- line = line.strip('\n\r')
|
||||
- empty_the_buffer = True
|
||||
- if lineno in excluded:
|
||||
- template = TEMPLATE_LOC_EXCLUDED
|
||||
- elif lineno in missing:
|
||||
- template = TEMPLATE_LOC_NOT_COVERED
|
||||
- elif lineno in statements:
|
||||
- template = TEMPLATE_LOC_COVERED
|
||||
- else:
|
||||
- empty_the_buffer = False
|
||||
- buffer.append((lineno, line))
|
||||
- if empty_the_buffer:
|
||||
- for lno, pastline in buffer:
|
||||
- yield template % (lno, cgi.escape(pastline))
|
||||
- buffer = []
|
||||
- yield template % (lineno, cgi.escape(line))
|
||||
+ with open(filename, 'r') as source:
|
||||
+ buffer = []
|
||||
+ for lineno, line in enumerate(source.readlines()):
|
||||
+ lineno += 1
|
||||
+ line = line.strip('\n\r')
|
||||
+ empty_the_buffer = True
|
||||
+ if lineno in excluded:
|
||||
+ template = TEMPLATE_LOC_EXCLUDED
|
||||
+ elif lineno in missing:
|
||||
+ template = TEMPLATE_LOC_NOT_COVERED
|
||||
+ elif lineno in statements:
|
||||
+ template = TEMPLATE_LOC_COVERED
|
||||
+ else:
|
||||
+ empty_the_buffer = False
|
||||
+ buffer.append((lineno, line))
|
||||
+ if empty_the_buffer:
|
||||
+ for lno, pastline in buffer:
|
||||
+ yield template % (lno, cgi.escape(pastline))
|
||||
+ buffer = []
|
||||
+ yield template % (lineno, cgi.escape(line))
|
||||
|
||||
@cherrypy.expose
|
||||
def report(self, name):
|
||||
diff --git a/cherrypy/lib/reprconf.py b/cherrypy/lib/reprconf.py
|
||||
index 3976652e..76381d7b 100644
|
||||
--- a/cherrypy/lib/reprconf.py
|
||||
+++ b/cherrypy/lib/reprconf.py
|
||||
@@ -163,11 +163,8 @@ class Parser(configparser.ConfigParser):
|
||||
# fp = open(filename)
|
||||
# except IOError:
|
||||
# continue
|
||||
- fp = open(filename)
|
||||
- try:
|
||||
+ with open(filename) as fp:
|
||||
self._read(fp, filename)
|
||||
- finally:
|
||||
- fp.close()
|
||||
|
||||
def as_dict(self, raw=False, vars=None):
|
||||
"""Convert an INI file to a dictionary"""
|
||||
diff --git a/cherrypy/lib/sessions.py b/cherrypy/lib/sessions.py
|
||||
index 5b3328f2..0f56a4fa 100644
|
||||
--- a/cherrypy/lib/sessions.py
|
||||
+++ b/cherrypy/lib/sessions.py
|
||||
@@ -516,11 +516,8 @@ class FileSession(Session):
|
||||
if path is None:
|
||||
path = self._get_file_path()
|
||||
try:
|
||||
- f = open(path, 'rb')
|
||||
- try:
|
||||
+ with open(path, 'rb') as f:
|
||||
return pickle.load(f)
|
||||
- finally:
|
||||
- f.close()
|
||||
except (IOError, EOFError):
|
||||
e = sys.exc_info()[1]
|
||||
if self.debug:
|
||||
@@ -531,11 +528,8 @@ class FileSession(Session):
|
||||
def _save(self, expiration_time):
|
||||
assert self.locked, ('The session was saved without being locked. '
|
||||
"Check your tools' priority levels.")
|
||||
- f = open(self._get_file_path(), 'wb')
|
||||
- try:
|
||||
+ with open(self._get_file_path(), 'wb') as f:
|
||||
pickle.dump((self._data, expiration_time), f, self.pickle_protocol)
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
def _delete(self):
|
||||
assert self.locked, ('The session deletion without being locked. '
|
||||
diff --git a/cherrypy/process/plugins.py b/cherrypy/process/plugins.py
|
||||
index 2a9952de..e96fb1ce 100644
|
||||
--- a/cherrypy/process/plugins.py
|
||||
+++ b/cherrypy/process/plugins.py
|
||||
@@ -436,7 +436,8 @@ class PIDFile(SimplePlugin):
|
||||
if self.finalized:
|
||||
self.bus.log('PID %r already written to %r.' % (pid, self.pidfile))
|
||||
else:
|
||||
- open(self.pidfile, 'wb').write(ntob('%s\n' % pid, 'utf8'))
|
||||
+ with open(self.pidfile, 'wb') as f:
|
||||
+ f.write(ntob('%s\n' % pid, 'utf8'))
|
||||
self.bus.log('PID %r written to %r.' % (pid, self.pidfile))
|
||||
self.finalized = True
|
||||
start.priority = 70
|
||||
diff --git a/cherrypy/test/helper.py b/cherrypy/test/helper.py
|
||||
index c1ca4535..cae49533 100644
|
||||
--- a/cherrypy/test/helper.py
|
||||
+++ b/cherrypy/test/helper.py
|
||||
@@ -505,7 +505,8 @@ server.ssl_private_key: r'%s'
|
||||
|
||||
def get_pid(self):
|
||||
if self.daemonize:
|
||||
- return int(open(self.pid_file, 'rb').read())
|
||||
+ with open(self.pid_file, 'rb') as f:
|
||||
+ return int(f.read())
|
||||
return self._proc.pid
|
||||
|
||||
def join(self):
|
||||
diff --git a/cherrypy/test/logtest.py b/cherrypy/test/logtest.py
|
||||
index 344be987..112bdc25 100644
|
||||
--- a/cherrypy/test/logtest.py
|
||||
+++ b/cherrypy/test/logtest.py
|
||||
@@ -97,7 +97,8 @@ class LogCase(object):
|
||||
|
||||
def emptyLog(self):
|
||||
"""Overwrite self.logfile with 0 bytes."""
|
||||
- open(self.logfile, 'wb').write('')
|
||||
+ with open(self.logfile, 'wb') as f:
|
||||
+ f.write('')
|
||||
|
||||
def markLog(self, key=None):
|
||||
"""Insert a marker line into the log and set self.lastmarker."""
|
||||
@@ -105,10 +106,11 @@ class LogCase(object):
|
||||
key = str(time.time())
|
||||
self.lastmarker = key
|
||||
|
||||
- open(self.logfile, 'ab+').write(
|
||||
- b'%s%s\n'
|
||||
- % (self.markerPrefix, key.encode('utf-8'))
|
||||
- )
|
||||
+ with open(self.logfile, 'ab+') as f:
|
||||
+ f.write(
|
||||
+ b'%s%s\n'
|
||||
+ % (self.markerPrefix, key.encode('utf-8'))
|
||||
+ )
|
||||
|
||||
def _read_marked_region(self, marker=None):
|
||||
"""Return lines from self.logfile in the marked region.
|
||||
@@ -122,20 +124,23 @@ class LogCase(object):
|
||||
logfile = self.logfile
|
||||
marker = marker or self.lastmarker
|
||||
if marker is None:
|
||||
- return open(logfile, 'rb').readlines()
|
||||
+ with open(logfile, 'rb') as f:
|
||||
+ return f.readlines()
|
||||
|
||||
if isinstance(marker, str):
|
||||
marker = marker.encode('utf-8')
|
||||
data = []
|
||||
in_region = False
|
||||
- for line in open(logfile, 'rb'):
|
||||
- if in_region:
|
||||
- if line.startswith(self.markerPrefix) and marker not in line:
|
||||
- break
|
||||
- else:
|
||||
- data.append(line)
|
||||
- elif marker in line:
|
||||
- in_region = True
|
||||
+ with open(logfile, 'rb') as f:
|
||||
+ for line in f:
|
||||
+ if in_region:
|
||||
+ if (line.startswith(self.markerPrefix)
|
||||
+ and marker not in line):
|
||||
+ break
|
||||
+ else:
|
||||
+ data.append(line)
|
||||
+ elif marker in line:
|
||||
+ in_region = True
|
||||
return data
|
||||
|
||||
def assertInLog(self, line, marker=None):
|
||||
diff --git a/cherrypy/test/modfastcgi.py b/cherrypy/test/modfastcgi.py
|
||||
index 79ec3d18..0c6d01e2 100644
|
||||
--- a/cherrypy/test/modfastcgi.py
|
||||
+++ b/cherrypy/test/modfastcgi.py
|
||||
@@ -112,15 +112,12 @@ class ModFCGISupervisor(helper.LocalWSGISupervisor):
|
||||
fcgiconf = os.path.join(curdir, fcgiconf)
|
||||
|
||||
# Write the Apache conf file.
|
||||
- f = open(fcgiconf, 'wb')
|
||||
- try:
|
||||
+ with open(fcgiconf, 'wb') as f:
|
||||
server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1]
|
||||
output = self.template % {'port': self.port, 'root': curdir,
|
||||
'server': server}
|
||||
output = output.replace('\r\n', '\n')
|
||||
f.write(output)
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf)
|
||||
if result:
|
||||
diff --git a/cherrypy/test/modfcgid.py b/cherrypy/test/modfcgid.py
|
||||
index d101bd67..ea373004 100644
|
||||
--- a/cherrypy/test/modfcgid.py
|
||||
+++ b/cherrypy/test/modfcgid.py
|
||||
@@ -101,15 +101,12 @@ class ModFCGISupervisor(helper.LocalSupervisor):
|
||||
fcgiconf = os.path.join(curdir, fcgiconf)
|
||||
|
||||
# Write the Apache conf file.
|
||||
- f = open(fcgiconf, 'wb')
|
||||
- try:
|
||||
+ with open(fcgiconf, 'wb') as f:
|
||||
server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1]
|
||||
output = self.template % {'port': self.port, 'root': curdir,
|
||||
'server': server}
|
||||
output = ntob(output.replace('\r\n', '\n'))
|
||||
f.write(output)
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf)
|
||||
if result:
|
||||
diff --git a/cherrypy/test/modpy.py b/cherrypy/test/modpy.py
|
||||
index 7c288d2c..024453e9 100644
|
||||
--- a/cherrypy/test/modpy.py
|
||||
+++ b/cherrypy/test/modpy.py
|
||||
@@ -107,13 +107,10 @@ class ModPythonSupervisor(helper.Supervisor):
|
||||
if not os.path.isabs(mpconf):
|
||||
mpconf = os.path.join(curdir, mpconf)
|
||||
|
||||
- f = open(mpconf, 'wb')
|
||||
- try:
|
||||
+ with open(mpconf, 'wb') as f:
|
||||
f.write(self.template %
|
||||
{'port': self.port, 'modulename': modulename,
|
||||
'host': self.host})
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
result = read_process(APACHE_PATH, '-k start -f %s' % mpconf)
|
||||
if result:
|
||||
diff --git a/cherrypy/test/modwsgi.py b/cherrypy/test/modwsgi.py
|
||||
index da7d240b..24c72684 100644
|
||||
--- a/cherrypy/test/modwsgi.py
|
||||
+++ b/cherrypy/test/modwsgi.py
|
||||
@@ -109,14 +109,11 @@ class ModWSGISupervisor(helper.Supervisor):
|
||||
if not os.path.isabs(mpconf):
|
||||
mpconf = os.path.join(curdir, mpconf)
|
||||
|
||||
- f = open(mpconf, 'wb')
|
||||
- try:
|
||||
+ with open(mpconf, 'wb') as f:
|
||||
output = (self.template %
|
||||
{'port': self.port, 'testmod': modulename,
|
||||
'curdir': curdir})
|
||||
f.write(output)
|
||||
- finally:
|
||||
- f.close()
|
||||
|
||||
result = read_process(APACHE_PATH, '-k start -f %s' % mpconf)
|
||||
if result:
|
||||
diff --git a/cherrypy/test/test_core.py b/cherrypy/test/test_core.py
|
||||
index 6fde3a97..42460b3f 100644
|
||||
--- a/cherrypy/test/test_core.py
|
||||
+++ b/cherrypy/test/test_core.py
|
||||
@@ -586,9 +586,8 @@ class CoreRequestHandlingTest(helper.CPWebCase):
|
||||
def testFavicon(self):
|
||||
# favicon.ico is served by staticfile.
|
||||
icofilename = os.path.join(localDir, '../favicon.ico')
|
||||
- icofile = open(icofilename, 'rb')
|
||||
- data = icofile.read()
|
||||
- icofile.close()
|
||||
+ with open(icofilename, 'rb') as icofile:
|
||||
+ data = icofile.read()
|
||||
|
||||
self.getPage('/favicon.ico')
|
||||
self.assertBody(data)
|
||||
diff --git a/cherrypy/test/test_states.py b/cherrypy/test/test_states.py
|
||||
index 28dd6510..d59a4d87 100644
|
||||
--- a/cherrypy/test/test_states.py
|
||||
+++ b/cherrypy/test/test_states.py
|
||||
@@ -424,11 +424,12 @@ test_case_name: "test_signal_handler_unsubscribe"
|
||||
p.join()
|
||||
|
||||
# Assert the old handler ran.
|
||||
- log_lines = list(open(p.error_log, 'rb'))
|
||||
- assert any(
|
||||
- line.endswith(b'I am an old SIGTERM handler.\n')
|
||||
- for line in log_lines
|
||||
- )
|
||||
+ with open(p.error_log, 'rb') as f:
|
||||
+ log_lines = list(f)
|
||||
+ assert any(
|
||||
+ line.endswith(b'I am an old SIGTERM handler.\n')
|
||||
+ for line in log_lines
|
||||
+ )
|
||||
|
||||
|
||||
def test_safe_wait_INADDR_ANY(): # pylint: disable=invalid-name
|
||||
--
|
||||
2.35.1
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue