Sync with portage [Mon Sep 13 08:48:32 MSK 2021].

akrasnyh 2069
root 3 years ago
parent 54783af77a
commit 5a73ba61ad

Binary file not shown.

Binary file not shown.

@ -1,2 +1 @@
DIST mcollective-2.12.4.tar.gz 1517723 BLAKE2B e49a43ae7b99a5f22fe33549b26f938941f4e007c164c3c8de77daf2b3410c7db21e5023a400c87a2e4927a5a986e3b66bc3363a0c697ea06f0dd112825ae368 SHA512 f357297253f1cb5815738c8899a543642ce721c60ba023b13a7b14a99049d909622f8500ed82fc68c142cc1ffc106aed5a9bf8b1604a47c19a04a5ef4006b9e5
DIST mcollective-2.12.5.tar.gz 1517727 BLAKE2B b5d91c748bb1bfc63c7c040fb067d7ba39badede094d975f0b87587fe3a6c5bb6757a5be73f887be5d83f99dfefb0272bd48da6c9e79b4aee34c8d5f51e2e6c5 SHA512 639458d83b3f25d9aa433c205b9d16ded5ec689c1efb4827457fc3075c000d7abc2b70c9c8cf741c8bea03c1e47284015e69bf834e7a5670c68a40097e45891b

@ -1,60 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
USE_RUBY="ruby23 ruby24 ruby25"
inherit ruby-ng
DESCRIPTION="Framework to build server orchestration or parallel job execution
systems"
HOMEPAGE="https://docs.puppet.com/mcollective/"
SRC_URI="https://github.com/puppetlabs/marionette-collective/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/all/marionette-collective-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc +client"
DEPEND=""
RDEPEND=">=dev-ruby/stomp-1.4.4"
src_compile() {
einfo "nothing to compile"
}
each_ruby_install() {
cd "marionette-collective-${PV}"
doruby -r lib/*
insinto /usr/share/mcollective
use client && dosbin bin/mco
dosbin bin/mcollectived
if use doc ; then
dohtml -r doc/*
insinto /usr/share/doc/${P}/ext
doins -r ext/*
fi
newinitd "${FILESDIR}"/mcollectived.initd mcollectived
insinto /etc/mcollective
cd etc
for cfg in *.dist ; do
newins "${cfg}" "${cfg%%.dist}"
sed -i -e "s:^libdir.*:libdir = /usr/share/mcollective/plugins:" \
"${D}"/etc/mcollective/${cfg%%.dist} || die "sed failed"
done
insinto /etc/mcollective/plugin.d
}
pkg_postinst() {
einfo "Mcollective requires a stomp server installed and functioning before"
einfo "you can use it. The recommended server to use is ActiveMQ [1] but"
einfo "any other stomp compatible server should work."
einfo
einfo "It is recommended you read the \'getting started\' guide [2] if this"
einfo "is a new installation"
einfo
einfo "[1] https://activemq.apache.org/"
einfo "[2] https://code.google.com/p/mcollective/wiki/GettingStarted"
}

@ -11,7 +11,7 @@ SRC_URI="http://mmonit.com/monit/dist/${P}.tar.gz"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux"
IUSE="ipv6 pam ssl"
RDEPEND="sys-libs/zlib:=

Binary file not shown.

@ -1 +0,0 @@
DIST acovea-gtk-1.0.1.tar.gz 407230 BLAKE2B ba8e27bc42e1cf7577c61a819a25b373c45738fb6788da9e4e40368ee3a64e363fcc66b43b80a357ba7ecf8e2b22937188c61457212e6051950fe5285e8e7629 SHA512 c26eb0059b0f6a8a77ebff2f9cad9a9d543a2932f035e520c40bc3b917d1570533be934571528b7e2e53932e56afa77eff108a1ac51678a514960563a775c2ed

@ -1,34 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools desktop flag-o-matic
DESCRIPTION="Analysis of Compiler Options via Evolutionary Algorithm GUI"
HOMEPAGE="http://www.coyotegulch.com/products/acovea/"
SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="unicode"
RDEPEND=">=app-benchmarks/acovea-5
dev-cpp/gtkmm:2.4"
DEPEND="${RDEPEND}"
src_prepare() {
default
use unicode && eapply "${FILESDIR}"/${P}-unicode.patch
eapply "${FILESDIR}"/${P}-{libbrahe,libsigc,gcc4.3}.patch
append-cxxflags -std=c++11
eautoreconf
}
src_install() {
default
make_desktop_entry "${PN}" Acovea-gtk \
/usr/share/acovea-gtk/pixmaps/acovea_icon_064.png System
}

@ -1,23 +0,0 @@
--- a/src/settings_window.cc
+++ b/src/settings_window.cc
@@ -6,6 +6,7 @@
// This file is for your program, I won't touch it again!
#include <gtkmm.h>
+#include <cstring>
#include "config.h"
#include "settings_window.hh"
--- a/src/main_window.cc
+++ b/src/main_window.cc
@@ -9,6 +9,8 @@
#include <gtkmm.h>
#include <gtkmm/main.h>
#include <iomanip>
+#include <cstring>
+#include <sys/stat.h>
#include "config.h"
#include "main_window.hh"

@ -1,8 +0,0 @@
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -22,4 +22,4 @@
AM_CXXFLAGS = @GTKMM_CFLAGS@
acovea_gtk_LDFLAGS = -pthread -L//usr/lib
-acovea_gtk_LDADD = @LIBS@ @GTKMM_LIBS@ -lgthread-2.0 -lglib-2.0 -lcoyotl -levocosm -lacovea -lexpat
+acovea_gtk_LDADD = @LIBS@ @GTKMM_LIBS@ -lgthread-2.0 -lglib-2.0 -lcoyotl -levocosm -lbrahe -lacovea -lexpat

@ -1,101 +0,0 @@
--- a/src/about_box_glade.cc
+++ b/src/about_box_glade.cc
@@ -1530,8 +1530,8 @@
hbuttonbox1->show();
vbox3->show();
about_box->show();
- about_close_button->signal_clicked().connect(SigC::slot(*this, &about_box_glade::on_about_close_button_clicked), false);
- about_box->signal_realize().connect(SigC::slot(*this, &about_box_glade::on_about_box_realize), false);
+ about_close_button->signal_clicked().connect(sigc::mem_fun(*this, &about_box_glade::on_about_close_button_clicked), false);
+ about_box->signal_realize().connect(sigc::mem_fun(*this, &about_box_glade::on_about_box_realize), false);
}
about_box_glade::~about_box_glade()
--- a/src/main_window_glade.cc
+++ b/src/main_window_glade.cc
@@ -998,19 +998,19 @@
main_status->show();
vbox1->show();
main_window->show();
- menu_set_run_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_set_run_options_activate), false);
- menu_save_options_default->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_options_default_activate), false);
- menu_load_default_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_load_default_options_activate), false);
- menu_save_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_options_activate), false);
- save_load_options->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_load_options_activate), false);
- menu_quit->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_quit_activate), false);
- menu_run->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_run_activate), false);
- menu_stop->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_stop_activate), false);
- menu_save_output->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_menu_save_output_activate), false);
- menu_about->signal_activate().connect(SigC::slot(*this, &main_window_glade::on_about1_activate), false);
- toolbar_settings_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_settings_button_clicked), false);
- toolbar_run_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_run_button_clicked), false);
- toolbar_stop_button->signal_clicked().connect(SigC::slot(*this, &main_window_glade::on_toolbar_stop_button_clicked), false);
+ menu_set_run_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_set_run_options_activate), false);
+ menu_save_options_default->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_options_default_activate), false);
+ menu_load_default_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_load_default_options_activate), false);
+ menu_save_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_options_activate), false);
+ save_load_options->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_load_options_activate), false);
+ menu_quit->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_quit_activate), false);
+ menu_run->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_run_activate), false);
+ menu_stop->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_stop_activate), false);
+ menu_save_output->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_menu_save_output_activate), false);
+ menu_about->signal_activate().connect(sigc::mem_fun(*this, &main_window_glade::on_about1_activate), false);
+ toolbar_settings_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_settings_button_clicked), false);
+ toolbar_run_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_run_button_clicked), false);
+ toolbar_stop_button->signal_clicked().connect(sigc::mem_fun(*this, &main_window_glade::on_toolbar_stop_button_clicked), false);
}
main_window_glade::~main_window_glade()
--- a/src/settings_window_glade.cc
+++ b/src/settings_window_glade.cc
@@ -391,11 +391,11 @@
hbuttonbox3->show();
vbox6->show();
settings_window->show();
- settings_benchmark_browse_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_benchmark_browse_button_clicked), false);
- settings_config_browse_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_config_browse_button_clicked), false);
- settings_seed_check->signal_toggled().connect(SigC::slot(*this, &settings_window_glade::on_settings_seed_check_toggled), false);
- settings_cancel_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_cancel_button_clicked), false);
- settings_okay_button->signal_clicked().connect(SigC::slot(*this, &settings_window_glade::on_settings_okay_button_clicked), false);
+ settings_benchmark_browse_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_benchmark_browse_button_clicked), false);
+ settings_config_browse_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_config_browse_button_clicked), false);
+ settings_seed_check->signal_toggled().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_seed_check_toggled), false);
+ settings_cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_cancel_button_clicked), false);
+ settings_okay_button->signal_clicked().connect(sigc::mem_fun(*this, &settings_window_glade::on_settings_okay_button_clicked), false);
}
settings_window_glade::~settings_window_glade()
--- a/src/about_box_glade.cc
+++ b/src/about_box_glade.cc
@@ -14,8 +14,7 @@
#endif //
#include "config.h"
#include <gtkmmconfig.h>
#if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
-#include <sigc++/compatibility.h>
#define GMM_GTKMM_22_24(a,b) b
#else //gtkmm 2.2
#define GMM_GTKMM_22_24(a,b) a
--- a/src/main_window_glade.cc
+++ b/src/main_window_glade.cc
@@ -14,8 +14,7 @@
#endif //
#include "config.h"
#include <gtkmmconfig.h>
#if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
-#include <sigc++/compatibility.h>
#define GMM_GTKMM_22_24(a,b) b
#else //gtkmm 2.2
#define GMM_GTKMM_22_24(a,b) a
--- a/src/settings_window_glade.cc
+++ b/src/settings_window_glade.cc
@@ -14,8 +14,7 @@
#endif //
#include "config.h"
#include <gtkmmconfig.h>
#if GTKMM_MAJOR_VERSION==2 && GTKMM_MINOR_VERSION>2
-#include <sigc++/compatibility.h>
#define GMM_GTKMM_22_24(a,b) b
#else //gtkmm 2.2
#define GMM_GTKMM_22_24(a,b) a

@ -1,12 +0,0 @@
--- a/src/main_window.cc
+++ b/src/main_window.cc
@@ -488,7 +488,7 @@
{
Glib::RefPtr<Gtk::TextBuffer> buffer = main_window_output->get_buffer();
Gtk::TextIter end = buffer->end();
- buffer->insert(buffer->end(),text->c_str());
+ buffer->insert(buffer->end(),Glib::convert (text->c_str(), "UTF-8", "ISO-8859-1"));
}
void main_window::set_ui_running(bool running)

@ -1 +0,0 @@
DIST libacovea-5.1.1.tar.gz 363048 BLAKE2B 61f894e99f3678f3b676e0926ff6d7a6bd376a654ad109d5b7f676d7053e4b975d90e0ac01d820b8498a6992db1cbd2fb5443fbe3871ef3f86bee280fd808352 SHA512 47ac88d713004ccdbf31c29bd5ead3e9d869eee262f2c12e12bf9aa7ec177d2c1e175908704cd5463b314752692edcd98d69408dbeb5873caff1745535a3a365

@ -1,45 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="Analysis of Compiler Options via Evolutionary Algorithm"
HOMEPAGE="http://www.coyotegulch.com/products/acovea/"
SRC_URI="http://www.coyotegulch.com/distfiles/lib${P}.tar.gz"
S="${WORKDIR}/lib${P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
RDEPEND="
>=dev-libs/libcoyotl-3.1.0:=
>=dev-libs/libevocosm-3.3.0:=
dev-libs/expat:="
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-asneeded.patch
"${FILESDIR}"/${P}-free-fix.patch
"${FILESDIR}"/${P}-gcc44.patch
"${FILESDIR}"/${P}-glibc-212.patch
"${FILESDIR}"/${P}-underlinking.patch
"${FILESDIR}"/${P}-libevocosm.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
econf --disable-static
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
}

@ -1,16 +0,0 @@
--- a/cmdline/Makefile.am
+++ b/cmdline/Makefile.am
@@ -7,4 +7,4 @@
runacovea_SOURCES = runacovea.cpp
-LIBS = -L../libacovea -lacovea -lcoyotl -levocosm -lexpat
+LIBS = -L../libacovea -lacovea -lcoyotl -levocosm
--- a/libacovea/Makefile.am
+++ b/libacovea/Makefile.am
@@ -16,3 +16,5 @@
library_include_HEADERS = $(h_sources)
DEFS=-I. -I$(srcdir)
+
+LIBS = -lexpat

@ -1,12 +0,0 @@
--- a/benchmarks/treebench.c
+++ b/benchmarks/treebench.c
@@ -201,8 +201,8 @@
if (page->m_links[n] != NULL)
recursive_destroy_page(page->m_links[n]);
- free(page);
}
+ free(page);
}
static void free_btree(btree * btree)

@ -1,14 +0,0 @@
--- a/libacovea/acovea.cpp
+++ b/libacovea/acovea.cpp
@@ -44,10 +44,11 @@
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <vector>
+#include <cstdio>
#include <cstring>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <stdexcept>

@ -1,12 +0,0 @@
http://bugs.gentoo.org/336260
--- a/libacovea/acovea.cpp
+++ b/libacovea/acovea.cpp
@@ -44,6 +44,7 @@
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <sys/stat.h>
#include <vector>
#include <cstring>

@ -1,119 +0,0 @@
--- a/libacovea/acovea.cpp
+++ b/libacovea/acovea.cpp
@@ -86,7 +86,7 @@
// randomize settings of this option
void option::randomize()
{
- m_enabled = (g_random.get_rand_real2() < 0.5);
+ m_enabled = (g_random.get_real() < 0.5);
}
// mutate this option
@@ -246,7 +246,7 @@
m_step = 1;
// possibly adjust value to randomize populations
- size_t choice = g_random.get_rand_index(3);
+ size_t choice = g_random.get_index(3);
switch (choice)
{
@@ -304,12 +304,12 @@
void tuning_option::mutate()
{
// select our mutation
- if (g_random.get_rand_real2() < 0.5)
+ if (g_random.get_real() < 0.5)
option::mutate();
else
{
// mutate value of this option, up or down randomly
- if (g_random.get_rand_real2() < 0.5)
+ if (g_random.get_real() < 0.5)
m_value -= m_step;
else
m_value += m_step;
@@ -335,7 +335,7 @@
enum_option::enum_option(const vector<string> & a_choices, bool a_enabled)
: option(a_enabled),
m_choices(a_choices),
- m_setting(g_random.get_rand_index(a_choices.size()))
+ m_setting(g_random.get_index(a_choices.size()))
{
// nada
}
@@ -344,7 +344,7 @@
enum_option::enum_option(const char ** a_choices, size_t a_num_choices, bool a_enabled)
: option(a_enabled),
m_choices(),
- m_setting(g_random.get_rand_index(a_num_choices))
+ m_setting(g_random.get_index(a_num_choices))
{
for (int n = 0; n < a_num_choices; ++n)
m_choices.push_back(string(a_choices[n]));
@@ -369,7 +369,7 @@
token = strtok(NULL,"|");
}
- m_setting = g_random.get_rand_index(m_choices.size());
+ m_setting = g_random.get_index(m_choices.size());
free(choices);
}
@@ -407,17 +407,17 @@
void enum_option::randomize()
{
// randomize enabled
- m_enabled = (g_random.get_rand_real2() < 0.5);
+ m_enabled = (g_random.get_real() < 0.5);
// randomize setting
- m_setting = g_random.get_rand_index(m_choices.size());
+ m_setting = g_random.get_index(m_choices.size());
}
// mutate this option
void enum_option::mutate()
{
// select our mutation
- if (g_random.get_rand() & 1)
+ if (g_random.get_real() < 0.5)
option::mutate();
else
{
@@ -435,7 +435,7 @@
// find a different setting
while (new_setting == m_setting)
- new_setting = g_random.get_rand_index(m_choices.size());
+ new_setting = g_random.get_index(m_choices.size());
m_setting = new_setting;
}
@@ -915,7 +915,7 @@
// randomly pick an option from one of the parents
for (int n = 0; n < a_parent1.size(); ++n)
{
- if (g_random.get_rand() & 1)
+ if (g_random.get_real() < 0.5)
child.push_back(a_parent1[n]->clone());
else
child.push_back(a_parent2[n]->clone());
@@ -931,7 +931,7 @@
{
for (int n = 0; n < a_options.size(); ++n)
{
- if (g_random.get_rand_real2() < a_mutation_chance)
+ if (g_random.get_real() < a_mutation_chance)
a_options[n]->mutate();
}
}
@@ -1096,7 +1096,7 @@
acovea_organism * child;
// do we crossover?
- if (g_random.get_rand_real2() <= m_crossover_rate)
+ if (g_random.get_real() <= m_crossover_rate)
{
// select a second parent
size_t second_index = first_index;

@ -1,10 +0,0 @@
diff --git a/cmdline/Makefile.am b/cmdline/Makefile.am
index f3c763e..8e18d9c 100644
--- a/cmdline/Makefile.am
+++ b/cmdline/Makefile.am
@@ -7,4 +7,4 @@ bin_PROGRAMS = runacovea
runacovea_SOURCES = runacovea.cpp
-LIBS = -L../libacovea -lacovea -lcoyotl -levocosm
+LIBS = -L../libacovea -lacovea -lcoyotl -levocosm -lbrahe

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>

Binary file not shown.

@ -1 +0,0 @@
DIST WiRouterKeyRec-1.1.2.zip 117262 BLAKE2B fe140bf19d7a1af1c8c6e04725f3d3e67c30b3f108d64f1fe706b1e28e8767d08219e30b78e67b33553a00dea03ca344acf43c8b75f3c5f7633980e08d095f2b SHA512 a3c449497e3f3fed88dfbb35a90a2cfa5937efa02393e825ec51ab390b7094ce619d3238a916afd2b48e35e0e261b454f7d7005af46d6a45d77b2e1d4faaac51

@ -1,39 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
MY_PN="WiRouter_KeyRec"
MY_P="${MY_PN}_${PV}"
DESCRIPTION="Recovery tool for wpa passphrase"
HOMEPAGE="https://www.salvatorefresta.net"
SRC_URI="https://tools.salvatorefresta.net/${MY_P}.zip -> ${P}.zip"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86"
BDEPEND="app-arch/unzip"
src_prepare() {
default
sed -i "s:wirouterkeyrec:${PN}:" src/*.h || die
}
src_compile() {
emake \
CC="$(tc-getCC)" \
CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}"
}
src_install() {
newbin build/wirouterkeyrec ${PN}
insinto /etc/${PN}
doins config/agpf_config.lst config/teletu_config.lst
}

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ago@gentoo.org</email>
<name>Agostino Sarubbo</name>
</maintainer>
</pkgmetadata>

@ -16,7 +16,7 @@ SRC_URI="https://developers.yubico.com/${PN}/Releases/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~riscv x86"
KEYWORDS="amd64 ~riscv x86"
RESTRICT="test" # Tests require non-existing package makefun
# app-crypt/ccid required for

Binary file not shown.

@ -1,3 +1,3 @@
DIST iwdevtools-0.4.0.tar.gz 31939 BLAKE2B bdab037a2b27bf0c67bb453427ad7f8d7485db3f45f3c465e3b2790e8e259b1328b75eff7d86012df06a44f4101e8bc0e83c9e7a8886adc25d589ecca1a25892 SHA512 a8be15568f24d2f54178f9a92cbc4107f7fdb06da8b2a769ad19ca5b55e90896c4b2253569d7d39158765081d9f9267ff568a066edef8401ec52c29451655ee1
DIST iwdevtools-0.5.3.tar.gz 42845 BLAKE2B 9e6b634e8409cffc57fde36157be0186943d4df07c47f0b07eeb0dd5071bc3e4c7b84e543a46cd2ff4e49d9b9b34b9121b3583bd227479f1485ec5957dee4780 SHA512 8458abba687135caaefd1cb0adb8af079a2cf94ca484a4bb95ef2b32e00eea46a2c8df7d305d4b0bf7121f46a92ac3a25cd9067e22ad9a314f289f77379a1684
DIST iwdevtools-0.6.0.tar.gz 51788 BLAKE2B 1b37e3097cd77201398959272c09d6391746036530c6341b7b2ccfccc4361067dc46c6e3b2c729717855e346a7ebf7279f8d0fc0a760203527a1431e2366dad0 SHA512 0c192c9a6b52eca99574eda8da8d41b051a502cbbf891188e323f376f43472aaa72c2f8ac78f4790c4f41d610aa0927180a3fbe290ac2964ccb9f257b7f508fc
DIST iwdevtools-0.7.0.tar.gz 56208 BLAKE2B 205bb9bc1e894b9cc6a9c3abb4f902c9c3f8337fff8618df162f4dc5d78416fe8e2852cb513d4153d8acf2a0d918e43352714502e1f40faffc777e19ad81ab55 SHA512 ec528901229066d333fcd8f53060601628b682a93c3e07a89826ff0fd2e406a4dffe76397883d4c50b459588cc6364873c43e5129bd172049c30aea039ae36d5

@ -11,7 +11,7 @@ SRC_URI="https://github.com/ionenwks/iwdevtools/archive/refs/tags/v${PV}.tar.gz
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@ -22,10 +22,17 @@ RDEPEND="
sys-apps/file
sys-apps/portage
sys-apps/util-linux"
BDEPEND="test? ( ${RDEPEND} )"
BDEPEND="
sys-apps/help2man
test? ( ${RDEPEND} )"
src_configure() {
meson_src_configure -Ddocdir=${PF}
local emesonargs=(
-Ddocdir=${PF}
-Deprefix="${EPREFIX}"
$(meson_use test)
)
meson_src_configure
}
pkg_postinst() {

Binary file not shown.

@ -0,0 +1,213 @@
https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a9bd3dec9fde03327a4a2c69dad1036bf9632e20
https://bugs.gentoo.org/812509
From: Chris Liddell <chris.liddell@artifex.com>
Date: Tue, 7 Sep 2021 20:36:12 +0100
Subject: [PATCH 1/1] Bug 704342: Include device specifier strings in access
validation
for the "%pipe%", %handle%" and %printer% io devices.
We previously validated only the part after the "%pipe%" Postscript device
specifier, but this proved insufficient.
This rebuilds the original file name string, and validates it complete. The
slight complication for "%pipe%" is it can be reached implicitly using
"|" so we have to check both prefixes.
Addresses CVE-2021-3781
--- a/base/gdevpipe.c
+++ b/base/gdevpipe.c
@@ -72,8 +72,28 @@ pipe_fopen(gx_io_device * iodev, const char *fname, const char *access,
#else
gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
gs_fs_list_t *fs = ctx->core->fs;
+ /* The pipe device can be reached in two ways, explicltly with %pipe%
+ or implicitly with "|", so we have to check for both
+ */
+ char f[gp_file_name_sizeof];
+ const char *pipestr = "|";
+ const size_t pipestrlen = strlen(pipestr);
+ const size_t preflen = strlen(iodev->dname);
+ const size_t nlen = strlen(fname);
+ int code1;
+
+ if (preflen + nlen >= gp_file_name_sizeof)
+ return_error(gs_error_invalidaccess);
+
+ memcpy(f, iodev->dname, preflen);
+ memcpy(f + preflen, fname, nlen + 1);
+
+ code1 = gp_validate_path(mem, f, access);
+
+ memcpy(f, pipestr, pipestrlen);
+ memcpy(f + pipestrlen, fname, nlen + 1);
- if (gp_validate_path(mem, fname, access) != 0)
+ if (code1 != 0 && gp_validate_path(mem, f, access) != 0 )
return gs_error_invalidfileaccess;
/*
--- a/base/gp_mshdl.c
+++ b/base/gp_mshdl.c
@@ -95,8 +95,17 @@ mswin_handle_fopen(gx_io_device * iodev, const char *fname, const char *access,
long hfile; /* Correct for Win32, may be wrong for Win64 */
gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
gs_fs_list_t *fs = ctx->core->fs;
+ char f[gp_file_name_sizeof];
+ const size_t preflen = strlen(iodev->dname);
+ const size_t nlen = strlen(fname);
- if (gp_validate_path(mem, fname, access) != 0)
+ if (preflen + nlen >= gp_file_name_sizeof)
+ return_error(gs_error_invalidaccess);
+
+ memcpy(f, iodev->dname, preflen);
+ memcpy(f + preflen, fname, nlen + 1);
+
+ if (gp_validate_path(mem, f, access) != 0)
return gs_error_invalidfileaccess;
/* First we try the open_handle method. */
--- a/base/gp_msprn.c
+++ b/base/gp_msprn.c
@@ -168,8 +168,16 @@ mswin_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
uintptr_t *ptid = &((tid_t *)(iodev->state))->tid;
gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
gs_fs_list_t *fs = ctx->core->fs;
+ const size_t preflen = strlen(iodev->dname);
+ const size_t nlen = strlen(fname);
- if (gp_validate_path(mem, fname, access) != 0)
+ if (preflen + nlen >= gp_file_name_sizeof)
+ return_error(gs_error_invalidaccess);
+
+ memcpy(pname, iodev->dname, preflen);
+ memcpy(pname + preflen, fname, nlen + 1);
+
+ if (gp_validate_path(mem, pname, access) != 0)
return gs_error_invalidfileaccess;
/* First we try the open_printer method. */
--- a/base/gp_os2pr.c
+++ b/base/gp_os2pr.c
@@ -107,9 +107,20 @@ os2_printer_fopen(gx_io_device * iodev, const char *fname, const char *access,
FILE ** pfile, char *rfname, uint rnamelen)
{
os2_printer_t *pr = (os2_printer_t *)iodev->state;
- char driver_name[256];
+ char driver_name[gp_file_name_sizeof];
gs_lib_ctx_t *ctx = mem->gs_lib_ctx;
gs_fs_list_t *fs = ctx->core->fs;
+ const size_t preflen = strlen(iodev->dname);
+ const int size_t = strlen(fname);
+
+ if (preflen + nlen >= gp_file_name_sizeof)
+ return_error(gs_error_invalidaccess);
+
+ memcpy(driver_name, iodev->dname, preflen);
+ memcpy(driver_name + preflen, fname, nlen + 1);
+
+ if (gp_validate_path(mem, driver_name, access) != 0)
+ return gs_error_invalidfileaccess;
/* First we try the open_printer method. */
/* Note that the loop condition here ensures we don't
--- a/base/gslibctx.c
+++ b/base/gslibctx.c
@@ -655,82 +655,39 @@ rewrite_percent_specifiers(char *s)
int
gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname)
{
- char *fp, f[gp_file_name_sizeof];
- const int pipe = 124; /* ASCII code for '|' */
- const int len = strlen(fname);
- int i, code;
+ char f[gp_file_name_sizeof];
+ int code;
/* Be sure the string copy will fit */
- if (len >= gp_file_name_sizeof)
+ if (strlen(fname) >= gp_file_name_sizeof)
return gs_error_rangecheck;
strcpy(f, fname);
- fp = f;
/* Try to rewrite any %d (or similar) in the string */
rewrite_percent_specifiers(f);
- for (i = 0; i < len; i++) {
- if (f[i] == pipe) {
- fp = &f[i + 1];
- /* Because we potentially have to check file permissions at two levels
- for the output file (gx_device_open_output_file and the low level
- fopen API, if we're using a pipe, we have to add both the full string,
- (including the '|', and just the command to which we pipe - since at
- the pipe_fopen(), the leading '|' has been stripped.
- */
- code = gs_add_control_path(mem, gs_permit_file_writing, f);
- if (code < 0)
- return code;
- code = gs_add_control_path(mem, gs_permit_file_control, f);
- if (code < 0)
- return code;
- break;
- }
- if (!IS_WHITESPACE(f[i]))
- break;
- }
- code = gs_add_control_path(mem, gs_permit_file_control, fp);
+
+ code = gs_add_control_path(mem, gs_permit_file_control, f);
if (code < 0)
return code;
- return gs_add_control_path(mem, gs_permit_file_writing, fp);
+ return gs_add_control_path(mem, gs_permit_file_writing, f);
}
int
gs_remove_outputfile_control_path(gs_memory_t *mem, const char *fname)
{
- char *fp, f[gp_file_name_sizeof];
- const int pipe = 124; /* ASCII code for '|' */
- const int len = strlen(fname);
- int i, code;
+ char f[gp_file_name_sizeof];
+ int code;
/* Be sure the string copy will fit */
- if (len >= gp_file_name_sizeof)
+ if (strlen(fname) >= gp_file_name_sizeof)
return gs_error_rangecheck;
strcpy(f, fname);
- fp = f;
/* Try to rewrite any %d (or similar) in the string */
- for (i = 0; i < len; i++) {
- if (f[i] == pipe) {
- fp = &f[i + 1];
- /* Because we potentially have to check file permissions at two levels
- for the output file (gx_device_open_output_file and the low level
- fopen API, if we're using a pipe, we have to add both the full string,
- (including the '|', and just the command to which we pipe - since at
- the pipe_fopen(), the leading '|' has been stripped.
- */
- code = gs_remove_control_path(mem, gs_permit_file_writing, f);
- if (code < 0)
- return code;
- code = gs_remove_control_path(mem, gs_permit_file_control, f);
- if (code < 0)
- return code;
- break;
- }
- if (!IS_WHITESPACE(f[i]))
- break;
- }
- code = gs_remove_control_path(mem, gs_permit_file_control, fp);
+ rewrite_percent_specifiers(f);
+
+ code = gs_remove_control_path(mem, gs_permit_file_control, f);
if (code < 0)
return code;
- return gs_remove_control_path(mem, gs_permit_file_writing, fp);
+ return gs_remove_control_path(mem, gs_permit_file_writing, f);
}
int

@ -0,0 +1,191 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools toolchain-funcs
DESCRIPTION="Interpreter for the PostScript language and PDF"
HOMEPAGE="https://ghostscript.com/"
MY_PN=${PN/-gpl}
MY_P="${MY_PN}-${PV/_}"
PVM=$(ver_cut 1-2)
PVM_S=$(ver_rs 1-2 "")
MY_PATCHSET="ghostscript-gpl-9.54-patchset-01.tar.xz"
SRC_URI="https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz"
if [[ -n "${MY_PATCHSET}" ]] ; then
SRC_URI+=" https://dev.gentoo.org/~whissi/dist/ghostscript-gpl/${MY_PATCHSET}"
fi
LICENSE="AGPL-3 CPL-1.0"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="cups dbus gtk +jpeg2k l10n_de static-libs unicode X"
LANGS="ja ko zh-CN zh-TW"
for X in ${LANGS} ; do
IUSE="${IUSE} l10n_${X}"
done
DEPEND="
app-text/libpaper
media-libs/fontconfig
>=media-libs/freetype-2.4.9:2=
>=media-libs/jbig2dec-0.19:=
>=media-libs/lcms-2.6:2
>=media-libs/libpng-1.6.2:0=
>=media-libs/tiff-4.0.1:0=
>=sys-libs/zlib-1.2.7
virtual/jpeg:0
cups? ( >=net-print/cups-1.3.8 )
dbus? ( sys-apps/dbus )
gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
unicode? ( net-dns/libidn:0= )
X? ( x11-libs/libXt x11-libs/libXext )
"
BDEPEND="virtual/pkgconfig"
RDEPEND="${DEPEND}
app-text/poppler-data
>=media-fonts/urw-fonts-2.4.9
l10n_ja? ( media-fonts/kochi-substitute )
l10n_ko? ( media-fonts/baekmuk-fonts )
l10n_zh-CN? ( media-fonts/arphicfonts )
l10n_zh-TW? ( media-fonts/arphicfonts )
"
S="${WORKDIR}/${MY_P}"
src_prepare() {
if [[ -n "${MY_PATCHSET}" ]] ; then
# apply various patches, many borrowed from Fedora
# https://src.fedoraproject.org/rpms/ghostscript
# and Debian
# https://salsa.debian.org/printing-team/ghostscript/-/tree/debian/latest/debian/patches
eapply "${WORKDIR}/patches/"*.patch
fi
eapply "${FILESDIR}"/${P}-CVE-2021-3781.patch
default
# remove internal copies of various libraries
rm -r cups/libs || die
rm -r freetype || die
rm -r jbig2dec || die
rm -r jpeg || die
rm -r lcms2mt || die
rm -r libpng || die
rm -r tiff || die
rm -r zlib || die
rm -r openjpeg || die
# remove internal CMaps (CMaps from poppler-data are used instead)
rm -r Resource/CMap || die
if ! use gtk ; then
sed -e "s:\$(GSSOX)::" \
-e "s:.*\$(GSSOX_XENAME)$::" \
-i base/unix-dll.mak || die "sed failed"
fi
# Force the include dirs to a neutral location.
sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
-i configure.ac || die
# Some files depend on zlib.h directly. Redirect them. #573248
# Also make sure to not define OPJ_STATIC to avoid linker errors due to
# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
sed -e '/^zlib_h/s:=.*:=:' \
-e 's|-DOPJ_STATIC ||' \
-i base/lib.mak || die
# search path fix
# put LDFLAGS after BINDIR, bug #383447
sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PV}/$(get_libdir):" \
-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
-i Makefile.in base/*.mak || die "sed failed"
# remove incorrect symlink, bug 590384
rm ijs/ltmain.sh || die
eautoreconf
cd ijs || die
eautoreconf
}
src_configure() {
local FONTPATH
for path in \
"${EPREFIX}"/usr/share/fonts/urw-fonts \
"${EPREFIX}"/usr/share/fonts/Type1 \
"${EPREFIX}"/usr/share/fonts \
"${EPREFIX}"/usr/share/poppler/cMap/Adobe-CNS1 \
"${EPREFIX}"/usr/share/poppler/cMap/Adobe-GB1 \
"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan1 \
"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan2 \
"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Korea1
do
FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
done
PKGCONFIG=$(type -P $(tc-getPKG_CONFIG)) \
econf \
--enable-dynamic \
--enable-freetype \
--enable-fontconfig \
$(use_enable jpeg2k openjpeg) \
--disable-compile-inits \
--with-drivers=ALL \
--with-fontpath="$FONTPATH" \
--with-ijs \
--with-jbig2dec \
--with-libpaper \
--with-system-libtiff \
$(use_enable cups) \
$(use_enable dbus) \
$(use_enable gtk) \
$(use_with cups pdftoraster) \
$(use_with unicode libidn) \
$(use_with X x) \
DARWIN_LDFLAGS_SO_PREFIX="${EPREFIX}/usr/lib/"
cd "${S}/ijs" || die
econf \
--enable-shared \
$(use_enable static-libs static)
}
src_compile() {
emake so all
cd ijs || die
emake
}
src_install() {
emake DESTDIR="${D}" install-so install
# move gsc to gs, bug #343447
# gsc collides with gambit, bug #253064
mv -f "${ED}"/usr/bin/{gsc,gs} || die
cd "${S}/ijs" || die
emake DESTDIR="${D}" install
# install the CMaps from poppler-data properly, bug #409361
dosym ../../../poppler/cMaps "/usr/share/ghostscript/${PV}/Resource/CMap"
if ! use static-libs; then
find "${ED}" -name '*.la' -delete || die
fi
if ! use l10n_de; then
rm -r "${ED}"/usr/share/man/de || die
fi
}

@ -8,7 +8,7 @@ if [[ ${PV} == *9999* ]]; then
inherit autotools git-r3
else
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
KEYWORDS="~amd64 ~arm arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Library parsing many pre-OSX MAC text formats"

@ -13,7 +13,7 @@ SRC_URI="https://github.com/rrthomas/rpl/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
RDEPEND="dev-python/chardet[${PYTHON_USEDEP}]"
BDEPEND="${RDEPEND}

@ -3,7 +3,7 @@
EAPI=7
inherit meson xdg-utils
inherit meson xdg
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@ -28,13 +28,3 @@ RDEPEND="app-text/djvu
DEPEND="${RDEPEND}
virtual/pkgconfig"
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}

@ -3,7 +3,7 @@
EAPI=7
inherit gnome2-utils meson xdg-utils
inherit meson xdg
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@ -28,13 +28,3 @@ RDEPEND="app-text/djvu
DEPEND="${RDEPEND}
virtual/pkgconfig"
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

Binary file not shown.

@ -11,12 +11,12 @@ MY_P=$(ver_cut 1-4 ${MY_PN}-${PV})
DESCRIPTION="A portable C++ preprocessor"
HOMEPAGE="http://mcpp.sourceforge.net"
SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz"
SRC_URI+=" https://deb.debian.org/debian/pool/main/m/${MY_PN}/${MY_PN}_${PV/_p/-}.debian.tar.xz"
SRC_URI+=" mirror://debian/pool/main/m/${MY_PN}/${MY_PN}_${PV/_p/-}.debian.tar.xz"
S="${WORKDIR}"/${MY_P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~ia64 x86 ~x86-linux ~x64-macos"
KEYWORDS="amd64 ~arm ~ia64 ~riscv x86 ~x86-linux ~x64-macos"
PATCHES=(
"${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch

Binary file not shown.

@ -1,5 +1,3 @@
DIST ruby-2.5.8.tar.xz 11298404 BLAKE2B 3256c0448e72b63c0bd89f89a27fa9c09c8feed54d42cd79899b7d5cfe9dbc29ca708d12c630b3f52ff85b0c6a4011ae7ff0483d64b2fd445700a72a91028035 SHA512 2886be764a454425c5beef2777c64a70ee0d048b07896b327633d904f5077fea4299526689f9e2ac4dcd2fc4811cf9a6c8ce75367ed35d29dfe1a54222872e0d
DIST ruby-2.5.9.tar.xz 11314448 BLAKE2B ed3c698f076066b0ca771d69ffeb92bf10de6fe051a36d373445ce071af850cb707344becf610657b473d14c7d4dcfb6a814b9d69ed6999e69c6dc3bfb3eaee4 SHA512 239f73eb4049ae2654b648ab927b1f74643d38a5f29572e4bd4e6aa3c53c1df29e0a995fd90d4ab9d4b2ff073fd809b12df820ccb1ddf395684bba6be1855b7a
DIST ruby-2.6.8.tar.xz 11599488 BLAKE2B e5b2949233d8540f72d4d8b9c246f9bd0d1342426d2a1c19cb240b7c86f37299e9dc1dfc98ef2a86d1d91055865b4542d690de5567c71189bf2973a4989fa0fd SHA512 d040ad2238523587d8f356fcb796b8b6ad7f8caff7dd6df09e3f7efcbfa0369e33600e78c7f2bc713ae77c040757cce5c4fec223cb9070209f2bf741899c556d
DIST ruby-2.7.4.tar.xz 12067588 BLAKE2B 2680a7ccd1daf3d156d9519d9132853e68f5f1aad592abce3e73fdd03314a6c28e7d94590153aead86af8952ff51f804ee029f8100b0137919cc27373cb8b9cd SHA512 2cbb70ecfdd69120e789023ddb2b25cab0d03bc33fdc367a8f74ca8a3ee785c18c8ded9de3ecee627c7e275ffb85147e6abf921b6a61e31851b37c7fedf45bf9
DIST ruby-3.0.2.tar.xz 14746080 BLAKE2B 47c5591261fb63b1ec3ca719ea6b0c348937456c3711351c1f5317d1e6a748de197e90c8bd4ff822f7b2d4580ad7ed0b54b9eb7aaa5166ea1a15ab2deae96439 SHA512 0f702e2d8ca1342a9d4284dbdd234a3588e057b92566353aa7c21835cf09a3932864b2acf459a976960a1704e9befa562155d36b98b7cda8bd99526e10a374c4

@ -1,64 +0,0 @@
Bug: https://bugs.gentoo.org/show_bug.cgi?id=618878
A few patches to make crossdev for mingw-w64 play nice with ruby's ebuilds.
Basic gist is that without the following patch to configure.in ruby-2.4.1
hardcodes 240 into the shared, static, and import library names, which when
built with the current ruby ebuilds results in names like libx64-msvcrt-ruby24240.dll and so on. The patch is in ruby-trunk[1], but may take a while
to hit the tarballs that gentoo uses.
Index: configure.in
===================================================================
--- a/configure.in (revision 57824)
+++ b/configure.in (revision 57825)
@@ -3825,7 +3825,23 @@
AC_ARG_WITH(soname,
AS_HELP_STRING([--with-soname=SONAME], [base name of shared library]),
- [RUBY_SO_NAME=$withval], [RUBY_SO_NAME='$(RUBY_BASE_NAME)'])
+ [RUBY_SO_NAME=$withval],
+ [
+ AS_CASE(["$target_os"],
+ [darwin*], [
+ RUBY_SO_NAME='$(RUBY_BASE_NAME).$(RUBY_PROGRAM_VERSION)'
+ ],
+ [cygwin*], [
+ RUBY_SO_NAME='$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'
+ ],
+ [mingw*], [
+ RUBY_SO_NAME="${rb_cv_msvcrt}"'-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'
+ AS_IF([test x"${target_cpu}" != xi386], [
+ RUBY_SO_NAME="${target_cpu}-${RUBY_SO_NAME}"
+ ])
+ ],
+ [RUBY_SO_NAME='$(RUBY_BASE_NAME)'])
+ ])
LIBRUBY_LDSHARED=$LDSHARED
LIBRUBY_DLDFLAGS=$DLDFLAGS
@@ -3925,7 +3941,6 @@
SOLIBS='-lm -lc'
],
[darwin*], [
- RUBY_SO_NAME="$RUBY_SO_NAME"'.$(RUBY_PROGRAM_VERSION)'
LIBRUBY_LDSHARED='$(CC) -dynamiclib'
if test "$load_relative" = yes; then
libprefix="@executable_path/../${libdir_basename}"
@@ -4157,7 +4172,6 @@
fi
],
[cygwin*|mingw*], [
- RUBY_SO_NAME="${RUBY_SO_NAME}"'$(MAJOR)$(MINOR)0'
LIBRUBY_DLDFLAGS="${DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)'
AS_CASE(["$target_os"],
[cygwin*], [
@@ -4167,10 +4181,6 @@
fi
],
[mingw*], [
- RUBY_SO_NAME="${rb_cv_msvcrt}-${RUBY_SO_NAME}"
- if test x"${target_cpu}" != xi386; then
- RUBY_SO_NAME="${target_cpu}-${RUBY_SO_NAME}"
- fi
if test x"$enable_shared" = xyes; then
LIBRUBY_SO='$(RUBY_SO_NAME)'.dll
LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)'

@ -1,11 +0,0 @@
--- ruby-1.9.3-preview1.orig/configure.in
+++ ruby-1.9.3-preview1/configure.in
@@ -2038,7 +2038,7 @@ if test "$with_dln_a_out" != yes; then
[linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu], [
: ${LDSHARED='$(CC) -shared'}
if test "$rb_cv_binary_elf" = yes; then
- LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+ LDFLAGS="$LDFLAGS -Wl,-export-dynamic -Wl,--no-undefined"
fi
rb_cv_dlopen=yes],
[interix*], [ : ${LDSHARED='$(CC) -shared'}

@ -1,112 +0,0 @@
--- a/tool/rbinstall.rb.~1~ 2016-10-17 09:17:07.000000000 +0200
+++ b/tool/rbinstall.rb 2016-12-25 08:20:07.873491045 +0100
@@ -695,107 +695,11 @@
# :startdoc:
install?(:ext, :comm, :gem) do
- gem_dir = Gem.default_dir
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
- prepare "default gems", gem_dir, directories
-
- spec_dir = File.join(gem_dir, directories.grep(/^spec/)[0])
- default_spec_dir = "#{spec_dir}/default"
- makedirs(default_spec_dir)
-
- gems = Dir.glob(srcdir+"/{lib,ext}/**/*.gemspec").map {|src|
- spec = Gem::Specification.load(src) || raise("invalid spec in #{src}")
- file_collector = RbInstall::Specs::FileCollector.new(File.dirname(src))
- files = file_collector.collect
- next if files.empty?
- spec.files = files
- spec
- }
- gems.compact.sort_by(&:name).each do |gemspec|
- full_name = "#{gemspec.name}-#{gemspec.version}"
-
- puts "#{" "*30}#{gemspec.name} #{gemspec.version}"
- gemspec_path = File.join(default_spec_dir, "#{full_name}.gemspec")
- open_for_install(gemspec_path, $data_mode) do
- gemspec.to_ruby
- end
-
- unless gemspec.executables.empty? then
- bin_dir = File.join(gem_dir, 'gems', full_name, gemspec.bindir)
- makedirs(bin_dir)
-
- execs = gemspec.executables.map {|exec| File.join(srcdir, 'bin', exec)}
- install(execs, bin_dir, :mode => $script_mode)
- end
- end
+ # gems are unbundled in Gentoo
end
install?(:ext, :comm, :gem) do
- gem_dir = Gem.default_dir
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
- prepare "bundle gems", gem_dir, directories
- install_dir = with_destdir(gem_dir)
- installed_gems = {}
- options = {
- :install_dir => install_dir,
- :bin_dir => with_destdir(bindir),
- :domain => :local,
- :ignore_dependencies => true,
- :dir_mode => $dir_mode,
- :data_mode => $data_mode,
- :prog_mode => $prog_mode,
- :wrappers => true,
- :format_executable => true,
- }
- gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
- extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
- Gem::Specification.each_gemspec([srcdir+'/gems/*']) do |path|
- dir = File.dirname(path)
- spec = Dir.chdir(dir) {
- Gem::Specification.load(File.basename(path))
- }
- next unless spec.platform == Gem::Platform::RUBY
- next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1]
- spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
- if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
- spec.extensions[0] ||= "-"
- end
- ins = RbInstall::UnpackedInstaller.new(spec, options)
- puts "#{" "*30}#{spec.name} #{spec.version}"
- ins.install
- File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
- unless spec.extensions.empty?
- install_recursive(ext, spec.extension_dir)
- end
- installed_gems[spec.full_name] = true
- end
- installed_gems, gems = Dir.glob(srcdir+'/gems/*.gem').partition {|gem| installed_gems.key?(File.basename(gem, '.gem'))}
- unless installed_gems.empty?
- install installed_gems, gem_dir+"/cache"
- end
- next if gems.empty?
- if defined?(Zlib)
- Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name)))
- silent = Gem::SilentUI.new
- gems.each do |gem|
- inst = Gem::Installer.new(gem, options)
- inst.spec.extension_dir = with_destdir(inst.spec.extension_dir)
- begin
- Gem::DefaultUserInteraction.use_ui(silent) {inst.install}
- rescue Gem::InstallError => e
- next
- end
- gemname = File.basename(gem)
- puts "#{" "*30}#{gemname}"
- end
- # fix directory permissions
- # TODO: Gem.install should accept :dir_mode option or something
- File.chmod($dir_mode, *Dir.glob(install_dir+"/**/"))
- # fix .gemspec permissions
- File.chmod($data_mode, *Dir.glob(install_dir+"/specifications/*.gemspec"))
- else
- puts "skip installing bundle gems because of lacking zlib"
- end
+ # gems are unbundled in Gentoo
end
parse_args()

@ -1,64 +0,0 @@
From 027b576b31cd12bad575b3a39476726273f58c41 Mon Sep 17 00:00:00 2001
From: naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Mon, 18 Dec 2017 09:03:59 +0000
Subject: [PATCH] suppress warning: 'const' attribute on function returning
'void'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
---
include/ruby/intern.h | 4 ++--
include/ruby/ruby.h | 2 +-
internal.h | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/ruby/intern.h b/include/ruby/intern.h
index 5684b3230a67..a711b861159f 100644
--- a/include/ruby/intern.h
+++ b/include/ruby/intern.h
@@ -249,9 +249,9 @@ PRINTF_ARGS(NORETURN(void rb_name_error_str(VALUE, const char*, ...)), 2, 3);
NORETURN(void rb_invalid_str(const char*, const char*));
NORETURN(void rb_error_frozen(const char*));
NORETURN(void rb_error_frozen_object(VALUE));
-CONSTFUNC(void rb_error_untrusted(VALUE));
+void rb_error_untrusted(VALUE);
void rb_check_frozen(VALUE);
-CONSTFUNC(void rb_check_trusted(VALUE));
+void rb_check_trusted(VALUE);
#define rb_check_frozen_internal(obj) do { \
VALUE frozen_obj = (obj); \
if (OBJ_FROZEN(frozen_obj)) { \
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index 9c7d2fb68439..3210103c648a 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -628,7 +628,7 @@ int ruby_safe_level_2_warning(void) __attribute__((const,warning("$SAFE=2 to 4 a
# define rb_set_safe_level(level) rb_set_safe_level(RUBY_SAFE_LEVEL_CHECK(level, error))
#endif
void rb_set_safe_level_force(int);
-CONSTFUNC(void rb_secure_update(VALUE));
+void rb_secure_update(VALUE);
NORETURN(void rb_insecure_operation(void));
VALUE rb_errinfo(void);
diff --git a/internal.h b/internal.h
index d0257a8d8ba0..4ccf3218c6ca 100644
--- a/internal.h
+++ b/internal.h
@@ -1110,7 +1110,7 @@ VALUE rb_invcmp(VALUE, VALUE);
struct rb_block;
int rb_dvar_defined(ID, const struct rb_block *);
int rb_local_defined(ID, const struct rb_block *);
-CONSTFUNC(const char * rb_insns_name(int i));
+const char * rb_insns_name(int i);
VALUE rb_insns_name_array(void);
/* complex.c */
@@ -1136,7 +1136,7 @@ void Init_ext(void);
/* encoding.c */
ID rb_id_encoding(void);
-CONSTFUNC(void rb_gc_mark_encodings(void));
+void rb_gc_mark_encodings(void);
rb_encoding *rb_enc_get_from_index(int index);
rb_encoding *rb_enc_check_str(VALUE str1, VALUE str2);
int rb_encdb_replicate(const char *alias, const char *orig);

@ -1,339 +0,0 @@
From 7af808153dd34a980e027a04d4490ae38019b3ed Mon Sep 17 00:00:00 2001
From: Mark Wright <gienah@gentoo.org>
Date: Sun, 15 Oct 2017 01:24:12 +1100
Subject: [PATCH] Fix build failure against OpenSSL 1.1 built with
no-deprecated Thanks rhenium for the code review and fixes.
---
ext/openssl/openssl_missing.h | 4 +++
ext/openssl/ossl.c | 23 ++++++---------
ext/openssl/ossl.h | 5 ++++
ext/openssl/ossl_cipher.c | 14 ++++-----
ext/openssl/ossl_engine.c | 54 ++++++++++++++++++++++-------------
ext/openssl/ossl_ssl.c | 2 +-
ext/openssl/ossl_x509cert.c | 4 +--
ext/openssl/ossl_x509crl.c | 4 +--
8 files changed, 63 insertions(+), 47 deletions(-)
diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h
index cc31f6ac..debd25ad 100644
--- a/ext/openssl/openssl_missing.h
+++ b/ext/openssl/openssl_missing.h
@@ -209,6 +209,10 @@ IMPL_PKEY_GETTER(EC_KEY, ec)
# define X509_get0_notAfter(x) X509_get_notAfter(x)
# define X509_CRL_get0_lastUpdate(x) X509_CRL_get_lastUpdate(x)
# define X509_CRL_get0_nextUpdate(x) X509_CRL_get_nextUpdate(x)
+# define X509_set1_notBefore(x, t) X509_set_notBefore(x, t)
+# define X509_set1_notAfter(x, t) X509_set_notAfter(x, t)
+# define X509_CRL_set1_lastUpdate(x, t) X509_CRL_set_lastUpdate(x, t)
+# define X509_CRL_set1_nextUpdate(x, t) X509_CRL_set_nextUpdate(x, t)
#endif
#if !defined(HAVE_SSL_SESSION_GET_PROTOCOL_VERSION)
diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c
index 93ecc7d4..245385e7 100644
--- a/ext/openssl/ossl.c
+++ b/ext/openssl/ossl.c
@@ -1109,25 +1109,14 @@ Init_openssl(void)
/*
* Init all digests, ciphers
*/
- /* CRYPTO_malloc_init(); */
- /* ENGINE_load_builtin_engines(); */
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000
+ if (!OPENSSL_init_ssl(0, NULL))
+ rb_raise(rb_eRuntimeError, "OPENSSL_init_ssl");
+#else
OpenSSL_add_ssl_algorithms();
OpenSSL_add_all_algorithms();
ERR_load_crypto_strings();
SSL_load_error_strings();
-
- /*
- * FIXME:
- * On unload do:
- */
-#if 0
- CONF_modules_unload(1);
- destroy_ui_method();
- EVP_cleanup();
- ENGINE_cleanup();
- CRYPTO_cleanup_all_ex_data();
- ERR_remove_state(0);
- ERR_free_strings();
#endif
/*
@@ -1149,7 +1138,11 @@ Init_openssl(void)
/*
* Version of OpenSSL the ruby OpenSSL extension is running with
*/
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000
+ rb_define_const(mOSSL, "OPENSSL_LIBRARY_VERSION", rb_str_new2(OpenSSL_version(OPENSSL_VERSION)));
+#else
rb_define_const(mOSSL, "OPENSSL_LIBRARY_VERSION", rb_str_new2(SSLeay_version(SSLEAY_VERSION)));
+#endif
/*
* Version number of OpenSSL the ruby OpenSSL extension was built with
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h
index f08889b2..5a15839c 100644
--- a/ext/openssl/ossl.h
+++ b/ext/openssl/ossl.h
@@ -35,6 +35,11 @@
#if !defined(OPENSSL_NO_OCSP)
# include <openssl/ocsp.h>
#endif
+#include <openssl/bn.h>
+#include <openssl/rsa.h>
+#include <openssl/dsa.h>
+#include <openssl/evp.h>
+#include <openssl/dh.h>
/*
* Common Module
diff --git a/ext/openssl/ossl_cipher.c b/ext/openssl/ossl_cipher.c
index bfa76c1a..e6179733 100644
--- a/ext/openssl/ossl_cipher.c
+++ b/ext/openssl/ossl_cipher.c
@@ -508,9 +508,9 @@ ossl_cipher_set_iv(VALUE self, VALUE iv)
StringValue(iv);
GetCipher(self, ctx);
#if defined(HAVE_AUTHENTICATED_ENCRYPTION)
- if (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)
+ if (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)
iv_len = (int)(VALUE)EVP_CIPHER_CTX_get_app_data(ctx);
#endif
if (!iv_len)
iv_len = EVP_CIPHER_CTX_iv_length(ctx);
@@ -535,7 +535,7 @@ ossl_cipher_is_authenticated(VALUE self)
GetCipher(self, ctx);
#if defined(HAVE_AUTHENTICATED_ENCRYPTION)
- return (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER) ? Qtrue : Qfalse;
+ return (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER) ? Qtrue : Qfalse;
#else
return Qfalse;
#endif
@@ -606,7 +606,7 @@ ossl_cipher_get_auth_tag(int argc, VALUE *argv, VALUE self)
GetCipher(self, ctx);
- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER))
+ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER))
ossl_raise(eCipherError, "authentication tag not supported by this cipher");
ret = rb_str_new(NULL, tag_len);
@@ -641,7 +641,7 @@ ossl_cipher_set_auth_tag(VALUE self, VALUE vtag)
tag_len = RSTRING_LENINT(vtag);
GetCipher(self, ctx);
- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER))
+ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER))
ossl_raise(eCipherError, "authentication tag not supported by this cipher");
if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, tag_len, tag))
@@ -668,7 +668,7 @@ ossl_cipher_set_auth_tag_len(VALUE self, VALUE vlen)
EVP_CIPHER_CTX *ctx;
GetCipher(self, ctx);
- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER))
+ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER))
ossl_raise(eCipherError, "AEAD not supported by this cipher");
if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, tag_len, NULL))
@@ -695,7 +695,7 @@ ossl_cipher_set_iv_length(VALUE self, VALUE iv_length)
EVP_CIPHER_CTX *ctx;
GetCipher(self, ctx);
- if (!(EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER))
+ if (!(EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER))
ossl_raise(eCipherError, "cipher does not support AEAD");
if (!EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN, len, NULL))
@@ -786,9 +786,9 @@ ossl_cipher_iv_length(VALUE self)
int len = 0;
GetCipher(self, ctx);
#if defined(HAVE_AUTHENTICATED_ENCRYPTION)
- if (EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_FLAG_AEAD_CIPHER)
+ if (EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(ctx)) & EVP_CIPH_FLAG_AEAD_CIPHER)
len = (int)(VALUE)EVP_CIPHER_CTX_get_app_data(ctx);
#endif
if (!len)
len = EVP_CIPHER_CTX_iv_length(ctx);
diff --git a/ext/openssl/ossl_engine.c b/ext/openssl/ossl_engine.c
index d69b5dca..5ca0d4ca 100644
--- a/ext/openssl/ossl_engine.c
+++ b/ext/openssl/ossl_engine.c
@@ -46,13 +46,25 @@ VALUE eEngineError;
/*
* Private
*/
-#define OSSL_ENGINE_LOAD_IF_MATCH(x) \
+#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000
+#define OSSL_ENGINE_LOAD_IF_MATCH(engine_name, x) \
do{\
- if(!strcmp(#x, RSTRING_PTR(name))){\
- ENGINE_load_##x();\
+ if(!strcmp(#engine_name, RSTRING_PTR(name))){\
+ if (OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_##x, NULL))\
+ return Qtrue;\
+ else\
+ ossl_raise(eEngineError, "OPENSSL_init_crypto"); \
+ }\
+}while(0)
+#else
+#define OSSL_ENGINE_LOAD_IF_MATCH(engine_name, x) \
+do{\
+ if(!strcmp(#engine_name, RSTRING_PTR(name))){\
+ ENGINE_load_##engine_name();\
return Qtrue;\
}\
}while(0)
+#endif
static void
ossl_engine_free(void *engine)
@@ -94,55 +106,55 @@ ossl_engine_s_load(int argc, VALUE *argv, VALUE klass)
StringValueCStr(name);
#ifndef OPENSSL_NO_STATIC_ENGINE
#if HAVE_ENGINE_LOAD_DYNAMIC
- OSSL_ENGINE_LOAD_IF_MATCH(dynamic);
+ OSSL_ENGINE_LOAD_IF_MATCH(dynamic, DYNAMIC);
#endif
#if HAVE_ENGINE_LOAD_4758CCA
- OSSL_ENGINE_LOAD_IF_MATCH(4758cca);
+ OSSL_ENGINE_LOAD_IF_MATCH(4758cca, 4758CCA);
#endif
#if HAVE_ENGINE_LOAD_AEP
- OSSL_ENGINE_LOAD_IF_MATCH(aep);
+ OSSL_ENGINE_LOAD_IF_MATCH(aep, AEP);
#endif
#if HAVE_ENGINE_LOAD_ATALLA
- OSSL_ENGINE_LOAD_IF_MATCH(atalla);
+ OSSL_ENGINE_LOAD_IF_MATCH(atalla, ATALLA);
#endif
#if HAVE_ENGINE_LOAD_CHIL
- OSSL_ENGINE_LOAD_IF_MATCH(chil);
+ OSSL_ENGINE_LOAD_IF_MATCH(chil, CHIL);
#endif
#if HAVE_ENGINE_LOAD_CSWIFT
- OSSL_ENGINE_LOAD_IF_MATCH(cswift);
+ OSSL_ENGINE_LOAD_IF_MATCH(cswift, CSWIFT);
#endif
#if HAVE_ENGINE_LOAD_NURON
- OSSL_ENGINE_LOAD_IF_MATCH(nuron);
+ OSSL_ENGINE_LOAD_IF_MATCH(nuron, NURON);
#endif
#if HAVE_ENGINE_LOAD_SUREWARE
- OSSL_ENGINE_LOAD_IF_MATCH(sureware);
+ OSSL_ENGINE_LOAD_IF_MATCH(sureware, SUREWARE);
#endif
#if HAVE_ENGINE_LOAD_UBSEC
- OSSL_ENGINE_LOAD_IF_MATCH(ubsec);
+ OSSL_ENGINE_LOAD_IF_MATCH(ubsec, UBSEC);
#endif
#if HAVE_ENGINE_LOAD_PADLOCK
- OSSL_ENGINE_LOAD_IF_MATCH(padlock);
+ OSSL_ENGINE_LOAD_IF_MATCH(padlock, PADLOCK);
#endif
#if HAVE_ENGINE_LOAD_CAPI
- OSSL_ENGINE_LOAD_IF_MATCH(capi);
+ OSSL_ENGINE_LOAD_IF_MATCH(capi, CAPI);
#endif
#if HAVE_ENGINE_LOAD_GMP
- OSSL_ENGINE_LOAD_IF_MATCH(gmp);
+ OSSL_ENGINE_LOAD_IF_MATCH(gmp, GMP);
#endif
#if HAVE_ENGINE_LOAD_GOST
- OSSL_ENGINE_LOAD_IF_MATCH(gost);
+ OSSL_ENGINE_LOAD_IF_MATCH(gost, GOST);
#endif
#if HAVE_ENGINE_LOAD_CRYPTODEV
- OSSL_ENGINE_LOAD_IF_MATCH(cryptodev);
+ OSSL_ENGINE_LOAD_IF_MATCH(cryptodev, CRYPTODEV);
#endif
#if HAVE_ENGINE_LOAD_AESNI
- OSSL_ENGINE_LOAD_IF_MATCH(aesni);
+ OSSL_ENGINE_LOAD_IF_MATCH(aesni, AESNI);
#endif
#endif
#ifdef HAVE_ENGINE_LOAD_OPENBSD_DEV_CRYPTO
- OSSL_ENGINE_LOAD_IF_MATCH(openbsd_dev_crypto);
+ OSSL_ENGINE_LOAD_IF_MATCH(openbsd_dev_crypto, OPENBSD_DEV_CRYPTO);
#endif
- OSSL_ENGINE_LOAD_IF_MATCH(openssl);
+ OSSL_ENGINE_LOAD_IF_MATCH(openssl, OPENSSL);
rb_warning("no such builtin loader for `%"PRIsVALUE"'", name);
return Qnil;
#endif /* HAVE_ENGINE_LOAD_BUILTIN_ENGINES */
@@ -160,7 +172,9 @@ ossl_engine_s_load(int argc, VALUE *argv, VALUE klass)
static VALUE
ossl_engine_s_cleanup(VALUE self)
{
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000
ENGINE_cleanup();
+#endif
return Qnil;
}
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index 8e3c0c42..d32a299c 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -379,7 +379,7 @@ ossl_call_session_get_cb(VALUE ary)
/* this method is currently only called for servers (in OpenSSL <= 0.9.8e) */
static SSL_SESSION *
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER)
ossl_sslctx_session_get_cb(SSL *ssl, const unsigned char *buf, int len, int *copy)
#else
ossl_sslctx_session_get_cb(SSL *ssl, unsigned char *buf, int len, int *copy)
diff --git a/ext/openssl/ossl_x509cert.c b/ext/openssl/ossl_x509cert.c
index cf82a53d..8d16b9b7 100644
--- a/ext/openssl/ossl_x509cert.c
+++ b/ext/openssl/ossl_x509cert.c
@@ -440,7 +440,7 @@ ossl_x509_set_not_before(VALUE self, VALUE time)
GetX509(self, x509);
asn1time = ossl_x509_time_adjust(NULL, time);
- if (!X509_set_notBefore(x509, asn1time)) {
+ if (!X509_set1_notBefore(x509, asn1time)) {
ASN1_TIME_free(asn1time);
ossl_raise(eX509CertError, "X509_set_notBefore");
}
@@ -479,7 +479,7 @@ ossl_x509_set_not_after(VALUE self, VALUE time)
GetX509(self, x509);
asn1time = ossl_x509_time_adjust(NULL, time);
- if (!X509_set_notAfter(x509, asn1time)) {
+ if (!X509_set1_notAfter(x509, asn1time)) {
ASN1_TIME_free(asn1time);
ossl_raise(eX509CertError, "X509_set_notAfter");
}
diff --git a/ext/openssl/ossl_x509crl.c b/ext/openssl/ossl_x509crl.c
index 5ecd7ea0..45cf7fb4 100644
--- a/ext/openssl/ossl_x509crl.c
+++ b/ext/openssl/ossl_x509crl.c
@@ -226,7 +226,7 @@ ossl_x509crl_set_last_update(VALUE self, VALUE time)
GetX509CRL(self, crl);
asn1time = ossl_x509_time_adjust(NULL, time);
- if (!X509_CRL_set_lastUpdate(crl, asn1time)) {
+ if (!X509_CRL_set1_lastUpdate(crl, asn1time)) {
ASN1_TIME_free(asn1time);
ossl_raise(eX509CRLError, "X509_CRL_set_lastUpdate");
}
@@ -257,7 +257,7 @@ ossl_x509crl_set_next_update(VALUE self, VALUE time)
GetX509CRL(self, crl);
asn1time = ossl_x509_time_adjust(NULL, time);
- if (!X509_CRL_set_nextUpdate(crl, asn1time)) {
+ if (!X509_CRL_set1_nextUpdate(crl, asn1time)) {
ASN1_TIME_free(asn1time);
ossl_raise(eX509CRLError, "X509_CRL_set_nextUpdate");
}

@ -1,67 +0,0 @@
From 5af43b1ec2674e9f86090790bc61abdb96be14ff Mon Sep 17 00:00:00 2001
From: hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Tue, 30 Jan 2018 05:43:42 +0000
Subject: [PATCH] ia64: update ia64-specific code to use execution context
This change follows commit 837fd5e494731d7d44786f29e7d6e8c27029806f
in '#ifdef __ia64' branches.
Noticed as a build failure by John Paul Adrian Glaubitz:
```
cont.c:502:50: error: 'rb_thread_t {aka struct rb_thread_struct}'
has no member named 'machine'
size = cont->machine.register_stack_size =
th->machine.register_stack_end - th->machine.register_stack_start;
^~
```
The change is trivial: update 'th->machine' usage to 'th->ec->machine'.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
---
cont.c | 6 +++---
thread.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cont.c b/cont.c
index f48fd2e52b..93a64f8fe6 100644
--- a/cont.c
+++ b/cont.c
@@ -475,7 +475,7 @@ cont_save_machine_stack(rb_thread_t *th, rb_context_t *cont)
SET_MACHINE_STACK_END(&th->ec->machine.stack_end);
#ifdef __ia64
- th->machine.register_stack_end = rb_ia64_bsp();
+ th->ec->machine.register_stack_end = rb_ia64_bsp();
#endif
if (th->ec->machine.stack_start > th->ec->machine.stack_end) {
@@ -499,8 +499,8 @@ cont_save_machine_stack(rb_thread_t *th, rb_context_t *cont)
#ifdef __ia64
rb_ia64_flushrs();
- size = cont->machine.register_stack_size = th->machine.register_stack_end - th->machine.register_stack_start;
- cont->machine.register_stack_src = th->machine.register_stack_start;
+ size = cont->machine.register_stack_size = th->ec->machine.register_stack_end - th->ec->machine.register_stack_start;
+ cont->machine.register_stack_src = th->ec->machine.register_stack_start;
if (cont->machine.register_stack) {
REALLOC_N(cont->machine.register_stack, VALUE, size);
}
diff --git a/thread.c b/thread.c
index acb53354fd..23957eba09 100644
--- a/thread.c
+++ b/thread.c
@@ -133,7 +133,7 @@ static inline void blocking_region_end(rb_thread_t *th, struct rb_blocking_regio
#ifdef __ia64
#define RB_GC_SAVE_MACHINE_REGISTER_STACK(th) \
- do{(th)->machine.register_stack_end = rb_ia64_bsp();}while(0)
+ do{(th)->ec->machine.register_stack_end = rb_ia64_bsp();}while(0)
#else
#define RB_GC_SAVE_MACHINE_REGISTER_STACK(th)
#endif
--
2.16.1

@ -1,65 +0,0 @@
From 6160ea5e22ee7353a0814159c94bd3cf890a52ce Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Mon, 16 Nov 2020 08:42:15 +0000
Subject: [PATCH] configure.ac: fix for upcoming autoconf-2.70
The failure initially noticed on `autoconf-2.69d` (soon to become 2.70):
```
$ ./configure
./configure: line 8720: syntax error near unexpected token `fi'
./configure: line 8720: `fi'
```
Before the change generated `./configure ` snippet looked like:
```
if ! $CC -E -xc - <<SRC >/dev/null
then :
#if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3
#error premature clang
#endif
SRC
as_fn_error $? "clang version 3.0 or later is required" "$LINENO" 5
fi
```
Note the newline that breaks here-document syntax.
After the change the snippet does not use here-document.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
configure.ac | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index a5e3dc76f6..4e4a52f066 100644
--- a/configure.ac
+++ b/configure.ac
@@ -271,13 +271,14 @@ AS_CASE(["$host_os:$build_os"],
# clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/tags/Apple/clang-23 exported)
# Apple clang version 2.0 (tags/Apple/clang-137) (based on LLVM 2.9svn)
# Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
- AS_IF([! $CC -E -xc - <<SRC >/dev/null], [
- @%:@if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3
- @%:@error premature clang
- @%:@endif
-SRC
- AC_MSG_ERROR([clang version 3.0 or later is required])
- ])
+ AC_PREPROC_IFELSE(
+ [AC_LANG_PROGRAM([
+ @%:@if defined __APPLE_CC__ && defined __clang_major__ && __clang_major__ < 3
+ @%:@error premature clang
+ @%:@endif
+ ])],
+ [],
+ [AC_MSG_ERROR([clang version 3.0 or later is required])])
])
AS_CASE(["$target_os"],
--
2.29.2

@ -1,11 +0,0 @@
--- a/configure.ac.~1~ 2017-12-15 10:43:40.000000000 +0100
+++ b/configure.ac 2017-12-25 11:02:19.099076831 +0100
@@ -3233,7 +3233,7 @@
[linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu | haiku*], [
: ${LDSHARED='$(CC) -shared'}
AS_IF([test "$rb_cv_binary_elf" = yes], [
- LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+ LDFLAGS="$LDFLAGS -Wl,-export-dynamic -Wl,--no-undefined"
])
rb_cv_dlopen=yes],
[interix*], [ : ${LDSHARED='$(CC) -shared'}

@ -1,95 +0,0 @@
--- a/tool/rbinstall.rb.~1~ 2017-10-30 06:45:20.000000000 +0100
+++ b/tool/rbinstall.rb 2017-12-25 11:06:53.340432435 +0100
@@ -700,20 +700,10 @@
# :startdoc:
install?(:ext, :comm, :gem, :'default-gems', :'default-gems-comm') do
- install_default_gem('lib', srcdir)
+ # Gems are unbundled in Gentoo
end
install?(:ext, :arch, :gem, :'default-gems', :'default-gems-arch') do
- install_default_gem('ext', srcdir) do |path|
- # assume that gemspec and extconf.rb are placed in the same directory
- success = false
- begin
- IO.foreach(File.dirname(path[(srcdir.size+1)..-1]) + "/Makefile") do |l|
- break success = true if /^TARGET\s*=/ =~ l
- end
- rescue Errno::ENOENT
- end
- success
- end
+ # Gems are unbundled in Gentoo
end
def load_gemspec(file)
@@ -765,68 +755,7 @@
end
install?(:ext, :comm, :gem, :'bundled-gems') do
- gem_dir = Gem.default_dir
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
- prepare "bundled gems", gem_dir, directories
- install_dir = with_destdir(gem_dir)
- installed_gems = {}
- options = {
- :install_dir => install_dir,
- :bin_dir => with_destdir(bindir),
- :domain => :local,
- :ignore_dependencies => true,
- :dir_mode => $dir_mode,
- :data_mode => $data_mode,
- :prog_mode => $prog_mode,
- :wrappers => true,
- :format_executable => true,
- }
- gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
- extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
- Gem::Specification.each_gemspec([srcdir+'/gems/*']) do |path|
- spec = load_gemspec(path)
- next unless spec.platform == Gem::Platform::RUBY
- next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1]
- spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
- if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
- spec.extensions[0] ||= "-"
- end
- ins = RbInstall::UnpackedInstaller.new(spec, options)
- puts "#{INDENT}#{spec.name} #{spec.version}"
- ins.install
- File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
- unless spec.extensions.empty?
- install_recursive(ext, spec.extension_dir)
- end
- installed_gems[spec.full_name] = true
- end
- installed_gems, gems = Dir.glob(srcdir+'/gems/*.gem').partition {|gem| installed_gems.key?(File.basename(gem, '.gem'))}
- unless installed_gems.empty?
- install installed_gems, gem_dir+"/cache"
- end
- next if gems.empty?
- if defined?(Zlib)
- Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name)))
- silent = Gem::SilentUI.new
- gems.each do |gem|
- inst = Gem::Installer.new(gem, options)
- inst.spec.extension_dir = with_destdir(inst.spec.extension_dir)
- begin
- Gem::DefaultUserInteraction.use_ui(silent) {inst.install}
- rescue Gem::InstallError => e
- next
- end
- gemname = File.basename(gem)
- puts "#{INDENT}#{gemname}"
- end
- # fix directory permissions
- # TODO: Gem.install should accept :dir_mode option or something
- File.chmod($dir_mode, *Dir.glob(install_dir+"/**/"))
- # fix .gemspec permissions
- File.chmod($data_mode, *Dir.glob(install_dir+"/specifications/*.gemspec"))
- else
- puts "skip installing bundled gems because of lacking zlib"
- end
+ # Gems are unbundled in Gentoo
end
parse_args()

@ -1,85 +0,0 @@
--- a/tool/rbinstall.rb.~1~ 2017-10-30 06:45:20.000000000 +0100
+++ b/tool/rbinstall.rb 2017-12-25 11:06:53.340432435 +0100
@@ -700,10 +700,10 @@
# :startdoc:
install?(:ext, :comm, :gem, :'default-gems', :'default-gems-comm') do
- install_default_gem('lib', srcdir)
+ # Gems are unbundled in Gentoo
end
install?(:ext, :arch, :gem, :'default-gems', :'default-gems-arch') do
- install_default_gem('ext', srcdir)
+ # Gems are unbundled in Gentoo
end
def load_gemspec(file)
@@ -765,68 +755,7 @@
end
install?(:ext, :comm, :gem, :'bundled-gems') do
- gem_dir = Gem.default_dir
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
- prepare "bundled gems", gem_dir, directories
- install_dir = with_destdir(gem_dir)
- installed_gems = {}
- options = {
- :install_dir => install_dir,
- :bin_dir => with_destdir(bindir),
- :domain => :local,
- :ignore_dependencies => true,
- :dir_mode => $dir_mode,
- :data_mode => $data_mode,
- :prog_mode => $prog_mode,
- :wrappers => true,
- :format_executable => true,
- }
- gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
- extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
- Gem::Specification.each_gemspec([srcdir+'/gems/*']) do |path|
- spec = load_gemspec(path)
- next unless spec.platform == Gem::Platform::RUBY
- next unless spec.full_name == path[srcdir.size..-1][/\A\/gems\/([^\/]+)/, 1]
- spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
- if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
- spec.extensions[0] ||= "-"
- end
- ins = RbInstall::UnpackedInstaller.new(spec, options)
- puts "#{INDENT}#{spec.name} #{spec.version}"
- ins.install
- File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
- unless spec.extensions.empty?
- install_recursive(ext, spec.extension_dir)
- end
- installed_gems[spec.full_name] = true
- end
- installed_gems, gems = Dir.glob(srcdir+'/gems/*.gem').partition {|gem| installed_gems.key?(File.basename(gem, '.gem'))}
- unless installed_gems.empty?
- install installed_gems, gem_dir+"/cache"
- end
- next if gems.empty?
- if defined?(Zlib)
- Gem.instance_variable_set(:@ruby, with_destdir(File.join(bindir, ruby_install_name)))
- silent = Gem::SilentUI.new
- gems.each do |gem|
- inst = Gem::Installer.new(gem, options)
- inst.spec.extension_dir = with_destdir(inst.spec.extension_dir)
- begin
- Gem::DefaultUserInteraction.use_ui(silent) {inst.install}
- rescue Gem::InstallError => e
- next
- end
- gemname = File.basename(gem)
- puts "#{INDENT}#{gemname}"
- end
- # fix directory permissions
- # TODO: Gem.install should accept :dir_mode option or something
- File.chmod($dir_mode, *Dir.glob(install_dir+"/**/"))
- # fix .gemspec permissions
- File.chmod($data_mode, *Dir.glob(install_dir+"/specifications/*.gemspec"))
- else
- puts "skip installing bundled gems because of lacking zlib"
- end
+ # Gems are unbundled in Gentoo
end
parse_args()

@ -1,220 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools flag-o-matic multilib
MY_P="${PN}-$(ver_cut 1-3)"
S=${WORKDIR}/${MY_P}
SLOT=$(ver_cut 1-2)
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
RUBYVERSION=${SLOT}.0
DESCRIPTION="An object-oriented scripting language"
HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~s390 sparc x86"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc +rdoc rubytests socks5 +ssl static-libs tk xemacs"
RDEPEND="
berkdb? ( sys-libs/db:= )
gdbm? ( sys-libs/gdbm:= )
jemalloc? ( dev-libs/jemalloc:= )
ssl? (
dev-libs/openssl:0=
)
socks5? ( >=net-proxy/dante-1.1.13 )
tk? (
dev-lang/tcl:0=[threads]
dev-lang/tk:0=[threads]
)
dev-libs/libyaml
dev-libs/libffi:=
sys-libs/readline:0=
sys-libs/zlib
virtual/libcrypt:=
>=app-eselect/eselect-ruby-20171225
"
DEPEND="${RDEPEND}"
BUNDLED_GEMS="
>=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
>=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
>=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
>=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
>=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
"
PDEPEND="
${BUNDLED_GEMS}
virtual/rubygems[ruby_targets_ruby25]
>=dev-ruby/json-2.0.2[ruby_targets_ruby25]
rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby25] )
xemacs? ( app-xemacs/ruby-modes )"
src_prepare() {
eapply "${FILESDIR}"/${SLOT}/{001,005,011}*.patch
einfo "Unbundling gems..."
cd "$S"
# Remove bundled gems that we will install via PDEPEND, bug
# 539700. Use explicit version numbers to ensure rm fails when they
# change so we can update dependencies accordingly.
rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
einfo "Removing bundled libraries..."
rm -fr ext/fiddle/libffi-3.2.1 || die
eapply_user
eautoreconf
}
src_configure() {
local modules= myconf=
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
# as it's risky with newer compilers to leave it as it is.
append-flags -fno-strict-aliasing
# Socks support via dante
if use socks5 ; then
# Socks support can't be disabled as long as SOCKS_SERVER is
# set and socks library is present, so need to unset
# SOCKS_SERVER in that case.
unset SOCKS_SERVER
fi
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
fi
# ipv6 hack, bug 168939. Needs --enable-ipv6.
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
# Determine which modules *not* to build depending in the USE flags.
if ! use berkdb ; then
modules="${modules},dbm"
fi
if ! use gdbm ; then
modules="${modules},gdbm"
fi
if ! use ssl ; then
modules="${modules},openssl"
fi
if ! use tk ; then
modules="${modules},tk"
fi
# Provide an empty LIBPATHENV because we disable rpath but we do not
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
# #564272
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
--enable-shared \
--enable-pthread \
--disable-rpath \
--with-out-ext="${modules}" \
$(use_with jemalloc jemalloc) \
$(use_enable socks5 socks) \
$(use_enable doc install-doc) \
--enable-ipv6 \
$(use_enable static-libs static) \
$(use_enable static-libs install-static-library) \
$(use_with static-libs static-linked-ext) \
$(use_enable debug) \
${myconf} \
--enable-option-checking=no
}
src_compile() {
emake V=1 EXTLDFLAGS="${LDFLAGS}"
}
src_test() {
emake -j1 V=1 test
elog "Ruby's make test has been run. Ruby also ships with a make check"
elog "that cannot be run until after ruby has been installed."
elog
if use rubytests; then
elog "You have enabled rubytests, so they will be installed to"
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
elog "than root, and you must place them into a writeable directory."
elog "Then call: "
elog
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
else
elog "Enable the rubytests USE flag to install the make check tests"
fi
}
src_install() {
# Remove the remaining bundled gems. We do this late in the process
# since they are used during the build to e.g. create the
# documentation.
rm -rf ext/json || die
# Ruby is involved in the install process, we don't want interference here.
unset RUBYOPT
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
done
export LD_LIBRARY_PATH RUBYLIB
emake V=1 DESTDIR="${D}" install
# Remove installed rubygems and rdoc copy
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
if use doc; then
make DESTDIR="${D}" install-doc || die "make install-doc failed"
fi
if use examples; then
dodoc -r sample
fi
dodoc ChangeLog NEWS doc/NEWS* README*
if use rubytests; then
pushd test
insinto /usr/share/${PN}-${SLOT}/test
doins -r .
popd
fi
}
pkg_postinst() {
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
eselect ruby set ruby${MY_SUFFIX}
fi
elog
elog "To switch between available Ruby profiles, execute as root:"
elog "\teselect ruby set ruby(23|24|...)"
elog
}
pkg_postrm() {
eselect ruby cleanup
}

@ -1,246 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools flag-o-matic multilib
MY_P="${PN}-$(ver_cut 1-3)"
S=${WORKDIR}/${MY_P}
SLOT=$(ver_cut 1-2)
MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
RUBYVERSION=${SLOT}.0
DESCRIPTION="An object-oriented scripting language"
HOMEPAGE="https://www.ruby-lang.org/"
SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
LICENSE="|| ( Ruby-BSD BSD-2 )"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs"
RDEPEND="
berkdb? ( sys-libs/db:= )
gdbm? ( sys-libs/gdbm:= )
jemalloc? ( dev-libs/jemalloc:= )
ssl? (
dev-libs/openssl:0=
)
socks5? ( >=net-proxy/dante-1.1.13 )
systemtap? ( dev-util/systemtap )
tk? (
dev-lang/tcl:0=[threads]
dev-lang/tk:0=[threads]
)
dev-libs/libyaml
dev-libs/libffi:=
sys-libs/readline:0=
sys-libs/zlib
virtual/libcrypt:=
>=app-eselect/eselect-ruby-20171225
"
DEPEND="${RDEPEND}"
BUNDLED_GEMS="
>=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
>=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
>=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
>=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
>=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
"
PDEPEND="
${BUNDLED_GEMS}
virtual/rubygems[ruby_targets_ruby25]
>=dev-ruby/json-2.0.2[ruby_targets_ruby25]
rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby25] )
xemacs? ( app-xemacs/ruby-modes )"
src_prepare() {
eapply "${FILESDIR}"/${SLOT}/{001,002,005,011}*.patch
einfo "Unbundling gems..."
cd "$S"
# Remove bundled gems that we will install via PDEPEND, bug
# 539700. Use explicit version numbers to ensure rm fails when they
# change so we can update dependencies accordingly.
rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
einfo "Removing bundled libraries..."
rm -fr ext/fiddle/libffi-3.2.1 || die
if use prefix ; then
# Fix hardcoded SHELL var in mkmf library
sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die
if [[ ${CHOST} == *darwin* ]] ; then
# avoid symlink loop on Darwin (?!)
sed -i \
-e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \
configure.ac || die
# make ar/libtool hack for Darwin work
sed -i \
-e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \
configure.ac || die
fi
fi
eapply_user
eautoreconf
}
src_configure() {
local modules= myconf=
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
filter-flags -fomit-frame-pointer
# In many places aliasing rules are broken; play it safe
# as it's risky with newer compilers to leave it as it is.
append-flags -fno-strict-aliasing
# Socks support via dante
if use socks5 ; then
# Socks support can't be disabled as long as SOCKS_SERVER is
# set and socks library is present, so need to unset
# SOCKS_SERVER in that case.
unset SOCKS_SERVER
fi
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
fi
# ipv6 hack, bug 168939. Needs --enable-ipv6.
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
# Determine which modules *not* to build depending in the USE flags.
if ! use berkdb ; then
modules="${modules},dbm"
fi
if ! use gdbm ; then
modules="${modules},gdbm"
fi
if ! use ssl ; then
modules="${modules},openssl"
fi
if ! use tk ; then
modules="${modules},tk"
fi
# Provide an empty LIBPATHENV because we disable rpath but we do not
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
# #564272
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
--program-suffix=${MY_SUFFIX} \
--with-soname=ruby${MY_SUFFIX} \
--with-readline-dir="${EPREFIX}"/usr \
--enable-shared \
--enable-pthread \
--disable-rpath \
--with-out-ext="${modules}" \
$(use_with jemalloc jemalloc) \
$(use_enable socks5 socks) \
$(use_enable systemtap dtrace) \
$(use_enable doc install-doc) \
--enable-ipv6 \
$(use_enable static-libs static) \
$(use_enable static-libs install-static-library) \
$(use_with static-libs static-linked-ext) \
$(use_enable debug) \
${myconf} \
--enable-option-checking=no
}
src_compile() {
emake V=1 EXTLDFLAGS="${LDFLAGS}"
}
src_test() {
emake -j1 V=1 test
elog "Ruby's make test has been run. Ruby also ships with a make check"
elog "that cannot be run until after ruby has been installed."
elog
if use rubytests; then
elog "You have enabled rubytests, so they will be installed to"
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
elog "than root, and you must place them into a writeable directory."
elog "Then call: "
elog
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
else
elog "Enable the rubytests USE flag to install the make check tests"
fi
}
src_install() {
# Remove the remaining bundled gems. We do this late in the process
# since they are used during the build to e.g. create the
# documentation.
rm -rf ext/json || die
# Ruby is involved in the install process, we don't want interference here.
unset RUBYOPT
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
if [[ ${CHOST} == *darwin* ]] ; then
DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}"
export DYLD_LIBRARY_PATH
fi
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
for d in $(find "${S}/ext" -type d) ; do
RUBYLIB="${RUBYLIB}:$d"
done
export LD_LIBRARY_PATH RUBYLIB
emake V=1 DESTDIR="${D}" install
# Remove installed rubygems and rdoc copy
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
if use doc; then
make DESTDIR="${D}" install-doc || die "make install-doc failed"
fi
if use examples; then
dodoc -r sample
fi
dodoc ChangeLog NEWS doc/NEWS* README*
if use rubytests; then
pushd test
insinto /usr/share/${PN}-${SLOT}/test
doins -r .
popd
fi
}
pkg_postinst() {
if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
eselect ruby set ruby${MY_SUFFIX}
fi
elog
elog "To switch between available Ruby profiles, execute as root:"
elog "\teselect ruby set ruby(23|24|...)"
elog
}
pkg_postrm() {
eselect ruby cleanup
}

@ -3,7 +3,7 @@
EAPI=7
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
inherit autotools flag-o-matic multilib-minimal multilib toolchain-funcs
MY_P="${PN}${PV}"

@ -3,7 +3,7 @@
EAPI=7
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
inherit autotools flag-o-matic multilib-minimal multilib toolchain-funcs
MY_P="${PN}${PV}"

@ -3,7 +3,7 @@
EAPI=7
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
inherit autotools flag-o-matic multilib-minimal multilib toolchain-funcs
MY_P="${PN}${PV}"

Binary file not shown.

@ -10,7 +10,7 @@ HOMEPAGE="http://www.angelcode.com/angelscript/"
SRC_URI="http://www.angelcode.com/angelscript/sdk/files/angelscript_${PV}.zip"
LICENSE="ZLIB"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~riscv ~x86"
IUSE="doc static-libs"
BDEPEND="app-arch/unzip"

@ -1 +0,0 @@
DIST libbrahe-1.1.0.tar.gz 344264 BLAKE2B 84d32344ce9a8f8447b2963d88352a48ec286d1f9c7f39f9ac0da019198cb06f5cc9909eef891ae1e324bfc4a29eea9df4c9a6685f388098ece0888fbeeb4c70 SHA512 54f2d0c9c1c04429fab59d365d6a4144eed29a400edccd7ed9e5d19876565071ac76686da73e7f84c857057c8c52e1b85d2e257203724cbd9f1877d76024927f

@ -1,7 +0,0 @@
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,3 +14,4 @@
AM_CFLAGS = -std=gnu99 -pedantic -Wall -Wno-format
DEFS = -I. -I$(srcdir)
+LIBS = -lm

@ -1,31 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="A Heterogenous C Library of Numeric Functions"
HOMEPAGE="http://www.coyotegulch.com/products/brahe/"
SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
DOCS=( AUTHORS ChangeLog NEWS )
PATCHES=(
"${FILESDIR}/${PV}-missing_libs.patch"
)
src_prepare() {
default
eautoreconf
}
src_install() {
default
find "${ED}" -name '*.a' -delete || die
}

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>

@ -1 +0,0 @@
DIST libcoyotl-3.1.0.tar.gz 346384 BLAKE2B 7b3b63e5cd629bc5a53e95d6fb35f9f8d64df593eca95bafce71934560e38d37b89efa3fa8a0b12a50e570d761609cda4bbdfbd0a1577d062a8c4fa5e12a07a1 SHA512 18d0a71204dc57d44f73fe03fd88c2a040e83615557cf1f018c22ad7c9a11d793c7f71df8e10a156b9fd4fae910882ed6cec37f9e57efd3546ffc15fa82a51b5

@ -1,30 +0,0 @@
--- a/libcoyotl/command_line.cpp
+++ b/libcoyotl/command_line.cpp
@@ -30,10 +30,13 @@
// http://www.coyotegulch.com
//
//-----------------------------------------------------------------------
#include "command_line.h"
+
+#include <cstring>
+
using namespace libcoyotl;
command_line::command_line(int argc, char * argv[], const set<string> & bool_opts)
: m_options(),
m_inputs(),
--- a/libcoyotl/sortutil.h
+++ b/libcoyotl/sortutil.h
@@ -34,10 +34,11 @@
//-----------------------------------------------------------------------
#if !defined(LIBCOYOTL_SORTUTIL_H)
#define LIBCOYOTL_SORTUTIL_H
+#include <climits>
#include <stdexcept>
namespace libcoyotl
{

@ -1,11 +0,0 @@
--- a/libcoyotl/maze_renderer.cpp
+++ b/libcoyotl/maze_renderer.cpp
@@ -36,6 +36,8 @@
#include "maze_renderer.h"
using namespace libcoyotl;
+#include <string.h>
+
#include <stdexcept>
using namespace std;

@ -1,56 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="A collection of portable C++ classes"
HOMEPAGE="http://www.coyotegulch.com/products/libcoyotl/"
SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND="media-libs/libpng:0="
DEPEND="${RDEPEND}"
BDEPEND="doc? ( app-doc/doxygen )"
DOCS=( AUTHORS ChangeLog NEWS README )
PATCHES=(
"${FILESDIR}"/${PV}-gcc-4.3.patch
"${FILESDIR}"/${PV}-gcc-4.7.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
ac_cv_prog_HAVE_DOXYGEN="false" econf --disable-static
}
src_compile() {
emake
if use doc ; then
cd docs || die
doxygen libcoyotl.doxygen || die "generating docs failed"
fi
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
if use doc ; then
docinto html
dodoc docs/html/*
fi
}

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>

@ -1 +0,0 @@
DIST libevocosm-3.3.1.tar.gz 414392 BLAKE2B 7952cb83a1d5affa4e9b267670cfc889373fbf5c461fdb7022fe1c4af01e2116266f298b4a6ccbfc8102e0bf38fb8411eb6b741e5d72ffefe97b15281a7e44e8 SHA512 ebb4200ac533bdb86051a8a33e5da08d677ae0aa8c2e65a9855e9465b76827c0a72f31e260ee34be62600cd22794a4e47c4471623de8d9fcb4749dcf0a37d946

@ -1,20 +0,0 @@
https://bugs.gentoo.org/421607
evocommon.h:468:29: error: 'usleep' was not declared in this scope
libevocosm/evocommon.h | 4 ++++
1 file changed, 4 insertions(+)
--- a/libevocosm/evocommon.h
+++ b/libevocosm/evocommon.h
@@ -54,6 +54,10 @@
#undef min
#endif
+#if !defined(_MSC_VER)
+#include "unistd.h"
+#endif
+
namespace libevocosm
{
//! The random number generator used by Evocosm

@ -1,49 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A C++ framework for evolutionary computing"
HOMEPAGE="http://www.coyotegulch.com/products/libevocosm/"
SRC_URI="http://www.coyotegulch.com/distfiles/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
RDEPEND="dev-libs/libcoyotl
dev-libs/libbrahe"
DEPEND="${RDEPEND}"
BDEPEND="doc? ( app-doc/doxygen )"
DOCS=( AUTHORS ChangeLog NEWS README )
PATCHES=(
"${FILESDIR}"/${P}-gcc47.patch
)
src_configure() {
export ac_cv_prog_HAVE_DOXYGEN="false"
econf --disable-static
}
src_compile() {
emake
if use doc ; then
cd docs || die
doxygen libevocosm.doxygen || die "generating docs failed"
fi
}
src_install() {
default
if use doc ; then
docinto html
dodoc docs/html/*
fi
find "${ED}" -name '*.la' -delete || die
}

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib-minimal
inherit multilib-minimal preserve-libs
MY_PV=${PV/_rc/-rc}
MY_P=${PN}-${MY_PV}
@ -10,22 +11,22 @@ MY_P=${PN}-${MY_PV}
DESCRIPTION="a portable, high level programming interface to various calling conventions"
HOMEPAGE="https://sourceware.org/libffi/"
SRC_URI="https://github.com/libffi/libffi/releases/download/v${MY_PV}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="MIT"
# This is a core package which is depended on by e.g. Python
# Please use preserve-libs.eclass in pkg_{pre,post}inst to cover users
# with FEATURES="-preserved-libs" or another package manager if SONAME
# changes.
SLOT="0/8" # SONAME=libffi.so.8
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug exec-static-trampoline pax-kernel static-libs test"
RESTRICT="!test? ( test )"
RDEPEND=""
DEPEND=""
BDEPEND="test? ( dev-util/dejagnu )"
DOCS="ChangeLog* README.md"
S=${WORKDIR}/${MY_P}
ECONF_SOURCE=${S}
src_prepare() {
@ -63,3 +64,11 @@ multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
einstalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libffi.so.7
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libffi.so.7
}

@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="BSD BSD-2 ISC MIT"

@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${PV}"
LICENSE="UoI-NCSA"
SLOT="12"
KEYWORDS="~amd64"
KEYWORDS="amd64"
DEPEND="
>=dev-util/spirv-llvm-translator-12.0.0:12=[${MULTILIB_USEDEP}]

Binary file not shown.

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@ -18,8 +18,6 @@ DEPEND="${RDEPEND}
sys-apps/sed
"
DOCS=( README )
PATCHES=( "${FILESDIR}/${PN}"-1.1-make.patch ) # Fix building on FreeBSD
src_prepare() {
@ -35,11 +33,14 @@ src_prepare() {
-e 's:^.*facile\.cmxa::'\
-e 's:^.*facile\.a::' Makefile || die "failed to remove native code objects"
fi
sed -i \
-e 's|$(FACILE|$(DESTDIR)$(FACILE|g' \
Makefile || die
}
src_configure() {
# This is a custom configure script and it does not support standard options
./configure --faciledir "${D}"$(ocamlc -where)/facile/ || die
./configure || die
}
src_test() {
@ -48,6 +49,5 @@ src_test() {
src_install() {
dodir $(ocamlc -where)
emake install
einstalldocs
default
}

@ -1,2 +1 @@
DIST zarith-1.11.tar.gz 98909 BLAKE2B 01deed333dc79dfdb5748c835ef80403c7892e36e461a1c65e5bb97f147b32df2e6cbe8f4e9b916aabc3bd2479bd97439a68d9cdb123d15b7c9ed0e3e7f784f3 SHA512 7c0645d63511d42b763cd0a33b3fb139c26d23ae0cf59cd651388644cb8e7c43a83265d55d69ff3320d8c4586c4f8dbd9c3412197bab2e110c38e6e7dac88b83
DIST zarith-1.12.tar.gz 93695 BLAKE2B b9622e2f397887d08fb8a8520419cf459e99906c05a897af91258b17d92d3fbbd2314a0a4be8a56a07074dcb0a0d04c896b3b5e69526a6c81a8a07b657d1bfec SHA512 8075573ae65579a2606b37dd1b213032a07d220d28c733f9288ae80d36f8a2cc4d91632806df2503c130ea9658dc207ee3a64347c21aa53969050a208f5b2bb4

@ -1,58 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit findlib toolchain-funcs
DESCRIPTION="Arithmetic and logic operations over arbitrary-precision integers"
HOMEPAGE="https://github.com/ocaml/Zarith"
SRC_URI="https://github.com/ocaml/Zarith/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-2.1-with-linking-exception"
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm ~arm64 ppc x86"
IUSE="doc mpir +ocamlopt"
RESTRICT="!ocamlopt? ( test )"
RDEPEND="
>=dev-lang/ocaml-4.05:=[ocamlopt=]
!mpir? ( dev-libs/gmp:0= )
mpir? ( sci-libs/mpir:= )"
DEPEND="${RDEPEND} dev-lang/perl"
DOCS=( README.md Changes )
S="${WORKDIR}/Zarith-release-${PV}"
src_configure() {
tc-export CC AR
./configure \
-host "${CHOST}" \
-ocamllibdir /usr/$(get_libdir)/ocaml \
-installdir "${ED}"/usr/$(get_libdir)/ocaml \
$(usex mpir "-mpir" "-gmp") || die
}
src_compile() {
emake -j 1 HASOCAMLOPT=$(usex ocamlopt yes no) HASDYNLINK=$(usex ocamlopt yes no) all
use doc && emake doc
}
src_test() {
emake HASOCAMLOPT=yes HASDYNLINK=yes tests
}
src_install() {
findlib_src_preinst
emake \
HASOCAMLOPT=$(usex ocamlopt yes no) \
HASDYNLINK=$(usex ocamlopt yes no) \
install
dosym zarith/libzarith.a /usr/$(get_libdir)/ocaml/libzarith.a
use doc && HTML_DOCS=( html/* )
einstalldocs
}

@ -29,8 +29,10 @@ src_configure() {
tc-export CC AR
./configure \
-ocamllibdir /usr/$(get_libdir)/ocaml \
-installdir "${ED}"/usr/$(get_libdir)/ocaml \
$(usex mpir "-mpir" "-gmp") || die
sed -i \
-e 's|$(INSTALLDIR)|$(DESTDIR)$(INSTALLDIR)|g' \
project.mak || die
}
src_compile() {
@ -48,6 +50,7 @@ src_install() {
emake \
HASOCAMLOPT=$(usex ocamlopt yes no) \
HASDYNLINK=$(usex ocamlopt yes no) \
DESTDIR="${ED}" \
install
dosym zarith/libzarith.a /usr/$(get_libdir)/ocaml/libzarith.a

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Perl5 module for reading configuration files and parsing command line arguments"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="Automated accessor generation"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="dev-perl/Sub-Name"

@ -11,7 +11,7 @@ DESCRIPTION="XS implementation of parts of Class::Load"
LICENSE="Artistic-2"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="A working (require q{Class::Name}) and more"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="PostgreSQL database driver for the DBI module"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Convert between DateTime and RFC2822/822 formats"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Parse and format W3CDTF datetime strings"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="~alpha amd64 ~arm arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

@ -10,7 +10,7 @@ inherit perl-module
DESCRIPTION="Introspect overloaded operators"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -9,7 +9,7 @@ inherit perl-module
DESCRIPTION="Type constraints and coercions for Perl"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~riscv"
IUSE="minimal"
RDEPEND="

@ -9,4 +9,4 @@ inherit perl-module
DESCRIPTION="Isolated String helpers from B"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~riscv"

Binary file not shown.

@ -4,7 +4,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
DISTUTILS_USE_SETUPTOOLS=rdepend
DISTUTILS_USE_SETUPTOOLS=bdepend
inherit distutils-r1

@ -26,6 +26,7 @@ RDEPEND="
BDEPEND="
test? (
>=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
>=dev-python/pytest-6.2[${PYTHON_USEDEP}]
>=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
>=dev-python/uvloop-0.15[${PYTHON_USEDEP}]

@ -12,7 +12,7 @@ SRC_URI="https://github.com/praiskup/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~sparc ~x86"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
PATCHES=(
"${FILESDIR}/${P}-remove-six-dep.patch"

@ -1,6 +1,3 @@
DIST bitarray-2.2.2.tar.gz 78273 BLAKE2B 1c9b9c4011b1b11481209aba6958aa3c58dc2c1f5188a97f8b6c15a8a77ed0338bfc64bfcf6da3667c317631e5d271408f443a33e214c8f123f2c764cc93d6b0 SHA512 98b02ecc39befa619c816117fdfc3d69efb931203bb509e92bdf800f5c64e8633a986751d1650cb33dd0c6c0df0653f70c97fe73d4334198b81f39aafec4e019
DIST bitarray-2.2.5.tar.gz 82954 BLAKE2B 2841f7bd3627e3f057e9f7fa39b25172d36b77e32a70f982f970a19f7102326860f2ccc268298263a2e8869e708b3e746ca06d3182394c9500f5473e44d4f2f6 SHA512 c611d4e3cb0e0a5353789a87d0a0c643015bb607756e07318e8f41ac8d43ff7c0d53785cfaa4ebd8f84634d374611e0d5553a4847f166e9cb68fd79e0fd62eb0
DIST bitarray-2.3.0.tar.gz 87119 BLAKE2B 0a402783e1abe7c9cfb8f70040eef9ee50763b77a73e7223b1816717cc5160960715d1f9d00b2bc538002577653468d09b8aa03753271963916a811b8f9dc9cd SHA512 def184d941d86812b38d8f8f11e131b5c33b7b652136a55acac7d915a6eac6c9a25e90b506d6f6668027cfa96eeb9248fde910e796e0750db53e809c72a1d45a
DIST bitarray-2.3.1.tar.gz 87554 BLAKE2B 763317dd0aea2f4f41ba4809a041d8a2238d78889e840a348bdeed9137d5b9c885dc64e5a8b341db4270eb69eb33144ec49d3a5c95aa3f9e87469ad2765fde1e SHA512 68748f7b912668ad495e70c00a3054086534dde3fda4838a0eac1dda2ce8649252c433cd8a0570303e13d275d98e7e59d95822436c0269e91e1b76b5d7e0d8f0
DIST bitarray-2.3.2.tar.gz 88480 BLAKE2B 0baff242d0450e76d40b6616f394a7c6ab8151c32c65b859e264fc5ddd13c808558ff6cb79723c29d6b33703f474fcd4cb583d62688ec44e9792f1a0f4ae9f13 SHA512 fa615bf411101eb26f3e6317d9b695602f65cd20d7d4037f9520ded8203b8b3cbfc749b95d29e5e21c6aea0b34cfc9dea688ef8e87f3d6ea837197d0965c3fe1
DIST bitarray-2.3.3.tar.gz 88192 BLAKE2B 1635db26f1c9c5f90f7f858e11d608cb361644f0d7ba3f7830f7e6216ddab485647b8be51c38b8da1e3a0a12fd959f1a8ea138db710e8d9f48782c0afebff205 SHA512 34b7a66c3bffc58fb4ead51f379152ce33f9cd4f56c6251f7d366f5f95786a6afc310ff71b3ac73eb256cece8789bd3227c0924ed94696497721a220532e746a
DIST bitarray-2.3.4.tar.gz 88229 BLAKE2B adf9c6e0cd1ebab3aa36af82d15fac2d7772289c3969134540154863decb7f58f532ad2a721127774c931b2fdb8f2a9698f990f8778b744a1eb267666140c66d SHA512 ba77ade534044bf19298c886958600cbf90c907ef08fbc70ad0975981942a213622a68a9c7e2708d89f19a8d127d6189cdcf365b27b0ae4c4f553b4febb3fcce

@ -1,20 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Efficient arrays of booleans -- C extension"
HOMEPAGE="https://github.com/ilanschnell/bitarray https://pypi.org/project/bitarray/"
SRC_URI="mirror://pypi/b/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="PSF-2"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
}

@ -1,20 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Efficient arrays of booleans -- C extension"
HOMEPAGE="https://github.com/ilanschnell/bitarray https://pypi.org/project/bitarray/"
SRC_URI="mirror://pypi/b/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="PSF-2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
}

@ -1,20 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="Efficient arrays of booleans -- C extension"
HOMEPAGE="https://github.com/ilanschnell/bitarray https://pypi.org/project/bitarray/"
SRC_URI="mirror://pypi/b/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="PSF-2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
}

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/b/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="PSF-2"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
python_test() {
"${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"

@ -17,7 +17,7 @@ if [[ "${PV}" == "9999" ]]; then
BOTOCORE_PV=${PV}
else
SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
# botocore is x.(y+3).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save