Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 174313 Details for
Bug 234902
dev-libs/boost-1.36.0 version bump request
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Proposed module.
boost.eselect (text/plain), 4.84 KB, created by
Łukasz Michalik
on 2008-12-05 14:08:13 UTC
(
hide
)
Description:
Proposed module.
Filename:
MIME Type:
Creator:
Łukasz Michalik
Created:
2008-12-05 14:08:13 UTC
Size:
4.84 KB
patch
obsolete
> >DESCRIPTION="Manage boost installations" > >_boost_tools="bcp bjam compiler_status inspect library_status process_jam_log quickbook wave" > >find_targets() { > local f > for f in "${ROOT}"/usr/include/boost-[[:digit:]]* ; do > [[ -d "${f}" ]] && echo $(basename "${f}") > done >} > >remove_installation() { > local link > for link in "${ROOT}/usr/include/boost" "${ROOT}/usr/share/boostbook" ; do > if [[ -L "${link}" ]] ; then > rm "${link}" || die -q "Couldn't remove \"${link}\" symlink" > else > [[ -e "${link}" ]] && die -q "\${link}\" exists and isn't a symlink" > fi > done > > pushd "${ROOT}/usr/lib" 1>/dev/null > local lib > for lib in libboost_*.{a,so} ; do > [[ -L "${lib}" && "${lib}" != libboost_*[[:digit:]]_[[:digit:]][[:digit:]].@(a|so) ]] || continue > rm "${lib}" || die -q "Unable to remove \"/usr/lib/${lib}\" symlink" > done > popd 1>/dev/null > > pushd "${ROOT}"/usr/bin 1>/dev/null > local tool > for tool in ${_boost_tools} ; do > [[ -L "${tool}" ]] && ( rm "${tool}" || die -q "Unable to remove \"/usr/bin/${tool}\" symlink" ) > done > popd 1>/dev/null >} > >set_installation() { > [[ -z "${2}" ]] && die -q "Too few parameters to set_installation()" > local target="${1}" > local version="${2}" > > if [[ -d "${ROOT}/usr/include/${target}" ]] ; then > pushd "${ROOT}/usr/include" 1>/dev/null > ln -s "${target}/boost" boost || die -q "Couldn't create symlink \"/usr/include/boost\"" > popd 1>/dev/null > > pushd "${ROOT}/usr/share/" 1>/dev/null > [[ -d "boostbook-${version}" ]] && \ > ( ln -s "boostbook-${version}" "boostbook" || die -q "Couldn't create symlink \"/usr/bin/${tool}\"" ) > popd 1>/dev/null > > pushd "${ROOT}/usr/lib/" 1>/dev/null > local lib > for lib in libboost_*-"${version}".{a,so} ; do > [[ -e "${lib}" ]] && \ > ( ln -s "${lib}" "${lib//-${version}}" || die -q "Couldn't create symlink \"/usr/bin/${lib}\"" ) > done > popd 1>/dev/null > > pushd "${ROOT}/usr/bin/" 1>/dev/null > local tool > for tool in ${_boost_tools} ; do > [[ -e "${tool}" ]] && die -q "\"/usr/bin/${tool}\" exists and isn't a symlink" > [[ -e "${tool}-${version}" ]] && \ > ( ln -s "${tool}-${version}" "${tool}" || die -q "Couldn't create symlink \"/usr/bin/${tool}\"" ) > done > popd 1>/dev/null > else > die -q "Target \"${target}\" doesn't appear to be valid!" > fi >} > >### show action ### > >describe_show() { > echo "Show the current boost version used" >} > >do_show() { > local include > > write_list_start "Current boost version:" > if [[ -L "${ROOT}"/usr/include/boost ]] ; then > include=$(basename $(dirname $(canonicalise "${ROOT}"/usr/include/boost ))) > write_kv_list_entry "${include%/}" "" > else > write_kv_list_entry "(unset)" "" > fi >} > >### list action ### > >describe_list() { > echo "List available boost versions" >} > >do_list() { > local targets=( $(find_targets ) ) > write_list_start "Available boost versions:" > if [[ -n "${targets[@]}" ]] ; then > local i > for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do > [[ "${targets[${i}]}" == $(basename $(dirname $(canonicalise "${ROOT}"/usr/include/boost))) ]] && \ > targets[${i}]="${targets[${i}]} $(highlight '*' )" > done > write_numbered_list "${targets[@]}" > else > write_kv_list_entry "(none found)" "" > fi >} > >### set action ### > >describe_set() { > echo "Set a new boost version" >} > >describe_set_parameters() { > echo "<target>" >} > >describe_set_options() { > echo "target : Target name or number (from 'list' action)" >} > >do_set() { > if [[ -z "${1}" ]] ; then > # no parameter > die -q "You didn't tell me what to set the version to" > fi > > local target="${1}" > if is_number "${target}" ; then > targets=($(find_targets)) > target="${targets[$((${target} - 1))]}" > fi > local version="${target//boost-}" > > if [[ -L "${ROOT}"/usr/include/boost ]] ; then > if ! remove_installation ; then > die -q "Couldn't unset existing installation" > elif ! set_installation "${target}" "${version}" ; then > die -q "Couldn't set a new installation" > fi > elif [[ -e "${ROOT}"/usr/include/boost ]] ; then > die -q "Sorry, existing boost installation confuses me" > else > set_installation "${target}" "${version}" || die -q "Couldn't set a new version" > fi >} > >### update action ### > >describe_update() { > echo "Automaticly update boost version used" >} > >do_update() { > local current= > if [[ -L "${ROOT}/usr/include/boost" ]]; then > current=$(basename $(canonicalise "${ROOT}/usr/include/boost") ) > if [[ ! -e $(canonicalise "${ROOT}/usr/include/boost") ]]; then > # clean up dead symlinks > remove_installation || die -q "Couldn't remove existing installation" > fi > elif [[ -e "${ROOT}/usr/include/boost" ]]; then > die -q "Sorry, \"/usr/include/boost\" exists but is not a symlink" > fi > > local targets=($(find_targets)) > if [[ ${#targets[@]} -gt 0 ]]; then > remove_installation || die -q "Couldn't remove existing installation" > local target="${targets[@]:(-1)}" > set_installation "${target}" "${target//boost-}" || die -q "Couldn't set a new symlink" > else > die -q "No slotted boost version found" > fi >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 234902
:
163171
|
163172
|
163173
|
163174
|
163176
|
163287
|
163290
|
163468
|
163470
|
163474
|
166766
|
166768
|
170758
|
171027
|
171782
|
172174
|
174313
|
175472