You are not logged in.

#1 2007-11-12 19:00:11

Ashren
Member
From: Denmark
Registered: 2007-06-13
Posts: 1,229
Website

Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

I've tried to build Xmonad 0.4.1, but it fails with the following output:

XMonad.hs:42:17:
    Could not find module `Data.Set':
      it is a member of package containers-0.1.0.0, which is hidden

After a bit of research I discovered that it has something to do with Cabal, but I can't understand how to fix it? Anyone else encountered this and anyone with a possible solution?

Offline

#2 2007-11-13 18:45:33

bender02
Member
From: UK
Registered: 2007-02-04
Posts: 1,328

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

I got the same error. It doesn't make sense to me, since "ghc-pkg list" lists containers-0.1.0.0 as not hidden...

Offline

#3 2007-11-13 21:34:02

Ashren
Member
From: Denmark
Registered: 2007-06-13
Posts: 1,229
Website

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

I think the solution is here: http://209.85.129.104/search?q=cache:2Q … cd=3&gl=dk

But I'm not sure what to do..

Offline

#4 2007-11-13 22:20:06

Ashren
Member
From: Denmark
Registered: 2007-06-13
Posts: 1,229
Website

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

Ok, I found a way to build xmonad. I added "containers" to the build depends line in xmonad.cabal. Now, I guess I have to untar the package, change the line in xmonad.cabal, then retar it and then use makepkg with the PKGBUILD. Or what..

I'm still a newbie, so please bear with me.

Offline

#5 2007-11-13 23:43:18

bender02
Member
From: UK
Registered: 2007-02-04
Posts: 1,328

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

Thanks for finding it out!

A standard way of dealing with this is to use diff and patch. You can see how to generate a patch and how to apply a patch for example at http://www.suckless.org/wiki/dwm/patches (look at "for tarballs" parts). After you have a patch, just modify the PKGBUILD to include your patch file in the sources field, and add the patch command into the build part.

Offline

#6 2007-11-15 19:17:21

bender02
Member
From: UK
Registered: 2007-02-04
Posts: 1,328

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

ashren: using your suggestion, I made a patch and modified the AUR PKGBUILD:

PKGBUILD:

pkgname=xmonad
pkgver=0.4.1
pkgrel=2
pkgdesc="A lightweight X11 tiled window manager written in Haskell"
arch=(i686 x86_64)
url="http://xmonad.org/"
license=('custom:BSD3')
depends=('gmp' 'libxext' 'dmenu')
makedepends=('ghc' 'haskell-x11>=1.3.0')
source=(http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz xmonad-0.4.1-containers-fix.diff)

build() {
  cd $startdir/src/$pkgname-$pkgver

  patch -p1 < ../xmonad-0.4.1-containers-fix.diff

  runhaskell Setup.lhs configure --ghc --prefix=/usr || return 1

  # configuration handling stuff
  if [ -f ../../Config.hs ]; then
    msg "Custom configuration detected"
    msg2 "copying config.h to build directory"
    cp ../../Config.hs Config.hs
  fi

  # Maybe move this to function ?
  msg "Do you want to change configuration before compilation ? [y/N] "
  read answerpkgname=xmonad
pkgver=0.4.1
pkgrel=2
pkgdesc="A lightweight X11 tiled window manager written in Haskell"
arch=(i686 x86_64)
url="http://xmonad.org/"
license=('custom:BSD3')
depends=('gmp' 'libxext' 'dmenu')
makedepends=('ghc' 'haskell-x11>=1.3.0')
source=(http://hackage.haskell.org/packages/archive/$pkgname/$pkgver/$pkgname-$pkgver.tar.gz xmonad-0.4.1-containers-fix.diff)

build() {
  cd $startdir/src/$pkgname-$pkgver

  patch -p1 < ../xmonad-0.4.1-containers-fix.diff

  runhaskell Setup.lhs configure --ghc --prefix=/usr || return 1

  # configuration handling stuff
  if [ -f ../../Config.hs ]; then
    msg "Custom configuration detected"
    msg2 "copying config.h to build directory"
    cp ../../Config.hs Config.hs
  fi

  # Maybe move this to function ?
  msg "Do you want to change configuration before compilation ? [y/N] "
  read answer
  answer=$(echo $answer | tr [:upper:] [:lower:])

  if [ $answer = "y" -o $answer = "yes" ]; then
    # maybe user prefer something other than vim ?
    if [ x"$EDITOR" != x"" ]; then
      $EDITOR Config.hs
    else
      vi Config.hs
    fi

    # save modified config for future builds
    cp -f Config.hs ../../Config.hs
  fi

  runhaskell Setup.lhs build || return 1
  runhaskell Setup.lhs copy --destdir=$startdir/pkg
  runhaskell util/GenerateManpage.hs

  install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/BSD3
  install -D -m644 man/xmonad.1 $startdir/pkg/usr/man/man1/xmonad.1
}

  answer=$(echo $answer | tr [:upper:] [:lower:])

  if [ $answer = "y" -o $answer = "yes" ]; then
    # maybe user prefer something other than vim ?
    if [ x"$EDITOR" != x"" ]; then
      $EDITOR Config.hs
    else
      vi Config.hs
    fi

    # save modified config for future builds
    cp -f Config.hs ../../Config.hs
  fi

  runhaskell Setup.lhs build || return 1
  runhaskell Setup.lhs copy --destdir=$startdir/pkg
  runhaskell util/GenerateManpage.hs

  install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/BSD3
  install -D -m644 man/xmonad.1 $startdir/pkg/usr/man/man1/xmonad.1
}

And you also need this file: xmonad-0.4.1--containers-fix.diff

Only in xmonad-0.4.1-new: dist
Common subdirectories: xmonad-0.4.1/man and xmonad-0.4.1-new/man
Common subdirectories: xmonad-0.4.1/tests and xmonad-0.4.1-new/tests
Common subdirectories: xmonad-0.4.1/util and xmonad-0.4.1-new/util
diff -up xmonad-0.4.1/xmonad.cabal xmonad-0.4.1-new/xmonad.cabal
--- xmonad-0.4.1/xmonad.cabal    2007-11-02 17:31:08.000000000 -0500
+++ xmonad-0.4.1-new/xmonad.cabal    2007-11-15 13:00:28.041790818 -0600
@@ -17,7 +17,7 @@ license:            BSD3
 license-file:       LICENSE
 author:             Spencer Janssen
 maintainer:         sjanssen@cse.unl.edu
-build-depends:      base>=2.0, mtl>=1.0, unix>=1.0, X11==1.3.0
+build-depends:      base>=2.0, mtl>=1.0, unix>=1.0, X11==1.3.0, containers
 extra-source-files: README TODO tests/loc.hs tests/Properties.hs man/xmonad.1.in
                     Config.hs-boot util/GenerateManpage.hs man/xmonad.1 man/xmonad.html

Offline

#7 2007-11-16 19:06:46

Ashren
Member
From: Denmark
Registered: 2007-06-13
Posts: 1,229
Website

Re: Building Xmonad 0.4.1 with GHC 6.8.1 and haskell-X11 1.3.0 fails

Thank you!

I really tried to figure out how to create a patch, but I didn't have the time.

Offline

Board footer

Powered by FluxBB