Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 511626 Details for
Bug 642256
sys-libs/ncurses: add development snapshots
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
patched ebuild
ncurses-6.0.20171216.ebuild (text/plain), 8.56 KB, created by
blopsalot
on 2017-12-26 07:24:23 UTC
(
hide
)
Description:
patched ebuild
Filename:
MIME Type:
Creator:
blopsalot
Created:
2017-12-26 07:24:23 UTC
Size:
8.56 KB
patch
obsolete
># Copyright 1999-2017 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 > >EAPI="5" > >inherit eutils flag-o-matic toolchain-funcs multilib-minimal multiprocessing versionator > >MY_P="${PN}-$(replace_version_separator 2 -)" >DESCRIPTION="console display library" >HOMEPAGE="https://www.gnu.org/software/ncurses/ http://dickey.his.com/ncurses/" >SRC_URI="https://invisible-mirror.net/archives/ncurses/current/${MY_P}.tgz" > >LICENSE="MIT" ># The subslot reflects the SONAME. >SLOT="0/6" >KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" >IUSE="ada +cxx debug doc gpm minimal profile static-libs test threads tinfo trace unicode" > >DEPEND="gpm? ( sys-libs/gpm[${MULTILIB_USEDEP}] )" ># berkdb? ( sys-libs/db )" ># Block the older ncurses that installed all files w/SLOT=5. #557472 >RDEPEND="${DEPEND} > !<=sys-libs/ncurses-5.9-r4:5 > !<x11-terms/rxvt-unicode-9.06-r3 > !<x11-terms/st-0.6-r1 > !app-emulation/emul-linux-x86-baselibs" > >S=${WORKDIR}/${MY_P} > >PATCHES=( > "${FILESDIR}/${PN}-6.0-gfbsd.patch" > "${FILESDIR}/${PN}-5.7-nongnu.patch" > "${FILESDIR}/${PN}-6.0-rxvt-unicode-9.15.patch" #192083 #383871 > "${FILESDIR}/${PN}-6.0-pkg-config.patch" > "${FILESDIR}/${PN}-5.9-gcc-5.patch" #545114 > "${FILESDIR}/${PN}-6.0-ticlib.patch" #557360 > "${FILESDIR}/${PN}-6.0-cppflags-cross.patch" #601426 >) > >src_prepare() { > [[ -n ${PV_SNAP} ]] && epatch "${WORKDIR}"/${MY_P}-${PV_SNAP}-patch.sh > epatch "${PATCHES[@]}" >} > >src_configure() { > unset TERMINFO #115036 > tc-export_build_env BUILD_{CC,CPP} > BUILD_CPPFLAGS+=" -D_GNU_SOURCE" #214642 > > # Build the various variants of ncurses -- narrow, wide, and threaded. #510440 > # Order matters here -- we want unicode/thread versions to come last so that the > # binaries in /usr/bin support both wide and narrow. > # The naming is also important as we use these directly with filenames and when > # checking configure flags. > NCURSES_TARGETS=( > ncurses > $(usex unicode 'ncursesw' '') > $(usex threads 'ncursest' '') > $(use unicode && usex threads 'ncursestw' '') > ) > > multijob_init > > # When installing ncurses, we have to use a compatible version of tic. > # This comes up when cross-compiling, doing multilib builds, upgrading, > # or installing for the first time. Build a local copy of tic whenever > # the host version isn't available. #249363 #557598 > if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then > local lbuildflags="-static" > > # some toolchains don't quite support static linking > local dbuildflags="-Wl,-rpath,${WORKDIR}/lib" > case ${CHOST} in > *-darwin*) dbuildflags= ;; > *-aix*) dbuildflags= ;; > esac > echo "int main() {}" | \ > $(tc-getCC) -o x -x c - ${lbuildflags} -pipe >& /dev/null \ > || lbuildflags="${dbuildflags}" > > # We can't re-use the multilib BUILD_DIR because we run outside of it. > BUILD_DIR="${WORKDIR}" \ > CHOST=${CBUILD} \ > CFLAGS=${BUILD_CFLAGS} \ > CXXFLAGS=${BUILD_CXXFLAGS} \ > CPPFLAGS=${BUILD_CPPFLAGS} \ > LDFLAGS="${BUILD_LDFLAGS} ${lbuildflags}" \ > multijob_child_init do_configure cross --without-shared --with-normal > fi > multilib-minimal_src_configure > multijob_finish >} > >multilib_src_configure() { > local t > for t in "${NCURSES_TARGETS[@]}" ; do > multijob_child_init do_configure "${t}" > done >} > >do_configure() { > local target=$1 > shift > > mkdir "${BUILD_DIR}/${target}" > cd "${BUILD_DIR}/${target}" || die > > local conf=( > # We need the basic terminfo files in /etc, bug #37026. We will > # add '--with-terminfo-dirs' and then populate /etc/terminfo in > # src_install() ... > --with-terminfo-dirs="${EPREFIX}/etc/terminfo:${EPREFIX}/usr/share/terminfo" > > # Disabled until #245417 is sorted out. > #$(use_with berkdb hashed-db) > > # ncurses is dumb and doesn't install .pc files unless pkg-config > # is also installed. Force the tests to go our way. Note that it > # doesn't actually use pkg-config ... it just looks for set vars. > --enable-pc-files > --with-pkg-config="$(tc-getPKG_CONFIG)" > # This path is used to control where the .pc files are installed. > --with-pkg-config-libdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig" > > # Now the rest of the various standard flags. > --with-shared > --without-hashed-db > $(use_with ada) > $(use_with cxx) > $(use_with cxx cxx-binding) > --with-cxx-shared > $(use_with debug) > $(use_with profile) > # The configure script uses ldd to parse the linked output which > # is flaky for cross-compiling/multilib/ldd versions/etc... > $(use_with gpm gpm libgpm.so.1) > --disable-termcap > --enable-symlinks > --with-rcs-ids > --with-manpage-format=normal > --enable-const > --enable-colorfgbg > --enable-hard-tabs > --enable-echo > $(use_enable !ada warnings) > $(use_with debug assertions) > $(use_enable !debug leaks) > $(use_with debug expanded) > $(use_with !debug macros) > $(multilib_native_with progs) > $(use_with test tests) > $(use_with trace) > $(use_with tinfo termlib) > ) > > if [[ ${target} == ncurses*w ]] ; then > conf+=( --enable-widec ) > else > conf+=( --disable-widec ) > fi > if [[ ${target} == ncursest* ]] ; then > conf+=( --with-{pthread,reentrant} ) > else > conf+=( --without-{pthread,reentrant} ) > fi > # Make sure each variant goes in a unique location. > if [[ ${target} == "ncurses" ]] ; then > # "ncurses" variant goes into "${EPREFIX}"/usr/include > # It is needed on Prefix because the configure script appends > # "ncurses" to "${prefix}/include" if "${prefix}" is not /usr. > conf+=( --enable-overwrite ) > else > conf+=( --includedir="${EPREFIX}"/usr/include/${target} ) > fi > # See comments in src_configure. > if [[ ${target} != "cross" ]] ; then > local cross_path="${WORKDIR}/cross" > [[ -d ${cross_path} ]] && export TIC_PATH="${cross_path}/progs/tic" > fi > > # Force bash until upstream rebuilds the configure script with a newer > # version of autotools. #545532 > CONFIG_SHELL=${EPREFIX}/bin/bash \ > ECONF_SOURCE=${S} \ > econf "${conf[@]}" "$@" >} > >src_compile() { > # See comments in src_configure. > if ! ROOT=/ has_version "~sys-libs/${P}:0" ; then > BUILD_DIR="${WORKDIR}" \ > do_compile cross -C progs tic > fi > > multilib-minimal_src_compile >} > >multilib_src_compile() { > local t > for t in "${NCURSES_TARGETS[@]}" ; do > do_compile "${t}" > done >} > >do_compile() { > local target=$1 > shift > > cd "${BUILD_DIR}/${target}" || die > > # A little hack to fix parallel builds ... they break when > # generating sources so if we generate the sources first (in > # non-parallel), we can then build the rest of the package > # in parallel. This is not really a perf hit since the source > # generation is quite small. > emake -j1 sources > # For some reason, sources depends on pc-files which depends on > # compiled libraries which depends on sources which ... > # Manually delete the pc-files file so the install step will > # create the .pc files we want. > rm -f misc/pc-files > emake "$@" >} > >multilib_src_install() { > local target > for target in "${NCURSES_TARGETS[@]}" ; do > emake -C "${BUILD_DIR}/${target}" DESTDIR="${D}" install > done > > # Move main libraries into /. > if multilib_is_native_abi ; then > gen_usr_ldscript -a \ > "${NCURSES_TARGETS[@]}" \ > $(use tinfo && usex unicode 'tinfow' '') \ > $(usev tinfo) > fi > if ! tc-is-static-only ; then > # Provide a link for -lcurses. > ln -sf libncurses$(get_libname) "${ED}"/usr/$(get_libdir)/libcurses$(get_libname) || die > fi > use static-libs || find "${ED}"/usr/ -name '*.a' -delete > > # Build fails to create this ... > dosym ../share/terminfo /usr/$(get_libdir)/terminfo >} > >multilib_src_install_all() { ># if ! use berkdb ; then > # We need the basic terminfo files in /etc, bug #37026 > einfo "Installing basic terminfo files in /etc..." > for x in ansi console dumb linux rxvt rxvt-unicode screen sun vt{52,100,102,200,220} \ > xterm xterm-color xterm-xfree86 > do > local termfile=$(find "${ED}"/usr/share/terminfo/ -name "${x}" 2>/dev/null) > local basedir=$(basename $(dirname "${termfile}")) > > if [[ -n ${termfile} ]] ; then > dodir /etc/terminfo/${basedir} > mv ${termfile} "${ED}"/etc/terminfo/${basedir}/ > dosym ../../../../etc/terminfo/${basedir}/${x} \ > /usr/share/terminfo/${basedir}/${x} > fi > done ># fi > > echo "CONFIG_PROTECT_MASK=\"/etc/terminfo\"" > "${T}"/50ncurses > doenvd "${T}"/50ncurses > > use minimal && rm -r "${ED}"/usr/share/terminfo* > # Because ncurses5-config --terminfo returns the directory we keep it > keepdir /usr/share/terminfo #245374 > > cd "${S}" > dodoc ANNOUNCE MANIFEST NEWS README* TO-DO doc/*.doc > use doc && dohtml -r doc/html/ >} > >pkg_preinst() { > preserve_old_lib /$(get_libdir)/libncurses.so.5 > use unicode && preserve_old_lib /$(get_libdir)/libncursesw.so.5 >} > >pkg_postinst() { > preserve_old_lib_notify /$(get_libdir)/libncurses.so.5 > use unicode && preserve_old_lib_notify /$(get_libdir)/libncursesw.so.5 >}
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 642256
:
511626
|
511628
|
512134
|
512136
|
512138
|
513122
|
518750
|
518752