
Hi there, Since we have an own mailing list at last, I would like to raise some issues to be discussed. I do not why, but I prefer e-mail over any other communication method, because it is stored (at several places) and I have time to process the input and produce the output :) (And it also strikes a balance between the different time zones we live in.) So, excuse me I am using this method, but I feel this the most "official" way to discuss any effort-related issue (but please, refute me if I am wrong...) I have collected some issues (without the claim for completeness) to start some threads and discussions on this list. Feel free to pick any of the items to answer or express your ideas (even in a separate thread) or raise other issues. Sorry in advance if I touch things those have been settled on IRC. I think the problems and the decisions regarding them should be documented somehow, anyway. - Range of ports we maintain: In my opinion, it would be useful to identify which type of ports we maintain: in my first thoughts, it would be interesting to maintain GHC and libraries (mostly found on HackageDB [1]), but not complete applications (like Pandoc, that is also available via HackageDB, but it is a standalone application (however, it incorporates a library...) and it does not include the "hs-" prefix in its port name in the FreeBSD ports tree). So, in brief: I suggest to add and maintain "hs-*" packages and lang/ghc. (More than enough :P) - MAINTAINER field of the ports we maintain: To uniformize the effort, I suggest to set the maintainer all of the maintained ports to "freebsd-haskell@haskell.org" (address of this list), so any of the members could easily fix and add new ports, etc. If somebody new wants to tackle these ports, he or she should contact us first and then delegate his or her patches though this list, and so on. - Elimination of the "-ghc" suffix: Samy advised to get rid of those "-ghc" suffixes in the port names. I asked haskell@freebsd.org guys about this suffix, and Volker told me that it was used to identify the ports that had been ported to GHC exactly. Since GHC is the center of our efforts, I clearly agree with the elimination these suffixes. (I do not whether it has been already done meanwhile, though.) But we have to be careful with this, because many ports depend on hs- ports, so this kind of "refactorizaton" might result a huge patch (what it is not necessarily encouraged by FreeBSD porters)(?) As a side note: packages with the "-ghc" suffix use a different destination directory, I hope you know this. I think this should be also be unified. - Composition of a "bsd.haskell.mk": It is a must, nobody can deny. In the first round, I do not think it should be placed right in the "ports/Mk" directory, because people at the BSD# Project [2] (I think I am going to refer them many times) store their own ".mk" file at the heart of their ports, lang/mono [3]. In my opinion, following this behavior would save the initial efforts from the burden of several port management tests and tasks ("experimental ports build" -- Mark Linimon mentioned these in the PR where a bsd.haskell.mk was offered [4]). So, I suggest to add this file to the lang/ghc port first. About its structure: I suggest to employ some "build magic" to make its invocation automatic. For example, every port with the "hs-" prefix (or in the "haskell" category) could automagically include this .mk file. I do not think it would be hard to implement as this technique has been already used by bsd.xorg.mk [5] (e.g. around line 53). The actual structure of this file should be derived from the current hs-* ports -- I think it is easy, because many of these ports have a lot of constructs in common, so I would say (without experimenting with anything) their Makefiles could be even reduced to about 2-5 lines(!) (including the port name and version, may be the dependencies) in an optimal case by a good .mk file. (But I am naive! :)) I think this approach could even make us re-think whether a cabal2port converter is really needed. - Interference(?) with cabal-install: A few months ago, I created a preliminary port for cabal-install [6]. I think this or something like that should be added to our collection, so "the real bleeding edge" users do not have to wait for us with the ports. It is okay, but it raises(?) an interesting problem: what if somebody starts to use both the ports _and_ cabal-install and even accidentally mixes them? (E.g. installs something with pkg_add then updates it from cabal-install or deletes it, and so on -- vice versa) At the moment, I do not see any trivial solution to this problem, so any comments would be welcome. - Merging our ports with the official FreeBSD ports tree: port trees out of the official FreeBSD port tree (like KDE, GNOME, BSD# etc.) use different techniques to merge ("engraft") their trees. Ashish mentioned that FreeBSD does not have a standard method for implemeting this when I mentioned the famous marcusmerge(8) [7] earlier. He was not happy with this approach, but I found another meanwhile, called portshaker [8] (from BSD#). I have not tried it yet, but it is a yet another way to solve this problem. - Quarterly Status Report: A short note on that we could advertise ourselves in the recent FreeBSD Quarterly Status Report. However the submission date past (Jan 14, 2009) for the latest one, but as I taught, I think there might be a chance to push one more simple report to Brad :) If I got some nods, I post a draft here and then to monthly@. Of course, it is not a tragedy if we miss this, we can supply it later on. - Things to be Committed: I am (still) happy to tinderbuild and commit Haskell port patches, but please, send me them in email if possible. Note that I am not a ports committer, but with the help of Martin Wilke (miwi@) I can work with these patches. Of course, the more (active) committers on this list the better :) - GHC 6.8.10: What is up with GHC? What are the exact obstacles to get the latest version ported? Has anybody tried it? (I am just curious.) That is all for today. Thanks for your attention. Cheers, :g [1] http://hackage.haskell.org/packages/hackage.html [2] http://www.mono-project.com/Mono:FreeBSD [3] http://code.google.com/p/bsd-sharp/source/browse/trunk/lang/mono/bsd.mono.mk [4] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/126012 [5] http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.xorg.mk?annotate=1.8 [6] http://people.freebsd.org/~pgj/patches/2008-11-01/cabal-install-freebsd.tar.... [7] http://www.marcuscom.com/marcusmerge.8.html [8] http://bsd-sharp.googlecode.com/files/portshaker-0.0.8.tar.gz