diff --git a/TODO b/TODO index 65b5c9b0f18be101c932347ab92c55f2eb33c796..f7750601198e6604003a0125d89c513a8e2e5d55 100644 --- a/TODO +++ b/TODO @@ -42,6 +42,35 @@ let me know if you want a complete testcase. * ignore unknown fields? (--force?) -= 1.0 =- +* new field data-files, a list of files to be copied to a place where +>> > an executable can find them (e.g. template-hsc.h for hsc2hs): +>> > Hugs: the directory containing the Main module +>> > GHC/Windows: the directory containing the executable +>> > GHC/Unix: /usr/local/share/<exename> +>> > plus a new function in System.Directory to return the name of this +>> > directory. That would address Dimitry's requirements in +>> +>> How about allowing directories too, which would be copied recursively? + +Also, if we do this, we should probably specify the manner in which +such a directory should be layed out so: + +1) it doesn't get too cluttered +2) different packages don't stomp on each-other's files and +3) different versions of different packages can use the same filenames. + +dataFileDir :: Distribution.Package.PackageIdentifier -> FilePath +dataFileDir ident = dataFileDirRoot `joinFilePath` (showPackageId ident) + +which I like better, but that strongly couples "dataFileDir" to the +Cabal package in that you need to have a PackageIdentifier. How do +you get that PackageIdentifier? Well, your program will have to parse +your .cabal file. No problem! (if you have one) + +* New field extra-tmp-files, a list of extra files to be removed by + setup clean, beyond those that can be deduced. + +* Rename other-files as extra-source-files for consistency and clarity. * Install libraries in $libdir/ghc-$ghc_version/ rather than $libdir. @@ -56,6 +85,27 @@ let me know if you want a complete testcase. ** if there's a flag, --include-preprocessed-sources (or something better) run the preprocessing phase and include both the unpreprocessed and the preprocessed sources in the source tarball? +But really, there are two kinds of preprocessors, as Ross points out. +The kind that produce OS-independent code, and the kind that produce +OS-dependent code. Perhaps this concept shoudl be added to the +PreProcessor type, and a we could have two flags to sdist: + +--include-standalone-preprocessed-sources + +Which would generate the OS-independent sources from tools like Alex +and Happy... + +--include-all-preprocessed-sources + +Which just includes all of the preprocessed sources as above. + +A downside to this is in how it interacts with another proposal to add +tool dependencies. If a package tool-depends on "alex", and then a +source tarball is created with +--include-standalone-preprocessed-sources, then it actually no longer +tool-depends on alex, so we should regenerate the .cabal file. I +guess that's no big deal. + ** Better way to find 'tar'; is there a library? what does darcs do? * do we have to run configure before clean?