New package: ghc

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

New package: ghc

Peter Trommler
I will submit ghc (The Glorious Glasgow Haskell Compilation System) as a new
package to Factory.

GHC's main web page is: http://www.haskell.org/ghc/
Package ghc is developed at OBS in devel:languages:haskell

Description:
GHC is a state-of-the-art, open source, compiler and interactive environment
for the functional language Haskell. It is part of Haskell Platform.

Maintainability: The compiler has about 3-5 releases per year.

Reasons to have it in Factory:
Needed for Haskell Platform FATE #314446
(https://features.opensuse.org/314446) and
pandoc FATE #312777 (https://features.opensuse.org/312777)

Hints for package reviewers:
We need to bootstrap the compiler. Therefore we need to bring a binary
compiler in with a source file. That binary compiler will only be used to
bootstrap a stage 0 compiler and will not be included in the resulting
binary rpm.

After bootstrap is done in Factory I will submit the package again with all
bootstrap code removed. Lines that I will remove are marked with comments
# remove after initial bootstrap and # end bootstrap. See the following
package in my home project:
https://build.opensuse.org/package/show?package=ghc&project=home%3Aptrommler
%3Abranches%3Adevel%3Alanguages%3Ahaskell

If you have further questions or requests, please drop me a line.

Thanks, Peter

--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Richard Biener
On Tue, 16 Oct 2012, Peter Trommler wrote:

> I will submit ghc (The Glorious Glasgow Haskell Compilation System) as a new
> package to Factory.
>
> GHC's main web page is: http://www.haskell.org/ghc/
> Package ghc is developed at OBS in devel:languages:haskell
>
> Description:
> GHC is a state-of-the-art, open source, compiler and interactive environment
> for the functional language Haskell. It is part of Haskell Platform.
>
> Maintainability: The compiler has about 3-5 releases per year.
>
> Reasons to have it in Factory:
> Needed for Haskell Platform FATE #314446
> (https://features.opensuse.org/314446) and
> pandoc FATE #312777 (https://features.opensuse.org/312777)
>
> Hints for package reviewers:
> We need to bootstrap the compiler. Therefore we need to bring a binary
> compiler in with a source file. That binary compiler will only be used to
> bootstrap a stage 0 compiler and will not be included in the resulting
> binary rpm.
>
> After bootstrap is done in Factory I will submit the package again with all
> bootstrap code removed. Lines that I will remove are marked with comments
> # remove after initial bootstrap and # end bootstrap. See the following
> package in my home project:
> https://build.opensuse.org/package/show?package=ghc&project=home%3Aptrommler
> %3Abranches%3Adevel%3Alanguages%3Ahaskell
>
> If you have further questions or requests, please drop me a line.

Does that 'bootstrap' work for all architectures openSUSE is built for
(does it work for all SLE architectures)?  Can GHC perform
cross-compilation?  What targets does GHC target?

Richard.

--
Richard Biener <[hidden email]>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Herbert Graeber
Am 17.10.2012 10:27, schrieb Richard Biener:

> On Tue, 16 Oct 2012, Peter Trommler wrote:
>
>> I will submit ghc (The Glorious Glasgow Haskell Compilation System) as a new
>> package to Factory.
>>
>> GHC's main web page is: http://www.haskell.org/ghc/
>> Package ghc is developed at OBS in devel:languages:haskell
>>
>> Description:
>> GHC is a state-of-the-art, open source, compiler and interactive environment
>> for the functional language Haskell. It is part of Haskell Platform.
>>
>> Maintainability: The compiler has about 3-5 releases per year.
>>
>> Reasons to have it in Factory:
>> Needed for Haskell Platform FATE #314446
>> (https://features.opensuse.org/314446) and
>> pandoc FATE #312777 (https://features.opensuse.org/312777),
>>
>> Hints for package reviewers:
>> We need to bootstrap the compiler. Therefore we need to bring a binary
>> compiler in with a source file. That binary compiler will only be used to
>> bootstrap a stage 0 compiler and will not be included in the resulting
>> binary rpm.
>>
>> After bootstrap is done in Factory I will submit the package again with all
>> bootstrap code removed. Lines that I will remove are marked with comments
>> # remove after initial bootstrap and # end bootstrap. See the following
>> package in my home project:
>> https://build.opensuse.org/package/show?package=ghc&project=home%3Aptrommler
>> %3Abranches%3Adevel%3Alanguages%3Ahaskell
>>
>> If you have further questions or requests, please drop me a line.
> Does that 'bootstrap' work for all architectures openSUSE is built for
> (does it work for all SLE architectures)?  Can GHC perform
> cross-compilation?  What targets does GHC target?
Ghc currently supports x86 and x86_64 as tier 1 platforms. That are
those, that we will address first with our packages.
As tier 2 platforms there are Powerpc, Powerpc64, IA-64, S/390 (That are
the remaining ones supported by SLE) and additionally others like ARM,
Sparc, Alpha, HPPA, m68k and mips. At the moment all tier 2 platforms
lack some optional features where the most notable is support for
dynamic linking.

Cross-compilation is not official supported by ghc, but it is worked on
and it looks like it is already possible somehow. But for supporting
some of the tier 2 platforms, it would be preferable to do a bootstrap
like we want to do now for x86 and x86_64 for those again.

Links:

http://hackage.haskell.org/trac/ghc/wiki/Platforms
http://hackage.haskell.org/trac/ghc/wiki/CrossCompilation

Herbert
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Dinar Valeev
Why each arch should have own tarball? isn't ghc-src not sufficient?

The reason that it even not trying to compile on ppc Factory.
error: File /home/abuild/rpmbuild/SOURCES/ghc-7.4.1-ppc64-unknown-linux.tar.bz2:
No such file or directory

https://build.opensuse.org/package/live_build_log?arch=ppc64&package=ghc&project=openSUSE%3AFactory%3APowerPC&repository=standard

On Wed, Oct 17, 2012 at 5:00 PM, Herbert Graeber <[hidden email]> wrote:

>
> Am 17.10.2012 10:27, schrieb Richard Biener:
> > On Tue, 16 Oct 2012, Peter Trommler wrote:
> >
> >> I will submit ghc (The Glorious Glasgow Haskell Compilation System) as a new
> >> package to Factory.
> >>
> >> GHC's main web page is: http://www.haskell.org/ghc/
> >> Package ghc is developed at OBS in devel:languages:haskell
> >>
> >> Description:
> >> GHC is a state-of-the-art, open source, compiler and interactive environment
> >> for the functional language Haskell. It is part of Haskell Platform.
> >>
> >> Maintainability: The compiler has about 3-5 releases per year.
> >>
> >> Reasons to have it in Factory:
> >> Needed for Haskell Platform FATE #314446
> >> (https://features.opensuse.org/314446) and
> >> pandoc FATE #312777 (https://features.opensuse.org/312777),
> >>
> >> Hints for package reviewers:
> >> We need to bootstrap the compiler. Therefore we need to bring a binary
> >> compiler in with a source file. That binary compiler will only be used to
> >> bootstrap a stage 0 compiler and will not be included in the resulting
> >> binary rpm.
> >>
> >> After bootstrap is done in Factory I will submit the package again with all
> >> bootstrap code removed. Lines that I will remove are marked with comments
> >> # remove after initial bootstrap and # end bootstrap. See the following
> >> package in my home project:
> >> https://build.opensuse.org/package/show?package=ghc&project=home%3Aptrommler
> >> %3Abranches%3Adevel%3Alanguages%3Ahaskell
> >>
> >> If you have further questions or requests, please drop me a line.
> > Does that 'bootstrap' work for all architectures openSUSE is built for
> > (does it work for all SLE architectures)?  Can GHC perform
> > cross-compilation?  What targets does GHC target?
> Ghc currently supports x86 and x86_64 as tier 1 platforms. That are
> those, that we will address first with our packages.
> As tier 2 platforms there are Powerpc, Powerpc64, IA-64, S/390 (That are
> the remaining ones supported by SLE) and additionally others like ARM,
> Sparc, Alpha, HPPA, m68k and mips. At the moment all tier 2 platforms
> lack some optional features where the most notable is support for
> dynamic linking.
>
> Cross-compilation is not official supported by ghc, but it is worked on
> and it looks like it is already possible somehow. But for supporting
> some of the tier 2 platforms, it would be preferable to do a bootstrap
> like we want to do now for x86 and x86_64 for those again.
>
> Links:
>
> http://hackage.haskell.org/trac/ghc/wiki/Platforms
> http://hackage.haskell.org/trac/ghc/wiki/CrossCompilation
>
> Herbert
> --
> To unsubscribe, e-mail: [hidden email]
> To contact the owner, e-mail: [hidden email]
>
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Herbert Graeber
Am 07.11.2012 13:21, schrieb Dinar Valeev:
> Why each arch should have own tarball? isn't ghc-src not sufficient?
It is not sufficient for boot-strapping.  GHC has to be compiled by
itself., so we have to solve the hen and egg problem by injecting a
binary version of the compiler for the first compilation.
> The reason that it even not trying to compile on ppc Factory.
> error: File /home/abuild/rpmbuild/SOURCES/ghc-7.4.1-ppc64-unknown-linux.tar.bz2:
> No such file or directory
This is the binary compiler you need for the first compilation. When the
first build of ghc in Factory has succeeded, the binary will be removed
again.

After everything works for x86 and x86_64 we may repeat the bootstrap
for other architecture, too.
> https://build.opensuse.org/package/live_build_log?arch=ppc64&package=ghc&project=openSUSE%3AFactory%3APowerPC&repository=standard
If you download the file from the ghc website and add it to the package
you are able to do the bootstrap yourself. After first compilation, you
can remove the binary again and turn bootstrap mode off. After this ghc
compilation is self contained.
> [...]
Herbert
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Dinar Valeev
On Wed, Nov 7, 2012 at 4:32 PM, Herbert Graeber <[hidden email]> wrote:
> Am 07.11.2012 13:21, schrieb Dinar Valeev:
>> Why each arch should have own tarball? isn't ghc-src not sufficient?
> It is not sufficient for boot-strapping.  GHC has to be compiled by
> itself., so we have to solve the hen and egg problem by injecting a
> binary version of the compiler for the first compilation.
Is there a way to produce such tarball manually?

>> The reason that it even not trying to compile on ppc Factory.
>> error: File /home/abuild/rpmbuild/SOURCES/ghc-7.4.1-ppc64-unknown-linux.tar.bz2:
>> No such file or directory
> This is the binary compiler you need for the first compilation. When the
> first build of ghc in Factory has succeeded, the binary will be removed
> again.
>
> After everything works for x86 and x86_64 we may repeat the bootstrap
> for other architecture, too.
>> https://build.opensuse.org/package/live_build_log?arch=ppc64&package=ghc&project=openSUSE%3AFactory%3APowerPC&repository=standard
> If you download the file from the ghc website and add it to the package
> you are able to do the bootstrap yourself. After first compilation, you
> can remove the binary again and turn bootstrap mode off. After this ghc
> compilation is self contained.
There is no ppc version available.

Also I took a look how Fedora doing this.. They just use ghc-src tarball.
>> [...]
> Herbert
> --
> To unsubscribe, e-mail: [hidden email]
> To contact the owner, e-mail: [hidden email]
>
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Peter Trommler
Dinar Valeev wrote:

> On Wed, Nov 7, 2012 at 4:32 PM, Herbert Graeber <[hidden email]>
> wrote:
>> Am 07.11.2012 13:21, schrieb Dinar Valeev:
>>> Why each arch should have own tarball? isn't ghc-src not sufficient?
>> It is not sufficient for boot-strapping.  GHC has to be compiled by
>> itself., so we have to solve the hen and egg problem by injecting a
>> binary version of the compiler for the first compilation.
> Is there a way to produce such tarball manually?
Yes, there is.
Get the source, unpack it, and cd into the directory.
./configure
make
make binary-dist

Note: You need a working ghc for your platform to do this!

I ended up building my own binary-dist to create a binary dist that did not
require libgmp.so.3

>
>>> The reason that it even not trying to compile on ppc Factory.
>>> error: File
>>> /home/abuild/rpmbuild/SOURCES/ghc-7.4.1-ppc64-unknown-linux.tar.bz2: No
>>> such file or directory
>> This is the binary compiler you need for the first compilation. When the
>> first build of ghc in Factory has succeeded, the binary will be removed
>> again.
>>
>> After everything works for x86 and x86_64 we may repeat the bootstrap
>> for other architecture, too.
>>>
https://build.opensuse.org/package/live_build_log?arch=ppc64&package=ghc&project=openSUSE%3AFactory%3APowerPC&repository=standard
>> If you download the file from the ghc website and add it to the package
>> you are able to do the bootstrap yourself. After first compilation, you
>> can remove the binary again and turn bootstrap mode off. After this ghc
>> compilation is self contained.
> There is no ppc version available.
Sorry about that. I forgot to set an ExclusiveArch tag.

If we want ghc on ppc we need someone to help bootstrap ghc for ppc and help
maintain it. For that you either get a ghc binary that works on openSUSE or
you go through the painful process of porting ghc through generated C files
(you could use our x86 compiler for that) or you try to go the cross compile
route (there are some issues with cross-compiling).

>
> Also I took a look how Fedora doing this.. They just use ghc-src tarball.
Yes, but note the spec file BuildRequires ghc-compiler which is produced by
ghc.spec. That is the chicken and egg problem Herbert was talking about.

After bootstrap is done, I will resubmit ghc to Factory with all lines
removed that I marked for removal in ghc.spec.
Then it looks like this:
https://build.opensuse.org/package/show?package=ghc&project=devel%3Alanguages%3Ahaskell%3Anext

Please do not ask me to push ghc 7.6.1 to Factory (yet). I wont do that. Our
goal is to provide Haskell Platform 2012.4, which has ghc 7.4.2.

Please be patient. A usable ghc including a "binary free" source is coming  
soon. Right now we have to wait for LaTeX to be fixed in Factory.

Peter

--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: New package: ghc

Dinar Valeev
On Thu, Nov 8, 2012 at 8:15 PM, Peter Trommler
<[hidden email]> wrote:

> Dinar Valeev wrote:
>
>> On Wed, Nov 7, 2012 at 4:32 PM, Herbert Graeber <[hidden email]>
>> wrote:
>>> Am 07.11.2012 13:21, schrieb Dinar Valeev:
>>>> Why each arch should have own tarball? isn't ghc-src not sufficient?
>>> It is not sufficient for boot-strapping.  GHC has to be compiled by
>>> itself., so we have to solve the hen and egg problem by injecting a
>>> binary version of the compiler for the first compilation.
>> Is there a way to produce such tarball manually?
> Yes, there is.
> Get the source, unpack it, and cd into the directory.
> ./configure
> make
> make binary-dist
>
> Note: You need a working ghc for your platform to do this!
>
> I ended up building my own binary-dist to create a binary dist that did not
> require libgmp.so.3
thanks

>>
>>>> The reason that it even not trying to compile on ppc Factory.
>>>> error: File
>>>> /home/abuild/rpmbuild/SOURCES/ghc-7.4.1-ppc64-unknown-linux.tar.bz2: No
>>>> such file or directory
>>> This is the binary compiler you need for the first compilation. When the
>>> first build of ghc in Factory has succeeded, the binary will be removed
>>> again.
>>>
>>> After everything works for x86 and x86_64 we may repeat the bootstrap
>>> for other architecture, too.
>>>>
> https://build.opensuse.org/package/live_build_log?arch=ppc64&package=ghc&project=openSUSE%3AFactory%3APowerPC&repository=standard
>>> If you download the file from the ghc website and add it to the package
>>> you are able to do the bootstrap yourself. After first compilation, you
>>> can remove the binary again and turn bootstrap mode off. After this ghc
>>> compilation is self contained.
>> There is no ppc version available.
> Sorry about that. I forgot to set an ExclusiveArch tag.
>
> If we want ghc on ppc we need someone to help bootstrap ghc for ppc and help
> maintain it. For that you either get a ghc binary that works on openSUSE or
> you go through the painful process of porting ghc through generated C files
> (you could use our x86 compiler for that) or you try to go the cross compile
> route (there are some issues with cross-compiling).
I'll look into that

>
>>
>> Also I took a look how Fedora doing this.. They just use ghc-src tarball.
> Yes, but note the spec file BuildRequires ghc-compiler which is produced by
> ghc.spec. That is the chicken and egg problem Herbert was talking about.
>
> After bootstrap is done, I will resubmit ghc to Factory with all lines
> removed that I marked for removal in ghc.spec.
> Then it looks like this:
> https://build.opensuse.org/package/show?package=ghc&project=devel%3Alanguages%3Ahaskell%3Anext
>
> Please do not ask me to push ghc 7.6.1 to Factory (yet). I wont do that. Our
> goal is to provide Haskell Platform 2012.4, which has ghc 7.4.2.
>
> Please be patient. A usable ghc including a "binary free" source is coming
> soon. Right now we have to wait for LaTeX to be fixed in Factory.
>
> Peter
>
> --
> To unsubscribe, e-mail: [hidden email]
> To contact the owner, e-mail: [hidden email]
>
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]