Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
new octave-forge ebuild (formerly "Some ebuild question
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Tue Feb 11, 2003 9:58 pm    Post subject: new octave-forge ebuild (formerly "Some ebuild question Reply with quote

Hi all,

I have recently been working on an ebuild for the octave-forge package, a repository of add-on functions to GNU Octave. I have just finished creating a working ebuild, but before I submit it, there are a few things I would like to clean up. I could not find the answer to these questions in any forum topics or Gentoo developer docs (please correct me if I missed the answers somewhere).

First of all, what is the standard way to download files from SourceForge since they implemented their load-balancing system? I currently have hard-coded the link to the octave-forge package at my preferred mirror, but I assume that this is not the correct way to do it. Anyone know the answer to this?

Secondly, the various functions in octave-forge fall under a variety of licenses: GPL, BSD, and public domain. Is it correct to list these three licenses, separated by spaces, in the LICENSE variable in the ebuild? Or is that only when a package is dual-licensed (octave-forge is not - some parts are under one license, some are under a different one)?

If you would like to take a look at my ebuild so far, you can find it at http://carroll1.cc.edu/~bredeker/octave-forge-2002.11.30.ebuild.

Thanks in advance for any help you can give me.


Last edited by berhr on Mon Apr 28, 2003 2:08 am; edited 1 time in total
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Fri Feb 21, 2003 4:03 am    Post subject: Reply with quote

Dang, and here I thought I had done something.:oops: Just got mine working, started it a couple days before you posted this. Oh well, we did a few things differently so I'll post a link anyway. Yours is a bit cleaner I think.

http://www4.ncsu.edu/~zapearsa/ebuilds/octave-forge-2002.11.30.ebuild

Does the configure script actually find Qhull on your machine? It doesn't for me and I havent figured out why yet. It has nothing to do with portage because it is the same if I build it manually.

Also, just curious, any particular reason for using inverse USE flags?


I wouldn't worry too much about the sourceforge mirror thing since when the ebuild gets put into portage the tarball will be mirrored on the gentoo mirrors anyway. Still it would be nice to know what the "offficial" answer to that is.

I do wish someone would answer about the license variable. That has bugged me for a while.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Fri Feb 21, 2003 4:37 pm    Post subject: Reply with quote

PowerFactor wrote:
Just got mine working, started it a couple days before you posted this. Oh well, we did a few things differently so I'll post a link anyway. Yours is a bit cleaner I think.


Great minds think alike, huh? :D

Obviously, we should work on merging the two ebuilds - I'll take your word that mine is cleaner, but yours does several things that mine doesn't (like running 'make check' and the 'dodoc' at the end). Also, I was unaware that octave-forge could use rasmol - I just went by the optional dependencies that 'configure' looks for. The final ebuild should definitely do the things that I missed.

PowerFactor wrote:
Does the configure script actually find Qhull on your machine? It doesn't for me and I havent figured out why yet. It has nothing to do with portage because it is the same if I build it manually.


Hmmm...I didn't have a problem with that. I just emerged qhull and ginac, and octave-forge's configure script found them just fine. I have had a problem with another ebuild-in-development not being able to find a library. With that one, I actually discovered that when I downgraded the library, the configure script could find it - but it beats me if these problems are related. I can give you more details about that situation if you want.

PowerFactor wrote:
Also, just curious, any particular reason for using inverse USE flags?


Well, I wasn't sure how to handle situations where qhull and ginac aren't installed. I figured that most people want octave-forge with all possible features. People who do not know the optional build-dependencies for octave-forge might not have qhull and/or ginac installed - and the ebuild output will cause the message that tells them about optional dependencies to scroll by too quickly for them to read. After reading another forum post about USE flags in ebuilds (which used mozilla's ebuild as an example), I decided to make my ebuild install the extra libs by default. However, a user that knows what she is doing can opt to build without qhull/ginac by using the appropriate "no" internal USE flags to ignore those dependencies.

IMHO, that is still the best way to do it.

PowerFactor wrote:
I wouldn't worry too much about the sourceforge mirror thing since when the ebuild gets put into portage the tarball will be mirrored on the gentoo mirrors anyway. Still it would be nice to know what the "offficial" answer to that is.


Does the octave-forge tarball have to get submitted with the ebuild then? Or will someone automatically add it to the gentoo mirrors?

In the meantime, I guess it doesn't matter which "local" SourceForge download server we use (Time-Warner in WI, or UNC).

PowerFactor wrote:
I do wish someone would answer about the license variable. That has bugged me for a while.


I wonder if it's kosher to just list all the licenses in the license variable. As I mentioned before, doing so might really be meant to indicate a dual-licensed package rather than a package with different parts under different licenses. But still, it's the best thing I can think of, until someone can give an official answer.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Fri Feb 21, 2003 6:39 pm    Post subject: Reply with quote

PowerFactor wrote:
Does the configure script actually find Qhull on your machine? It doesn't for me and I havent figured out why yet. It has nothing to do with portage because it is the same if I build it manually.

D'oh! Ignore what I said in my last post - I do know what the problem is (or I think I do :) ).

To use Qhull, Octave-Forge needs a special version of the qhull shared library. There are instructions in the octave-forge tarball for making this library (I don't have the extracted files around anymore that tell what to do, but I believe they were in main/geometry/).

Anyway, I completely forgot to tell you about this. I have actually already updated the qhull ebuild to create this additional library (in anticipation of using it with my octave-forge ebuild) and even submitted it to Gentoo's Bugzilla. Grab it from Bugzilla, throw it in $PORTDIR_OVERLAY, and emerge -u qhull - I think that will solve your problem.
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Fri Feb 21, 2003 7:32 pm    Post subject: Reply with quote

berhr wrote:
Obviously, we should work on merging the two ebuilds

Definately! :)
berhr wrote:
I'll take your word that mine is cleaner, but yours does several things that mine doesn't (like running 'make check' and the 'dodoc' at the end). Also, I was unaware that octave-forge could use rasmol - I just went by the optional dependencies that 'configure' looks for. The final ebuild should definitely do the things that I missed.

:lol:I wouldn't have known about rasmol except that the ebuild was dumping rasmol.sh in / which I was pretty sure wasn't "The Right Thing"(TM) to do. So, I set out to find out if I could safely delete it or move it to a more appropriate location.(I'm still not sure if where I put it is good or if it should go in /usr/bin) Given the somewhat ragtag nature of this package I wouldn't be at all suprised if there are more "undocumented" dependencies.:roll:

berhr wrote:
PowerFactor wrote:
Also, just curious, any particular reason for using inverse USE flags?


Well, I wasn't sure how to handle situations where qhull and ginac aren't installed. I figured that most people want octave-forge with all possible features. ...
After reading another forum post about USE flags in ebuilds (which used mozilla's ebuild as an example), I decided to make my ebuild install the extra libs by default....

IMHO, that is still the best way to do it.

You have quite valid pionts there. But as with everything there is an alternate opinion, which I happen to share.:wink: I guess it all boils down to a matter of opinion.
In any event I certainly think that rasmol should not be pulled in by default because think there would be only a very small subset of users who would want that.

berhr wrote:
Does the octave-forge tarball have to get submitted with the ebuild then?

I don't think so. From the ebuild submitting howto I got that the only things you submit with the ebuild are any patches etc. you needed to make yourself.

berhr wrote:
I wonder if it's kosher to just list all the licenses in the license variable.

I just tried that and lintool didn't like it so I assume it isn't "right" even for multiple liscense packages. In the absence of better guidance I guess we should create an octave-forge license file that lists all the applicable licenses and use that.(ick)

berhr wrote:
To use Qhull, Octave-Forge needs a special version of the qhull shared library.
Heh, I had seen that before but forgot and found it again before I saw you had posted again. Wow I've been typing this for a long time. I actually don't need qhull or ginac either, I just installed them out of curiosity. And also to see if the ebuild worked.
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Fri Feb 21, 2003 7:51 pm    Post subject: Reply with quote

I was just reading the COPYING file. I think that will do for the liscense file just name it octave-forge and put it in $PORTDIR_OVERLAY/licenses for now.
Back to top
View user's profile Send private message
PowerFactor
Veteran
Veteran


Joined: 30 Jan 2003
Posts: 1693
Location: out of it

PostPosted: Fri Feb 21, 2003 9:16 pm    Post subject: Reply with quote

Oh and another thing. What version of octave do you have installed? I couldn't get it to build with 2.1.36 which is why I made it depend on >=2.1.40.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Sat Feb 22, 2003 2:27 am    Post subject: Reply with quote

PowerFactor wrote:
But as with everything there is an alternate opinion, which I happen to share. I guess it all boils down to a matter of opinion.

Yes, it is a matter of opinion. I think it is a better practice to install only the defaults, in general. However, I still think we should install ginac and qhull by default for a few reasons:

  • The general trend for ebuilds is often to default to installing optional dependencies. Whether it is a good idea or a bad one I don't know, but the principle of least surprise could be used to argue that the octave-forge ebuild should just follow along.
  • I would say most users are expecting to have more fully-featured packages by default; they are not used to having to actually read the ebuilds to see what they are missing out on.
  • On the other hand, power users that want to avoid clutter know what they are doing, and would be more familiar with reading/editing ebuilds to install exactly what they want. When they look in the octave-forge ebuild, they could see that they can just specify noqhull/noginac to avoid installing those libs.

Don't get me wrong, I'm not trying to be argumentative. I just want to try and explain why my way feels more "right" to me in this case. I'm open to change, though - one idea I don't mind is having a post-merge message that tells uses to remerge with USE="qhull ginac" to enable extra features. That is still kind of kludgy - I eventually would really like to see Portage add an option that interactively prompts to enable dependences, before actually compiling/merging. (This would be like the '--ask' idea on the last post of the discussion linked to previously.)

PowerFactor wrote:
In any event I certainly think that rasmol should not be pulled in by default because think there would be only a very small subset of users who would want that.

I agree there. Rasmol isn't important enough to mention in the official configure script (where I found out about qhull & ginac), so it might even be a buggy/incomplete feature of octave-forge.

PowerFactor wrote:
I was just reading the COPYING file. I think that will do for the liscense file just name it octave-forge and put it in $PORTDIR_OVERLAY/licenses for now.

That sounds like a good idea to me.

PowerFactor wrote:
Oh and another thing. What version of octave do you have installed? I couldn't get it to build with 2.1.36 which is why I made it depend on >=2.1.40.

I'm using 2.1.40 as well. I did not test on earlier versions (I probably should have). In that case, I'm fine with octave-forge depending on >=octave-2.1.40.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Thu Apr 24, 2003 6:32 am    Post subject: Reply with quote

Well, I'm giving new life to this thread.

If anyone else has been following this thread, I apologize for not getting around to merging the two ebuilds previously posted sooner. Darn schoolwork got in the way :wink:

Anyway, I'm testing the merged ebuild; hopefully within an hour I'll be able to update my link to the ebuild for anyone who wants it. Assuming there are no major problems found by this coming weekend, I will try to get it submitted to Bugzilla.

By the way, to answer the question about which version of Octave this ebuild requires: it does actually require 2.1.40 - if I had just been more careful in the first place, the SourceForge site says as much when you download the octave-forge tarball. And as of April 24, 2003, there is an update version of octave-forge - but it requires a newer version of octave which hasn't made it into Portage yet. So I'm not going to worry about updating the octave-forge ebuild to the very latest version.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Thu Apr 24, 2003 7:11 am    Post subject: Reply with quote

OK, I have a new ebuild available for download at http://carroll1.cc.edu/~bredeker/octave-forge-2002.11.30.ebuild.

My previous ebuild can still be downloaded from http://carroll1.cc.edu/~bredeker/octave-forge-2002.11.30.ebuild.old.

The new license file needed by the new ebuild is at http://carroll1.cc.edu/~bredeker/octave-forge.
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Mon Apr 28, 2003 2:05 am    Post subject: Reply with quote

It seems I'm now talking to myself in this thread :)

Anyway, my previously posted ebuild has now been submitted to Gentoo's Bugzilla (correctly, I hope).

Bugzilla link: https://bugs.gentoo.org/show_bug.cgi?id=20087
Back to top
View user's profile Send private message
iamarug
Apprentice
Apprentice


Joined: 09 Feb 2003
Posts: 220

PostPosted: Mon Apr 28, 2003 3:03 am    Post subject: Reply with quote

you are not talking to yourself ;)
For some reason I just saw this today. I will give it a test ASAP.
Back to top
View user's profile Send private message
ShaunC
n00b
n00b


Joined: 21 May 2003
Posts: 3

PostPosted: Thu May 22, 2003 2:57 pm    Post subject: Updated ebuild for octave-forge (v2.1.44) Reply with quote

I have just submitted an updated ebuild for octave-forge based on your ebuild (Bug #20087). It is for version 2003.02.22 of octave-forge, which requires GNU/Octave v2.1.44, for which I have also submitted an updated ebuild (Bug #21483).

The most significant change to the octave-forge ebuild was I think the addition of;

Code:

sed -i "s|${D}||g" ${D}/usr/bin/mex || die "sed failed"


to the src_install() function. 'dosed' is apparently able to do this, but I couldn't figure it out and the doco is scarse.

If you are interested in testing these updated ebuilds, you might also consider testing the HDF5 ebuild (Bug #21482). HDF5 is a general purpose library and file format for storing scientific data and is supported by GNU/Octave when build against this library.
Back to top
View user's profile Send private message
abhishek
Retired Dev
Retired Dev


Joined: 28 Jun 2002
Posts: 393
Location: Los Angeles, CA

PostPosted: Thu May 22, 2003 4:19 pm    Post subject: Reply with quote

To correctly handle sourceforge urls you should use mirror://sourceforge. For this you would use
Code:
SRC_URI="mirror://sourceforge/octave/${P}.tar.gz"
Back to top
View user's profile Send private message
berhr
n00b
n00b


Joined: 15 Sep 2002
Posts: 30
Location: Wisconsin, USA

PostPosted: Thu May 22, 2003 5:09 pm    Post subject: Reply with quote

Well, thanks to everyone who's replied and showing some interest - glad to see what I started is proving at least somewhat useful :)

ShaunC, as for testing the new octave/octave-forge ebuilds, I probably won't be able to help out (I'm back home from college for the summer, and lost my T1 connection, so I'm kind of out of the Gentoo world for a bit :cry: ). But I'm glad you updated the ebuilds - I saw the new version but didn't try tackling it because there was no new version of octave in Portage. If you would like, you could probably add HDF5 support to the octave-forge ebuild - the optional dependencies on GiNaC and qhull in the ebuild are for packages that are not required by octave-forge, but which it can use if they're found. So HDF5 sounds like a natural fit to include in the same manner.

And thanks to andrd for mentioning how to do SourceForge links - I couldn't find it documented anywhere. I saw the mirror: protocol used in another ebuild, but wasn't sure if that was the official way to do it or not.

Even though I'm down to a rather slow dial-up connection at home, I'll try to watch this thread - so if I can be of any assistance, feel free to reply here.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum