+++ /dev/null
-commit f777dadef601434550aa3fb411eebab04ad07103
-Author: David Leverton <levertond@googlemail.com>
-Date: Wed Aug 27 21:10:59 2014 +0100
-
- Fix build with -Werror=format-security
-
- Fixes: Gentoo#521326
-
-diff --git a/ruby/paludis_ruby.cc b/ruby/paludis_ruby.cc
-index 587601c..d58a8d0 100644
---- a/ruby/paludis_ruby.cc
-+++ b/ruby/paludis_ruby.cc
-@@ -173,19 +173,19 @@ void paludis::ruby::exception_to_ruby_exception(const std::exception & ee)
- rb_raise(rb_eRuntimeError, "Unexpected paludis::InternalError: %s (%s)",
- dynamic_cast<const paludis::InternalError *>(&ee)->message().c_str(), ee.what());
- else if (0 != dynamic_cast<const paludis::GotASetNotAPackageDepSpec *>(&ee))
-- rb_raise(c_got_a_set_not_a_package_dep_spec, dynamic_cast<const paludis::GotASetNotAPackageDepSpec *>(&ee)->message().c_str());
-+ rb_raise(c_got_a_set_not_a_package_dep_spec, "%s", dynamic_cast<const paludis::GotASetNotAPackageDepSpec *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::BadVersionSpecError *>(&ee))
-- rb_raise(c_bad_version_spec_error, dynamic_cast<const paludis::BadVersionSpecError *>(&ee)->message().c_str());
-+ rb_raise(c_bad_version_spec_error, "%s", dynamic_cast<const paludis::BadVersionSpecError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::SetNameError *>(&ee))
-- rb_raise(c_set_name_error, dynamic_cast<const paludis::SetNameError *>(&ee)->message().c_str());
-+ rb_raise(c_set_name_error, "%s", dynamic_cast<const paludis::SetNameError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::PackageNamePartError *>(&ee))
-- rb_raise(c_package_name_part_error, dynamic_cast<const paludis::PackageNamePartError *>(&ee)->message().c_str());
-+ rb_raise(c_package_name_part_error, "%s", dynamic_cast<const paludis::PackageNamePartError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::CategoryNamePartError *>(&ee))
-- rb_raise(c_category_name_part_error, dynamic_cast<const paludis::CategoryNamePartError *>(&ee)->message().c_str());
-+ rb_raise(c_category_name_part_error, "%s", dynamic_cast<const paludis::CategoryNamePartError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::NameError *>(&ee))
-- rb_raise(c_name_error, dynamic_cast<const paludis::NameError *>(&ee)->message().c_str());
-+ rb_raise(c_name_error, "%s", dynamic_cast<const paludis::NameError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::PackageDepSpecError *>(&ee))
-- rb_raise(c_package_dep_spec_error, dynamic_cast<const paludis::PackageDepSpecError *>(&ee)->message().c_str());
-+ rb_raise(c_package_dep_spec_error, "%s", dynamic_cast<const paludis::PackageDepSpecError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::AmbiguousPackageNameError *>(&ee))
- {
- VALUE ex_args[2];
-@@ -198,19 +198,19 @@ void paludis::ruby::exception_to_ruby_exception(const std::exception & ee)
- rb_exc_raise(rb_class_new_instance(2, ex_args, c_ambiguous_package_name_error));
- }
- else if (0 != dynamic_cast<const paludis::NoSuchPackageError *>(&ee))
-- rb_raise(c_no_such_package_error, dynamic_cast<const paludis::NoSuchPackageError *>(&ee)->message().c_str());
-+ rb_raise(c_no_such_package_error, "%s", dynamic_cast<const paludis::NoSuchPackageError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::NoSuchRepositoryError *>(&ee))
-- rb_raise(c_no_such_repository_error, dynamic_cast<const paludis::NoSuchRepositoryError *>(&ee)->message().c_str());
-+ rb_raise(c_no_such_repository_error, "%s", dynamic_cast<const paludis::NoSuchRepositoryError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::ConfigFileError *>(&ee))
-- rb_raise(c_config_file_error, dynamic_cast<const paludis::ConfigFileError *>(&ee)->message().c_str());
-+ rb_raise(c_config_file_error, "%s", dynamic_cast<const paludis::ConfigFileError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::ConfigurationError *>(&ee))
-- rb_raise(c_configuration_error, dynamic_cast<const paludis::ConfigurationError *>(&ee)->message().c_str());
-+ rb_raise(c_configuration_error, "%s", dynamic_cast<const paludis::ConfigurationError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::ActionFailedError *>(&ee))
-- rb_raise(c_action_failed_error, dynamic_cast<const paludis::ActionFailedError *>(&ee)->message().c_str());
-+ rb_raise(c_action_failed_error, "%s", dynamic_cast<const paludis::ActionFailedError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::ActionAbortedError *>(&ee))
-- rb_raise(c_action_aborted_error, dynamic_cast<const paludis::ActionAbortedError *>(&ee)->message().c_str());
-+ rb_raise(c_action_aborted_error, "%s", dynamic_cast<const paludis::ActionAbortedError *>(&ee)->message().c_str());
- else if (0 != dynamic_cast<const paludis::BadVersionOperatorError *>(&ee))
-- rb_raise(c_bad_version_operator_error, dynamic_cast<const paludis::BadVersionOperatorError *>(&ee)->message().c_str());
-+ rb_raise(c_bad_version_operator_error, "%s", dynamic_cast<const paludis::BadVersionOperatorError *>(&ee)->message().c_str());
-
- else if (0 != dynamic_cast<const paludis::Exception *>(&ee))
- rb_raise(rb_eRuntimeError, "Caught paludis::Exception: %s (%s)",
+++ /dev/null
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=4
-
-PYTHON_COMPAT=( python2_7 )
-
-inherit bash-completion-r1 eutils python-single-r1 user
-
-DESCRIPTION="paludis, the other package mangler"
-HOMEPAGE="http://paludis.exherbo.org/"
-SRC_URI="http://paludis.exherbo.org/download/${P}.tar.bz2"
-
-IUSE="doc pbins pink python ruby search-index test xml"
-LICENSE="GPL-2 vim"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-
-COMMON_DEPEND="
- >=app-admin/eselect-1.2.13
- >=app-shells/bash-3.2
- dev-libs/libpcre[cxx]
- sys-apps/file
- pbins? ( >=app-arch/libarchive-3.1.2 )
- python? (
- ${PYTHON_DEPS}
- >=dev-libs/boost-1.41.0[python,${PYTHON_USEDEP}] )
- ruby? ( dev-lang/ruby:1.9 )
- search-index? ( >=dev-db/sqlite-3 )
- xml? ( >=dev-libs/libxml2-2.6 )"
-
-DEPEND="${COMMON_DEPEND}
- >=app-text/asciidoc-8.6.3
- app-text/htmltidy
- app-text/xmlto
- >=sys-devel/gcc-4.7
- doc? (
- || (
- >=app-doc/doxygen-1.5.3
- <=app-doc/doxygen-1.5.1 )
- python? (
- dev-python/sphinx[${PYTHON_USEDEP}] )
- ruby? ( dev-ruby/syntax )
- )
- virtual/pkgconfig
- test? ( >=dev-cpp/gtest-1.6.0-r1 )"
-
-RDEPEND="${COMMON_DEPEND}
- sys-apps/sandbox"
-
-PDEPEND="app-eselect/eselect-package-manager"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if id paludisbuild >/dev/null 2>/dev/null ; then
- if ! groups paludisbuild | grep --quiet '\<tty\>' ; then
- eerror "The 'paludisbuild' user is now expected to be a member of the"
- eerror "'tty' group. You should add the user to this group before"
- eerror "upgrading Paludis."
- die "Please add paludisbuild to tty group"
- fi
- fi
- fi
-
- if [[ ${MERGE_TYPE} != binary ]]; then
- if [[ $(gcc-major-version) -lt 4
- || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 7 ) ]]
- then
- eerror "Paludis requires at least gcc 4.7 to build. Please switch the active"
- eerror "gcc version using gcc-config."
- die "Paludis requires at least gcc 4.7"
- fi
- fi
-}
-
-pkg_setup() {
- enewgroup "paludisbuild"
- enewuser "paludisbuild" -1 -1 "/var/tmp/paludis" "paludisbuild,tty"
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # The package explicitly wants ruby1.9, so fix the script on it.
- # https://bugs.gentoo.org/show_bug.cgi?id=439372#c2
- sed -i -e '1s/ruby/&19/' ruby/demos/*.rb || die
- epatch "${FILESDIR}/${P}-fix-format-security.patch"
-
- epatch_user
-}
-
-src_configure() {
- local myconf=(
- --htmldir=/usr/share/doc/${PF}/html
-
- $(use_enable doc doxygen)
- $(use_enable test gtest)
- $(use_enable pbins)
- $(use_enable pink)
- $(use_enable python)
- $(use python && use_enable doc python-doc)
- $(use_enable ruby)
- $(use ruby && use_enable doc ruby-doc)
- $(use_enable search-index)
- $(use_enable xml)
-
- --enable-vim
- --enable-visibility
- --with-config-framework=eselect
- --with-environments=default,portage
- --with-vim-install-dir=/usr/share/vim/vimfiles
- )
-
- econf "${myconf[@]}"
-}
-
-src_install() {
- default
- prune_libtool_files
-
- dobashcomp bash-completion/cave
-
- insinto /usr/share/zsh/site-functions
- doins zsh-completion/_cave
-}
-
-src_test() {
- # Work around Portage bugs
- local -x PALUDIS_DO_NOTHING_SANDBOXY="portage sucks"
- local -x BASH_ENV=/dev/null
-
- if [[ ${EUID} == 0 ]] ; then
- # hate
- local -x PALUDIS_REDUCED_UID=0
- local -x PALUDIS_REDUCED_GID=0
- fi
-
- if ! nonfatal emake check ; then
- eerror "Tests failed. Looking for files for you to add to your bug report..."
- find "${S}" -type f -name '*.epicfail' -or -name '*.log' | while read a ; do
- eerror " $a"
- done
- die "Make check failed"
- fi
-}
-
-pkg_postinst() {
- local pm
- if [[ -f ${ROOT}/etc/env.d/50package-manager ]] ; then
- pm=$( source "${ROOT}"/etc/env.d/50package-manager ; echo "${PACKAGE_MANAGER}" )
- fi
-
- if [[ ${pm} != paludis ]] ; then
- elog "If you are using paludis or cave as your primary package manager,"
- elog "you should consider running:"
- elog " eselect package-manager set paludis"
- fi
-}