Dnia 2015-02-22, o godz. 02:19:18
Ben de Groot <[email protected]> napisał(a):

> > neovim:
> >
> >> # Copyright 1999-2015 Gentoo Foundation
> >> # Distributed under the terms of the GNU General Public License v2
> >> # $Header: $
> >>
> >> EAPI=5
> >> inherit cmake-utils flag-o-matic
> >>
> >> DESCRIPTION="Vim's rebirth for the 21st century"
> >> HOMEPAGE="https://github.com/neovim/neovim";
> >> if [[ ${PV} == 9999 ]]; then
> >>       inherit git-r3
> >>       EGIT_REPO_URI="git://github.com/neovim/neovim.git"
> >>       KEYWORDS=""
> >> else
> >>       inherit vcs-snapshot
> >>       COMMIT="8efb3607a7f6cefce450953c7f8d5e3299347bae"
> >>       SRC_URI="https://github.com/${PN}/${PN}/tarball/${COMMIT} -> 
> >> ${P}.tar.gz"
> >
> > I don't think relying on stability of generated tarballs is a good
> > idea. The same applies to almost all other ebuilds.
> 
> Do we often run into trouble with that? I know it's not perfect, but
> it should be temporary, until we get regular releases.

Depends if you belong to the 'I care only about mirrors' camp or the one
that wants SRC_URI to be always correct.

I actually hit the unlucky case when the tarball checksum changed
between ebuild upload and mirror fetching :).

> >>       dev-lua/LuaBitOp
> >>       dev-lua/lpeg
> >>       dev-lua/lua-MessagePack"
> >> DEPEND="${CDEPEND}
> >>       virtual/libiconv
> >>       virtual/libintl"
> >> RDEPEND="${CDEPEND}
> >>       perl? ( dev-lang/perl )
> >>       python? ( dev-python/neovim-python-client )"
> >>
> >> src_configure() {
> >>       append-cflags "-Wno-error"
> >>       append-cppflags "-DNDEBUG -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1"
> >>       local mycmakeargs=( -DCMAKE_BUILD_TYPE=Release )
> >
> > That looks like a very bad idea. Doesn't that disable all the Gentoo
> > fancy overrides needed for sane CC/CXX etc.?
> 
> Any other way to do that then?

Leave it at default (=Gentoo)?

> >>       cmake-utils_src_configure
> >> }
> >
> > And in the end it fails to build with some linker errors like:
> >
> > CMakeFiles/nvim.dir/tui/tui.c.o: In function `tui_set_scroll_region':
> > tui.c:(.text+0xa2): undefined reference to `unibi_get_str'
> > CMakeFiles/nvim.dir/tui/tui.c.o: In function `unibi_set_if_empty':
> > tui.c:(.text+0x40c): undefined reference to `unibi_get_str'
> >
> > or for ncurses, if libtermkey was linked against ncurses. Long story
> > short, it's linking to -ltermkey statically without providing
> > -lunibilium before it... which (static linking) is a horrible thing
> > to do anyway.
> 
> WFM, but yeah it's not ideal. I'll contact upstream about it.

It may be a gold linker case.

> >> DEPEND="${RDEPEND}
> >>       sys-devel/libtool
> >
> > Using system-wide libtool is horrendously broken. This is something for
> > upstream to fix (like they should start using a sane build system)
> > but if you really want to commit it like this, already open a bug alike
> > https://bugs.gentoo.org/show_bug.cgi?id=515554.
> 
> I'll report upstream. Anything else we can do in the meantime?

Well, you can ignore it for now. I was wondering about preparing
a quick tarball with configure.ac to pregenerate libtool for ebuilds
but none of the maintainers replied about needing it. Maybe I should
consider it a QA business :).

> >>
> >> LICENSE="Apache-2.0"
> >> SLOT="0"
> >> KEYWORDS="~amd64 ~x86"
> >> IUSE=""
> >>
> >> DEPEND=">=dev-python/click-3.0
> >>       >=dev-python/msgpack-0.4.0
> >>       !python_targets_pypy? ( dev-python/greenlet )
> >>       !python_targets_python3_4? ( dev-python/trollius )"
> >
> > Whaaaaaaaaaaaaaaaaat?! What are those negative deps supposed to mean?
> 
> We need pypy OR greenlet, and python-3.4 OR trollius. This was the
> simplest way I saw to express that.

But if you want both pypy and cpython, you still need greenlet for
cpython. Same for trollius and old versions of python.

> > I'm pretty sure you meant:
> >
> > $(python_gen_cond_dep 'python*' 'dev-python/greenlet[${PYTHON_USEDEP}]')
> > $(python_gen_cond_dep python{2_7,3_2,3_3} 'pypy*' 
> > 'dev-python/trollius[${PYTHON_USEDEP}]')
> 
> Hmm, black magic?! Tasty!
> After perusing the grimoire--I mean eclass--I get the idea. Thanks for the 
> hint!


-- 
Best regards,
Michał Górny

Attachment: pgpdp2fCherZV.pgp
Description: OpenPGP digital signature

Reply via email to