Fwd: Contributing - Getting started questions

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.
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
I see. Eventually I can try tomorrow to revert to an old version to see if it solves my other issues. 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
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@therning.org jabber: magnus@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@haskell.org http://www.haskell.org/mailman/listinfo/arch-haskell
participants (1)
-
Fabien Dubosson