wtk-overlay.git
10 years agodev-python/flask-cors: Drop ROOT and use stricter python-docs dependencies
W. Trevor King [Mon, 8 Sep 2014 03:55:57 +0000 (20:55 -0700)]
dev-python/flask-cors: Drop ROOT and use stricter python-docs dependencies

We're not supposed to use ROOT in ebuild functions (see the discussion
in f3893ec9, dev-python/flask-cors/flask-cors-9999.ebuild: Use local
intersphinx, 2014-09-02).  I had been using it to build against the
objects.inv from that ROOT, but we're actually supposed to build
against the local (non-ROOT) copy [1]:

  ROOT isn't used for library dependencies. When building, libraries,
  headers etc. on / have to be used. Cross-compiling etc is done by
  configuring the toolchain correctly, not by hacking ebuilds in a way
  that breaks binary packages.

I'm also using equery to list the python-docs files (on /), to avoid
hard-coding /usr/share/doc"/python-docs-*/html.  equery knows what was
installed, and I really don't care where it is, so long as I can find
the objects.inv (and so long as that's the directory with the HTML
docs too).

Finally, the python-docs dependencies make sure we accept any of the
python-docs versions that install objects.inv [2].  Ian Delaney bumped
versions to -r1 so we could determine if objects.inv was installed,
and Ian Stakenvicius pointed out the slotted approach to the disjoint
dependency.

[1]: https://bugs.gentoo.org/show_bug.cgi?id=258125#c0
[2]: https://bugs.gentoo.org/show_bug.cgi?id=521768

Thanks-to: Ian Delaney <idella4@gentoo.org>
Thanks-to: Ian Stakenvicius <axs@gentoo.org>

10 years agodev-python/flask-cors/flask-cors-9999.ebuild: Use local intersphinx
W. Trevor King [Tue, 2 Sep 2014 22:54:51 +0000 (15:54 -0700)]
dev-python/flask-cors/flask-cors-9999.ebuild: Use local intersphinx

Gentoo's python-docs recently learned how to install objects.inv (with
the 2.7.6, 3.3.5, and 3.4.0 ebuilds, but without a revbump [1]).
Avoid the troublesome web access [2,3]:

  loading intersphinx inventory from http://docs.python.org/objects.inv...

Unfortunately, the approach to locating the local objects.inv is a bit
awkward.  Ideally there would be some sort of pkg-config approach to
listing a package's HTML doc directory :p, but until then the best I
can do is shell out to ls with an EROOT-based glob.  Using ROOT in
ebuild functions is illegal though [4] (and by extension, using it via
EROOT may be illegal as well).  Even if it was legal, you're going to
run into trouble if the python-docs dependency was installed with a
different ROOT, which is why I die if PYTHON_DOC is empty.

[1]: https://bugs.gentoo.org/show_bug.cgi?id=521768
     Summary: dev-python/python-docs-3.4.0 doesn't install objects.inv
       for intersphinx
[2]: https://bugs.gentoo.org/show_bug.cgi?id=522064
     Summary: should explicitly disallow network access from existing
       ebuild functions
[3]: https://github.com/gentoo/devmanual.gentoo.org/pull/21
     Summary: ebuild-writing/functions: Don't allow network access
[4]: http://devmanual.gentoo.org/ebuild-writing/common-mistakes/#invalid-use-of-root

10 years agodev-python/flask-cors: Add this docker-registry dependency
W. Trevor King [Sat, 30 Aug 2014 16:32:57 +0000 (09:32 -0700)]
dev-python/flask-cors: Add this docker-registry dependency