Some weeks ago I have written split ebuilds for gEDA/gaf 1.4.3 and rewritten the pcb-20081128 ebuild -- with some support by calchan. I was not really satisfied with the old ones. Of course I am not an official gentoo developer, but I have written it with care and some support by calchan and tested carefully on AND64. Debian uses split ebuild too, so I think this is the way to go. In a few months gEDA 1.6 should be available, I will try to make it available -- if I find time and if someone is interested in it. Here is the list of files, all written from scratch, but carefully compared to the old ebuilds: overlay/sci-electronics/geda-docs/ overlay/sci-electronics/geda-docs/geda-docs-1.4.3.ebuild overlay/sci-electronics/geda-docs/Manifest overlay/sci-electronics/geda-docs/metadata.xml overlay/sci-electronics/geda-gsymcheck/ overlay/sci-electronics/geda-gsymcheck/Manifest overlay/sci-electronics/geda-gsymcheck/geda-gsymcheck-1.4.3.ebuild overlay/sci-electronics/geda-gsymcheck/metadata.xml overlay/sci-electronics/geda-gschem/ overlay/sci-electronics/geda-gschem/Manifest overlay/sci-electronics/geda-gschem/geda-gschem-1.4.3.ebuild overlay/sci-electronics/geda-gschem/metadata.xml overlay/sci-electronics/geda-gnetlist/ overlay/sci-electronics/geda-gnetlist/Manifest overlay/sci-electronics/geda-gnetlist/geda-gnetlist-1.4.3.ebuild overlay/sci-electronics/geda-gnetlist/metadata.xml overlay/sci-electronics/geda-utils/ overlay/sci-electronics/geda-utils/Manifest overlay/sci-electronics/geda-utils/geda-utils-1.4.3.ebuild overlay/sci-electronics/geda-utils/metadata.xml overlay/sci-electronics/geda-examples/ overlay/sci-electronics/geda-examples/geda-examples-1.4.3.ebuild overlay/sci-electronics/geda-examples/Manifest overlay/sci-electronics/geda-examples/metadata.xml overlay/sci-electronics/geda-gattrib/ overlay/sci-electronics/geda-gattrib/Manifest overlay/sci-electronics/geda-gattrib/geda-gattrib-1.4.3.ebuild overlay/sci-electronics/geda-gattrib/metadata.xml overlay/sci-electronics/pcb/ overlay/sci-electronics/pcb/pcb-20081128-r1.ebuild overlay/sci-electronics/pcb/Manifest overlay/sci-electronics/pcb/metadata.xml overlay/sci-electronics/geda-symbols/ overlay/sci-electronics/geda-symbols/Manifest overlay/sci-electronics/geda-symbols/geda-symbols-1.4.3.ebuild overlay/sci-electronics/geda-symbols/metadata.xml overlay/sci-electronics/geda-gaf/ overlay/sci-electronics/geda-gaf/geda-gaf-1.4.3.ebuild overlay/sci-electronics/geda-gaf/Manifest overlay/sci-electronics/geda-gaf/metadata.xml overlay/sci-libs/ overlay/sci-libs/geda-lib/ overlay/sci-libs/geda-lib/Manifest overlay/sci-libs/geda-lib/geda-lib-1.4.3.ebuild overlay/sci-libs/geda-lib/metadata.xml The archive is available here (I think I can not attach it here): http://www.ssalewski.de/geda-1.4.3_split-ebuilds.tar.bz2 There should be no name conflicts, I have renamed libgeda to geda-lib. geda-gaf is the meta-package which pulls in all other packages, but of course it is possible to install only a subset. I think Denis will find no time to care about these ebuild, so I would be happy if someone other may take a look at it. Here are some remarks concerning the old/current ebuild -- its a copy of a mail to Denis: #Hello Denis, #I hope you have recovered from your cold and from your traveling. Here comes the final gEDA 1.4.3 and the pcb20081128 ebuilds -- see attachment. I think they work very fine, so I would really like to see them in Gentoo, after your audit. At least I will put them on my homepage and send a remark to gentoo bugzilla, so that others have a chance to find it. One reason why I have to make these updated ebuild visible is that I asked many questions to the developers (and I complained about their bad INSTALL instructions) -- so I think it is important to make a result visible to the developers. OK, we will see... I think you will know that there is already a gEDA 1.4.3 in Gentoo -- someone has just renamed the ebuils. There are still some minor bugs in your geda and pcb ebuilds, most resulting from bad upstream instructions. I.E for your pcb ebuild building without gui for batch mode should not work (developers said this) -- for my ebuild it works fine. For your gEDA ebuild nls does not work, I have never seen german menu from your ebuild. Reason is that they ship only de_DE.po files, which does not work with LINGUAS="de en". I use unset LINGUAS in my ebuild to fix this. So all available languages are installed. Its an old known Debian bug, not fixed in 1.4.x. I am not sure if it is a good idea to do much fixing for the current ebuilds in gentoo. They work for most people, so maybe just mark them stable. Then make a new fixed/unstable version. You can use my pcb ebuild just for an updated unstable ebuild of your last pcb. I have called it *-r1.ebuild now. It is written from scratch, but very similar to yours. I have tested it carefully for AMD64, with the exeption of nls, because only french is available for pcb, but not for my box. Maybe you can test this. For gEDA: Maybe you can make an updated 1.4.3-r1? There are some fixes necessary. Or ignore this and try to put my split ebuild in the tree, of course only after audit/testing, and only marked unstable. Or maybe as overlay (currently I do not know how this overlay stuff works in detail). I think the concept of split ebuild is really fine. Debian uses it too, and it works fine. From the filenames there should be no problem, they can coexist with current geda1.4.3. Of course one minor problem is confusing users. Some are already confused by old geda-suite. But this problem will exist for split 1.6 ebuild too. It would be fine to have a location for notes about packages, but I think such does not exist for Gentoo? Some remarks about your current ebuild follow: > cat /usr/portage/sci-electronics/pcb/pcb-20081128.ebuild > IUSE="dbus gif gtk jpeg motif png tk xrender" > We have nls and nelma now. > RDEPEND="dbus? ( sys-apps/dbus ) > gif? ( media-libs/gd ) > gtk? ( >=x11-libs/gtk+-2.4 > x11-libs/pango ) > jpeg? ( media-libs/gd ) > motif? ( !gtk? ( >=x11-libs/openmotif-2.3 > xrender? ( x11-libs/libXrender ) ) ) > png? ( media-libs/gd )" > DEPEND="${RDEPEND} > dev-util/intltool > dev-util/pkgconfig > x11-proto/xproto > tk? ( =dev-lang/tk-8* )" > I have added a few more dependencies for pcb and gEDA, ie. Flex and Bison when it is used by ./configure. Have seen it in other ebuild, let me know if it is redundant. And I have included dependencies for nls/gettext. I did it this way http://bugs.gentoo.org/123102 I have not used x11-proto/xproto -- do we need it really? > src_unpack() { > unpack ${A} > cd "${S}" > sed -i 's/\(^START-INFO\)/INFO-DIR-SECTION Miscellaneous\n\1/' > doc/pcb.info || die "sed failed" > } > Can not see why this patch is needed, info works fine without... > src_compile() > local GUI="--without-x --without-gui" This should not work as DJ Delorie told me... > GUI="--with-x --with-gui=lesstif" --with-x is obsolete, but generated by autotools. > --disable-update-desktop-database \ > --disable-update-mime-database \ I do not fully understand this, but I did it the same. > > pkg_postinst() { > fdo-mime_desktop_database_update > fdo-mime_mime_database_update > } I do not fully understand this, but I did it the same. I think we may need a pkg_postrm()... > stefan@AMD64-X2 ~ $ cat denis/sci-libs/libgeda/libgeda-1.4.3.ebuild > > HOMEPAGE="http://www.geda.seul.org" HOMEPAGE is www.gpleda.org now. > IUSE="threads" nls > > RDEPEND=">=x11-libs/gtk+-2.4 > >=dev-scheme/guile-1.6.3 > >=dev-libs/libstroke-0.5.1" > DEPEND="${RDEPEND} > dev-util/intltool" > Again, I used some more dependencies. Please tell me if some of mine are unneeded. > pkg_setup() { > if has_version ">=dev-scheme/guile-1.8" ; then > built_with_use "dev-scheme/guile" deprecated \ > || die "You need either <dev-scheme/guile-1.8, or > >=dev-scheme/guile-1.8 with USE=deprecated" > fi > } > Tested -- yes this test is still necessary for 1.4.3. > src_compile() { > --disable-nls \ > --disable-dependency-tracking \ > --disable-rpath \ > --disable-update-mime-database \ > --with-x \ We have nls available, and --with-x is obsolete. > > pkg_postinst() { > fdo-mime_mime_database_update > } > > pkg_postrm() { > fdo-mime_mime_database_update > } Here you have pkg_postrm(), so I think we should need it for pcb too. > stefan@AMD64-X2 ~ $ cat denis/sci-electronics/geda/geda-1.4.3.ebuild > > inherit eutils versionator > Is fdo_mime still missing? It's strange that we get no warnings... > > HOMEPAGE="http://www.geda.seul.org" again gpleda > > IUSE="doc examples threads" nls > > DEPEND=">=x11-libs/gtk+-2.4 > >=dev-scheme/guile-1.6.3 > =sci-libs/libgeda-${PV}" Some more dependencies, and we should not leave out RDEPEND (I know it works, a copy of DEPEND is used, but see instructions...) > for subdir in > geda-{symbols,gschem,gnetlist,gsymcheck,gattrib,utils}-${PV}; do > cd "${S}/${subdir}" > econf \ > ${myconf} \ > --disable-dependency-tracking \ > --with-docdir=/usr/share/doc/${PF} \ > --with-pcbconfdir=/usr/share/pcb \ > --with-pcbm4dir=/usr/share/pcb/m4 \ > --disable-update-desktop-database \ > --disable-rpath \ > --with-x \ > || die "Configuration failed in ${subdir}" > emake || die "Compilation failed in ${subdir}" > done > For --with-pcbconfdir and --with-pcbconfdir defaults work fine. I think we should only specify if we really overwrite? --with-x is obsolete. > > src_install () { > for subdir in > geda-{symbols,gschem,gnetlist,gsymcheck,gattrib,utils}-${PV}; do > cd "${S}/${subdir}" > emake DESTDIR="${D}" install || die "Installation failed in > geda-${subdir}-${PV}" > newdoc AUTHORS AUTHORS.${subdir} > newdoc BUGS BUGS.${subdir} > for READMEx in $(ls README*); do > newdoc ${READMEx} ${READMEx}.${subdir} > done > done > BUGS and NEWS may be empty files -- I do only install if not empty. > rm "${D}"/usr/share/gEDA/sym/gnetman -Rf # Fix collision with gnetman; > bug #77361. > I have not used this remove statement. gnetman is nearly obsolete now, homepage does not exist any more, and gnetman ebuild are very old. I think users will not want to install gnetman today, maybe developers will, but they will know what to do. I think gEDA is the major package, so gnetman ebuild should do the fix. Of course, feel free to include this in my packages. Best regards Stefan Reproducible: Always
Hi Stefan, I now have a mostly working dev box so I'm going to be able to look at this. It may take a while though, because there's a lot to look at. In the meantime feel free to look at some other packages if you want, and do not hesitate to CC me if I'm not the assignee or in the CC list. Denis.
All split ebuilds have just been committed. They're p.masked right to make sure everything's OK. Thank you Stefan for your hard work on this. I'm keeping this bug open until I lift the mask. Denis.