This week, I tried to get a head start on the planned obsolesence of
the make/autoconf chain, by adding support to the Cabal code for the
user manual. I had some problems, which I'll outline below. Attached
is a draft with some kludgy work on it. Note that this applies to the
*reST* version of the manual, not the TeX version that's still in the
main branch.
- Cabal can detect which documentation build tools are installed,
and skip building formats which can't be built. Flags can be used
to explicitly disable building the manual. This is working, yay!
- Cabal has a "haddock" standard target, but no standard targets for
building and installing user documentation (e.g. GNU make
recommends "make pdf" and "make install-pdf").
Therefore I have made "cabal build" build the user manual unless
the flag is disabled (cabal build -f-user-manual).
- Cabal doesn't know how to install the user manual. I haven't
addressed this at all yet.
- Cabal doesn't know when a rebuild is unnecessary, because it
doesn't understand the relationship between
- foo.txt and foo.html;
- foo.txt and bar.txt, where foo.txt includes bar.txt;
- foo.txt and foo.lhs, where foo.txt is made by stripping out
the code parts of the .lhs file; and
- foo.txt, where the contents are from cmd_help and
cmd_description of the "darcs foo" command.
I have addressed the latter two via the filthy kludge "simple.mk".
Cabal then proceeds to *always* build the .html.
- I've taught Cabal to look for the PDF build tools, but I haven't
told it to use them yet. Thus, only the HTML is generated.
- For our literate documentation, we need command_help strings from
Darcs.Commands.* to be written to the appropriate text files.
Now, I could
- import Darcs.Commands in Setup.lhs -- but this would cause
most of the Darcs modules to be compiled *before* Setup runs!
- add a "Executable preproc" declaration to darcs.cabal -- but
this would cause preproc to be installed to /usr/bin/ along
with darcs!
For now, simple.mk just runs "darcs help foo >foo.txt", but this
is not a long-term solution, see http://bugs.darcs.net/1221.
At this point I'd like some help working out least-worst solutions to
the above, or even constructive criticism on my Haskell code.
PS: note that all the above problems exist with the TeX
infrastructure, too -- they haven't been introduced by the reST
transition.
Sat Nov 22 15:15:30 EST 2008 Trent W. Buck <[EMAIL PROTECTED]>
* draft: teach Cabal about reST.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
New patches:
[draft: teach Cabal about reST.
Trent W. Buck <[EMAIL PROTECTED]>**20081122041530] hunk ./Setup.lhs 15
import Distribution.Package
( packageVersion )
import Distribution.Simple.Program
- - ( Program(..), simpleProgram, findProgramVersion
+ ( Program(..), simpleProgram, findProgramVersion, rawSystemProgramConf
, rawSystemProgramStdoutConf )
import Distribution.Simple.Configure
( ccLdOptionsBuildInfo )
hunk ./Setup.lhs 65
main = defaultMainWithHooks simpleUserHooks {
- - hookedPrograms = [libwwwconfigProgram],
+ hookedPrograms = libwwwconfigProgram :
+ map simpleProgram ["rst2html", "rst2odt", "rst2latex", "rst2pdf", "pdflatex", "latex", "rubber"],
hunk ./Setup.lhs 68
- - confHook = \(pkg0, pbi) flags -> do
+ confHook = \ (pkg0, pbi) flags -> do
let verbosity = fromFlag (configVerbosity flags)
-- Call the ordinary build code
hunk ./Setup.lhs 89
writeGeneratedModules verbosity pkg lbi
-- Call the ordinary build code
- - buildHook simpleUserHooks pkg lbi hooks flags,
+ buildHook simpleUserHooks pkg lbi hooks flags
hunk ./Setup.lhs 91
+ -- Build the user manual.
+ makeUserManual verbosity pkg lbi
+ return ()
+ ,
runTests = \ args _ _ _ ->
sequence_ [ case w of
x | x == "bugs" -> allTests Bug
hunk ./Setup.lhs 114
sDistHook simpleUserHooks pkg lbi hooks flags
}
+
+makeUserManual verbosity pkg lbi = do
+ when ("x-manual" `elem` customFields) $ do
+ system "make -f simple.mk" -- this is a massive kludge
+ when ("x-html-manual" `elem` customFields) $ do
+ rst2html ["doc/manual/darcs.txt","doc/manual/darcs.html"]
+ return ()
+ where
+ rst2html = rawSystemProgramConf verbosity (simpleProgram "rst2html") (withPrograms lbi)
+ customFields = map fst . customFieldsBI . buildInfo $ darcsExe
+ [darcsExe] = executables pkg
+
+
libwwwconfigProgram :: Program
libwwwconfigProgram = (simpleProgram "libwww-config") {
programFindVersion = findProgramVersion "--version" id
hunk ./Setup.lhs 396
return ()
-- (END FIXME)
- -
\end{code}
hunk ./darcs.cabal 117
flag base3
+flag manual
+ description: Render the manual.
+flag html-manual
+ description: Render the manual to HTML.
+flag odt-manual
+ description: Render the manual to an OpenOffice word processor document.
+ default: False
+flag ps-manual
+ description: Render the manual to PostScript.
+ default: False
+flag pdf-manual
+ description: Render the manual to PDF.
+flag rst2pdf
+ description: Render the manual to PDF using rst2pdf (instead of via LaTeX).
+flag rubber
+ description: Reduce ugliness of [PDF]LaTeX output.
+
Executable darcs
main-is: darcs.hs
hs-source-dirs: src
hunk ./darcs.cabal 370
if flag(color)
x-use-color:
+ -- This isn't a candidate for a "case" statement because there's no
+ -- fall-through.
+ if flag(manual)
+ x-manual:
+ if flag(html-manual)
+ x-html-manual:
+ build-tools: rst2html
+ if flag(odt-manual)
+ x-odt-manual:
+ build-tools: rst2odt
+ if flag(pdf-manual)
+ x-pdf-manual:
+ if flag(rst2pdf)
+ x-have-rst2pdf:
+ build-tools: rst2pdf
+ else
+ if flag(rubber)
+ x-have-rubber:
+ build-tools: rubber
+ build-tools: rst2pdf, pdflatex
+ if flag(ps-manual)
+ x-ps-manual:
+ if flag(rubber)
+ x-have-rubber:
+ build-tools: rubber
+ build-tools: rst2pdf, latex
+
extensions:
CPP,
ForeignFunctionInterface,
addfile ./simple.mk
hunk ./simple.mk 1
+## This is some code to be called by Cabal, because I'm too lazy to
+## translate it into sensible Haskell code.
+
+x = $(wildcard src/Darcs/*.lhs src/Darcs/*/*.lhs)
+y = $(shell dist/build/darcs/darcs --help | grep '^ ' | cut -d' ' -f3)
+X = $(patsubst src/%.lhs,doc/manual/%.txt,$x)
+Y = $(patsubst %,doc/manual/Help/%.txt,$y)
+
+all: $X $Y doc/manual/version.txt
+.PHONY: all clean
+clean::
+ rm -rf doc/manual/Darcs doc/manual/Help doc/manual/version.txt
+
+$X: doc/manual/%.txt: src/%.lhs
+ $(call common-setup)
+ >>$@ sed '/\\begin{code}/, /\\end{code}/d' $<
+ $(call common-teardown)
+
+$Y: doc/manual/Help/%.txt: dist/build/darcs/darcs
+ $(call common-setup)
+ >>$@ $< help $*
+ $(call common-teardown)
+doc/manual/version.txt: release/STATE # FIXME: Cabal doesn't use release/STATE!
+ $(call common-setup)
+ >>$@ printf ".. |DARCS_VERSION| replace:: "
+ >>$@ cat $<
+ $(call common-teardown)
+
+define common-setup
+ @mkdir -p $(@D)
+ @rm -f $@ # make $@ writable.
+ @> $@ echo ".. This file is automatically generated from $<."
+ @>>$@ echo ".. Any changes you make here will be lost!"
+ @>>$@ echo
+endef
+define common-teardown
+ @chmod -w $@
+endef
Context:
[Consistently punctuate cabal flag descriptions.
Trent W. Buck <[EMAIL PROTECTED]>**20081118105924]
[Refactor Cabal package description.
Trent W. Buck <[EMAIL PROTECTED]>**20081118071254
Based on the homepage description.
]
[in make file, quote the "$(DARCS_VERSION_WITH_PATCHES)" variable
[EMAIL PROTECTED]
Ignore-this: 7f350c4b8b8e815e867dc88b38695b58
Because the release candidate version has spaces in its version string.
]
[Darcs works with regex-compat 0.92.
Trent W. Buck <[EMAIL PROTECTED]>**20081117111239]
[don't run posthook if the command terminated with exitWith.
David Roundy <[EMAIL PROTECTED]>**20081116230521
Ignore-this: d87d2bb442060d54284eef6bc27cc766
This is a change in policy, and means that for instance darcs pull -a will
only run the posthook if there are patches to pull. It does mean that we
have to be careful how we exit commands, since this adds new meaning to
"exitWith ExitSuccess", but my audit of the code shows that this is only
used when I wouldn't want to run the posthook anyhow.
Actually, I found two gratuitous uses of exitWith ExitSuccess, and have
removed them.
]
[tests/README.test_maintainers.txt: add a section on the use of lib
[EMAIL PROTECTED]
Ignore-this: 8bdf4592849569c34c209eb40104c72f
]
[tests/*.sh: remove "set -ev" from all callers of lib
[EMAIL PROTECTED]
Ignore-this: 8f00e36a574db7cd7ccd64c6610944e4
]
[tests/lib: rm shebang header
[EMAIL PROTECTED]
Ignore-this: d6e4907818407ba473bf8ee972aff7fb
]
[mv lib.sh -> lib & update callers
[EMAIL PROTECTED]
Ignore-this: 449b1a8deb686421d74afce2e3518fbb
]
[tests/*.sh: factor out windows abortion
[EMAIL PROTECTED]
Ignore-this: 4b0d0fb42b53e43d8f3b8ca082566864
]
[tests/*.sh: factour out ~61 of the 'not' definitions to lib.sh
[EMAIL PROTECTED]
Ignore-this: 889d88e1a4eb0c17447502fde02fdd0f
]
[tests/*.sh: factor out definitions of portable_pwd to lib.sh
[EMAIL PROTECTED]
Ignore-this: dda84abdcd2e833273e5a0f9668deeb
]
[+tests/lib.sh: library for test scripts
[EMAIL PROTECTED]
Ignore-this: 639f1e602f31949f93daab6053793127
This adds a file to the tests directory for storing function definitions. This will cut down on silliness like 'not' being defined in 63 different scripts - the exact same way.
]
[remove --restrct-paths from the manual
Jason Dagit <[EMAIL PROTECTED]>**20081115205752]
[remove unused export restrict_paths in Arguments
Jason Dagit <[EMAIL PROTECTED]>**20081115205717]
[Replace workaround with fix (Windows' sort doesn't have -o).
Trent W. Buck <[EMAIL PROTECTED]>**20081118014158
rolling back:
Mon Nov 17 07:44:22 EST 2008 Eric Kow <[EMAIL PROTECTED]>
* Work around difference between Windows and Cygwin sort program in test
M ./tests/query_manifest.sh +2
]
[Remove mention of unstable branch from the homepage
Eric Kow <[EMAIL PROTECTED]>**20081117131411]
[Add --disable-unit to configure script
Eric Kow <[EMAIL PROTECTED]>**20081117115625
Note that with this patch alone, this has no effect other than to disable
the test for QuickCheck
]
[Work around difference between Windows and Cygwin sort program in test
Eric Kow <[EMAIL PROTECTED]>**20081116204422]
[Add DARCS_TESTING_HOME to shell harness
Eric Kow <[EMAIL PROTECTED]>**20081116180124
This enables Petr's workaround for Windows not using $HOME by default
]
[Conditionally compile out reset_umask on Windows
Eric Kow <[EMAIL PROTECTED]>**20081116161631]
[import Arguments just once in WhatsNew
Jason Dagit <[EMAIL PROTECTED]>**20081115210750]
[clean up unused exports in Arguments.lhs
Jason Dagit <[EMAIL PROTECTED]>**20081115205224]
[tighten up imports in preproc.hs
Jason Dagit <[EMAIL PROTECTED]>**20081115193944]
[tighten imports in Commands.lhs
Jason Dagit <[EMAIL PROTECTED]>**20081115193414]
[tighten up imports in Tag.lhs
Jason Dagit <[EMAIL PROTECTED]>**20081115192839]
[tighten up imports in Replace.lhs
Jason Dagit <[EMAIL PROTECTED]>**20081115192052]
[tighten up imports in Commands.Dist
Jason Dagit <[EMAIL PROTECTED]>**20081115191113]
[remove unused export for isa from Arguments
Jason Dagit <[EMAIL PROTECTED]>**20081115185607]
[Appease Windows by replacing find(1) with globbing.
Trent W. Buck <[EMAIL PROTECTED]>**20081116020213
On Windows, there are two utilities named "find". The cygwin version
is Unix-like, but the native Windows version behaves more like grep.
If %PATH% makes the latter the default, $(shell find) does completely
the wrong thing.
Therefore we use $(wildcard) instead. This is actually better in
every respect bar one: it does not recurse. This means that if
someone starts creating Haskell files in subsubsubdirs of src, they
won't be included by the current globs.
Note that in GNU make, a glob expands to nothing if there are no
matches. By contrast, sh globs expand to themselves in that case.
]
[issue525 fixed by David's patch
Eric Kow <[EMAIL PROTECTED]>**20081115225739]
[Fix Darcs.Patch.Prim haddock
Eric Kow <[EMAIL PROTECTED]>**20081115224010]
[resolve issue525: canonize output of sort_coalesceFL in AmendRecord.
David Roundy <[EMAIL PROTECTED]>**20081115211925
Ignore-this: cb7485c971d7d8d6f7ffce9f9ec40e98
]
[Make test-network a .PHONY target
Eric Kow <[EMAIL PROTECTED]>**20081114101217
Ignore-this: 58b2f5d4ee869f2105f8a05e42766dc4
]
[Create the .darcs directory in the test-network dir
Eric Kow <[EMAIL PROTECTED]>**20081114101151
Ignore-this: d2d05cf3d18ba75c6a00f9c7500c298d
]
[Remove obsolete test-franchise .PHONY entry from makefile
Eric Kow <[EMAIL PROTECTED]>**20081114101117
Ignore-this: 8d5d36dba70acaa297310ac94f7d8256
]
[Use Control.OldException if compiling shell harness with GHC 6.10
Eric Kow <[EMAIL PROTECTED]>**20081114093740
Ignore-this: 5219c7e1b5a1dc4dbc607a729288e54d
]
[use ShellHarness in Setup.lhs
Christian Kellermann <[EMAIL PROTECTED]>**20081112183809
Ignore-this: 5322065b2d5d5595c01d22ca7ff527f
]
[Use the shell harness in Makefile
Christian Kellermann <[EMAIL PROTECTED]>**20081112194558
Ignore-this: bd01f57e24a840ddd474dca912258ef0
]
[make ShellHarness a module
Christian Kellermann <[EMAIL PROTECTED]>**20081112193615
Ignore-this: 814fb721a9a91bf35c189355c21e6e61
]
[move shell_harness to Distribution/ShellHarness.hs
Christian Kellermann <[EMAIL PROTECTED]>**20081112183642
Ignore-this: 1ae7f4587a9542a595e78e6523c8fbb0
]
[remove bash shell_harness
Christian Kellermann <[EMAIL PROTECTED]>**20081113194438
Ignore-this: 3621d4992e6cf5fbe8a1a8e1340a64a0
]
[on "make darcs-snapshot" make a copy of the executable in a directory named "snapshots" and named with its version number including patch count
[EMAIL PROTECTED]
Ignore-this: 75ddfaf921e1e84ddf86cd1fef8cb77e
]
[replace `test -e' in makefile with either `test -d' or `test -f'
Karel Gardas <[EMAIL PROTECTED]>**20081113173715
Ignore-this: 1ba6cf3262142b0d09f84570aab9b16a
This patch replaces usage of `test -e' in makefile with either usage
of `test -d' for testing directory of `test -f' for testing file. The
reason is that GNU make is using /bin/sh for running its commands and
`test -e' is not supported by Solaris' shell.
]
[Update darcs.cabal to reflect removal of homegrown filepath modules
Eric Kow <[EMAIL PROTECTED]>**20081112162303
Ignore-this: 90192f5d97a18402fe43cb6f951755dd
]
[Generalise use of --optghc to all GHCFLAGS for haddock
Eric Kow <[EMAIL PROTECTED]>**20081112162233
Ignore-this: b6bf56c82079b4e722f2faa53dccb9d2
This makes it possible for me to make api-doc with GHC 6.10
]
[Remove deprecated (and now unused) homegrown filepath modules
Eric Kow <[EMAIL PROTECTED]>**20081112154607
Ignore-this: 61d94b19c737251607d57e91b5b4a8d7
]
[Replace homegrown code with filepath functions in Darcs.Commands.Dist
Eric Kow <[EMAIL PROTECTED]>**20081113171047
Ignore-this: 673e6775d0c90b880478e1b0f2ef11e3
]
[Remove homegrown code with filepath equivalents in Darcs.Commands.Mv
Eric Kow <[EMAIL PROTECTED]>**20081112154541
Ignore-this: 57950f6ca7c396753fe8f13f05c3ecf2
]
[Replace homegrown code with filepath equivalents in Darcs.Commands.Add
Eric Kow <[EMAIL PROTECTED]>**20081112153944
Ignore-this: ee2e76b00e9683c6ffddb149648ae0af
]
[Specifically import System.FilePath.Posix in darcs commands
Eric Kow <[EMAIL PROTECTED]>**20081112153509
Ignore-this: 2a024c22ad2122fe5354b2982821273b
We want to document the fact that we are only using forward
slashes.
]
[Replace FilePathUtils.(///) with filepath equivalent in Darcs.Diff
Eric Kow <[EMAIL PROTECTED]>**20081112153114
Ignore-this: 59798326958df9e1c89864a35cd8ab5f
]
[Copy UglyFileName.patch_filename into Darcs.Commands.Send
Eric Kow <[EMAIL PROTECTED]>**20081112150818
Ignore-this: 36db426613ee907dad21996b1ab38c55
(which is the only place where it is used)
]
[Replace UglyFileName with filepath equivalents in Darcs.CommandsAux
Eric Kow <[EMAIL PROTECTED]>**20081112150646
Ignore-this: 79ef4a080cf711300b7953a8901cae98
]
[Replace our breakup with filepath's splitDirectories in Darcs.Lock
Eric Kow <[EMAIL PROTECTED]>**20081112150313
Ignore-this: 3b460204007863fe65a71dccac701bed
]
[make finds more portable
Christian Kellermann <[EMAIL PROTECTED]>**20081113125703
Ignore-this: 6f1b6ac29c96d200b93cad86013f5062
This patch changes the way find -exec is used before. OpenBSD does
not support the -exec rm -f {} + syntax. So we stick to the less
performant -exec rm -f {} \;
]
[Replace liftM with fmap in Darcs.Repository.Prefs
Eric Kow <[EMAIL PROTECTED]>**20081112202148
Ignore-this: aa04437e8d10cf9f26c6a760fedbaff6
]
[Tidy up type signatures in Darcs.Repository.Prefs
Eric Kow <[EMAIL PROTECTED]>**20081112202001
Ignore-this: 52b1925994627ce27b982fec4deefbc
]
[Tidy up global_cache_dir
Eric Kow <[EMAIL PROTECTED]>**20081112201354
Ignore-this: f06c8f86c96eda4fe600c6731553b28b
]
[Resolve conflict between my UserProfile override and DARCS_TESTING_HOME
Eric Kow <[EMAIL PROTECTED]>**20081112200457
Ignore-this: bceb8957061cea385cb8b4bbb7eec49e
We undo the UserProfile because it had no useful effect
]
[Enable .darcs location override through DARCS_TESTING_HOME that also works on Windows.
Petr Rockai <[EMAIL PROTECTED]>**20081111222806
With only overriding $HOME, on win32 we get darcs still looking into the
windows-specific user data directory for .darcs, which in turn breaks the
testsuite (which relies on overriding HOME). This patch should address that
problem, albeit in a little inelegant fashion.
]
[Override UserProfile environment variable in (Perl) shell_harness
Eric Kow <[EMAIL PROTECTED]>**20081112171634
Ignore-this: 36fcf89e63d690a662288f34432c472b
]
[Replace UglyFileName with filepath equivalents in Darcs.RepoPath
Eric Kow <[EMAIL PROTECTED]>**20081028141522
Ignore-this: c685595782a0eb01e7b7c37da991e7b9
]
[Replace FilePathUtils.(///) with filepath equivalent in preproc
Eric Kow <[EMAIL PROTECTED]>**20081027173947
Ignore-this: 99a21202f798d6423d047afe4b417403
]
[Specify that we want System.FilePath.Posix in Darcs.External
Eric Kow <[EMAIL PROTECTED]>**20081027172514
Ignore-this: 8548e7e86f2c5dff1ddf0806e48bda15
to prevent the accidental creation of patches with backslashes
in their paths.
]
[Replace UglyFileName normalisation in Darcs.External
Eric Kow <[EMAIL PROTECTED]>**20081027170454
Ignore-this: 53c57c63eead2574dcf3e211b376fd7f
with System.FilePath equivalent
]
[Replace basename with filepath's takeDirectory in Darcs.External.
Eric Kow <[EMAIL PROTECTED]>**20081027165405
Ignore-this: 2a3eec675e9f63cc0549317564bfee54
Note that basename was a misnomer in the original code.
]
[Replace (++ "/" ++) with filepath's (</>) in Darcs.External.cloneTree
Eric Kow <[EMAIL PROTECTED]>**20081027165044
Ignore-this: 2c820b01f52de3544dd05f87e88dbc50
]
[Replace absolute_dir with ioAbsoluteOrRemote in Darcs.Repository
Eric Kow <[EMAIL PROTECTED]>**20081027155955
Ignore-this: 8f745c354308ca9406dbb2e54f66b600
only very superficially though
]
[Switch from absolute_dir to ioAbsoluteOrRemote in commands
Eric Kow <[EMAIL PROTECTED]>**20081027142933
Ignore-this: 79e892ea2f0732367b8d293b550946e9
Note that this is only a superficial change, but it brings
us one step closer to getting rid of FilePathUtils.
]
[Add an AbsoluteOrRemotePath type
Eric Kow <[EMAIL PROTECTED]>**20081024170048
Ignore-this: 8b2ec1303eea170b88f2c8081efd1315
]
[Trivial style improvement
Duncan Coutts <[EMAIL PROTECTED]>**20081112133456]
[Fix compile failure in gzReadFilePS without HAVE_OLD_BYTESTRING
Duncan Coutts <[EMAIL PROTECTED]>**20081112131210
The previous #ifdef HAVE_OLD_BYTESTRING changes made it work for
ghc-6.6 but fail for ghc-6.8+. This should work both ways round.
]
[Isolate overriding-defaults.sh failures to that test.
Petr Rockai <[EMAIL PROTECTED]>**20081111222759
When this test previously failed, it left broken .darcs/defaults around. We
trap exits now and fixup the broken file.
]
[Fix shell_harness so it uses --ignore-times
Christian Kellermann <[EMAIL PROTECTED]>**20081112105646
Ignore-this: 4b07a9727f723ad917ec6145728c21e2
]
[Silence haskell_policy complaining about Setup.lhs.
Petr Rockai <[EMAIL PROTECTED]>**20081111222951]
[Allow "cabal test tests network bugs" as suggested by Trent.
Petr Rockai <[EMAIL PROTECTED]>**20081111110411]
[Include the testsuite in Cabal sdist.
Petr Rockai <[EMAIL PROTECTED]>**20081111095747]
[Fixes to the release/distributed-* file generation in Cabal sDistHook.
Petr Rockai <[EMAIL PROTECTED]>**20081111095332]
[Bundle the version/context data (produced by Setup.lhs sdist) in the tarball.
Petr Rockai <[EMAIL PROTECTED]>**20081111093452]
[Update Cabal file lists to match reality.
Petr Rockai <[EMAIL PROTECTED]>**20081111093426]
[Bundle version and context data in Cabal source distribution.
Petr Rockai <[EMAIL PROTECTED]>**20081111093342]
[Implement runTests hook for Cabal.
Petr Rockai <[EMAIL PROTECTED]>**20081111082551
This makes it possible to run "cabal test", "cabal test bugs" and "cabal test
network". It has some Ctrl+C issues which probably relate to naive use of
"system" to run programs.
]
[Darcs works with regex-compat 0.91.
Trent W. Buck <[EMAIL PROTECTED]>**20081111023911
Debian has been using this version for some time.
]
[Refactor DARCS_FILES to work around Solaris' buggy find(1).
Trent W. Buck <[EMAIL PROTECTED]>**20081112010502
Sorry this is so ugly; at least it's still much shorter than the
whitelist that existed before I started refactoring the makefile.
]
[Remove silly sort.
Trent W. Buck <[EMAIL PROTECTED]>**20081107023723
If .depend is doing its job, this list shouldn't need to be sorted,
and in any case $^ (but not $+) implicitly sorts and uniquifies.
]
[Fix filepath test
Eric Kow <[EMAIL PROTECTED]>**20081111210909
Ignore-this: 5d3e1f532ce652620b964a9e693a82e5
]
[Fix get test (it was assuming a clean directory)
Eric Kow <[EMAIL PROTECTED]>**20081111210615
Ignore-this: f73f5529f1f14d257ec3009492411444
Also make it clean up after itself and use more standard temp names.
]
[Resolve issue1223: Fix broken init.sh test
Eric Kow <[EMAIL PROTECTED]>**20081111205233
Ignore-this: 6c619ab1614abe13d7eb15b320211733
]
[Fix regression in configure test for zlib.
Eric Kow <[EMAIL PROTECTED]>**20081111171554
Ignore-this: df51bbbe12ebaf20d66e193f6960548f
I had replaced an
if test foo -a bar = baz
with
if bar = baz
]
[Use conditional compilation for Salvatore's strict readFile fix
Eric Kow <[EMAIL PROTECTED]>**20081111145114
Ignore-this: bf4e3159d1bdd2cadbb7b007c64f5e6d
]
[Fix gzReadFilePS to close file descriptor even on old bytestrings.
Salvatore Insalaco <[EMAIL PROTECTED]>**20081108084939
BL.readFile is not strict enough, and it actually leaves the file descriptor opened. This should not happen, and probably it's a bug with older bytestrings (the one shipped with ghc 6.8.x).
This causes issues on Windows, where an opened file cannot be deleted.
Using strict bytestring readFile, and then converting them to lazy bytestring (should be O(1)) fix the problem.
]
[Add configure check for bytestring 0.9.1
Eric Kow <[EMAIL PROTECTED]>**20081111115319
Ignore-this: f25fef6236879a1a2ad0ab44e337faee
This introduces a HAVE_OLD_BYTESTRING flag
]
[Simplify bytestring check.
Eric Kow <[EMAIL PROTECTED]>**20081111115258
Ignore-this: 58feb27fd83415b6b539bd4a2ebd7216
Either base-2.0 (which includes Data.ByteString) or the bytestring package
are now required.
]
[resolve issue844: don't call gzwrite with zero length.
David Roundy <[EMAIL PROTECTED]>**20081111145122
Ignore-this: ac80c1db0fad3279ccee3b7b5f1f87ea
]
[Avoid exporting cleanupRepositoryReplay.
Petr Rockai <[EMAIL PROTECTED]>**20081111100548
We instead let replayRepository take the post-replay action as a parameter and
clean up automatically when it's done. Looks like a safer API to me.
]
[Remove literacy stub from Darcs.Patch.Choices.
Trent W. Buck <[EMAIL PROTECTED]>**20081109110636]
[Remove literacy stub from Darcs.Patch.Info.
Trent W. Buck <[EMAIL PROTECTED]>**20081109110434]
[Remove literacy stub from Darcs.Patch.Read.
Trent W. Buck <[EMAIL PROTECTED]>**20081109110254]
[Remove literacy stub from Darcs.Patch.Test.
Trent W. Buck <[EMAIL PROTECTED]>**20081109110103]
[Remove literacy stub from Darcs.Patch.Real.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105434]
[Remove literacy stub from Darcs.Patch.Non.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105400]
[Remove literacy stub from Darcs.Patch.Depends.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105308]
[Remove literacy stub from Darcs.Patch.Check.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105222]
[Remove literacy stub from Darcs.Patch.Viewing.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104757]
[Remove literacy stub from Darcs.Patch.Unit.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104720]
[Remove literacy stub from Darcs.Patch.QuickCheck.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104633]
[Remove literacy stub from Darcs.Patch.Permutations.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104610]
[Remove literacy stub from Darcs.Patch.Patchy.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104516]
[Remove literacy stub from Darcs.Patch.Bundle.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104403]
[Remove literacy stub from Darcs.Patch.FileName.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103658]
[Remove literacy stub from Darcs.Patch.Set.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102952]
[Remove literacy stub from Darcs.Patch.MatchData.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102546]
[Remove literacy stub from Darcs.Repository.HashedRepo.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105612
The deleted comments here are duplicated elsewhere.
]
[Remove literacy stub from Darcs.Repository.Pristine.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105012]
[Remove literacy stub from Darcs.Repository.HashedIO.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104947]
[Remove literacy stub from Darcs.Repository.Cache.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104933]
[Remove literacy stub from Darcs.Repository.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104840]
[Remove literacy stub from Darcs.Repository.Format.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103758]
[Remove literacy stub from Darcs.Repository.ApplyPatches.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102829]
[Remove literacy stub from Darcs.Repository.InternalTypes.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102801]
[Remove literacy stub from Darcs.Repository.Checkpoint.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102321]
[Make --match 'date "after year"' work into the future.
Petr Rockai <[EMAIL PROTECTED]>**20081109211305]
[Add a test for matching 'date "after year"' working for future patches.
Petr Rockai <[EMAIL PROTECTED]>**20081109203045]
[Remove franchise build file and test scripts.
Eric Kow <[EMAIL PROTECTED]>**20081110153528
Ignore-this: 85d1b68798815121f5b2ed24d54fc9eb
David feels that having more than one build system is a bad idea.
]
[Restore configure check for QuickCheck 2.1
Eric Kow <[EMAIL PROTECTED]>**20081110152808
Ignore-this: 470ec554bb115c783fb105b29ae3bd44
]
[Fix Repair.applyAndFix.
Petr Rockai <[EMAIL PROTECTED]>**20081106101557
The way I have got the recursion versus syncing slurpies backwards is actually
pretty embarassing. We also use syncSlurpy to avoid unneccessary (likely slow)
syncs while keeping memory use at bay. This fix should make repair and check
run much faster in much less memory.
]
[Resolve conflicts between darcs repair and literacy removal patches
Eric Kow <[EMAIL PROTECTED]>**20081110152620
Ignore-this: d7f097d054a22db40ac135551da48da1
]
[Introduce syncSlurpy, that syncs slurpy to disk as needed.
Petr Rockai <[EMAIL PROTECTED]>**20081106102101
syncSlurpy takes an IO action that does the actual syncing, but only calls it
when neccessary to prevent memory blowups. It is fairly cheap to call often
(ie. after every applied patch). The sync threshold is currently hardcoded to
~100M.
]
[Move Cabal based build to repository root
Eric Kow <[EMAIL PROTECTED]>**20081109112502
Note that we use the Setup.lhs extension because the franchise based
build uses Setup.hs and we want to avoid introducing a spurious
dependency on the franchise patches.
]
[Remove makefile instructions to test franchise build
Eric Kow <[EMAIL PROTECTED]>**20081108001051]
[Remove now superfluous darcs.cabal.in
Eric Kow <[EMAIL PROTECTED]>**20081108000445]
[Refactor Repository.Repair.replayRepository to get rid of CanRepair.
Petr Rockai <[EMAIL PROTECTED]>**20081105234638
We now instead return the new (repaired) patchset that needs to be written out
to the caller, and let them handle it.
]
[Remove literacy stub from Darcs.SlurpDirectory.Internal.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105853]
[Remove literacy stub from Darcs.SelectChanges.
Trent W. Buck <[EMAIL PROTECTED]>**20081109105159]
[Remove literacy stub from Darcs.Ordered.
Trent W. Buck <[EMAIL PROTECTED]>**20081109104306]
[Remove literacy stub from Darcs.SignalHandler.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103602]
[Remove literacy stub from Darcs.Sealed.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103520]
[Remove literacy stub from Darcs.TheCommands.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103449]
[Remove literacy stub from Darcs.TouchesFiles.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103419]
[Remove literacy stub from Darcs.RemoteApply.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103301]
[Remove literacy stub from Darcs.PrintPatch.
Trent W. Buck <[EMAIL PROTECTED]>**20081109103028]
[Remove literacy stub from Darcs.Show.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102720]
[Remove literacy stub from Darcs.SlurpDirectory.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102637]
[Work around grep -Fw platform differences in haskell_policy.sh
Thorkil Naur <[EMAIL PROTECTED]>**20081110013603
Experiments have demonstrated that grep -Fw behaviour depends on the platform,
even for the same grep --version. This patch removes the F flag which, in the
present context, seems unnecessary. Removing the F flag appears to iron out the platform
differences.
]
[shell_harness script in haskell
Christian Kellermann <[EMAIL PROTECTED]>**20081107121607
Ignore-this: 46d1138c233788cb00b71071e5f9b8ff
]
[Avoid test issue1017_whatsnew_stack.sh looping under buildbot control
Thorkil Naur <[EMAIL PROTECTED]>**20081109122052
The replaced "yes | head -n count" mechanism for generating a large file loops when
run via Python under Mac OS X. This, apparently, makes the test loop when run by the Mac OS X buildbot
slaves. The replacement mechanism is not nearly as elegant as I would like, so better suggestions are
welcome.
]
[Remove literacy stub from CommandLine.
Trent W. Buck <[EMAIL PROTECTED]>**20081109102016]
[Remove literacy stub from Darcs.Hopefully.
Trent W. Buck <[EMAIL PROTECTED]>**20081109101604]
[Remove literacy stub from Darcs.Global.
Trent W. Buck <[EMAIL PROTECTED]>**20081109101536]
[Remove literacy stub from Darcs.CheckFileSystem.
Trent W. Buck <[EMAIL PROTECTED]>**20081109101331]
[Remove literacy stub from Darcs.Bug.
Trent W. Buck <[EMAIL PROTECTED]>**20081109101257]
[Remove literacy stub from Darcs.IO.
Trent W. Buck <[EMAIL PROTECTED]>**20081109101235]
[Remove literacy stub from Darcs.Flags.
Trent W. Buck <[EMAIL PROTECTED]>**20081109100625]
[Haddockize Darcs.Lock.
Trent W. Buck <[EMAIL PROTECTED]>**20081109111134]
[Fix haddock bugs in ByteStringUtils
Eric Kow <[EMAIL PROTECTED]>**20081109012226]
[Reformat Darcs.URL comments as haddock.
Eric Kow <[EMAIL PROTECTED]>**20081023233730]
[Resolve conflicts (lstat vs de-literate)
Eric Kow <[EMAIL PROTECTED]>**20081109153040
Ignore-this: 39ae84ed11bd9fe823fcc5cd8596674a
The conflits were between Reinier's lstat-saving patches on the one
hand and the Diff haddockisation on the other.
]
[hopefully less buggy version of get_unrecorded_in_files
Reinier Lamers <[EMAIL PROTECTED]>**20081031215944
Ignore-this: 9f4f2320a1784cf6f7546ab23eb6bf61
]
[make whatsnew use the lstat-saving functions to scan the working copy
[EMAIL PROTECTED]
Ignore-this: 54b7a07b7b1d49b3d20050bc905db665
]
[make get_unrecorded_private work with type witnesses again
[EMAIL PROTECTED]
Ignore-this: 97418e6487ef9c9508473d4c65f295ca
]
[add a get_unrecorded_in_files to check for unrecorded changes in a subset of working directory
[EMAIL PROTECTED]
Ignore-this: 7d36ff983e8745049101a92f5b2326fb
]
[Keep OS X happy by passing a path to find(1).
Trent W. Buck <[EMAIL PROTECTED]>**20081109113440]
[Remove tabs in franchise build.
Eric Kow <[EMAIL PROTECTED]>**20081109005653
Ignore-this: c5f57b86fa6bfd5f5f006dd0923d631
]
[Move issue1017 test back into tests
Eric Kow <[EMAIL PROTECTED]>**20081109005826
Ignore-this: 8b4f4f4673e6a07405a4c279385c373c
It was not consistently failing, and we still don't know why
it failed the last time.
rolling back:
Fri Nov 7 13:11:17 GMT 2008 Eric Kow <[EMAIL PROTECTED]>
* Move issue1017 test back to bugs.
]
[make unrecord work with type witnesses.
David Roundy <[EMAIL PROTECTED]>**20081107123400
Ignore-this: 183ca39f8ec9af923468ecc243cba26
]
[add franchise target for type witness testing.
David Roundy <[EMAIL PROTECTED]>**20081107123051
Ignore-this: 5df886520744de6d11992e9e6b3f9758
]
[cut dead code from Unrecord.
David Roundy <[EMAIL PROTECTED]>**20081103021520
Ignore-this: 847fdfc20ab9a65a9d3527590fe51f3b
]
[be more verbose when type witnesses are enabled in franchise.
David Roundy <[EMAIL PROTECTED]>**20081103014635
Ignore-this: d417d1b1aafbbedd5f9b6d1e4dbb25a2
]
[enable type witnesses for show commands.
David Roundy <[EMAIL PROTECTED]>**20081103014338
Ignore-this: 5c538bb49432f16bc8dc03140d17cb1d
]
[Fix cabal file for lhs -> hs transition.
Salvatore Insalaco <[EMAIL PROTECTED]>**20081108080448]
[Add issue1189 fix suggested by Duncan to Cabal build
Eric Kow <[EMAIL PROTECTED]>**20081108000200]
[Haddockize Lcs.
Trent W. Buck <[EMAIL PROTECTED]>**20081108082950]
[Extend zlib franchise test to look for zlib 0.5.0.0
Eric Kow <[EMAIL PROTECTED]>**20081102141525
Ignore-this: 1cf8e14867b91c05b34d978980d9188a
]
[switch to zlib 0.5.0.0 with new interface for specifying decompressed size
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026102650]
[Move issue1017 test back to bugs.
Eric Kow <[EMAIL PROTECTED]>**20081107131117
Ignore-this: 9e19d7392378f4d5e8d029b15e6f962d
One of our Mac buildbots owners reports that their buildbot
was taking forever to run. It seemed to be hanging on this
step.
]
[Remove dangling .lhs references.
Trent W. Buck <[EMAIL PROTECTED]>**20081107024222
Sorry about this, folks; it seems my conflict merging had a few bugs.
]
[Add comment to test pref
Eric Kow <[EMAIL PROTECTED]>**20081106161155
Ignore-this: 634b224e4338a1ff0abc47a6903220be
]
[Fix typo in documentation
Eric Kow <[EMAIL PROTECTED]>**20081106153606
Ignore-this: b52ecbb2fb3aa432c04a9abb6086239
]
[resolve issue1189: define HAVE_SIGNALS in franchise build.
David Roundy <[EMAIL PROTECTED]>**20081106130431
Ignore-this: db3217e4ba459bb32d489b744227f5b8
Incidentally, ctrl-C handling seems also to be broken on the non-Windows
cabal build in release/, but I can't see how to fix it. Or maybe
HAVE_SIGNALS is defined using some Deep Magic?
]
[Use make -j4 to run disttest.
Eric Kow <[EMAIL PROTECTED]>**20081106114326
Ignore-this: 5818b80001e1ce589057b6adc61c4973
Trent had done some Makefile cleanups to eliminate the naughty practice
of calling $(MAKE) -j4 within make. This patch restores the parallel
builds (which makes tests run faster) without the naughtiness.
]
[Change "Repairing patch" to "Replaying patch" as progress report in replayRepository.
Petr Rockai <[EMAIL PROTECTED]>**20081105224132]
[Tweak issue1012 test to use temp1 as tempdir name
Eric Kow <[EMAIL PROTECTED]>**20081106112750
Ignore-this: e2d0263a3652f01a6e202deeaef19408
]
[Clean up after previous tests in issue1017 test
Eric Kow <[EMAIL PROTECTED]>**20081106112723
Ignore-this: 9e6c6f1f3f617cfb9ec93666ee13c51d
]
[Refactor test_network target.
Trent W. Buck <[EMAIL PROTECTED]>**20081106013245]
[Let DARCS_FILES and UNIT_FILES cope with .lhs/.hs renames.
Trent W. Buck <[EMAIL PROTECTED]>**20081106094142
I'm sorry this makes UNIT_FILES so ugly.
The big advantage of this is that it lets me rename .lhs files without
editing the GNUmakefile in the same patch -- thereby avoiding some
icky conflictors.
]
[clean up .lhs versions of ThisVersion and Autoconf to make transition easier
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081105090209
Ignore-this: e8448d3962aeb832fc8fcdc0da8f9e32
]
[resolve issue864: check non-force replace against pending
Tommy Pettersson <[EMAIL PROTECTED]>**20081004235719
The replace was checked against pure pristine, so the answer to if it could
be applied to pending without force was sometimes wrong.
]
[Avoid using pkgconfig-depends for libcurl (cabal)
Eric Kow <[EMAIL PROTECTED]>**20081103150412
Ignore-this: 681d35599ab44961a2164ca54b4d5617
This is a workaround to a Cabal library bug in "which ldOptions are
passed directly to ghc without any escaping" whereas "they should be
escaped with the -optl prefix"
http://hackage.haskell.org/trac/hackage/ticket/389
]
[change tabs to spaces in cabal's Setup.hs
Jason Dagit <[EMAIL PROTECTED]>**20081028032910]
[Use exceptions again in cabal Setup.hs
Duncan Coutts <[EMAIL PROTECTED]>**20081027043635
Needed to handle calling darcs when it's not available.
Uses CPP to make it work with ghc-6.8 and 6.10
]
[Make building with HTTP package work via cabal
Duncan Coutts <[EMAIL PROTECTED]>**20081027034031]
[Add the location of the darcs repo to the cabal file
Duncan Coutts <[EMAIL PROTECTED]>**20081027004425
Cabal-1.6 allows this meta-data to be given in the .cabal file
and in a machine readable format.
]
[Update cabal file for renamed ByteStringUtils module
Duncan Coutts <[EMAIL PROTECTED]>**20081027003824]
[When not using external zlib binding require z C lib (in cabal file)
Duncan Coutts <[EMAIL PROTECTED]>**20081027003414
It was working before but probably only because some other C lib
needed zlib, probably curl. This is more correct.
]
[Add the other modules and extra src files to the cabal file
Duncan Coutts <[EMAIL PROTECTED]>**20081027003315
Needed for cabal sdist to work.
]
[Support building with libwww via Cabal
Duncan Coutts <[EMAIL PROTECTED]>**20081026232738]
[Update darcs.cabal for HAVE_SIGINFO_H
Duncan Coutts <[EMAIL PROTECTED]>**20081026232647]
[Make Setup.hs work with ghc-6.8 and 6.10 by not using exceptions
Duncan Coutts <[EMAIL PROTECTED]>**20081026202912
The exceptions api changed between 6.8 and 6.10.
]
[Add cabal support files under release/ directory
Duncan Coutts <[EMAIL PROTECTED]>**20081026195706]
[Add all required language extensions to .cabal.in file
Don Stewart <[EMAIL PROTECTED]>**20081025225427]
[issue 1017 now fixed
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081025122754]
[Restore 'pass/fail' output in shell_harness.
Eric Kow <[EMAIL PROTECTED]>**20081105093446
Ignore-this: 93d9a4fba1f83b79a5b7b63c87e0e955
rolling back accidentally applied patch:
Fri Oct 24 06:57:55 BST 2008 Trent W. Buck <[EMAIL PROTECTED]>
* Colour test output in Emacs' M-x compile.
]
[Refactor away boilerplate in naughty ./configure-circumventing profile targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081105052235]
[Resolve conflicts.
Trent W. Buck <[EMAIL PROTECTED]>**20081105014527
Mostly conflicts were between Trent's make refactoring and Kowey's
copy-and-paste job to add support for building profiled object files
and executables in parallel to the non-profiled build.
]
[Typo: make distclean and maintainer-clean rules cumulative.
Trent W. Buck <[EMAIL PROTECTED]>**20081104235641]
[Refactor TAGS targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081104132834
Renamed targets to match default output files, obviating PHONY.
Removed the ugly manual sorting, as exuberant ctags sorts by default.
Moved cleanup into distclean.
Added C inputs to dependency list.
Avoid abusing $ETAGS and $CTAGS for hasktags.
]
[autoconf.mk doesn't depend on darcs.cgi.in.
Trent W. Buck <[EMAIL PROTECTED]>**20081104130338
The old version was saying things "autoconf.mk depends on
darcs.cgi.in", which isn't quite right. The replacement is shorter
and more correct.
]
[Delete unused "register" target.
Trent W. Buck <[EMAIL PROTECTED]>**20081104124530]
[Move cleanup rules to appropriate target (clean/distclean).
Trent W. Buck <[EMAIL PROTECTED]>**20081104124116]
[Resolve conflicts.
Trent W. Buck <[EMAIL PROTECTED]>**20081104123359]
[Merge autoconf.mk and .depend inclusion.
Trent W. Buck <[EMAIL PROTECTED]>**20081102045359
In a declarative expert system like Make, it shouldn't matter where
.depend is included. Actual experiments suggest that it does, and
putting it at the top will help avoid illogical behaviour.
It also reduces the makefile's length by several lines.
]
[Make .hs.in of trivial .lhs.in files.
Trent W. Buck <[EMAIL PROTECTED]>**20081029025407]
[Make .hs of trivial .lhs files.
Trent W. Buck <[EMAIL PROTECTED]>**20081029025326]
[Split darcs.lhs into darcs.tex and darcs.hs.
Trent W. Buck <[EMAIL PROTECTED]>**20081026063231
After all, the Main module and main function don't really have
anything to do with the introductory chapters of the user manual.
I used these commands and then some touch-ups:
$ sed '/\\begin{code}/,/\\end{code}/d' src/darcs.lhs >src/darcs.tex
$ darcs mv src/darcs.lhs src/darcs.hs
$ sed --in-place '/\\end{code}/,/\\begin{code}/d' src/darcs.hs
]
[Only .lhs (not .hs) files could possibly be TeX sources.
Trent W. Buck <[EMAIL PROTECTED]>**20081025141537]
[Typo: remove silly circular dependency.
Trent W. Buck <[EMAIL PROTECTED]>**20081025121957]
[Don't warn unless ALL alternatives are missing.
Trent W. Buck <[EMAIL PROTECTED]>**20081025120102]
[If installed, use rubber(1) to quieten TeX.
Trent W. Buck <[EMAIL PROTECTED]>**20081025113643]
[Typo.
Trent W. Buck <[EMAIL PROTECTED]>**20081025113607]
[Turn procedural assignments (:=) into declarations (=).
Trent W. Buck <[EMAIL PROTECTED]>**20081025100744]
[Refactor .hi rule.
Trent W. Buck <[EMAIL PROTECTED]>**20081025100732]
[Refactor install rules.
Trent W. Buck <[EMAIL PROTECTED]>**20081025100527
Importantly, this means that if you just do "make" it will either
build PDF or PS, but not both (with a preference for PDF).
The "installbin" target has been renamed to "install", since 1) that's
the convention, and 2) it was already installing non-binary stuff,
namely the bash completion and manpage.
Leverages concatenative rules (::) to reduce repetition.
]
[Refactor targets that prevent "include autoconf.mk" (and .depend).
Trent W. Buck <[EMAIL PROTECTED]>**20081025012208
As well as being clearer, this is now a good deal more liberal. For
example, it won't rebuild .depend during "make maintainer-clean".
]
[Generate TEXSOURCES programmatically.
Trent W. Buck <[EMAIL PROTECTED]>**20081025011935]
[Generate DARCS_FILES by blacklist, not whitelist.
Trent W. Buck <[EMAIL PROTECTED]>**20081025010803
This attempt is far from perfect, but at least it works.
]
[Use $@ and $* to shrink test_harness.
Trent W. Buck <[EMAIL PROTECTED]>**20081024085740
Note that I have also removed the use of @ to hide what make is doing.
It is better to use "make --silent" to hide such noise, because then I
can debug problems in the makefile by running *without* --silent,
rather than having to temporarily remove the @'s.
]
[Refactor test rules.
Trent W. Buck <[EMAIL PROTECTED]>**20081024034429
Now the target names correspond to the darcs switches, e.g. "make
test-darcs-2" instead of "make test-format2". There are some legacy
pointers so the old targets still work, but they probably put the
results in a different directory.
]
[Don't call GHC on autoconf.mk in .depend rule.
Trent W. Buck <[EMAIL PROTECTED]>**20081024031700
I don't know why, but $^ included autoconf.mk. I used $(filter) to
remove it, and put all the deps on one line while I was at it.
]
[Miscellaneous refactoring.
Trent W. Buck <[EMAIL PROTECTED]>**20081023050926]
[Replace procedural := with declarative =.
Trent W. Buck <[EMAIL PROTECTED]>**20081023034044
When you do "x = a b" in make, it doesn't get evaluated until you
actually attempt to refer to $x in a rule, because make is an expert
system. The reason := exists is because if you do
f = $(shell really-slow-command)
and then try to build a bunch of object files, $f will cause
really-slow-command to be run separately for each one. Since we're
just doing internal stuff like $(patsubst), we don't need := and using
it makes it harder to reason about the system, because it's no longer
declarative.
]
[Obviate SRC_DIRS altogether.
Trent W. Buck <[EMAIL PROTECTED]>**20081023030139
Note that find -delete would be better, but it is not standard:
http://www.opengroup.org/onlinepubs/009695399/utilities/find.html
]
[Ameliorative ChangeLog mode hint for Emacs.
Trent W. Buck <[EMAIL PROTECTED]>**20081104125751
This patch makes Emacs use outline (hierarchical) mode, and to
recognize "darcs (N)" as a first-level heading and " * foo" as a
third-level heading. Treating the latter correctly, as second-level
headings, is beyond my capabilities.
I'd prefer that this file be moved to "NEWS" and formatted as outline-
mode expects: each Nth-level heading starts with N stars and a space.
]
[quickCheck tests for QuickCheck 2.1
Florent Becker <[EMAIL PROTECTED]>**20081006135708]
[add yet another braindead file path to file path canonicalization test
Reinier Lamers <[EMAIL PROTECTED]>**20081103222552
Ignore-this: a2b2f6f8c47a14943dd99a6a1d0a5c7d
]
[Add bug script for issue1196
Reinier Lamers <[EMAIL PROTECTED]>**20081103222106
Ignore-this: a91333382a944602881b388da4606eca
]
[Fix "make bugs" target in makefile
Reinier Lamers <[EMAIL PROTECTED]>**20081103221941
Ignore-this: 541567455acb0308bbbcf8eb4fe4c83b
]
[Try a bit harder to hack darcs pathname canonicalization in tests
Reinier Lamers <[EMAIL PROTECTED]>**20081103211112
Ignore-this: 3b419ed6b5c3b4d8529ca045d8c63548
]
[Typo: install-pdf was trying to install *.ps.
Trent W. Buck <[EMAIL PROTECTED]>**20081025122922]
[Typo.
Trent W. Buck <[EMAIL PROTECTED]>**20081025083214]
[Add conventional install-ps/pdf/html targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081024085052
See info page (make)Standard Targets.
]
[Use new "ps", "pdf" and "html" targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081024084215]
[Clean hspwd.
Trent W. Buck <[EMAIL PROTECTED]>**20081024081050]
[Colour test output in Emacs' M-x compile.
Trent W. Buck <[EMAIL PROTECTED]>**20081024055755
This change means doing M-x compile RET make test RET in an ordinary
Emacs will highlight failed tests in red, and working tests in green.
This makes it easier to spot problems.
The down side is that yes/no is less clear than passed/failed.
]
[Reduce loquacity of haddock targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081023072048
I think that if someone runs "make api-doc", it's not useful to
immediately print
echo "Generating html"
Generating html
Therefore I'm removing these lines.
]
[Fix some predicates I accidentally reversed.
Trent W. Buck <[EMAIL PROTECTED]>**20081023072013]
[release/debian is long gone.
Trent W. Buck <[EMAIL PROTECTED]>**20081023071427]
[Make it obvious why deps are being filtered.
Trent W. Buck <[EMAIL PROTECTED]>**20081023070847]
[Leverage gmake's order-only dependencies.
Trent W. Buck <[EMAIL PROTECTED]>**20081023051023]
[-fregs-graph seems to be a problem on both ghc 6.6 and 6.10
Jason Dagit <[EMAIL PROTECTED]>**20081028032741
This flag doesn't seem to cause a problem on 6.8, but having
does seem to cause a problem for 6.6 and 6.10.
]
[Resolve conflict between make darcs_p and make continuous
Eric Kow <[EMAIL PROTECTED]>**20081102122954
Ignore-this: 385fc4a7bd4b617f1c073f97c860c6ad
]
[restore -auto-all to profiling options
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026144023]
[avoid .depend doubling in size on every make
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026141924
Ignore-this: e106a7ba53738279ebb8293eeea16679
]
[Also clean intermediate profiling files.
Eric Kow <[EMAIL PROTECTED]>**20081026145926]
[Do not use -threaded when building darcs_p
Eric Kow <[EMAIL PROTECTED]>**20081026145415]
[Clean up how darcs_p is built
Eric Kow <[EMAIL PROTECTED]>**20081026145406
Treat GHCFLAGS_P as an alternative to GHCFLAGS, not an addition.
]
[Rename DARCS_OBJS_P and GHCFLAGS_P
Eric Kow <[EMAIL PROTECTED]>**20081026145619
from DARCS_P_OBJS and GHC_PROF_FLAGS
]
[Allow the profiling and non-profiling versions of darcs to co-exist
Eric Kow <[EMAIL PROTECTED]>**20081026135910
by teaching the Makefile about the suffixes .p_hi and .p_o.
]
[Add -fregs-graph to build instructions for SHA1.o
Eric Kow <[EMAIL PROTECTED]>**20081026133031
This helps us avoid a GHC error when building the profiling version of darcs,
namely: RegAllocLinear.getStackSlotFor: out of stack slots, try -fregs-graph
]
[replace a hoogle workaround with a comment, we now index names beginning with _
Simon Michael <[EMAIL PROTECTED]>**20081103165516
Ignore-this: 537874d6183556322091ff063ba1015b
]
[Make haddock aware of CommandLine module comment.
Trent W. Buck <[EMAIL PROTECTED]>**20081102011801]
[Refactor QuickCheck 2 test.
Trent W. Buck <[EMAIL PROTECTED]>**20081103101155
This makes the output resemble autoconf, so Emacs colours it by default.
It also means the user gets information before the test starts.
Lastly, it redirects the stderr of grep, as GNU grep's manpage recommends.
]
[Use cute short form of $(dir) and $(notdir).
Trent W. Buck <[EMAIL PROTECTED]>**20081025113759]
[Refactor dependency declaration for helper utils.
Trent W. Buck <[EMAIL PROTECTED]>**20081025011633
The .hs/.lhs deps that "disappear" are still in autoconf.mk.in.
]
[Turn descriptive commands into comments.
Trent W. Buck <[EMAIL PROTECTED]>**20081024032405
I don't think there's any point in printing "I'm deleting information
you can't recover" immediately before doing so, without offering an
abort step. Therefore, that message can just be an ordinary comment
in the makefile.
]
[Quieten removal of "Main" intermediaries.
Trent W. Buck <[EMAIL PROTECTED]>**20081023093107
This matches the quietness in the "darcs" target in GNUmakefile.
]
[Add conventional "pdf", "ps" and "html" targets.
Trent W. Buck <[EMAIL PROTECTED]>**20081023070550
See info page (make)Standard Targets.
]
[Don't override MAKEFLAGS's -j.
Trent W. Buck <[EMAIL PROTECTED]>**20081023065134
Make does hairy things within $MAKEFLAGS (which is included in $MAKE)
to ensure that -j does the right thing in the presence of nested
makes. Overriding this with $(MAKE) -j4 is almost certainly naughty.
Instead, you should do "make -j4 disttest" or implicitly, with
"MAKEFLAGS=j4 darcs record --test".
]
[Use ANNOUNCE_GHC convention for darcs.
Trent W. Buck <[EMAIL PROTECTED]>**20081024085359]
[Conventionalize make rule for hspwd.
Trent W. Buck <[EMAIL PROTECTED]>**20081024033900]
[Reduce disttest noise for teetotalers.
Trent W. Buck <[EMAIL PROTECTED]>**20081103094530
Without wine installed, "make disttest" was printing nine copies of:
/bin/sh: wine: not found
test: 1: =: argument expected
This DOES NOT fix the case where wine is installed, but GHC is not
available from wine:
wine runghc Setup.hs configure
wine: could not load L"C:\\windows\\system32\\runghc.exe": Module not found
make: *** [disttest] Error 126
]
[resolve conflict in makefile.
David Roundy <[EMAIL PROTECTED]>**20081103002009
Ignore-this: 3677a2bad189f858b1ac06e56b9e4c2f
]
[fixup SRC_DIRS
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081029190715]
[a slight simplification
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081028185358]
[clarify SlurpDirectory interface
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081028072911]
[cleanup some patterns
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081028065424]
[simplify slurp_has_anycase
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026200442]
[another obvious use of the SlurpyMap
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026192715]
[bug fix
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026185518]
[make use of the SlurpyDir Map in the obvious places
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026153749]
[dumb changeover of SlurpDir contents from [] to Map
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026135906]
[refactor Slurpy to common up name component between File/Dir
Ganesh Sittampalam <[EMAIL PROTECTED]>**20081026123722]
[TAG stable 2008-11-17 (with 2.1.2)
Eric Kow <[EMAIL PROTECTED]>**20081117104434]
Patch bundle hash:
4f4f1f97e36ad81231ddd59465cf6f943ccb9e37
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkknh6gACgkQLpef9iTtxAYiVwCgnPWvQqwdKBdE1Ky9BRsxiJjS
VFUAn2/rpHGu1bGFawU//lmCtDVwu2FV
=ID2B
-----END PGP SIGNATURE-----
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users