Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 374739 - dev-lang/path64-9999: new ebuild
Summary: dev-lang/path64-9999: new ebuild
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Kacper Kowalik (Xarthisius) (RETIRED)
URL:
Whiteboard: science overlay
Keywords: EBUILD, InOverlay
Depends on:
Blocks:
 
Reported: 2011-07-10 20:20 UTC by DaggyStyle
Modified: 2011-07-29 17:41 UTC (History)
11 users (show)

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


Attachments
path64-suite-9999.ebuild (path64-suite-9999.ebuild,4.74 KB, text/plain)
2011-07-10 20:20 UTC, DaggyStyle
Details
cmake.eclass.patch (cmake.eclass.patch,2.05 KB, text/plain)
2011-07-10 20:21 UTC, DaggyStyle
Details
path64-suite-9999.ebuild, updated ebuild, no need to change cmakeutils. (path64-suite-9999.ebuild,4.87 KB, text/plain)
2011-07-20 17:47 UTC, DaggyStyle
Details

Note You need to log in before you can comment on or make changes to this bug.
Description DaggyStyle 2011-07-10 20:20:12 UTC
Created attachment 279685 [details]
path64-suite-9999.ebuild

after the insertion of ekopath-bin to portage, I sumbit here my ebuild for path64-suite.

you'll need to patch cmake.eclass so copy it to your local overlay.

do note that this patch for cmake.eclass doesn't affect other packages.

in an essence, this ebuild allows one to build path64 for the first time with either gcc or ekopath-bin (user defined).
after first successful compilation, the choice will be either gcc or path64.

I'm not going to insert it to sunrise because it needs cmake.eclass change which might not pass gentoo's qa.

this ebuild was tested successfully with ekopath-bin and path64 on amd64.

my only TODO left is to instruct the ebuild to install path64 under /usr/lib/ekopath and not /usr/lib/4.0.10 as it is happening now.

I hope I'll get to it soon.

enjoy.
Comment 1 DaggyStyle 2011-07-10 20:21:11 UTC
Created attachment 279687 [details]
cmake.eclass.patch

patches cmake.eclass to enable ekopath compilation.
Comment 2 Jeremy Murphy 2011-07-18 06:39:19 UTC
Cool, thanks for making this.  Why not try submitting to sunrise and see what the devs say?  They might have some advice for getting around the cmake.eclass issue in a 'correct' way.
Comment 3 DaggyStyle 2011-07-18 08:58:35 UTC
(In reply to comment #2)
> Cool, thanks for making this.  Why not try submitting to sunrise and see what
> the devs say?  They might have some advice for getting around the cmake.eclass
> issue in a 'correct' way.

there isn't... check the cmake eclass.

as for the path changes, I've been able to correct most of the paths, the rest seems to cause the compilation to fail.
Comment 4 Andrew Savchenko gentoo-dev 2011-07-18 19:13:40 UTC
Does it build and work on ~x86 for anyone?
Comment 5 DaggyStyle 2011-07-18 20:24:07 UTC
(In reply to comment #4)
> Does it build and work on ~x86 for anyone?

try it :)

the official configure script says that it isn't supported but the cmake files seems to support it.

try it out, worst case, nope, best case yes.
Comment 6 Andrew Savchenko gentoo-dev 2011-07-19 18:59:57 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Does it build and work on ~x86 for anyone?
> 
> try it :)

If it would be that simple, I hadn't asked.
ATM I am on gprs connection only for the next two weeks. I tried ssh to my desktop, but with current connection latencies it is a pain to work even with ssh -C.

But I'm curious if it forks, that's why I asked. Let's say I really want to see good competition with gcc.
Comment 7 Pavel Denisov 2011-07-19 19:35:34 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #4)
> > > Does it build and work on ~x86 for anyone?
> > 
> > try it :)
> 
> If it would be that simple, I hadn't asked.
> ATM I am on gprs connection only for the next two weeks. I tried ssh to my
> desktop, but with current connection latencies it is a pain to work even with
> ssh -C.
> 
> But I'm curious if it forks, that's why I asked. Let's say I really want to see
> good competition with gcc.

I tried to compile on i686, but it caught segfault.
Comment 8 DaggyStyle 2011-07-20 03:51:35 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #5)
> > > (In reply to comment #4)
> > > > Does it build and work on ~x86 for anyone?
> > > 
> > > try it :)
> > 
> > If it would be that simple, I hadn't asked.
> > ATM I am on gprs connection only for the next two weeks. I tried ssh to my
> > desktop, but with current connection latencies it is a pain to work even with
> > ssh -C.
> > 
> > But I'm curious if it forks, that's why I asked. Let's say I really want to see
> > good competition with gcc.
> 
> I tried to compile on i686, but it caught segfault.

the compilation or the resulting bin?
Comment 9 Pavel Denisov 2011-07-20 05:19:42 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > (In reply to comment #5)
> > > > (In reply to comment #4)
> > > > > Does it build and work on ~x86 for anyone?
> > > > 
> > > > try it :)
> > > 
> > > If it would be that simple, I hadn't asked.
> > > ATM I am on gprs connection only for the next two weeks. I tried ssh to my
> > > desktop, but with current connection latencies it is a pain to work even with
> > > ssh -C.
> > > 
> > > But I'm curious if it forks, that's why I asked. Let's say I really want to see
> > > good competition with gcc.
> > 
> > I tried to compile on i686, but it caught segfault.
> 
> the compilation or the resulting bin?

the compilation:
[  7%] Generating check_combos.c, implicits.c
/bin/sh: line 1: 31046 Segmentation fault      ../../bin/table < /home/ak/path64-suite/build/Xcompiler/src/driver/OPTIONS.P
make[2]: *** [Xcompiler/src/driver/check_combos.c] Error 139
Comment 10 DaggyStyle 2011-07-20 06:01:34 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > (In reply to comment #6)
> > > > (In reply to comment #5)
> > > > > (In reply to comment #4)
> > > > > > Does it build and work on ~x86 for anyone?
> > > > > 
> > > > > try it :)
> > > > 
> > > > If it would be that simple, I hadn't asked.
> > > > ATM I am on gprs connection only for the next two weeks. I tried ssh to my
> > > > desktop, but with current connection latencies it is a pain to work even with
> > > > ssh -C.
> > > > 
> > > > But I'm curious if it forks, that's why I asked. Let's say I really want to see
> > > > good competition with gcc.
> > > 
> > > I tried to compile on i686, but it caught segfault.
> > 
> > the compilation or the resulting bin?
> 
> the compilation:
> [  7%] Generating check_combos.c, implicits.c
> /bin/sh: line 1: 31046 Segmentation fault      ../../bin/table <
> /home/ak/path64-suite/build/Xcompiler/src/driver/OPTIONS.P
> make[2]: *** [Xcompiler/src/driver/check_combos.c] Error 139

are you compiling with native flag on?
Comment 11 Pavel Denisov 2011-07-20 06:23:11 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > (In reply to comment #8)
> > > (In reply to comment #7)
> > > > (In reply to comment #6)
> > > > > (In reply to comment #5)
> > > > > > (In reply to comment #4)
> > > > > > > Does it build and work on ~x86 for anyone?
> > > > > > 
> > > > > > try it :)
> > > > > 
> > > > > If it would be that simple, I hadn't asked.
> > > > > ATM I am on gprs connection only for the next two weeks. I tried ssh to my
> > > > > desktop, but with current connection latencies it is a pain to work even with
> > > > > ssh -C.
> > > > > 
> > > > > But I'm curious if it forks, that's why I asked. Let's say I really want to see
> > > > > good competition with gcc.
> > > > 
> > > > I tried to compile on i686, but it caught segfault.
> > > 
> > > the compilation or the resulting bin?
> > 
> > the compilation:
> > [  7%] Generating check_combos.c, implicits.c
> > /bin/sh: line 1: 31046 Segmentation fault      ../../bin/table <
> > /home/ak/path64-suite/build/Xcompiler/src/driver/OPTIONS.P
> > make[2]: *** [Xcompiler/src/driver/check_combos.c] Error 139
> 
> are you compiling with native flag on?

neither on, nor off: just clone it from github, configure and make. i tried to do it with gcc 4.6, but now i see that 4.2 must be used, so this can be a reason here.
ok, i'll try the ebuild a little bit later.
Comment 12 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-20 09:12:11 UTC
Thanks for your work on this ebuild. I've submitted my version to science overlay, it doesn't offer so many features as yours i.e. only debug build. 
Though I'll work towards improving it :)

BTW, you don't need to hack cmake.eclass. You can alter CMAKE_BUILD_TYPE variable prior running cmake-utils_src_configure
Comment 13 Nikos Chantziaras 2011-07-20 09:22:32 UTC
Why is this called "path64" instead of "ekopath"? It's confusing. We should probably have "path64" and "path64-bin", or "ekopath" and "ekopath-bin".

But not "path64" and "ekopath-bin" :-/
Comment 14 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-20 10:02:34 UTC
(In reply to comment #13)
> Why is this called "path64" instead of "ekopath"? It's confusing. We should
> probably have "path64" and "path64-bin", or "ekopath" and "ekopath-bin".
> 
> But not "path64" and "ekopath-bin" :-/

Ekopath is built and provided by PathScale, path64 can be built by anyone. They're both the same thing. Think of it as firefox/iceweasel in debian.
Comment 15 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-20 10:20:40 UTC
(In reply to comment #12)
> BTW, you don't need to hack cmake.eclass. You can alter CMAKE_BUILD_TYPE
> variable prior running cmake-utils_src_configure
That's rather obvious, sorry. What I meant is that you can override the rest by using MYCMAKEARGS, e.g. 
export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE"
Comment 16 Nikos Chantziaras 2011-07-20 10:27:41 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > Why is this called "path64" instead of "ekopath"? It's confusing. We should
> > probably have "path64" and "path64-bin", or "ekopath" and "ekopath-bin".
> > 
> > But not "path64" and "ekopath-bin" :-/
> 
> Ekopath is built and provided by PathScale, path64 can be built by anyone.
> They're both the same thing. Think of it as firefox/iceweasel in debian.

Then why call it "ekopath-bin" and not just "ekopath"? The "-bin" suffix suggests there's an "ekopath" that can be built from sources.
Comment 17 DaggyStyle 2011-07-20 10:43:07 UTC
(In reply to comment #15)
> (In reply to comment #12)
> > BTW, you don't need to hack cmake.eclass. You can alter CMAKE_BUILD_TYPE
> > variable prior running cmake-utils_src_configure

I cannot use CMAKE_BUILD_TYPE because the gcc version can be build only with CMAKE_BUILD_TYPE=Debug and the ekopath/path64 version can be build only with CMAKE_BUILD_TYPE=Release (see the configure pathscale are providing).

> That's rather obvious, sorry. What I meant is that you can override the rest by
> using MYCMAKEARGS, e.g. 
> export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE"

not sure I follow, when calling cmake, the eclass adds the override files after my MYCMAKEARGS, I wasn't able to prevent it.

btw, if you find a way to force it to install to ekopath-${version} without failing compilation, please post it so I can fix the bug.

Thanks.
Comment 18 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-20 10:45:04 UTC
(In reply to comment #16)
> Then why call it "ekopath-bin" and not just "ekopath"? The "-bin" suffix
> suggests there's an "ekopath" that can be built from sources.

That's because I confused those matters myself at the beginning. Will fix that.
Comment 19 DaggyStyle 2011-07-20 10:47:43 UTC
btw, in my currect version (the one I'm working on), I've disabled custom flags, it caused compilation to fail and according to pathscale's ceo, it isn't recommended and even not needed as the suite knows to do that by it self.
Comment 20 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-20 10:50:02 UTC
(In reply to comment #17)
> (In reply to comment #15)
> > (In reply to comment #12)
> > > BTW, you don't need to hack cmake.eclass. You can alter CMAKE_BUILD_TYPE
> > > variable prior running cmake-utils_src_configure
> 
> I cannot use CMAKE_BUILD_TYPE because the gcc version can be build only with
> CMAKE_BUILD_TYPE=Debug and the ekopath/path64 version can be build only with
> CMAKE_BUILD_TYPE=Release (see the configure pathscale are providing).

You can do:
src_configure() {
   if use native ; then
      export CMAKE_BUILD_TYPE=Release
   else
      export CMAKE_BUILD_TYPE=Debug
   fi
   cmake-utils_src_configure
}

> > That's rather obvious, sorry. What I meant is that you can override the rest by
> > using MYCMAKEARGS, e.g. 
> > export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE"
> 
> not sure I follow, when calling cmake, the eclass adds the override files after
> my MYCMAKEARGS, I wasn't able to prevent it.

no. It adds after mycmakeargs (notice the case). You can do
src_configure() {
    export MYCMAKEARGS="foo"
    mycmakeargs=(..)
    cmake-utils_src_configure
}

that will result in:

cmake {gentoo_foo_1} {mycmakeargs} {gentoo_foo_2} {MYCMAKEARGS}

see the eclass :)
Comment 21 DaggyStyle 2011-07-20 10:55:37 UTC
(In reply to comment #20)
> (In reply to comment #17)
> > (In reply to comment #15)
> > > (In reply to comment #12)
> > > > BTW, you don't need to hack cmake.eclass. You can alter CMAKE_BUILD_TYPE
> > > > variable prior running cmake-utils_src_configure
> > 
> > I cannot use CMAKE_BUILD_TYPE because the gcc version can be build only with
> > CMAKE_BUILD_TYPE=Debug and the ekopath/path64 version can be build only with
> > CMAKE_BUILD_TYPE=Release (see the configure pathscale are providing).
> 
> You can do:
> src_configure() {
>    if use native ; then
>       export CMAKE_BUILD_TYPE=Release
>    else
>       export CMAKE_BUILD_TYPE=Debug
>    fi
>    cmake-utils_src_configure
> }

already doing it in the ebuild.

> 
> > > That's rather obvious, sorry. What I meant is that you can override the rest by
> > > using MYCMAKEARGS, e.g. 
> > > export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE"
> > 
> > not sure I follow, when calling cmake, the eclass adds the override files after
> > my MYCMAKEARGS, I wasn't able to prevent it.
> 
> no. It adds after mycmakeargs (notice the case). You can do
> src_configure() {
>     export MYCMAKEARGS="foo"
>     mycmakeargs=(..)
>     cmake-utils_src_configure
> }
> 
> that will result in:
> 
> cmake {gentoo_foo_1} {mycmakeargs} {gentoo_foo_2} {MYCMAKEARGS}
> 
> see the eclass :)

thanks :) I'll modify the ebuild later today.
Comment 22 DaggyStyle 2011-07-20 17:47:18 UTC
Created attachment 280479 [details]
path64-suite-9999.ebuild, updated ebuild, no need to change cmakeutils.

thanks to Xarthisius for the tip.

I'm still working on the path change.
Comment 23 DaggyStyle 2011-07-23 17:12:37 UTC
I'm helping xarthisius with the science overlay ebuild so this bug is closed.
Comment 24 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-23 17:15:55 UTC
(In reply to comment #23)
> I'm helping xarthisius with the science overlay ebuild so this bug is closed.
Not yet, we will close this bug when it hits portage :)
Comment 25 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-07-29 17:41:32 UTC
+*path64-1.0.0_pre20110729 (29 Jul 2011)
+
+  29 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org>
+  +path64-1.0.0_pre20110729.ebuild, +metadata.xml:
+  Initial import, fixes bug 374739. Thanks to DaggyStyle
+  <stompdagger1@yahoo.com> for his work.