[Haskell-cafe] Cabalizing darcs
So recently I spent a bit of time working on a cabalization of Darcs. It works well for me, and is reasonably easy to apply (attached are three files; do a 'darcs get --lazy http://darcs.net' with Darcs-2 to get the latest, and copy the files into it, the usual autoconf, and it should then work as normal; if this doesn't work for you, I'd appreciate knowing). My question for y'all is: would you find an unofficial version of Darcs - one with the cabalization added and uploaded to Hackage - useful? Or would it just be frustrating and redundant and Not Good? (If yes, any suggestions for a package name? 'darcs' is out, but 'darcs-cb' and 'darcs-cabalized' strike me as horribly clunky or obscure.) -- gwern Threat WANK football Talent anarchy RIT interception Hutsul forschung ISS -- @configure_input@ -- System-dependent values used by Distribution.Simple.defaultUserHooks executable: darcs CPP-options: @CPPFLAGS@ ld-options: @LDFLAGS@ cc-options: -DPACKAGE_VERSION=@PACKAGE_VERSION@Name: darcs version:2.0.0 License:GPL License-file: COPYING Author: David Roundy [EMAIL PROTECTED] et al. Maintainer: [EMAIL PROTECTED] Stability: Stable Category: Development Synopsis: David's Advanced Version Control System Description:Darcs is a revision control system, along the lines of CVS or arch. That means that it keeps track of various revisions and branches of your project, allows for changes to propagate from one branch to another. Darcs is intended to be an _advanced_ revision control system. Darcs has two particularly distinctive features which differ from other, centralized, revision control systems: . * each copy of the source is a fully functional branch, and . * underlying darcs is a consistent and powerful theory of patches. . The Darcs repository can be found at http://darcs.net/. Homepage: http://darcs.net/ Build-Type: Configure Cabal-Version: = 1.2 Tested-with:GHC==6.8.2 data-files: src/darcs_print.pdf, src/darcs_print.ps, src/patch-theory.pdf, src/best_practices.tex, src/building_darcs.tex, src/configuring_darcs.tex, src/features.tex, src/gpl.tex, src/switching.tex, tools/cgi/README, tools/cgi/README.in extra-source-files: -- C sources and headers. Are these redundant with c-sources:? src/Crypt/sha2.c, src/Crypt/sha2.h, src/atomic_create.c, src/atomic_create.h, src/c_compat.c, src/compat.h, src/fpstring.c, src/fpstring.h, src/gadts.h, src/gitlib.c, src/gitlib.h.in, src/hscurl.c, src/hscurl.h, src/hslibwww.c, src/hslibwww.h, src/impossible.h, src/maybe_relink.c, src/maybe_relink.h, src/umask.c, src/umask.h, -- Build files; we include the autoconf files just in case -- the user wishes to re-autoconf on her system. darcs.buildinfo, darcs.buildinfo.in, configure, configure.ac, autoconf.mk, autoconf.mk.in, aclocal.m4, src/Autoconf.lhs.in, src/ThisVersion.lhs.in, -- Windows files src/win32/send_email.c, src/win32/send_email.h, src/win32/sys/mman.h, src/win32/CtrlC.hs, src/win32/System/Posix/Files.hsc, src/win32/System/Posix/IO.hsc, src/win32/System/Posix.hs, -- TODO: factor out these standalone executables to other sections src/preproc.hs, src/darcsman.hs, src/unit.lhs, src/make_changelog.hs, -- The tools directory would make a sensible 'darcs-tools' package tools/zsh_completion_new, tools/update_roundup.pl, tools/zsh_completion_old, tools/cgi/cgi.conf, tools/cgi/darcs.cgi.in, tools/cgi/darcs.cgi, tools/cgi/cgi.conf.in, tools/cgi/xslt/repos.xslt, tools/cgi/xslt/errors.xslt, tools/cgi/xslt/browse.xslt, tools/cgi/xslt/common.xslt, tools/cgi/xslt/annotate.xslt, tools/cgi/xslt/styles.css, tools/cgi/xslt/rss.xslt, tools/cgi/xslt/patches.xslt, tools/cgi/xslt/errors.xml, tools/cgi/README.in, tools/cygwin-wrapper.bash, tools/upload.cgi, tools/darcs_completion extra-tmp-files: darcs.buildinfo flag small_base description: Choose the new smaller, split-up base package. Defaults to True. Executable darcs main-is:darcs.lhs hs-source-dirs: src build-depends: regex-compat, mtl, parsec, html, QuickCheck, HUnit if flag(small_base) build-depends: base = 3, unix, old-time, directory, process, containers, array, bytestring else build-depends: base 3
Re: [Haskell-cafe] Cabalizing darcs
It looks quite clean (no funny business in Setup.lhs). I would favor using this cabalized version over the other. Thanks! So, autoconf/configure generate cryptol.buildinfo from cryptol.buildinfo.in. Did you change configure.ac much? And the Makefile is no longer needed at all, right? - Phil 2008/4/23 Gwern Branwen [EMAIL PROTECTED]: So recently I spent a bit of time working on a cabalization of Darcs. It works well for me, and is reasonably easy to apply (attached are three files; do a 'darcs get --lazy http://darcs.net' with Darcs-2 to get the latest, and copy the files into it, the usual autoconf, and it should then work as normal; if this doesn't work for you, I'd appreciate knowing). My question for y'all is: would you find an unofficial version of Darcs - one with the cabalization added and uploaded to Hackage - useful? Or would it just be frustrating and redundant and Not Good? (If yes, any suggestions for a package name? 'darcs' is out, but 'darcs-cb' and 'darcs-cabalized' strike me as horribly clunky or obscure.) -- gwern Threat WANK football Talent anarchy RIT interception Hutsul forschung ISS ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabalizing darcs
On Wed, Apr 23, 2008 at 02:55:49PM -0400, Gwern Branwen wrote: So recently I spent a bit of time working on a cabalization of Darcs. It works well for me, and is reasonably easy to apply (attached are three files; do a 'darcs get --lazy http://darcs.net' with Darcs-2 to get the latest, and copy the files into it, the usual autoconf, and it should then work as normal; if this doesn't work for you, I'd appreciate knowing). It certainly doesn't work for me. -- David Roundy Department of Physics Oregon State University signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabalizing darcs
On 2008.04.23 12:26:35 -0700, Philip Weaver [EMAIL PROTECTED] scribbled 1.2K characters: It looks quite clean (no funny business in Setup.lhs). I would favor using this cabalized version over the other. Thanks! So, autoconf/configure generate cryptol.buildinfo from cryptol.buildinfo.in. Did you change configure.ac much? I had to make a number of changes to configure.ac - the problem was that a lot of Darcs capabilities get modified through CPP; hence the darcs.buildinfo, to smuggle exported variables from the configure script to Cabal and to insert them in the correct fields. But not all of the necessary information was exported, so I had to fix that. Straightforward if you understand what you need. But there seems to be very little documentation on Cabal and buildinfos, so I had to do a bit of trial-and-error (Also, I dunno how you guys do Cryptol so can't speak to that.) And the Makefile is no longer needed at all, right? - Phil Strictly speaking, the Darcs makefile does a lot of stuff besides just building and installing - it also generates various forms of documentation (Haddocks, the LaTeX manual for Darcs), run the tests, and do quite a bunch of miscellaneous stuff like support for some Windows installer and Debian package format. Some of this could no doubt be handled in a pure Cabal framework (ie. I understand Goerzen has a package which can automatically take a Cabal tarball and make a Debian source deb), but I was just aiming at the building part. If that's all you need (like most users), then the makefile isn't needed, yes. -- gwern BLACKER Loin JAVA anthrax AG Zemin The Internet Sayeret 3P-HV ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabalizing darcs
On Wed, Apr 23, 2008 at 4:49 PM, Gwern Branwen [EMAIL PROTECTED] wrote: On 2008.04.23 12:26:35 -0700, Philip Weaver [EMAIL PROTECTED] scribbled 1.2K characters: It looks quite clean (no funny business in Setup.lhs). I would favor using this cabalized version over the other. Thanks! So, autoconf/configure generate cryptol.buildinfo from cryptol.buildinfo.in. Did you change configure.ac much? I had to make a number of changes to configure.ac - the problem was that a lot of Darcs capabilities get modified through CPP; hence the darcs.buildinfo, to smuggle exported variables from the configure script to Cabal and to insert them in the correct fields. But not all of the necessary information was exported, so I had to fix that. Straightforward if you understand what you need. But there seems to be very little documentation on Cabal and buildinfos, so I had to do a bit of trial-and-error (Also, I dunno how you guys do Cryptol so can't speak to that.) Trial-and-error was my experience with buildinfo files, too. And the Makefile is no longer needed at all, right? - Phil Strictly speaking, the Darcs makefile does a lot of stuff besides just building and installing - it also generates various forms of documentation (Haddocks, the LaTeX manual for Darcs), run the tests, and do quite a bunch of miscellaneous stuff like support for some Windows installer and Debian package format. Some of this could no doubt be handled in a pure Cabal framework (ie. I understand Goerzen has a package which can automatically take a Cabal tarball and make a Debian source deb), but I was just aiming at the building part. If that's all you need (like most users), then the makefile isn't needed, yes. So do you feel like this process yielded an easier to maintain build system? -- gwern BLACKER Loin JAVA anthrax AG Zemin The Internet Sayeret 3P-HV ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe