[arch-haskell] Fwd: Contributing - Getting started questions

Fabien Dubosson fabien.dubosson at gmail.com
Thu Oct 24 22:40:14 UTC 2013


> Except that you have two points numbered 3, yes, that's pretty much
> correct.

Erf, I read many times the mail and I still missed some mistakes.


> You are aware though that you don't /need/ to build habs in order to
> use it, you can just use [haskell-core] right away.

Yes of course, but I also use some unpackaged haskell software such as
hledger, which I precisely want to package.


> Hmm, that's a bit worrying.  The -d flag should automatically install
> the package in the chroot after building.  It seems to have
> disappeared in newer versions of makechrootpkg.

I see. Eventually I can try tomorrow to revert to an old version to see if
it solves my other issues.

> How are you installing the package?
> That particular archive should be included in the package you are
> installing, so
>     % pacman -Ql -p haskell-openglraw-1.4.0.0-2-x86_64.pkg.tar.xz|grep
libHS
>
> should result in a list of three libs/archives:
>
>     /usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/
libHSOpenGLRaw-1.4.0.0-ghc7.6.3.so
>
/usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/libHSOpenGLRaw-1.4.0.0.a
>
/usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/libHSOpenGLRaw-1.4.0.0_p.a

Hum, the error appears in the chroot during the building. To show that
better, I start with a clean copy of habs, and tried to install
haskell-diff to keep things simple:


    $ git clone git://github.com/archhaskell/habs.git
    $ cd habs
    $ cblrepo sync
    $ cblrepo pkgbuild $(cblrepo build base|tail -n +2)
    $ ./makeahpkg -c Diff

Here is the output of the last command (the part that create the chroot
environment is truncated) :

    [[ TRUNCATED ]]
    *** Cleaning up the build chroot (in 5 sec)...
    *** starting...
    ***  Done
    *** Building in /home/fabien/habs/haskell-diff
    :: Synchronizing package databases...
     haskell is up to date
     core is up to date
     extra is up to date
     community is up to date
    :: Starting full system upgrade...
     there is nothing to do
    ==> Making package: haskell-diff 0.3.0-2 (ven oct 25 00:22:08 CEST 2013)
    ==> Retrieving sources...
      -> Downloading Diff-0.3.0.tar.gz...
     % Total    % Received % Xferd  Average Speed   Time    Time     Time
Current
                                     Dload  Upload   Total   Spent    Left
Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:--
--:--:--     0
      0     0    0  4128    0     0  26324      0 --:--:-- --:--:--
--:--:-- 26324
    ==> Validating source files with sha256sums...
        Diff-0.3.0.tar.gz ... Passed
    ==> Making package: haskell-diff 0.3.0-2 (Fri Oct 25 00:22:10 CEST 2013)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
      -> Found Diff-0.3.0.tar.gz
    ==> Validating source files with sha256sums...
        Diff-0.3.0.tar.gz ... Passed
    ==> Extracting sources...
     -> Extracting Diff-0.3.0.tar.gz with bsdtar
    ==> Starting build()...
    Configuring Diff-0.3.0...
    Building Diff-0.3.0...
    Preprocessing library Diff-0.3.0...
    [1 of 2] Compiling Data.Algorithm.Diff ( src/Data/Algorithm/Diff.hs,
dist/build/Data/Algorithm/Diff.o )
    [2 of 2] Compiling Data.Algorithm.DiffOutput (
src/Data/Algorithm/DiffOutput.hs, dist/build/Data/Algorithm/DiffOutput.o )
    [1 of 2] Compiling Data.Algorithm.Diff ( src/Data/Algorithm/Diff.hs,
dist/build/Data/Algorithm/Diff.p_o )
    [2 of 2] Compiling Data.Algorithm.DiffOutput (
src/Data/Algorithm/DiffOutput.hs, dist/build/Data/Algorithm/DiffOutput.p_o )
    [1 of 2] Compiling Data.Algorithm.Diff ( src/Data/Algorithm/Diff.hs,
dist/build/Data/Algorithm/Diff.dyn_o )
    [2 of 2] Compiling Data.Algorithm.DiffOutput (
src/Data/Algorithm/DiffOutput.hs,
dist/build/Data/Algorithm/DiffOutput.dyn_o )
    In-place registering Diff-0.3.0...
    Running Haddock for Diff-0.3.0...
    Preprocessing library Diff-0.3.0...
    Warning: The documentation for the following packages are not
installed. No
    links will be generated to these packages: rts-1.0
    Haddock coverage:
      88% (  7 /  8) in 'Data.Algorithm.Diff'
     50% (  3 /  6) in 'Data.Algorithm.DiffOutput'
    Documentation created: dist/doc/html/Diff/index.html
    Creating package registration script: register.sh
    Unregistering Diff-0.3.0...
    ==> Entering fakeroot environment...
    ==> Starting package()...
    Installing library in

/build/haskell-diff/pkg/haskell-diff/usr/lib/ghc-7.6.3/site-local/Diff-0.3.0
    ==> Tidying install...
      -> Purging unwanted files...
      -> Removing libtool files...
      -> Removing static library files...
     -> Compressing man and info pages...
     -> Stripping unneeded symbols from binaries and libraries...
    ==> Creating package "haskell-diff"...
      -> Generating .PKGINFO file...
     -> Adding install file...
     -> Generating .MTREE file...
     -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: haskell-diff 0.3.0-2 (Fri Oct 25 00:22:34 CEST
2013)
    ==> Installing package haskell-diff with pacman -U...
    loading packages...
    resolving dependencies...
    looking for inter-conflicts...

    Packages (1): haskell-diff-0.3.0-2

    Total Installed Size:   0.41 MiB

    :: Proceed with installation? [Y/n]
    (1/1) checking keys in
keyring
[####################################################] 100%
    (1/1) checking package
integrity
[####################################################] 100%
    (1/1) loading package
files
[####################################################] 100%
    (1/1) checking for file
conflicts
[####################################################] 100%
    (1/1) installing
haskell-diff
[####################################################] 100%
    Reading package info from stdin ... done.
    Diff-0.3.0: cannot find libHSDiff-0.3.0.a on library path (use --force
to override)



and then back in the habs folder, the output of

    $ pacman -Ql -p haskell-diff/haskell-diff-0.3.0-2-x86_64.pkg.tar.xz |
grep libHS

is

    haskell-diff /usr/lib/ghc-7.6.3/site-local/Diff-0.3.0/
libHSDiff-0.3.0-ghc7.6.3.so


Hope these informations will help.

Best regards,
Fabien


2013/10/24 Magnus Therning <magnus at therning.org>

> On Thu, Oct 24, 2013 at 10:23:21PM +0200, Fabien Dubosson wrote:
> > Hi everybody,
> >
> > I am starting with Arch-Haskell after one year of "cabal-install
> > only" philosophy, to clean up a bit my management of Haskell
> > softwares (and why not getting involved if I can be helpful). I have
> > some questions and I guess this is the right place to start.
> >
> > So first of all about the general workflow to be sure to understand
> > it correctly. As far I have understand/guessed that:
> >
> > 1. Someone writes a cabalized haskell library/executable and puts in
> >    on hackage.
> > 2. Using the "cblrepo" tools (cblrepo add ...), hackage
> >    libraries/executables can be added to "habs".
> > 3. PKGBUILD and archlinux packages can be builded from habs and then
> >    installed on the system
> > 3. Finally some packages are integrated to the "main" habs and
> >    Magnus (or someone else?) signs the package and puts it into the
> >    [haskell-core] repository.
> >
> > Is that correct?
>
> Except that you have two points numbered 3, yes, that's pretty much
> correct.
>
> > Then, to start I followed exactly the build steps on the habs README
> > and I get an error:
>
> You are aware though that you don't /need/ to build habs in order to
> use it, you can just use [haskell-core] right away.
>
> >  $ git clone git://github.com/archhaskell/habs.git
> >  $ cd habs
> >  $ cblrepo sync
> >
> > Everything is ok until here.
> >
> >  $ cblrepo pkgbuild $(cblrepo build base|tail -n +2)
> >  Failed patching /tmp/cblrepo.EJEnE3/PKGBUILD with
> /home/fabien/habs/patches/pango.pkgbuild
> >  Failed patching /tmp/cblrepo.SFv6KO/PKGBUILD with
> /home/fabien/habs/patches/gtk.pkgbuild
> >
> > Here the command works, but two patch can not be applied (these
> > packages seem not to be the cause of he problem anyway).
>
> Yeah, in this case it happens because I haven't had to rebuild those
> packages since upgrading cblrepo to put all flags settings in the
> configure step
>
> > And finally I get an error with this last command:
> >
> >  $ ./makeahpkg -c -- $(cblrepo build base | tail -n +2)
> >  [[ TRUNKATED ]]
> >  *** Building in /home/fabien/habs/haskell-diff
> >  ==> ERROR: No chroot dir defined, or invalid path ''
> >
> > I played a bit with the makeahpkg script and removing the "-d"
> > option of makechrootpkg on line 71 seems to works a bit more.
>
> Hmm, that's a bit worrying.  The -d flag should automatically install
> the package in the chroot after building.  It seems to have
> disappeared in newer versions of makechrootpkg.
>
> >  sudo setarch ${arch} makechrootpkg -u -l ${build_chrootdir} -r
> ${CHROOT_DIR} -- -i
> >
> > The first package (haskell-openglraw-1.4.0.0-2) builds correctly, it
> > asks me to install it (on the chroot), but during the install this
> > message appears:
> >
> >  OpenGLRaw-1.4.0.0: cannot find libHSOpenGLRaw-1.4.0.0.a on library
> >  path (use --force to override)
>
> How are you installing the package?
> That particular archive should be included in the package you are
> installing, so
>
>     % pacman -Ql -p haskell-openglraw-1.4.0.0-2-x86_64.pkg.tar.xz|grep
> libHS
>
> should result in a list of three libs/archives:
>
>     /usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/
> libHSOpenGLRaw-1.4.0.0-ghc7.6.3.so
>
> /usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/libHSOpenGLRaw-1.4.0.0.a
>
> /usr/lib/ghc-7.6.3/site-local/OpenGLRaw-1.4.0.0/libHSOpenGLRaw-1.4.0.0_p.a
>
> /M
>
> --
> Magnus Therning                      OpenPGP: 0xAB4DFBA4
> email: magnus at therning.org   jabber: magnus at therning.org
> twitter: magthe               http://therning.org/magnus
>
> Finagle's Second Law:
> Always keep a record of data -- it indicates you've been working.
>
> _______________________________________________
> arch-haskell mailing list
> arch-haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/arch-haskell
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/arch-haskell/attachments/20131025/d70ce90f/attachment-0001.html>


More information about the arch-haskell mailing list