diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-apps/paludis | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-apps/paludis')
-rw-r--r-- | sys-apps/paludis/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.0.0-fix-format-security.patch | 66 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch | 88 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-filter-EBUILD_PHASE_FUNC.patch | 22 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-filter-IUSE_EFFECTIVE.patch | 31 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-fix-MERGE_TYPE.patch | 81 | ||||
-rw-r--r-- | sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch | 30 | ||||
-rw-r--r-- | sys-apps/paludis/metadata.xml | 18 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-1.4.2-r1.ebuild | 157 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-2.0.0.ebuild | 161 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-2.2.0-r2.ebuild | 169 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-2.2.0.ebuild | 159 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-2.4.0.ebuild | 162 | ||||
-rw-r--r-- | sys-apps/paludis/paludis-9999.ebuild | 165 |
14 files changed, 1313 insertions, 0 deletions
diff --git a/sys-apps/paludis/Manifest b/sys-apps/paludis/Manifest new file mode 100644 index 000000000000..cc1091304cef --- /dev/null +++ b/sys-apps/paludis/Manifest @@ -0,0 +1,4 @@ +DIST paludis-1.4.2.tar.bz2 1791385 SHA256 ac342d908572e97968abcdd806ba9f390585a06f8da213b34374475972cb2611 SHA512 1176812683453e61897005612f525aad42b38063ff680e645ee840d63c3ffe866578f4c2756f85f7d8bea5be8ca70d3ad1713c0ea2de9e18a76135251126c109 WHIRLPOOL 72b7391b242cebd78883e43ad82d736825841de64a2e4675a7b43a751a51edd3da8acdf37888b5112f4c9aa22c0137502e519cb81b6a1085681a4d860dafcd1c +DIST paludis-2.0.0.tar.bz2 1787616 SHA256 9e635d86e655658d31adde5813f5fcad2982b5fe8847c3c565eca7d28a1ec639 SHA512 e1df4d0617b4e021d1b63181517c0ecb9ece55669226c6ea0bba318b6899277c09a8d8ccc11ef673a3f27e77302c84702df4ae7568b44a87e0b138e346623728 WHIRLPOOL 90dcd765ebc864d14e569a01071fe3effae3c4424cf7f3004ce1f273c721c512697c6100e3b775d34732640bd770220fe5304f4d2b5e67f2de86c9f04c9ffe97 +DIST paludis-2.2.0.tar.bz2 1786405 SHA256 0b0bcb14a6539874d274c72e6a7b9825aa80fa083c2b61e1d5b14daf24829346 SHA512 9b4dd4613ec31683021d6fc5b5eb094024ceada47c41e09d1f0cb86f1de5b621869756401ba14ec0ec5f5dd20a5f8bf5b596c3891724bb9c245400b5fef4961f WHIRLPOOL 9cd602561b38e1bb6fc3d9baa5452c63a394c1e51faf299d8d1e82dad9a53969f14be542dac3f90974fcdf08c16c267cfdf45273c5244f378f9a2b7b6288bd97 +DIST paludis-2.4.0.tar.bz2 1787689 SHA256 f47b4bb5503dc127022453b15ca811dec22ee2f04c3c3b76ed1c5a83dbe1af1f SHA512 5fbb15d2285c892fdf19288b8838c51ec2439817a9abc685b8692ff4a3ddf76632d3ab51b2e0298c8eacf00f8b00f4e66b47b34db12844cd4eb77cbfb87ca32e WHIRLPOOL d9dc107886b8bf09bb203704d559dd030190b8390607964578c3f2e10a5c5cd4400146ffed894a968143761fc8149796d37597274b34b8414133b26c7252345b diff --git a/sys-apps/paludis/files/paludis-2.0.0-fix-format-security.patch b/sys-apps/paludis/files/paludis-2.0.0-fix-format-security.patch new file mode 100644 index 000000000000..40d2f3ad4953 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.0.0-fix-format-security.patch @@ -0,0 +1,66 @@ +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)", diff --git a/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch b/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch new file mode 100644 index 000000000000..1950f697f001 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-check-IUSE_EFFECTIVE-in-EAPI-5.patch @@ -0,0 +1,88 @@ +From bfb1bd7682b4a678cfa7dccb87d1f49d842317ac Mon Sep 17 00:00:00 2001 +From: David Leverton <levertond@googlemail.com> +Date: Sat, 21 Mar 2015 20:04:30 +0000 +Subject: Only check IUSE_EFFECTIVE for EAPI 5 + +In other EAPIs the value isn't set by C++, and therefore may leak in +from the calling environment. + +diff --git a/paludis/repositories/e/ebuild/0/list_functions.bash b/paludis/repositories/e/ebuild/0/list_functions.bash +index 0c5d91a..4998c2b 100644 +--- a/paludis/repositories/e/ebuild/0/list_functions.bash ++++ b/paludis/repositories/e/ebuild/0/list_functions.bash +@@ -37,13 +37,6 @@ usev() + + useq() + { +- if [[ -n "${IUSE_EFFECTIVE:+x}" ]] ; then +- local i=( $IUSE_EFFECTIVE ) +- if ! hasq ${1#!} "${i[@]#[+-]}" ; then +- die "Flag '${1#!}' is not included in IUSE_EFFECTIVE=\"${IUSE_EFFECTIVE}\"" +- fi +- fi +- + if [[ "${1:0:1}" == "!" ]] ; then + ! hasq "${1#!}" "${USE}" + else +diff --git a/paludis/repositories/e/ebuild/5/Makefile.am b/paludis/repositories/e/ebuild/5/Makefile.am +index fbcb919..ced4e53 100644 +--- a/paludis/repositories/e/ebuild/5/Makefile.am ++++ b/paludis/repositories/e/ebuild/5/Makefile.am +@@ -7,6 +7,7 @@ libexecprog5dir = $(libexecdir)/paludis/5 + libexecprog5_SCRIPTS = \ + src_test.bash \ + usex.bash \ ++ list_functions.bash \ + output_functions.bash + + TESTS = +diff --git a/paludis/repositories/e/ebuild/5/list_functions.bash b/paludis/repositories/e/ebuild/5/list_functions.bash +new file mode 100644 +index 0000000..7cb22ad +--- /dev/null ++++ b/paludis/repositories/e/ebuild/5/list_functions.bash +@@ -0,0 +1,41 @@ ++#!/usr/bin/env bash ++# vim: set sw=4 sts=4 et : ++ ++# Copyright (c) 2006, 2009, 2012 Ciaran McCreesh ++# Copyright (c) 2015 David Leverton ++# ++# Based in part upon ebuild.sh from Portage, which is Copyright 1995-2005 ++# Gentoo Foundation and distributed under the terms of the GNU General ++# Public License v2. ++# ++# This file is part of the Paludis package manager. Paludis is free software; ++# you can redistribute it and/or modify it under the terms of the GNU General ++# Public License, version 2, as published by the Free Software Foundation. ++# ++# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY ++# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++# details. ++# ++# You should have received a copy of the GNU General Public License along with ++# this program; if not, write to the Free Software Foundation, Inc., 59 Temple ++# Place, Suite 330, Boston, MA 02111-1307 USA ++ ++ebuild_load_module --older list_functions ++ ++useq() ++{ ++ if [[ -n "${IUSE_EFFECTIVE:+x}" ]] ; then ++ local i=( $IUSE_EFFECTIVE ) ++ if ! hasq ${1#!} "${i[@]#[+-]}" ; then ++ die "Flag '${1#!}' is not included in IUSE_EFFECTIVE=\"${IUSE_EFFECTIVE}\"" ++ fi ++ fi ++ ++ if [[ "${1:0:1}" == "!" ]] ; then ++ ! hasq "${1#!}" "${USE}" ++ else ++ hasq "${1}" "${USE}" ++ fi ++} ++ +-- +cgit v0.10.2 + diff --git a/sys-apps/paludis/files/paludis-2.2.0-filter-EBUILD_PHASE_FUNC.patch b/sys-apps/paludis/files/paludis-2.2.0-filter-EBUILD_PHASE_FUNC.patch new file mode 100644 index 000000000000..dc46726909c2 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-filter-EBUILD_PHASE_FUNC.patch @@ -0,0 +1,22 @@ +From dccb65acba7684c97675473fec5120e3aa55d2d0 Mon Sep 17 00:00:00 2001 +From: David Leverton <levertond@googlemail.com> +Date: Sun, 29 Mar 2015 18:36:02 +0100 +Subject: Fix EBUILD_PHASE_FUNC leakage + + +diff --git a/paludis/repositories/e/ebuild/ebuild.bash b/paludis/repositories/e/ebuild/ebuild.bash +index 24a93d4..b856bad 100755 +--- a/paludis/repositories/e/ebuild/ebuild.bash ++++ b/paludis/repositories/e/ebuild/ebuild.bash +@@ -76,7 +76,7 @@ ebuild_sanitise_envvars + # fancy fake variables + EBUILD_METADATA_VARIABLES="DEPEND RDEPEND PDEPEND IUSE IUSE_EFFECTIVE SRC_URI DOWNLOADS RESTRICT \ + LICENSE LICENCES KEYWORDS INHERITED PROVIDE HOMEPAGE DESCRIPTION DEPENDENCIES \ +- E_IUSE E_DEPEND E_RDEPEND E_PDEPEND PLATFORMS DEFINED_PHASES \ ++ E_IUSE E_DEPEND E_RDEPEND E_PDEPEND PLATFORMS DEFINED_PHASES EBUILD_PHASE_FUNC \ + MYOPTIONS E_MYOPTIONS E_DEPENDENCIES BINARY_KEYWORDS BINARY_URI \ + GENERATED_USING GENERATED_TIME GENERATED_FROM_REPOSITORY BINARY_PLATFORMS REMOTE_IDS \ + SUMMARY BUGS_TO UPSTREAM_DOCUMENTATION UPSTREAM_CHANGELOG \ +-- +cgit v0.10.2 + diff --git a/sys-apps/paludis/files/paludis-2.2.0-filter-IUSE_EFFECTIVE.patch b/sys-apps/paludis/files/paludis-2.2.0-filter-IUSE_EFFECTIVE.patch new file mode 100644 index 000000000000..2e56e6b3b122 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-filter-IUSE_EFFECTIVE.patch @@ -0,0 +1,31 @@ +From ef6930e03428ec512c9d564886c06078e5238d45 Mon Sep 17 00:00:00 2001 +From: David Leverton <levertond@googlemail.com> +Date: Sat, 21 Mar 2015 19:38:52 +0000 +Subject: Add IUSE_EFFECTIVE to EBUILD_METADATA_VARIABLES{,_FROM_CPLUSPLUS} + + +diff --git a/paludis/repositories/e/ebuild/ebuild.bash b/paludis/repositories/e/ebuild/ebuild.bash +index f4387e1..24a93d4 100755 +--- a/paludis/repositories/e/ebuild/ebuild.bash ++++ b/paludis/repositories/e/ebuild/ebuild.bash +@@ -74,7 +74,7 @@ ebuild_sanitise_envvars + + # The list below should include all variables from all EAPIs, along with any + # fancy fake variables +-EBUILD_METADATA_VARIABLES="DEPEND RDEPEND PDEPEND IUSE SRC_URI DOWNLOADS RESTRICT \ ++EBUILD_METADATA_VARIABLES="DEPEND RDEPEND PDEPEND IUSE IUSE_EFFECTIVE SRC_URI DOWNLOADS RESTRICT \ + LICENSE LICENCES KEYWORDS INHERITED PROVIDE HOMEPAGE DESCRIPTION DEPENDENCIES \ + E_IUSE E_DEPEND E_RDEPEND E_PDEPEND PLATFORMS DEFINED_PHASES \ + MYOPTIONS E_MYOPTIONS E_DEPENDENCIES BINARY_KEYWORDS BINARY_URI \ +@@ -82,7 +82,7 @@ EBUILD_METADATA_VARIABLES="DEPEND RDEPEND PDEPEND IUSE SRC_URI DOWNLOADS RESTRIC + SUMMARY BUGS_TO UPSTREAM_DOCUMENTATION UPSTREAM_CHANGELOG \ + UPSTREAM_RELEASE_NOTES PROPERTIES PALUDIS_DECLARED_FUNCTIONS SLOT EAPI OPTIONS USE \ + PALUDIS_EBUILD_RDEPEND_WAS_SET PALUDIS_EBUILD_DEPEND REQUIRED_USE SCM_REVISION" +-EBUILD_METADATA_VARIABLES_FROM_CPLUSPLUS="SLOT EAPI OPTIONS USE" ++EBUILD_METADATA_VARIABLES_FROM_CPLUSPLUS="SLOT EAPI OPTIONS USE IUSE_EFFECTIVE" + + shopt -s expand_aliases + [[ -z ${PALUDIS_SHELL_OPTIONS} && unset == ${PALUDIS_SHELL_OPTIONS-unset} ]] && +-- +cgit v0.10.2 + diff --git a/sys-apps/paludis/files/paludis-2.2.0-fix-MERGE_TYPE.patch b/sys-apps/paludis/files/paludis-2.2.0-fix-MERGE_TYPE.patch new file mode 100644 index 000000000000..2ef1a48ed52a --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-fix-MERGE_TYPE.patch @@ -0,0 +1,81 @@ +From 96768e54e2fdfc526edd2e939f20203e43b25a36 Mon Sep 17 00:00:00 2001 +From: David Leverton <levertond@googlemail.com> +Date: Sun, 1 Mar 2015 15:22:32 +0000 +Subject: Fix MERGE_TYPE + +Unfortunately the test cases were broken in the same way as the +feature itself, so it wasn't caught. + +Fixes: ticket:1323 + +diff --git a/paludis/repositories/e/e_repository_TEST_4.cc b/paludis/repositories/e/e_repository_TEST_4.cc +index a59014d..caccf2c 100644 +--- a/paludis/repositories/e/e_repository_TEST_4.cc ++++ b/paludis/repositories/e/e_repository_TEST_4.cc +@@ -301,7 +301,6 @@ TEST(ERepository, EAPI4MergeType) + n::replacing() = std::make_shared<PackageIDSequence>(), + n::want_phase() = &want_all_phases + )); +- ::setenv("EXPECTED_MERGE_TYPE", "source", 1); + + const std::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches( + PackageDepSpec(parse_user_package_dep_spec("=cat/merge-type-4::test-repo", +@@ -371,7 +370,6 @@ TEST(ERepository, EAPI4MergeTypeBin) + n::replacing() = std::make_shared<PackageIDSequence>(), + n::want_phase() = &want_all_phases + )); +- ::setenv("EXPECTED_MERGE_TYPE", "buildonly", 1); + + const std::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches( + PackageDepSpec(parse_user_package_dep_spec("=cat/merge-type-bin-4::test-repo", +@@ -389,7 +387,6 @@ TEST(ERepository, EAPI4MergeTypeBin) + n::replacing() = std::make_shared<PackageIDSequence>(), + n::want_phase() = &want_all_phases + )); +- ::setenv("EXPECTED_MERGE_TYPE", "binary", 1); + + const std::shared_ptr<const PackageID> id(*env[selection::RequireExactlyOne(generator::Matches( + PackageDepSpec(parse_user_package_dep_spec("=cat/merge-type-bin-4::binrepo", +diff --git a/paludis/repositories/e/e_repository_TEST_4_setup.sh b/paludis/repositories/e/e_repository_TEST_4_setup.sh +index 81b6593..0c28acc 100755 +--- a/paludis/repositories/e/e_repository_TEST_4_setup.sh ++++ b/paludis/repositories/e/e_repository_TEST_4_setup.sh +@@ -956,6 +956,8 @@ KEYWORDS="test" + + S="${WORKDIR}" + ++EXPECTED_MERGE_TYPE=source ++ + pkg_setup() { + if [[ ${EXPECTED_MERGE_TYPE} != ${MERGE_TYPE} ]] ; then + die ${EXPECTED_MERGE_TYPE} is not ${MERGE_TYPE} +@@ -975,10 +977,13 @@ KEYWORDS="test" + + S="${WORKDIR}" + ++EXPECTED_MERGE_TYPE=buildonly ++ + pkg_setup() { + if [[ ${EXPECTED_MERGE_TYPE} != ${MERGE_TYPE} ]] ; then + die ${EXPECTED_MERGE_TYPE} is not ${MERGE_TYPE} + fi ++ EXPECTED_MERGE_TYPE=binary + } + END + mkdir -p "cat/required-use-all-good" || exit 1 +diff --git a/paludis/repositories/e/ebuild/ebuild.bash b/paludis/repositories/e/ebuild/ebuild.bash +index a88554b..f4387e1 100755 +--- a/paludis/repositories/e/ebuild/ebuild.bash ++++ b/paludis/repositories/e/ebuild/ebuild.bash +@@ -304,7 +304,7 @@ ebuild_scrub_environment() + echo "\${!${PALUDIS_CLIENT_UPPER}_CMDLINE_*} ${PALUDIS_CLIENT_UPPER}_OPTIONS" ) + + unset -v CATEGORY PN PV P PNV PVR PF PNVR +- unset -v ebuild EBUILD ++ unset -v ebuild EBUILD MERGE_TYPE + unset -v $( + for v in ${PALUDIS_SOURCE_MERGED_VARIABLES} ${PALUDIS_BRACKET_MERGED_VARIABLES} ; do + echo E_${v} +-- +cgit v0.10.2 + diff --git a/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch b/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch new file mode 100644 index 000000000000..663e94d54979 --- /dev/null +++ b/sys-apps/paludis/files/paludis-2.2.0-fix-PWD-handling.patch @@ -0,0 +1,30 @@ +From f9b2434560399b00f7de479474f8f22fc0271e77 Mon Sep 17 00:00:00 2001 +From: Georgi Georgiev <chutz@gg3.net> +Date: Tue, 10 Mar 2015 00:38:36 +0900 +Subject: PWD is a special variable, we should leave its value alone + +Bash sets the value of PWD to the current working directory. It is not a +good idea to change that variable without actually changing the +directory. This would happen if the working directory changes between +saving and loading the environment (saving - when building a PBIN, and +loading - when installing it for example), so better let bash handle +this variable. + +Fixes: ticket:1325 + +diff --git a/paludis/repositories/e/ebuild/source_functions.bash b/paludis/repositories/e/ebuild/source_functions.bash +index 58b9327..5bfb251 100755 +--- a/paludis/repositories/e/ebuild/source_functions.bash ++++ b/paludis/repositories/e/ebuild/source_functions.bash +@@ -37,7 +37,7 @@ ebuild_need_extglob() + ebuild_safe_source() + { + set -- "${@}" '[^a-zA-Z_]*' '*[^a-zA-Z0-9_]*' \ +- EUID PPID UID FUNCNAME GROUPS SHELLOPTS BASHOPTS BASHPID IFS \ ++ EUID PPID UID FUNCNAME GROUPS SHELLOPTS BASHOPTS BASHPID IFS PWD \ + 'BASH_@(ARGC|ARGV|LINENO|SOURCE|VERSINFO|REMATCH)' \ + 'BASH_COMPLETION?(_DIR)' 'bash+([0-9])?([a-z])' \ + EBUILD_KILL_PID PALUDIS_LOADSAVEENV_DIR PALUDIS_DO_NOTHING_SANDBOXY SANDBOX_ACTIVE \ +-- +cgit v0.10.2 + diff --git a/sys-apps/paludis/metadata.xml b/sys-apps/paludis/metadata.xml new file mode 100644 index 000000000000..93c3ebe9295a --- /dev/null +++ b/sys-apps/paludis/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>jdhore@gentoo.org</email> + <name>Jeff Horelick</name> + </maintainer> + <maintainer> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <use> + <flag name="pbins">Enable binary package support. Adds dependency upon + <pkg>app-arch/libarchive</pkg></flag> + <flag name="pink">Use a less boring colourscheme than the default</flag> + <flag name='search-index'>Enable cave search --index. Requires sqlite.</flag> + </use> +</pkgmetadata> diff --git a/sys-apps/paludis/paludis-1.4.2-r1.ebuild b/sys-apps/paludis/paludis-1.4.2-r1.ebuild new file mode 100644 index 000000000000..4751880ddb26 --- /dev/null +++ b/sys-apps/paludis/paludis-1.4.2-r1.ebuild @@ -0,0 +1,157 @@ +# 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 + >=sys-devel/gcc-4.4 + dev-libs/libpcre[cxx] + sys-apps/file + pbins? ( >=app-arch/libarchive-3.1.2[xattr] ) + python? ( + ${PYTHON_DEPS} + >=dev-libs/boost-1.41.0[python,${PYTHON_USEDEP}] ) + ruby? ( dev-lang/ruby:1.9 ) + xml? ( >=dev-libs/libxml2-2.6 ) + search-index? ( >=dev-db/sqlite-3 )" + +DEPEND="${COMMON_DEPEND} + doc? ( + || ( >=app-doc/doxygen-1.5.3 <=app-doc/doxygen-1.5.1 ) + python? ( + dev-python/epydoc[${PYTHON_USEDEP}] + dev-python/pygments[${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} )" + +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 4 ) ]] + then + eerror "Paludis requires at least gcc 4.4 to build. Please switch the active" + eerror "gcc version using gcc-config." + die "Paludis requires at least gcc 4.4" + 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_user +} + +src_configure() { + local myeconfargs=( + --htmldir=/usr/share/doc/${PF}/html + + $(use_enable doc doxygen) + $(use_enable pbins) + $(use_enable pink) + $(use_enable ruby) + $(use ruby && use_enable doc ruby-doc) + $(use_enable python) + $(use python && use_enable doc python-doc) + $(use_enable xml) + $(use_enable search-index) + $(use_enable test gtest) + + --enable-prebuilt-documentation + --enable-vim + --enable-visibility + --with-config-framework=eselect + --with-environments=default,portage + --with-vim-install-dir=/usr/share/vim/vimfiles + ) + + econf "${myeconfargs[@]}" +} + +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 +} diff --git a/sys-apps/paludis/paludis-2.0.0.ebuild b/sys-apps/paludis/paludis-2.0.0.ebuild new file mode 100644 index 000000000000..e1bd370d4e0c --- /dev/null +++ b/sys-apps/paludis/paludis-2.0.0.ebuild @@ -0,0 +1,161 @@ +# 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} )" + +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 +} diff --git a/sys-apps/paludis/paludis-2.2.0-r2.ebuild b/sys-apps/paludis/paludis-2.2.0-r2.ebuild new file mode 100644 index 000000000000..98a4d23763b9 --- /dev/null +++ b/sys-apps/paludis/paludis-2.2.0-r2.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit autotools 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} )" + +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 + + local PATCHES=( + "${FILESDIR}"/${P}-fix-MERGE_TYPE.patch + "${FILESDIR}"/${P}-fix-PWD-handling.patch + "${FILESDIR}"/${P}-filter-IUSE_EFFECTIVE.patch + "${FILESDIR}"/${P}-check-IUSE_EFFECTIVE-in-EAPI-5.patch + "${FILESDIR}"/${P}-filter-EBUILD_PHASE_FUNC.patch + ) + + epatch "${PATCHES[@]}" + epatch_user + eautoreconf +} + +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 + --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 -k 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 +} diff --git a/sys-apps/paludis/paludis-2.2.0.ebuild b/sys-apps/paludis/paludis-2.2.0.ebuild new file mode 100644 index 000000000000..d8a064be865d --- /dev/null +++ b/sys-apps/paludis/paludis-2.2.0.ebuild @@ -0,0 +1,159 @@ +# 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} )" + +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_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 + --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 +} diff --git a/sys-apps/paludis/paludis-2.4.0.ebuild b/sys-apps/paludis/paludis-2.4.0.ebuild new file mode 100644 index 000000000000..725f7214e172 --- /dev/null +++ b/sys-apps/paludis/paludis-2.4.0.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +# matching profile defaults for now +RUBY_VER=2.0 + +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:${RUBY_VER} ) + 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[ruby_targets_ruby${RUBY_VER/./}] ) + ) + 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} )" + +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() { + # Fix the script shebang on Ruby scripts. + # https://bugs.gentoo.org/show_bug.cgi?id=439372#c2 + sed -i -e "1s/ruby/&${RUBY_VER/./}/" ruby/demos/*.rb || die + + 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) + --with-ruby-version="${RUBY_VER}" + $(use_enable search-index) + $(use_enable xml) + + --enable-vim + --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 -k 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 +} diff --git a/sys-apps/paludis/paludis-9999.ebuild b/sys-apps/paludis/paludis-9999.ebuild new file mode 100644 index 000000000000..1501384e1c76 --- /dev/null +++ b/sys-apps/paludis/paludis-9999.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGIT_REPO_URI='git://git.exherbo.org/paludis/paludis.git' +PYTHON_COMPAT=( python2_7 ) +# matching profile defaults for now +RUBY_VER=2.0 + +inherit autotools bash-completion-r1 eutils git-r3 python-single-r1 user + +DESCRIPTION="paludis, the other package mangler" +HOMEPAGE="http://paludis.exherbo.org/" +SRC_URI="" + +IUSE="doc pbins pink python ruby search-index test xml" +LICENSE="GPL-2 vim" +SLOT="0" +KEYWORDS="" + +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:${RUBY_VER} ) + 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[ruby_targets_ruby${RUBY_VER/./}] ) + ) + 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} )" + +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() { + # Fix the script shebang on Ruby scripts. + # https://bugs.gentoo.org/show_bug.cgi?id=439372#c2 + sed -i -e "1s/ruby/&${RUBY_VER/./}/" ruby/demos/*.rb || die + + ./autotools_prepare.bash || die + eautoreconf + 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) + --with-ruby-version="${RUBY_VER}" + $(use_enable search-index) + $(use_enable xml) + + --enable-vim + --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 -k 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 +} |