Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 266358 - New split sci-electronics/geda-1.4.3 ebuild and rewritten sci-electronics/pcb-20081128-r1 ebuild
Summary: New split sci-electronics/geda-1.4.3 ebuild and rewritten sci-electronics/pcb...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: The Soldering-Iron Brotherhood
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-16 10:51 UTC by Stefan Salewski
Modified: 2009-06-06 16:46 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Salewski 2009-04-16 10:51:44 UTC
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
Comment 1 Denis Dupeyron (RETIRED) gentoo-dev 2009-04-18 04:07:13 UTC
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.
Comment 2 Denis Dupeyron (RETIRED) gentoo-dev 2009-05-20 02:29:13 UTC
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.