Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 654120 - dev-libs/libgxml-0.16.3 - a[sic!] XML parser and writer, providing both Vala and C object oriented API through GObject
Summary: dev-libs/libgxml-0.16.3 - a[sic!] XML parser and writer, providing both Vala ...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Low enhancement (vote)
Assignee: Default Assignee for New Packages
URL: https://gitlab.gnome.org/GNOME/gxml/
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2018-04-26 09:09 UTC by Kolan Sh.
Modified: 2020-12-06 04:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
1st working .ebuild (libgxml-0.16.3.ebuild,506 bytes, text/plain)
2018-04-26 09:09 UTC, Kolan Sh.
Details
libgxml-0.16.3.ebuild (libgxml-0.16.3.ebuild,506 bytes, text/plain)
2018-04-26 09:12 UTC, Kolan Sh.
Details
gxml-0.16.3.ebuild (gxml-0.16.3.ebuild,466 bytes, text/plain)
2018-04-27 11:04 UTC, Kolan Sh.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kolan Sh. 2018-04-26 09:09:56 UTC
Created attachment 528556 [details]
1st working .ebuild

GXml is a XML parser and writer, providing both Vala and C object oriented API through GObject.
https://wiki.gnome.org/GXml
It is an Object oriented libxml-2.0 wrapper without C-pointers.
Comment 1 Kolan Sh. 2018-04-26 09:12:32 UTC
Created attachment 528558 [details]
libgxml-0.16.3.ebuild

.ebuild download fxd
Comment 2 Mart Raudsepp gentoo-dev 2018-04-27 08:20:25 UTC
I presume you want it for your own use? Or are there known consumers of this you want packaged as well? Can you bring some examples of packages that would need libgxml?
Comment 3 Kolan Sh. 2018-04-27 08:33:04 UTC
(In reply to Mart Raudsepp from comment #2)
> I presume you want it for your own use? Or are there known consumers of this
> you want packaged as well? Can you bring some examples of packages that
> would need libgxml?

The GNOME project promotes this library as the core for working with XML instead of the pure libxml-2.0 API. I also found this library in the Pacman tree (MinGW). Probably, ordinary users and programs in the Portage tree do not need this library at the moment, but I left this .ebuild first of all for developers, that is, it is more important for me that it was easy to find through this site, rather than that it was included in the main tree. Something like this...
Comment 4 Mart Raudsepp gentoo-dev 2018-04-27 08:50:24 UTC
ok, thanks. Was hoping we would have something concrete to test this with as well, or so.
I don't know about GNOME promoting it; it's a rather eager and promoting maintainer, I'm not so sure about global promotion and ditching straight libxml2 usage. It's probably easier to use in other vala using projects; but a big set of GNOME people are against a home-grown programming language as well..
Anyhow, I don't see a problem with adding this, but from gnome@ side I'm not sure when we would take it. If there's a concrete consumer that we want to maintain and it needs GXml, then probably sooner :)
Of course meanwhile feel free to proxy-maintain it yourself if you want, see https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
Comment 5 Kolan Sh. 2018-04-27 09:00:00 UTC
Thank you! At the moment, perhaps, it is not required to include ebuild in the main tree, it is enough that it can be found here. :)
Comment 6 Mart Raudsepp gentoo-dev 2018-04-27 09:17:09 UTC
As a very quick review of the ebuild (without looking at the upstream sources at all):

Don't call ./autogen.sh, nothing guarantees then that it succeeds, no automake build deps exist, etc. In Gentoo for that we have autotools.eclass instead - inherit autotools (which you already do, but don't use anything out of it, though it does actually give the deps), and call eautoreconf instead if necessary. However are you sure it's necessary? I mean if you'd actually use a proper release tarball, not a github tag snapshot.

Proper release tarballs are hosted here: https://download.gnome.org/sources/gxml/
To automatically use that (instead of setting SRC_URI), there is gnome.org eclass. Because you for some reason name the package libgxml, not gxml as upstream module name, then you'd need to set GNOME_ORG_MODULE=gxml to work properly. However why not name the package gxml as upstream? Any reason for naming it different?
Also, it's likely you need some xdg.eclass or xdg-utils.eclass things; at which point it might be easier to just use gnome.eclass instead and let that handle this.

Don't mv directory like this; you should set S instead to what's needed. However if the package name is changed to gxml, that probably becomes unnecessary completely.

Are you sure the license is LGPL-2.1? Maybe it's LGPL-2.1+ ?

DESCRIPTION isn't useful, it just repeats the package name basically right now.

Empty IUSE setting isn't necessary, but I actually prefer it explicitly set to "" for readability, so that's good in my opinion (other devs opinion varies).

Dependencies don't feel right or complete to me. Are you sure vala is needed at runtime? If it's needed at build time, you probably want to use vala.eclass to handle it instead. However once you use proper release tarballs, it might be unnecessary to have vala at all, if the tarball ships pre-generated C files.

There might be more build dependencies as well, e.g. virtual/pkgconfig is often needed at build time to find libraries. Basically whenever configure.ac uses PKG_CHECK_MODULES (and other equivalents with other build systems).
Comment 7 Kolan Sh. 2018-04-27 11:04:18 UTC
Created attachment 528682 [details]
gxml-0.16.3.ebuild

First of all, thanks a lot for the free lessons. I'm not sure about the license, I can not find the necessary information on the network, there is only COPYING file in the sources. Inheritance from vala.eclass leads to an error in the preparation phase, which I do not know how to solve
ln: failed to create symbolic link '/var/tmp/portage/dev-libs/gxml-0.16.3/temp/pkgconfig/libvala.pc': File exists
, so for the time being I described the dependencies explicitly, by analyzing configure.ac. Thank You!