id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	difficulty	ghcversion	platform
217	Main modules in .hsc files are not included in sdist	gwern		"I've been working on a darcs repo of tools for XMonad, and I ran into a problem with making an sdist tarball.

The repo is pretty standard: in a src/ directory, it contains 7 files, of which 6 are executables with 'module Main where' headers. The cabal file looks like this: http://hpaste.org/5239

{{{
name:               xmonad-utils
version:            0.1
homepage:           http://www.haskell.org/haskellwiki/Xmonad-utils
synopsis:           A small collection of X utilities
description:        A small collection of X utilities useful when
                    running XMonad. It includes: hxsel, which returns
                    the text currently in the X selection; hslock, a
                    simple X screen lock; hmanage: an utility to
                    toggle the override-redirect property of any
                    window; and hhp, a simple utility to hide the
                    pointer, similar to unclutter.
category:           System
license:            BSD3
license-file:       LICENSE
author:             Andrea Rossato
maintainer:         andrea.rossato@unibz.it
build-depends:      base>=2.0, X11>=1.3, ghc>=6.8, unix, random>=1.0
build-type:         Simple
tested-with:        GHC==6.8.2
extra-source-files: src/Heval.hs, src/Hhp.hs, src/Hmanage.hs,
                    src/Hxput.hs, src/Hxsel.hs, src/Utils.hs

executable:         hxsel
main-is:            Hxsel.hs
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -optl-Wl,-s
ghc-prof-options:   -prof -auto-all

executable:         hxput
main-is:            Hxput.hs
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -optl-Wl,-s
ghc-prof-options:   -prof -auto-all

executable:         hslock
main-is:            Hslock.hsc
other-modules:      Hslock
extensions:         ForeignFunctionInterface
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -lcrypt -optl-Wl,-s
ghc-prof-options:   -prof -auto-all

executable:         hmanage
main-is:            Hmanage.hs
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -optl-Wl,-s
ghc-prof-options:   -prof -auto-all

executable:         hhp
main-is:            Hhp.hs
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -optl-Wl,-s
ghc-prof-options:   -prof -auto-all

executable:         heval
main-is:            Heval.hs
hs-source-dirs:     src/
ghc-options:        -funbox-strict-fields -O2 -Wall -optl-Wl,-s
ghc-prof-options:   -prof -auto-all
}}}

{{{
gwern@localhost:1008~/bin/xmonad-utils>ls src                                                                                       
Heval.hs  Hhp.hs  Hmanage.hs  Hslock.hsc  Hxput.hs  Hxsel.hs  Utils.hs
}}}

This package compiles fine, the binaries run fine, but if you should then try to create an sdist tarball, it errors and cannot find `Hslock.hs` (which is generated by `hsc2hs` from `src/Hslock.hsc`:

{{{
gwern@localhost:1010~/bin/xmonad-utils>haskell                                                                                      
cleaning...
Configuring xmonad-utils-0.1...
Dependency base>=2.0: using base-3.0.1.0
Dependency X11>=1.3: using X11-1.4.1
Dependency ghc>=6.8: using ghc-6.8.2
Dependency unix-any: using unix-2.3.0.0
Dependency random>=1.0: using random-1.0.0.0
Pulling from ""http://gorgias.mine.nu/repos/xmonad-utils""...
We have the following new (to them) patches:
Sat Jan 26 12:10:12 EST 2008  gwern0@gmail.com
  * .cabal: small tweak for faster installation via cabal install
They have the following patches to pull:
No remote changes to pull in!
Using compiler: ghc-6.8.2
Using install prefix: /home/gwern/bin
Binaries installed in: /home/gwern/bin/bin
Libraries installed in: /home/gwern/bin/lib/xmonad-utils-0.1/ghc-6.8.2
Private binaries installed in: /home/gwern/bin/libexec
Data files installed in: /home/gwern/bin/share/xmonad-utils-0.1
Documentation installed in: /home/gwern/bin/share/doc/xmonad-utils-0.1
Using alex version 2.2 found on system at: /usr/bin/alex
Using ar found on system at: /usr/bin/ar
Using c2hs version 0.15.1 found on system at: /usr/bin/c2hs
Using cpphs version 1.5 found on system at: /usr/bin/cpphs
No ffihugs found
Using ghc version 6.8.2 found on system at: /usr/bin/ghc
Using ghc-pkg version 6.8.2 found on system at: /usr/bin/ghc-pkg
No greencard found
Using haddock version 2.0.0.0 found on system at: /usr/bin/haddock
Using happy version 1.17 found on system at: /usr/bin/happy
No hmake found
Using hsc2hs version 0.66-ghc found on system at: /usr/bin/hsc2hs
Using hscolour version 1.9 found on system at: /usr/bin/HsColour
No hugs found
No jhc found
Using ld found on system at: /usr/bin/ld
No nhc98 found
No pfesetup found
Using pkg-config version 0.22 found on system at: /usr/bin/pkg-config
Using ranlib found on system at: /usr/bin/ranlib
Using tar found on system at: /bin/tar
Preprocessing executables for xmonad-utils-0.1...
Building xmonad-utils-0.1...
[1 of 1] Compiling Main             ( src/Hxsel.hs, dist/build/hxsel/hxsel-tmp/Main.o )
Linking dist/build/hxsel/hxsel ...
[1 of 1] Compiling Main             ( src/Hxput.hs, dist/build/hxput/hxput-tmp/Main.o )
Linking dist/build/hxput/hxput ...
[1 of 2] Compiling Utils            ( src/Utils.hs, dist/build/hslock/hslock-tmp/Utils.o )
[2 of 2] Compiling Main             ( dist/build/hslock/hslock-tmp/Hslock.hs, dist/build/hslock/hslock-tmp/Main.o )
Linking dist/build/hslock/hslock ...
[1 of 1] Compiling Main             ( src/Hmanage.hs, dist/build/hmanage/hmanage-tmp/Main.o )
Linking dist/build/hmanage/hmanage ...
[1 of 2] Compiling Utils            ( src/Utils.hs, dist/build/hhp/hhp-tmp/Utils.o )
[2 of 2] Compiling Main             ( src/Hhp.hs, dist/build/hhp/hhp-tmp/Main.o )
Linking dist/build/hhp/hhp ...
[1 of 1] Compiling Main             ( src/Heval.hs, dist/build/heval/heval-tmp/Main.o )
Linking dist/build/heval/heval ...
Installing: /home/gwern/bin/bin
Building source dist for xmonad-utils-0.1.20080126...
Setup: Hslock.hs doesn't exist
}}}

Somewhat related pages might be #14 or #161."	defect	closed	normal	Cabal-1.4	Cabal library	1.2.3.0	normal	fixed			normal	6.8.2	
