patches to network, stm and HUnit

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Wed Oct 22 01:25:29 EDT 2008


Ian,

Attached are patches to bump the version numbers of stm and network as
described in the previous email on this topic. All the others were done
a few days ago but stm and network were not.

I've also made all three work with base 3 and 4, but made sure that for
ghc-6.10+ they will only use base 4 so there is no danger of building
the same package different ways for any single ghc version.

In each case I used cpp so that it uses the old code from the versions
that shipped with 6.8.3, or the current code obviously. So there should
be no dodgy new code. The only exception is in network for the catchIO
function which now has two definitions:

catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
#ifdef BASE4
catchIO = Exception.catch
#else
catchIO = Exception.catchJust Exception.ioErrors
#endif

but I assume that's ok.

Duncan
-------------- next part --------------
Tue Oct 21 22:11:10 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Make it build with base 3 or 4
  But make sure it always uses base 4 with ghc-6.10
  It now compiles with ghc-6.8 and 6.10

Tue Oct 21 22:12:58 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Bump version to 1.2.0.3

Tue Oct 21 22:14:43 PDT 2008  Duncan Coutts <duncan at haskell.org>
  tagged 1.2.0.3

New patches:

[Make it build with base 3 or 4
Duncan Coutts <duncan at haskell.org>**20081022051110
 But make sure it always uses base 4 with ghc-6.10
 It now compiles with ghc-6.8 and 6.10
] {
hunk ./HUnit.cabal 16
-Library
-    build-depends: base >=4 && <5
+flag base4
+
+library
+    build-depends: base <5
+    if flag(base4)
+      build-depends: base >=4
+      cpp-options: -DBASE4
+    else
+      build-depends: base <4
+    if impl(ghc >= 6.10)
+      build-depends: base >=4
hunk ./Test/HUnit/Lang.lhs 57
-> instance Exception HUnitFailure
->
hunk ./Test/HUnit/Lang.lhs 63
+#ifdef BASE4
+> instance Exception HUnitFailure
hunk ./Test/HUnit/Lang.lhs 75
+> assertFailure msg = E.throwDyn (HUnitFailure msg)
+
+> performTestCase action =
+>     do r <- E.try action
+>        case r of
+>          Right () -> return Nothing
+>          Left e@(E.DynException dyn) ->
+>              case fromDynamic dyn of
+>                Just (HUnitFailure msg) -> return $ Just (True, msg)
+>                Nothing                 -> return $ Just (False, show e)
+>          Left e -> return $ Just (False, show e)
+#endif
+#else
}

[Bump version to 1.2.0.3
Duncan Coutts <duncan at haskell.org>**20081022051258] hunk ./HUnit.cabal 2
-version:        1.2.0.2
+version:        1.2.0.3

[TAG 1.2.0.3
Duncan Coutts <duncan at haskell.org>**20081022051443] 
<
[Bump version to 1.2.0.3
Duncan Coutts <duncan at haskell.org>**20081022051258] 
[Make it build with base 3 or 4
Duncan Coutts <duncan at haskell.org>**20081022051110
 But make sure it always uses base 4 with ghc-6.10
 It now compiles with ghc-6.8 and 6.10
] 
[TAG 2008-10-13
Ian Lynagh <igloo at earth.li>**20081013232038] 
> {
}

Context:

[TAG 2008-10-13
Ian Lynagh <igloo at earth.li>**20081013232038] 
Patch bundle hash:
738dd459b7e58886be565ea86145ebdad0034cf5
-------------- next part --------------
Tue Oct 21 19:18:39 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Make it work with base 3 or 4

Tue Oct 21 19:19:17 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Drop dep on syb for deriving Data

Tue Oct 21 19:19:50 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Add upper bound on version of base

Tue Oct 21 19:20:27 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Bump version to 2.2.0.1

Tue Oct 21 22:15:24 PDT 2008  Duncan Coutts <duncan at haskell.org>
  tagged 2.2.0.1

New patches:

[Make it work with base 3 or 4
Duncan Coutts <duncan at haskell.org>**20081022021839] {
hunk ./Network.hs 434
+#ifdef BASE4
hunk ./Network.hs 436
+#else
+catchIO = Exception.catchJust Exception.ioErrors
+#endif
hunk ./network.cabal 31
+      cpp-options:      -DBASE4
}

[Drop dep on syb for deriving Data
Duncan Coutts <duncan at haskell.org>**20081022021917] {
hunk ./Network/URI.hs 128
+#ifdef BASE4
+import Data.Data      ( Data )
+#else
hunk ./Network/URI.hs 132
+#endif
hunk ./network.cabal 30
-      build-depends:    base>=4, syb
+      build-depends:    base>=4
}

[Add upper bound on version of base
Duncan Coutts <duncan at haskell.org>**20081022021950] hunk ./network.cabal 27
-  build-depends: parsec
+  build-depends: base < 5, parsec

[Bump version to 2.2.0.1
Duncan Coutts <duncan at haskell.org>**20081022022027] hunk ./network.cabal 2
-version:        2.2.0.0
+version:        2.2.0.1

[TAG 2.2.0.1
Duncan Coutts <duncan at haskell.org>**20081022051524] 
<
[Bump version to 2.2.0.1
Duncan Coutts <duncan at haskell.org>**20081022022027] 
[Add upper bound on version of base
Duncan Coutts <duncan at haskell.org>**20081022021950] 
[Drop dep on syb for deriving Data
Duncan Coutts <duncan at haskell.org>**20081022021917] 
[Make it work with base 3 or 4
Duncan Coutts <duncan at haskell.org>**20081022021839] 
[FIX #2653: fix test for old GHC
Ross Paterson <ross at soi.city.ac.uk>**20081004135832
 
 Tests for old GHCs like
 
 #if __GLASGOW_HASKELL__ < 606
 
 also succeed for non-GHC, and should be
 
 #if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 606
] 
[TAG 6.10 branch has been forked
Ian Lynagh <igloo at earth.li>**20080919123439] 
[Bump version number to 2.2.0.0
Ian Lynagh <igloo at earth.li>**20080604121000
 2.1.1.0 might have been sufficient - I haven't checked what all the
 patches since 2.1.0.0 do.
] 
[Fix SO_PEERCRED and struct ucred support under glibc 2.8.
Bryan O'Sullivan <bos at serpentine.com>**20080528201859] 
[Support abstract unix sockets
Lennart Kolmodin <kolmodin at gentoo.org>**20080326212428] 
[Type (opertaions -> operations)
Ian Lynagh <igloo at earth.li>**20080325201023
 Spotted by larsv in trac #2173.
] 
[Fix listenOn and getNameInfo to work on NetBSD
Iku Iwasa <iku.iwasa at gmail.com>**20080216123753
 Network.hs: specify addrSocketType=Stream for getAddrInfo in listen' function.
 Network/Socket.hsc: poke length of struct sockaddr_* in pokeSockAddr function.
] 
[FIX #1129: recvFrom blocks on Windows.
Simon Marlow <simonmar at microsoft.com>**20080220161001
 This is only a partial fix: it works with the threaded RTS now.
 Realistically, I don't think we're going to get this working with the
 non-threaded RTS any time soon.
] 
[eliminate warning on Windows
Simon Marlow <simonmar at microsoft.com>**20080220155706] 
[Catch up with changes to GHC.Handle.fdToHandle'
Simon Marlow <simonmar at microsoft.com>*-20071121084901] 
[Catch up with changes to GHC.Handle.fdToHandle'
Simon Marlow <simonmar at microsoft.com>**20071121084901] 
[fix test to work with non-GHC implementations
Ross Paterson <ross at soi.city.ac.uk>**20071118173815] 
[add a signature (to avoid Hugs's non-standard handling of the MR)
Ross Paterson <ross at soi.city.ac.uk>**20071118173728] 
[fix ifdef for Hugs
Ross Paterson <ross at soi.city.ac.uk>**20071117195725] 
[Match *-solaris2*, not just *-solaris2, in configure.ac; fixes #1857
Ian Lynagh <igloo at earth.li>**20071110180525
 Patch from Christian Maeder
] 
[TAG GHC 6.8.1 release
Ian Lynagh <igloo at earth.li>**20071110011105] 
[TAG 2.1.0.0 release
Ian Lynagh <igloo at earth.li>**20071110010955] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20071027124850] 
[Compatability with ghc-6.4
Duncan Coutts <duncan at haskell.org>**20071018172327
 Define bracketOnError locally and use openFd when building with ghc-6.4
] 
[Specify build-type: Configure
Duncan Coutts <duncan at haskell.org>**20071018172434] 
[Follow openFd -> fdToHandle' rename
Ian Lynagh <igloo at earth.li>**20070722184622] 
[Sleep for a second before trying to connect in the net001 test
Ian Lynagh <igloo at earth.li>**20070717122449
 With just a yield, in threaded1/2 ways the client was sometimes trying
 to connect before the server was listening.
] 
[Quieten build on OS X.
Bryan O'Sullivan <bos at serpentine.com>**20070627213703] 
[Fix use of autoconf HAVE_DECL_* macros.
Bryan O'Sullivan <bos at serpentine.com>**20070627213617
 It turns out that the macros are always defined, unlike most others.
] 
[Make IPv6 address handling more portable and robust.
Bryan O'Sullivan <bos at serpentine.com>**20070627182816
 
 1.  No longer rely on the in6_addr structure's s6_addr32 field, which
     is not available on many platforms.  Use s6_addr instead.
 
 2.  Add a number of AI_* flags that are required by RFC 3493.  Not all
     of these flags are implemented on all systems, but on systems
     where they *are* implemented, we get runtime exceptions if we
     don't make them available.
 
 3.  To let users check whether a particular AI_* flag is implemented,
     we introduce the addrInfoFlagImplemented function.
 
 4.  Fix the autoconf macro used to check for AI_* flag availability.
     The previous check wasn't portable, and caused flags to appear not
     to be present when they really were.
] 
[FIX net001 (Windows): get some calling conventions right
Simon Marlow <simonmar at microsoft.com>**20070703082831] 
[Fix further build problems when IPv6 isn't available
Simon Marlow <simonmar at microsoft.com>**20070604105407] 
[Try a hopefully more portable test for RFC 3493 API compatibility.
Bryan O'Sullivan <bos at serpentine.com>**20070602050225] 
[Fix build failure if IPv6 is not available.
Bryan O'Sullivan <bos at serpentine.com>**20070601160943] 
[Fixed support for platforms with IPv6 but no AI_ADDRCONFIG
Michael D. Adams <t-madams at microsoft.com>**20070604153642] 
[--configure-option and --ghc-option are now provided by Cabal
Ross Paterson <ross at soi.city.ac.uk>**20070604115612] 
[Invoke the preprocessor portably.
Bryan O'Sullivan <bos at serpentine.com>**20070408171912] 
[Add IPv6 support to Network.
Bryan O'Sullivan <bos at serpentine.com>**20070404223751
 
 The public API remains unchanged; it can now transparently handle IPv6
 addresses and sockets.
] 
[Add IPv6 support to Network.Socket.
Bryan O'Sullivan <bos at serpentine.com>**20070404222036
 
 The only public API changes are to Network.Socket, which has the following
 exported names added (no existing names have been removed):
 
     -- IPv6 address components
     HostAddress6
     FlowInfo
     ScopeID
 
     -- Name -> address lookup
     getAddrInfo
     AddrInfo
     AddrInfoFlag
     defaultHints
 
     -- Address -> name lookup
     getNameInfo
     NameInfoFlag
 
 The SockAddr type acquires a new branch, SockAddr6.  (This could cause
 new "non-exhaustive matches" warnings when compiling pre-existing client
 code that pattern-matches on SockAddr values.  However, it will not
 cause runtime pattern failure errors in clients using the pre-existing
 IPv4 entry points, as they will never see IPv6 addresses.)
 
 This change moves a few type names from Network.BSD to Network.Socket:
 
     HostName
     ServiceName
 
 These names are still re-exported from Network.BSD, so pre-existing code
 should not be affected.
] 
[Remove Makefile and package.conf.in (used in the old GHC build system)
Ian Lynagh <igloo at earth.li>**20070524145815] 
[add includes: field
Simon Marlow <simonmar at microsoft.com>**20070517095001] 
[TAG GHC 6.6.1 release
Ian Lynagh <igloo at earth.li>**20070428195851] 
[TAG 2.0.1 release
Ian Lynagh <igloo at earth.li>**20070428195744] 
[TAG GHC 6.6.1 release
Ian Lynagh <igloo at earth.li>**20070424113929] 
[TAG Version 2.0.1
Ian Lynagh <igloo at earth.li>**20070424113858] 
[Bump version to 2.0.1
Ian Lynagh <igloo at earth.li>**20070422195222] 
[Follow Cabal changes in Setup.*hs
Ian Lynagh <igloo at earth.li>**20070418121338] 
[Fix configure with no --with-cc
Ian Lynagh <igloo at earth.li>**20070415195109] 
[Fix -Wall warnings
Ian Lynagh <igloo at earth.li>**20070411012234] 
[Pass configure options through to ./configure, and allow CC to be passed in
Ian Lynagh <igloo at earth.li>**20070411000904] 
[Make Setup.hs suitable for building in a GHC tree
Ian Lynagh <igloo at earth.li>**20070407174146] 
[apply changes from patch "make this test deterministic on a multiprocessor" in testsuite
Simon Marlow <simonmar at microsoft.com>**20070221142822] 
[tests for use with GHC's test framework, moved from the testsuite
Simon Marlow <simonmar at microsoft.com>**20070221142258] 
[README about building from darcs
Ross Paterson <ross at soi.city.ac.uk>**20070218110201] 
[don't install Typeable.h, fixes #1106
Simon Marlow <simonmar at microsoft.com>**20070201125821] 
[network doesn't really need the html package
Ian Lynagh <igloo at earth.li>**20070111122348] 
[includes -> install-includes
Ross Paterson <ross at soi.city.ac.uk>**20060829123744] 
[change title to Haskell Hierarchical Libraries
Ross Paterson <ross at soi.city.ac.uk>**20060827131348] 
[exclude Setup.hs from build
Ross Paterson <ross at soi.city.ac.uk>**20060824183533] 
[add boilerplate Setup.hs
Ross Paterson <ross at soi.city.ac.uk>**20060824115019] 
[Update Network.BSD header to not mention symlinks.
Ian Lynagh <igloo at earth.li>**20060823184314] 
[Removed Network.CGI from the network package. A backwards-compatible new Network.CGI is available in the cgi package.
bringert at cs.chalmers.se**20060814095652] 
[remove deprecated Network.BSD.{readlink,symlink}
Simon Marlow <simonmar at microsoft.com>**20060811153755] 
[bump version to 2.0
Simon Marlow <simonmar at microsoft.com>**20060811152554] 
[depend on html (for the time being)
Simon Marlow <simonmar at microsoft.com>**20060810121424] 
[initWinSock(): have defn match proto
sof at galois.com**20060613224903] 
[only GHC has rtsSupportsBoundThreads
Ross Paterson <ross at soi.city.ac.uk>**20060531200123] 
[add files used by configure
Ross Paterson <ross at soi.city.ac.uk>**20060518174356] 
[Import unsafePerformIO
Sven Panne <sven.panne at aedion.de>**20060507171832] 
[Import MVar type
Sven Panne <sven.panne at aedion.de>**20060507170308] 
[Add various address families
Simon Marlow <simonmar at microsoft.com>**20060503081915] 
[Fix for #265, build problem on AIX
Simon Marlow <simonmar at microsoft.com>**20060316143337
 Not the fix from the ticket, but this one at least doesn't require
 modifying the configure script.
] 
[workaround for non-thread-safety of some functions in Network.BSD
Simon Marlow <simonmar at microsoft.com>**20060126153014
 Various functions in Network.BSD are non-thread-safe,
 eg. getHostByName, because the underlying gethostbyname() provided by
 the C library uses static storage.  The workaround here is to use a
 giant lock around these functions.
 
 In some cases, even the API we provide is itself unsafe, relying on
 implicit state (eg. getHostEntry), but this commit makes no attempt to
 fix that.  We should deprecate this library in favour of a complete
 replacement at some point (before 6.6 would be nice).
 
 Thanks to Einar Kartunnen for the patch.
] 
[Fix Ticket 647, Socket bug on Mac OS X
wolfgang.thaller at gmx.net**20060121050509
 Patch kindly provided by Greg Wright
] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen at complete.org>**20060112154134] 
[TAG cmm-merge2
Unknown tagger**20060111215654] 
[[project @ 2005-10-21 10:53:17 by simonmar]
simonmar**20051021105317
 fixes to send, recv, and accept to work properly with the threaded RTS
 on Windows.
] 
[[project @ 2005-10-14 14:16:48 by sof]
sof**20051014141648
 getProtocolBy{Name,Number}: use correct function names in excns. Merge to STABLE
] 
[[project @ 2005-10-13 17:18:27 by sof]
sof**20051013171827
 avoid introducing in_addr_t typedef
] 
[[project @ 2005-09-21 12:54:57 by ross]
ross**20050921125457
 add AC_CANONICAL_HOST to configure, as it tests $host.
] 
[[project @ 2005-09-20 09:47:48 by ross]
ross**20050920094748
 make the network package independent
] 
[[project @ 2005-09-19 23:24:31 by ross]
ross**20050919232431
 For compilers other than MSVC and GCC, assume inline has the C99 semantics.
] 
[[project @ 2005-07-21 12:54:33 by simonmar]
simonmar**20050721125433
 Hack Makefiles so that 'make distclean' works even if the tree has not
 been configured, or 'make distclean' has already been run.
 
 This is to solve problems caused by 'make distclean' removing files
 that it needs itself - previously we were arranging to remove certain
 files right at the end of cleaning, but this is fragile.  So now we
 assume that e.g. the X11 library is always enabled when we're
 cleaning.
] 
[[project @ 2005-07-19 22:03:07 by gklyne]
gklyne**20050719220307
 Fix subtle bug in relativeFrom, not being an exact inverse of relativeTo when the
 base URI contains a "non-directory" tarling path segment.
] 
[[project @ 2005-07-19 22:01:27 by gklyne]
gklyne**20050719220127
 Added some additional test cases raised by discussion on URI at w3.org mailing list about 2005-07-19.  The test p[roposed by this discussion exposed a subtle bug in relativeFrom not being an exact inverse of relativeTo.
] 
[[project @ 2005-07-19 09:26:04 by ross]
ross**20050719092604
 use $host instead of $target (mainly affects builds with cabal)
] 
[[project @ 2005-07-07 14:58:33 by simonmar]
simonmar**20050707145833
 Prevent calling sClose and other socket operations on a socket that
 has been converted to a Handle with socketToHandle.  Due to the
 finalizer on Handles, strange events can ensue if direct socket
 operations are used after socketToHandle (see #1219920).
] 
[[project @ 2005-07-06 10:58:56 by simonmar]
simonmar**20050706105856
 Add some documentation for socketToHandle
] 
[[project @ 2005-07-04 10:23:26 by ross]
ross**20050704102326
 Hugs only: more precise imports
] 
[[project @ 2005-06-06 16:31:44 by gklyne]
gklyne**20050606163144
 Added two new test cases.
] 
[[project @ 2005-05-31 17:18:36 by gklyne]
gklyne**20050531171836
 Added some additional test cases triggered by URI-list discussions.
] 
[[project @ 2005-05-10 10:40:11 by simonmar]
simonmar**20050510104011
 PATH_MAX fixes from Thomas Schwinge.
] 
[TAG ghc-assoc-branch-point
Unknown tagger**20060111215629] 
[[project @ 2005-04-28 08:45:41 by simonmar]
simonmar**20050428084541
 Fix SIGPIPE comment
] 
[TAG arity-anal-branch-point
Unknown tagger**20060111215628] 
[[project @ 2005-04-07 11:09:37 by gklyne]
gklyne**20050407110937
 Added test cases for alternate parsing functions (including deprecated 'parseabsoluteURI')
] 
[[project @ 2005-04-07 11:08:34 by gklyne]
gklyne**20050407110834
 DEPRECATED parseabsoluteURI "use parseAbsoluteURI"
] 
[[project @ 2005-04-07 09:58:52 by gklyne]
gklyne**20050407095852
 More changes to comments (typos and layout).
] 
[[project @ 2005-04-07 09:42:22 by gklyne]
gklyne**20050407094222
 Cleaned up comments to reflect new URI spec, and clarify the function of the isXXX functions.
 Removed much dead code.
] 
[[project @ 2005-04-05 12:47:32 by gklyne]
gklyne**20050405124732
 Added test case.
 Changed module name, now requires GHC -main-is to compile.
 All tests run OK with GHC 6.4 on MS-Windows.
] 
[[project @ 2005-04-05 12:42:49 by gklyne]
gklyne**20050405124249
 Fix typo in comment.
 (Also, some tabs converted to spaces by my editor.)
] 
[[project @ 2005-03-23 14:34:21 by ross]
ross**20050323143421
 add license files for individual packages
] 
[[project @ 2005-03-02 16:39:57 by ross]
ross**20050302163958
 *Config.h files are in include/ (MERGE to STABLE)
] 
[[project @ 2005-03-02 14:46:15 by simonmar]
simonmar**20050302144615
 distcleaning of things generated by configure
] 
[[project @ 2005-02-18 18:30:40 by ross]
ross**20050218183040
 Rename package description fields as in InstalledPackageInfo:
 
 	options-ghc -> ghc-options
 	options-hugs -> hugs-options
 	options-nhc -> nhc-options
 	extra-libs -> extra-libraries
] 
[[project @ 2005-02-18 15:06:46 by simonmar]
simonmar**20050218150646
 Rename fields in InstalledPackageInfo for consistency with
 PackageDescription & buildInfo:
 
  extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
  extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
  extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
  extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
  extra-frameworks (extraFrameworks) --> frameworks (frameworks)
] 
[[project @ 2005-02-11 11:37:44 by simonmar]
simonmar**20050211113744
 use Control.Exception.bracketOnError
] 
[[project @ 2005-02-11 01:55:57 by ross]
ross**20050211015557
 track syntax changes:
 
 * add License-File and Synopsis fields
 
 * rename Hidden-Fields as Other-Fields
 
 These files are used only by Hugs, but are also useful as examples.
] 
[[project @ 2005-02-07 11:09:27 by simonmar]
simonmar**20050207110927
 Add Typeable instances
] 
[[project @ 2005-02-07 10:43:34 by simonmar]
simonmar**20050207104334
 Add typeable instances
] 
[[project @ 2005-02-05 00:41:38 by ross]
ross**20050205004138
 more Haddock fixes.
 
 Now the only dangling links are in System.Directory, referring to the
 hidden module GHC.IOBase for constructors of IOException.
] 
[TAG ghc-6-4-branch-point
Unknown tagger**20060111215610] 
[[project @ 2005-01-28 23:24:56 by krasimir]
krasimir**20050128232456
 SockAddrUnix constructor is available only with DOMAIN_SOCKET_SUPPORT
] 
[[project @ 2005-01-28 13:36:34 by simonmar]
simonmar**20050128133635
 Catch up with updates to platform #defines.
 
 Generally: use _HOST_ rather than _TARGET_ (except in Cabal where we
 have to retain compatibility with previous GHC versions).
] 
[[project @ 2005-01-25 17:06:39 by ross]
ross**20050125170639
 add Cabal package descriptions
] 
[[project @ 2005-01-24 12:18:45 by ross]
ross**20050124121845
 add -cpp option
] 
[[project @ 2005-01-21 15:29:27 by ross]
ross**20050121152927
 non-GHC: fix imports
] 
[[project @ 2005-01-20 14:22:27 by simonmar]
simonmar**20050120142227
 Fill in the haddock-interfaces and haddock-html fields in the
 package.conf files.
 
 To do this I had to make some changes:
 
   - haddock-interfaces requires the value of $(datadir).  We can't
     just plug this in, because $(datadir) might change at install-time
     (eg. a Windows installer can be placed anywhere, as can a Unix
     binary .tar.gz distribution).  The current trick is for the
     compiler to splice in the value of $libdir in package.conf at
     runtime.  So we could extend this mechanism and tell the compiler
     the value of $datadir via a command-line option, but that seems
     ugly.
 
     On Windows, $datadir==$libdir, so we don't need any changes:
     package.conf still uses $libdir, and a Windows installation is
     independent of its absolute location.  Even 'make install' on
     Windows should have this property.
 
     On Unix:
 	- for 'make install' and in-place execution, we just use
           absolute paths in package.conf
 
 	- for a binary dist, we generate a package.conf that refers
 	  to $libdir and $datadir, and splice in the values at
 	  install-time (distrib/Makefile-bin.in).
 
   - Also, I renamed $libdir to $topdir to more closely reflect its
     actual meaning.  This is somewhat malicious in that it will flush
     out all those clients using $libdir when they really shouldn't
     be :-)
] 
[[project @ 2005-01-18 12:29:43 by simonmar]
simonmar**20050118122943
 Add instance Show SockAddr
] 
[[project @ 2005-01-11 16:04:31 by simonmar]
simonmar**20050111160431
 Use OPTIONS_GHC instead of OPTIONS
] 
[[project @ 2005-01-11 14:18:15 by ross]
ross**20050111141815
 get IOError stuff from System.IO.Error instead of System.IO
] 
[[project @ 2005-01-02 00:05:17 by krasimir]
krasimir**20050102000517
 According to the documentation, the Haskell implementation of Handle
 should implement single writer/multiple readers locking but the current
 implementation doesn't work under Windows. This commit fixes this using
 '_sopen' function instead of 'open'. The former allows to implement system
 level locking on Windows. The changes doesn't affect other platforms.
] 
[TAG pluggable-1-branch-point
Unknown tagger**20060111215554] 
[[project @ 2004-12-14 23:14:28 by ross]
ross**20041214231428
 repair for non-GHC
] 
[[project @ 2004-12-14 13:00:22 by simonmar]
simonmar**20041214130022
 Add instances of Typeable and Data, as requested on the ghc-users list
 a while back.
] 
[[project @ 2004-12-02 15:57:04 by ross]
ross**20041202155704
 Hugs only: replace the CBITS pragma (files relative to cbits) with
 CFILES (files relative to the root of the package).
] 
[[project @ 2004-11-30 08:48:28 by stolz]
stolz**20041130084829
 Test for gethostent(), since it's not available on all platforms
 
 Closes SF-bug#:	[ 1059296 ] gethostent is not available for NetBSD-1.6.2
 Submitted by:	Roland Illig
] 
[[project @ 2004-11-26 16:22:11 by simonmar]
simonmar**20041126162211
 Further integration with the new package story.  GHC now supports
 pretty much everything in the package proposal.
 
   - GHC now works in terms of PackageIds (<pkg>-<version>) rather than
     just package names.  You can still specify package names without
     versions on the command line, as long as the name is unambiguous.
 
   - GHC understands hidden/exposed modules in a package, and will refuse
     to import a hidden module.  Also, the hidden/eposed status of packages
     is taken into account.
 
   - I had to remove the old package syntax from ghc-pkg, backwards
     compatibility isn't really practical.
 
   - All the package.conf.in files have been rewritten in the new syntax,
     and contain a complete list of modules in the package.  I've set all
     the versions to 1.0 for now - please check your package(s) and fix the
     version number & other info appropriately.
 
   - New options:
 
 	-hide-package P    sets the expose flag on package P to False
 	-ignore-package P  unregisters P for this compilation
 
 	For comparison, -package P sets the expose flag on package P
         to True, and also causes P to be linked in eagerly.
 
         -package-name is no longer officially supported.  Unofficially, it's
 	a synonym for -ignore-package, which has more or less the same effect
 	as -package-name used to.
 
 	Note that a package may be hidden and yet still be linked into
 	the program, by virtue of being a dependency of some other package.
 	To completely remove a package from the compiler's internal database,
         use -ignore-package.
 
 	The compiler will complain if any two packages in the
         transitive closure of exposed packages contain the same
         module.
 
 	You *must* use -ignore-package P when compiling modules for
         package P, if package P (or an older version of P) is already
         registered.  The compiler will helpfully complain if you don't.
 	The fptools build system does this.
 
    - Note: the Cabal library won't work yet.  It still thinks GHC uses
      the old package config syntax.
 
 Internal changes/cleanups:
 
    - The ModuleName type has gone away.  Modules are now just (a
      newtype of) FastStrings, and don't contain any package information.
      All the package-related knowledge is in DynFlags, which is passed
      down to where it is needed.
 
    - DynFlags manipulation has been cleaned up somewhat: there are no
      global variables holding DynFlags any more, instead the DynFlags
      are passed around properly.
 
    - There are a few less global variables in GHC.  Lots more are
      scheduled for removal.
 
    - -i is now a dynamic flag, as are all the package-related flags (but
      using them in {-# OPTIONS #-} is Officially Not Recommended).
 
    - make -j now appears to work under fptools/libraries/.  Probably
      wouldn't take much to get it working for a whole build.
] 
[[project @ 2004-11-18 16:39:54 by stolz]
stolz**20041118163954
 Push down more feature-tests
] 
[[project @ 2004-11-05 18:28:41 by gklyne]
gklyne**20041105182841
 Add detail from the URI spec to the comment about functions
 to support escaping characters in URI strings.
] 
[[project @ 2004-11-05 17:29:09 by gklyne]
gklyne**20041105172909
 Changed password-obscuring logic to reflect late change in revised URI
 specification (password "anonymous" is no longer a special case).
 Updated URI test module to use function 'escapeURIString'.
 (Should unEscapeString be similarly updated?)
] 
[[project @ 2004-11-04 18:29:45 by panne]
panne**20041104182945
 * The old escapeChar is back and the new functions for escaping
   Chars/Strings are called escapeURIChar/escapeURIString now.
 
 * Moved all deprecated functions to a separate section.
] 
[[project @ 2004-10-28 15:57:10 by krasimir]
krasimir**20041028155710
 fix comment
] 
[[project @ 2004-10-27 13:07:48 by gklyne]
gklyne**20041027130748
 Updated URI module function names per:
 http://www.haskell.org//pipermail/cvs-libraries/2004-October/002916.html
 Small changes to documentation comments.
] 
[[project @ 2004-10-27 13:06:55 by gklyne]
gklyne**20041027130655
 Updated URI module function names per:
 http://www.haskell.org//pipermail/cvs-libraries/2004-October/002916.html
 Added test cases to give better covereage of module functions.
] 
[[project @ 2004-10-21 16:53:34 by panne]
panne**20041021165334
 Added deprecated functions "reserved" and "unreserved" for backwards compatibility
] 
[[project @ 2004-10-21 16:31:08 by panne]
panne**20041021163108
 * Removed redundant info from header for uniformity with other modules
 * Nuked all evil CVS keywords to keep us sane when merging
] 
[[project @ 2004-10-16 17:09:56 by ross]
ross**20041016170956
 adjustments to markup
] 
[[project @ 2004-10-15 08:27:27 by simonmar]
simonmar**20041015082728
 network depends on parsec, now.
] 
[[project @ 2004-10-14 16:14:45 by gklyne]
gklyne**20041014161445
 Replace Network.URI module in cvs.haskell.org repository with
 completely rewritten version.  The internal URI record structure is
 changed:  record updates using old field names will fail with the
 new version, but otherwise the interfaces are the same.
] 
[[project @ 2004-10-14 16:11:30 by gklyne]
gklyne**20041014161130
 Add URI unit test to cvs.haskell.org repository
] 
[[project @ 2004-10-08 12:04:49 by ross]
ross**20041008120449
 revert previous change, so now these includes don't define PACKAGE_*
] 
[[project @ 2004-10-08 08:42:53 by dons]
dons**20041008084253
 Tweak the PACKAGE_* #undefs in a couple of other places, too.
] 
[[project @ 2004-10-06 10:13:08 by ross]
ross**20041006101308
 make the evil PACKAGE_* hacks consistent
] 
[[project @ 2004-10-05 12:37:14 by simonmar]
simonmar**20041005123714
 gethostbyname()/gethostbyaddr() foreign imports should be "safe" (they block).
] 
[[project @ 2004-10-05 10:34:41 by simonmar]
simonmar**20041005103441
 Reverse argument order to recvBufFrom
] 
[[project @ 2004-10-05 10:30:50 by simonmar]
simonmar**20041005103050
 Add sendBufTo/recvBufFrom
 
 Submitted by: Tomasz Zielonka <t.zielonka at students.mimuw.edu.pl>
 
 With slight modifications by me: the functions take a Ptr a rather
 than Ptr CChar to match hGetBuf/hPutBuf.
] 
[[project @ 2004-09-22 09:14:22 by panne]
panne**20040922091422
 As a temporary measure, use an ultra-evil sledgehammer method to silence the
 PACKAGE_FOO clashes. The correct way of doing this would be splitting up
 HsPACKAGE.h and ghcconfig.h into two parts each: One part would be generated by
 autoheader and would contain the defines which are needed during package build
 time only. The other part would contain all kinds of stuff which is needed for
 using the given package (no PACKAGE_FOO defines here). For an example of this,
 see the OpenAL package. As an additional benefit, this would keep the namespace
 much cleaner, because 2nd kind of headers is typically smaller.
 
 No time for the real thing currently, hope the current workaround works...
] 
[[project @ 2004-09-18 12:49:59 by panne]
panne**20040918124959
 Make autoupdate 2.52 happy, mainly by using the new formats of AC_INIT and
 AC_OUTPUT. This has the nice side effect that all "packages" have now a name, a
 version, a bug-report address, and a tar name, yielding better output with
 "configure --help=recursive". Nuked an unused AC_STRUCT_ST_BLKSIZE test on the
 way.
] 
[[project @ 2004-09-09 06:55:47 by panne]
panne**20040909065547
 Unified the comments in (almost) empty aclocal.m4 files
] 
[[project @ 2004-09-03 07:46:56 by ross]
ross**20040903074656
 add empty aclocal.m4's (so we don't need aclocal)
] 
[[project @ 2004-09-02 15:18:08 by ross]
ross**20040902151809
 devolve some library-specific configuration
] 
[[project @ 2004-08-13 13:29:09 by simonmar]
simonmar**20040813132909
 Changes required be merge of backend-hacking-branch.  Mostly config.h
 ==> ghcconfig.h.
] 
[[project @ 2004-08-13 10:10:47 by simonmar]
simonmar**20040813101047
 Doc for sClose
] 
[[project @ 2004-08-13 10:10:29 by simonmar]
simonmar**20040813101029
 Add sClose
] 
[[project @ 2004-08-12 07:22:45 by stolz]
stolz**20040812072245
 Note caveats of sendTo/recvFrom: Hook up comments already present to Haddock-docs,
 elaborate a bit
] 
[[project @ 2004-06-03 21:30:51 by panne]
panne**20040603213051
 Track openFd-related changes
] 
[[project @ 2004-03-27 14:20:13 by panne]
panne**20040327142014
 Added "The Glasgow Haskell Compiler License" from the base package and
 refer to it from this package. Please correct me if this is wrong...
] 
[[project @ 2004-03-12 18:20:44 by sof]
sof**20040312182044
 Make 'send' and 'recv' be non-blocking under win32/mingw.
 
 Merge to STABLE.
] 
[[project @ 2004-03-01 15:34:08 by simonmar]
simonmar**20040301153408
 Add a commment + a ToDo
] 
[[project @ 2004-02-05 11:46:00 by ross]
ross**20040205114600
 Hugs only: use the configure-set variable INLINE_ONLY instead of
 `extern inline' (which works for gcc but not C99 compilers).
] 
[[project @ 2004-01-28 15:12:50 by simonmar]
simonmar**20040128151250
 buglet in hexDigit
] 
[[project @ 2003-12-29 17:16:42 by panne]
panne**20031229171642
 Updated my email address
] 
[[project @ 2003-11-15 22:31:17 by panne]
panne**20031115223117
 Decouple packages a bit more again: The prologue of the combined index is now
 generated via shell magic from the package prologues. As a nice side effect,
 some autoconf magic is gone, so configure.ac is effectively empty now (but not
 for long... :-)
] 
[[project @ 2003-11-11 11:50:53 by simonmar]
simonmar**20031111115053
 Convert to use Haddock 0.6's combined contents/index functionality for
 the hierarchical library docs.
 
 HEADS UP: you need Haddock 0.6 in order to run 'make html' in
 fptools/libraries now.
] 
[[project @ 2003-10-17 21:45:46 by sof]
sof**20031017214546
 added recvLen :: Socket -> Int -> IO (String, Int), returning the
 received string along with its length.
] 
[[project @ 2003-10-16 03:17:25 by sof]
sof**20031016031725
 win32 wibbles to have it work with Hugs
] 
[TAG ghc-6-2-branch-point
Unknown tagger**20060111215451] 
[[project @ 2003-09-10 09:18:42 by ross]
ross**20030910091842
 fix for systems (e.g. Darwin) where msg_control has type char *.
] 
[[project @ 2003-08-27 08:43:03 by simonmar]
simonmar**20030827084303
 Import Word8 in case one of the #types evaluates to it.
] 
[[project @ 2003-08-19 15:41:19 by panne]
panne**20030819154119
 Nuked FPTOOLS_MSGHDR_MSG_ACCRIGHTS and FPTOOLS_MSGHDR_MSG_CONTROL
 tests. Use autoconf's own macros for dealing with struct members.
] 
[[project @ 2003-08-05 14:07:49 by simonpj]
simonpj**20030805140750
 Add a couple of imporst to make these work on Windows
] 
[[project @ 2003-08-04 16:59:05 by ross]
ross**20030804165905
 fix minor incompatibility (exposed by recently added signature)
] 
[[project @ 2003-08-04 13:35:12 by panne]
panne**20030804133512
 To make Haddock happy, add a type signature for throwSocketErrorIfMinus1_
] 
[[project @ 2003-08-04 12:27:46 by panne]
panne**20030804122747
 * Improve Haddock documentation by using finer-grained imports
 * Use "with" instead of deprecated "withObject"
] 
[[project @ 2003-07-25 13:46:03 by ross]
ross**20030725134604
 make HsNet.h include config.h (since it uses it)
] 
[[project @ 2003-07-16 17:47:31 by sof]
sof**20030716174732
 [win32] track GHC.Conc.asyncDoProc changes
] 
[[project @ 2003-07-08 15:46:42 by panne]
panne**20030708154642
 Fixed some Haddock links.
] 
[[project @ 2003-07-08 15:16:45 by panne]
panne**20030708151645
 Update my email address
] 
[[project @ 2003-07-03 15:24:01 by sof]
sof**20030703152402
 mingw/winsock-only:
   Non-blocking implementation of Network.Socket.accept
   (built on top of GHC.Conc.asyncDoProc.)
] 
[[project @ 2003-06-10 10:58:06 by simonmar]
simonmar**20030610105806
 Move Network.Sendfile into the unix package to fix the build.
] 
[[project @ 2003-06-06 22:27:13 by stolz]
stolz**20030606222713
 Steal handleToFd from System.Posix.IO.
] 
[[project @ 2003-06-06 12:49:00 by stolz]
stolz**20030606124900
 Move System.Sendfile to Network.Sendfile:
  - Linux can sendfile() to a fd, but BSD couldn't
  - sendfile() on Linux is probably now disabled on most builds because of
      the LARGEFILE issue
  => Change API to use type Socket
] 
[[project @ 2003-05-17 00:11:30 by ross]
ross**20030517001130
 Rename per-package configuration files from $(PACKAGE).conf.* to
 package.conf.*, making them easier to find (since each package is
 in a separate directory anyway).
] 
[[project @ 2003-05-16 10:14:23 by simonmar]
simonmar**20030516101423
 Now that we have auto packages, it makes sense to keep all the
 interfaces for hierarchical libraries in the same directory tree.  So
 now, instead of putting interfaces for package P in $libdir/imports/P,
 we put them all in $libdir/imports.
 
 Interfaces for old non-auto non-hierarchical packages now go in
 $libdir/hslibs-imports/P for package P.
] 
[[project @ 2003-05-08 16:07:57 by ross]
ross**20030508160757
 fix a typo (msg_accrights) + cast to remove a C compiler warning.
] 
[[project @ 2003-04-11 23:39:44 by ross]
ross**20030411233944
 Hugs only: add a CBITS "pragma" to tell the Hugs conversion script which
 files from <package>/cbits should be linked with the module by ffihugs,
 e.g. {-# CBITS HsNet.c initWinSock.c ancilData.c #-}
] 
[[project @ 2003-04-11 10:11:25 by ross]
ross**20030411101125
 rename GHC.Posix as System.Posix.Internals
] 
[TAG before-galois-hbm
Unknown tagger**20060111215408] 
[TAG galois-hbm-head
Unknown tagger**20060111215408] 
[[project @ 2003-03-18 11:19:01 by stolz]
stolz**20030318111901
 Avoid overlapping AF_* warning.
] 
[[project @ 2003-03-17 15:44:29 by simonmar]
simonmar**20030317154429
 Add missing case for SO_LINGER to packSocketOpt
] 
[[project @ 2003-03-08 23:03:49 by panne]
panne**20030308230349
 More markup fixes...
] 
[[project @ 2003-03-07 22:38:20 by sof]
sof**20030307223820
 Storable{ServiceEntry}.peek: s_port is a short under WinSock
] 
[[project @ 2003-03-07 21:22:28 by sof]
sof**20030307212228
 Storable{ProtocolEntry}.peek: p_proto is a CShort with WinSock; make getServiceByName and getServiceByPort compile again
] 
[[project @ 2003-03-05 11:28:11 by ross]
ross**20030305112811
 Fix another of the permutations of #if's in here (!GHC && !cygwin).
] 
[[project @ 2003-03-05 09:52:23 by simonmar]
simonmar**20030305095223
 Make this compile
] 
[[project @ 2003-03-04 15:35:01 by stolz]
stolz**20030304153501
 - avoid catch(catch(catch(..))) in getEntries
 - derive Read & Show instances where possible
 - CSE for NoSuchThing-errors
] 
[[project @ 2003-03-04 02:55:24 by sof]
sof**20030304025527
 Be a bit more serious about error handling when using WinSock:
  - correctly&nicely propagate underlying error code when
    raising IOErrors.
  - perform under-the-hood initialisation; withSocketsDo
    is no longer required in user code.
] 
[[project @ 2003-02-14 06:18:07 by sof]
sof**20030214061807
 no domain sockets support under win32
] 
[[project @ 2003-02-14 06:16:39 by sof]
sof**20030214061639
 Hugs now support socketToHandle (NT only, not Win9x)
] 
[[project @ 2003-02-14 06:15:56 by sof]
sof**20030214061556
 initWinSock: for Hugs, create sockets by default in non-overlapped mode.
 Required by the CRT when passing socket handles to _open_osfhandle() (and
 fdopen().)
] 
[[project @ 2003-02-12 10:11:24 by simonmar]
simonmar**20030212101124
 Fix indentation inside #if !__HUGS__
] 
[[project @ 2003-02-11 04:38:03 by sof]
sof**20030211043804
 Hugs friendliness
] 
[[project @ 2003-02-11 04:35:29 by sof]
sof**20030211043529
 steer clear of Rts.h
] 
[[project @ 2003-02-11 04:34:05 by sof]
sof**20030211043405
 MSVC-friendly defn for INLINE
] 
[TAG before-speceval_2
Unknown tagger**20060111215345] 
[[project @ 2003-01-17 16:34:02 by sof]
sof**20030117163402
 mingw: make it compile
] 
[[project @ 2003-01-16 15:46:30 by stolz]
stolz**20030116154631
 - add more meaning to error message in Socket.hsc
 - export Socket.MkSocket so that Network.hs can see it
 - modify Network.hs to distinguish different socket types
 - change type from datagram to stream for Unix-sockets so the user can
     call Network.accept and gets what he expects
 - delete Network.hs^W^W^W
 
 AF_UNIX breakage noticed by: Peter Thiemann
] 
[[project @ 2003-01-13 14:12:23 by simonmar]
simonmar**20030113141223
 Network.accept shouldn't fail if we can't look up the remote host
 using reverse DNS.  Instead, just fall back to using the IP address as
 a String (A.B.C.D).
 
 MERGE TO STABLE
] 
[[project @ 2003-01-09 13:34:35 by simonmar]
simonmar**20030109133435
 Fix several of the operations in here, which might leak sockets in the
 event of an error.
] 
[[project @ 2002-12-18 16:29:26 by simonmar]
simonmar**20021218162926
 "Auto" packages.
 
 The big change here is that it is no longer necessary to explicitly
 say '-package X' on the command line if X is a package containing
 hierarchical Haskell modules.  All packages marked "auto" contribute
 to the import path, so their modules are always available.  At link
 time, the compiler knows which packages are actually used by the
 program, and it links in only those libraries needed.
 
 There's one exception: one-shot linking.  If you link a program using
 
     ghc -o prog A.o B.o ...
 
 then you need to explicitly add -package flags for each package
 required (except base & haskell98) because the compiler has no
 information about the package dependencies in this case.
 
 Package configs have a new field: auto, which is either True or False.
 Non-auto packages must be mentioned on the command-line as usual.
 Non-auto packages are still required for:
 
   - non-hierarchical libraries (to avoid polluting the module namespace)
 
   - packages with no Haskell content
 
   - if you want more than one version of a package, or packages
     providing overlapping functionality where the user must decide
     which one to use.
 
 Doc changes to follow...
] 
[[project @ 2002-12-12 13:42:47 by ross]
ross**20021212134247
 Changes to the exception interface, as discussed on the libraries list.
 
 1) Move bracket and bracket_ from GHC.Exception (and hence System.IO)
    to haskell98/IO.hs.  These two should now never be used (except in
    all-H98 programs), and this will save users of the new libraries from
    having to hide them.  Use the ones in Control.Exception instead.
 
 2) Define
 
         type IOError = IOException      -- was Exception
 
    leaving the type of Prelude.ioError as IOError -> IO a,
    but adding to Control.Exception
 
         throwIO :: Exception -> IO a
 
 The result is a type distinction between the variants of catch and try:
 
 	Prelude.catch           :: IO a -> (IOError -> IO a) -> IO a
 	Control.Exception.catch :: IO a -> (Exception -> IO a) -> IO a
 	System.IO.Error.try     :: IO a -> IO (Either IOError a)
 	Control.Exception.try   :: IO a -> IO (Either Exception a)
 
 These are breaking changes: the first one affects only import lists,
 but the second will bite in the following situations:
 
 - using ioError on general Exceptions: use throwIO instead.
 
 - using throw on IOErrors: if in the IO monad, use ioError instead.
   Otherwise, use throw (IOException e), but why are you throwing
   IO exceptions outside of the IO monad?
 
 Minor changes:
 - System.IO.Error now exports catch and try
 - moved try from GHC.Exception to System.IO.Error, because it's
   portable and can be shared by Hugs.
] 
[[project @ 2002-12-05 01:12:45 by sof]
sof**20021205011245
 Avoid running into haddock trouble if no symlink support.
 
 Merge to STABLE.
] 
[[project @ 2002-12-04 20:13:52 by sof]
sof**20021204201352
 Provide my_inet_ntoa() under WinSock also.
 
 Merge to STABLE.
] 
[[project @ 2002-11-22 13:52:10 by simonmar]
simonmar**20021122135210
 Should be #including config.h not Rts.h here
] 
[[project @ 2002-10-25 02:34:30 by mthomas]
mthomas**20021025023431
 Follow Simon M's suggestion re HsInt vs StgInt in GUM network changes.
] 
[[project @ 2002-10-24 11:25:12 by mthomas]
mthomas**20021024112512
 Definition for StgInt from StgTypes.h.
] 
[[project @ 2002-10-19 10:42:24 by stolz]
stolz**20021019104224
 Retro Police: There are hosts w/o in_addr_t (e.g. SuSE 7.0)
] 
[[project @ 2002-10-18 15:26:29 by simonmar]
simonmar**20021018152629
 It is better not to use #def in .hsc files, otherwise we have to
 arrange to include the appropriate _hsc.h file in the package.
 
 There was one use of #def in Network.Socket: my_inet_ntoa, and because
 of a bug in the build system the _hsc.o file wasn't being included in
 the library when SPLIT_OBJS is on.  The result is that if you compile
 against the net package in 5.04.1 and turn on optimisation (so that
 inet_ntoa gets inlined), you get a link error.
 
 This commit moves my_inet_ntoa into the HsNet.h header file, and keeps
 a static version in the library just in case the compiler fails to
 inline it (the same way we do it for all the inline functions in the
 base package).
] 
[[project @ 2002-09-20 14:19:51 by simonmar]
simonmar**20020920141951
 Network.BSD.symlink and Network.BSD.readlink are now deprecated, in
 favour of System.Posix.createSymbolicLink and
 System.Posix.readSymbolicLink respectively.
] 
[[project @ 2002-08-28 17:21:28 by sof]
sof**20020828172128
 Added
 
    Socket.sendFd :: Socket -> CInt -> IO ()
    Socket.recvFd :: Socket -> IO CInt
 
 which provides a simpler interface for transmitting
 file descriptors. Note that sendFd will call close()
 on the file descriptor after it has been transmitted.
 
 The more general functions for transmitting ancillary
 data are still kept around, at least for now.
] 
[TAG meta-haskell-merge8
Unknown tagger**20060111215319] 
[[project @ 2002-07-30 17:26:29 by sof]
sof**20020730172629
 header wibble
] 
[TAG meta-haskell-merge7
Unknown tagger**20060111215318] 
[[project @ 2002-07-21 14:10:18 by panne]
panne**20020721141018
 Corrected commas in export list
] 
[[project @ 2002-07-15 21:04:57 by sof]
sof**20020715210457
 recv,recvFrom:
   * Have these map zero-byte results from the underlying
     APIs to an EOF IOError, bringing them into line with
     what the  hGet* actions do when interpreting read()
     results.
   * If the length argument is zero or less, raise an
     InvalidArgument IOError.
 
 Alters user-visible behaviour (for the better, I hope), so
 it _shouldn't_ be merged to STABLE.
] 
[[project @ 2002-07-11 23:35:56 by sof]
sof**20020711233556
 recvAncillary (MSG_ACCRIGHTS case): allocate the return buffer.
 
 Operating in near darkness here, as I haven't got access to a
 box which uses the older msghdr structs.
] 
[TAG meta-haskell-merge6
Unknown tagger**20060111215315] 
[[project @ 2002-07-09 06:16:15 by panne]
panne**20020709061615
 Fixed my email address
] 
[TAG ghc-ndp2b-trunk-merge-frontier
Unknown tagger**20060111215314] 
[TAG ghc-ndp2b-updated-from-trunk1
Unknown tagger**20060111215314] 
[[project @ 2002-07-02 15:40:43 by sof]
sof**20020702154043
 fix c_close CPP silly
] 
[[project @ 2002-07-02 13:13:37 by simonmar]
simonmar**20020702131337
 Add descriptions to the top level of each package documentation
] 
[[project @ 2002-07-02 11:27:32 by simonmar]
simonmar**20020702112732
 Be more exception-safe in withSocketsDo (SourceForge #546756).
] 
[[project @ 2002-07-01 18:38:11 by sof]
sof**20020701183813
 WinSock employs the 'stdcall'.
] 
[[project @ 2002-06-27 08:11:26 by ken]
ken**20020627081126
 Don't #define _SOCKADDR_LEN on alpha-dec-osf3,
 so that we get msghdr.msg_accrights
] 
[[project @ 2002-06-24 14:40:03 by simonmar]
simonmar**20020624144003
 Makefile updates for generating docs with Haddock:
 
 - explicitly depend on package base
 - set SRC_HADDOCK_OPTS in some places
] 
[[project @ 2002-06-21 13:56:19 by simonmar]
simonmar**20020621135619
 Title for Haddock docs.
] 
[[project @ 2002-06-21 13:53:19 by simonmar]
simonmar**20020621135320
 Haddockish docs (not complete, but no worse than what we had before).
] 
[[project @ 2002-06-21 12:45:56 by simonmar]
simonmar**20020621124556
 Haddock-ise
] 
[TAG meta-haskell-merge4
Unknown tagger**20060111215301] 
[TAG meta-haskell-merge5
Unknown tagger**20060111215301] 
[[project @ 2002-06-20 16:12:32 by simonmar]
simonmar**20020620161232
 use $(includedir) and INSTALL_INCLUDES rather than overriding $(datadir)
] 
[[project @ 2002-06-20 16:12:11 by simonmar]
simonmar**20020620161211
 first pass to make this Haddock-friendly
] 
[[project @ 2002-06-20 15:59:01 by simonmar]
simonmar**20020620155901
 Initial pass to get these going through Haddock
] 
[[project @ 2002-06-18 12:34:12 by simonmar]
simonmar**20020618123412
 oops, totally messed up the previous patch.  That's what comes from
 not using context diffs...
] 
[[project @ 2002-06-18 10:25:05 by simonmar]
simonmar**20020618102505
 Support the IP_TTL socket option (patch from Dominic Steinitz; thanks
 Dominic!)
] 
[[project @ 2002-05-31 21:14:12 by sof]
sof**20020531211412
 use result of msghdr feature tests
] 
[[project @ 2002-05-31 14:56:38 by sof]
sof**20020531145638
 Tweaked to also work with the older BSD members of 'struct msghdr'.
 
 Used by: cygwin + I've tentatively enabled them for Solaris also, since
 that _appears_ to be the reason why the HEAD nightly builds are failing.
] 
[[project @ 2002-05-31 14:50:40 by sof]
sof**20020531145040
 cygwin: let's give UNIX domain sockets a go..
] 
[[project @ 2002-05-31 14:18:39 by sof]
sof**20020531141839
 make recent changes work for cygwin
] 
[[project @ 2002-05-15 17:08:45 by sof]
sof**20020515170845
 {send,recv}Ancillary: potentially blocking ops; cope.
] 
[[project @ 2002-05-07 23:43:33 by sof]
sof**20020507234333
 recvAncillary(): use CMSG_SPACE() and CMSG_LEN() macros
] 
[[project @ 2002-05-06 23:17:03 by sof]
sof**20020506231703
 mkSocket: constructing a Socket from a file desc
] 
[[project @ 2002-05-03 00:27:21 by sof]
sof**20020503002721
 added sOL_SOCKET, sCM_RIGHTS constants
] 
[[project @ 2002-05-01 23:20:21 by ken]
ken**20020501232021
 #define _SOCKADDR_LEN on alpha-dec-osf3, so that we get msghdr.msg_control
] 
[[project @ 2002-05-01 22:18:48 by sof]
sof**20020501221848
 include <sys/uio.h>, dont assume <sys/socket.h> does so
] 
[[project @ 2002-05-01 17:52:53 by sof]
sof**20020501175253
 make cbits/ additions work with new mk/ setup, split or no-split; .a or .o
] 
[[project @ 2002-05-01 17:50:24 by sof]
sof**20020501175024
 tidyup:
 - define DOMAIN_SOCKET_SUPPORT and WITH_WINSOCK and use these
   instead of platform-specific tests.
 - socketpair() not supported by WinSock.
] 
[[project @ 2002-05-01 05:49:17 by sof]
sof**20020501054918
 Added sendAncillary and recvAncillary to support the
 transmission of ancillary data along Sockets -- main
 motivation is to support the passing of file descriptors
 over domain sockets.
 
 Testing that this actually provides what it claims to do
 remains to be done ;)
] 
[[project @ 2002-05-01 05:42:42 by sof]
sof**20020501054242
 hook up cbits/
] 
[[project @ 2002-05-01 05:42:10 by sof]
sof**20020501054210
 wrappers for sending/receiving ancillary socket data via sendmsg() / recvmsg()
] 
[[project @ 2002-04-23 18:58:04 by sof]
sof**20020423185804
 added socketPair: socketpair() wrapper
] 
[[project @ 2002-03-30 17:14:58 by sebc]
sebc**20020330171458
 Fix the definition of CSaFamily for darwin
] 
[[project @ 2002-03-28 15:19:25 by sof]
sof**20020328151925
 Socket.hsc:
  gcc-2.95.3-5 under cygwin requires "." to be explicitly
  added to the -I path in order to be able to locate stuff
  like "Network/Socket_hsc.h". Odd.
] 
[[project @ 2002-03-27 00:15:02 by sof]
sof**20020327001502
 CSaFamily: accidental #ifdef flippage
] 
[[project @ 2002-03-26 21:01:18 by sof]
sof**20020326210118
 cygwin-friendly defn of CSaFamily
] 
[[project @ 2002-03-26 10:54:28 by simonmar]
simonmar**20020326105428
 Changes for Darwin
 
 From: Wolfgang Thaller <wolfgang.thaller at gmx.net>
] 
[[project @ 2002-03-13 12:14:33 by simonmar]
simonmar**20020313121433
 Add missing call to GHC.Posix.setNonBlockingFD on the socket returned
 from accept.
] 
[[project @ 2002-02-17 15:22:11 by panne]
panne**20020217152211
 Synch import_dirs with the result of "make install". It could have
 been fixed the other way round, but fixing the config files makes more
 sense to me. Furthermore, I've got a 50% chance of taking the correct
 route by pure accident... ;-)
] 
[[project @ 2002-02-14 14:10:21 by simonmar]
simonmar**20020214141021
 minor warning-cleanups
] 
[[project @ 2002-02-14 14:10:00 by simonmar]
simonmar**20020214141000
 wibble
] 
[[project @ 2002-02-14 14:09:47 by simonmar]
simonmar**20020214140947
 Don't need to omit URI if the system doesn't supply regex, now we
 provide our own regex library.
] 
[[project @ 2002-02-13 12:04:00 by simonmar]
simonmar**20020213120400
 - fix up some options
 - omit the URI library if we don't have Text.Regex (for now)
] 
[[project @ 2002-02-13 12:03:12 by simonmar]
simonmar**20020213120312
 Add -cpp
] 
[[project @ 2002-02-13 12:02:10 by simonmar]
simonmar**20020213120224
 Add -fglasgow-exts
] 
[[project @ 2002-02-12 10:52:47 by simonmar]
simonmar**20020212105247
 wibbles
] 
[[project @ 2002-02-11 12:30:23 by simonmar]
simonmar**20020211123023
 Include cbits/initWinSock.c if necessary
] 
[[project @ 2002-02-11 12:30:09 by simonmar]
simonmar**20020211123009
 Catch up with rerranged directories
] 
[[project @ 2002-02-07 11:13:31 by simonmar]
simonmar**20020207111331
 Various updates after rearranging the directory structure in the
 repository (there wasn't any history worth keeping, and it's better to
 do this now before we go 'live').
 
 Packages under 'compat' are backwards-compatibility packages which
 should provide an interface equivalent to the current hslibs setup.
 There are a few packages still missing.
] 
[[project @ 2002-02-06 15:40:42 by simonmar]
simonmar**20020206154042
 Catch up with hslibs/net
] 
[[project @ 2001-08-17 12:51:08 by simonmar]
simonmar**20010817125108
 Track updates to hslibs/net
] 
[[project @ 2001-08-02 11:21:51 by simonmar]
simonmar**20010802112151
 Move the URI over library now that we have a Regex.
] 
[[project @ 2001-08-01 14:48:30 by simonmar]
simonmar**20010801144830
 Add the CGI library ("experimental", "non-portable (uses Control.Exception)").
] 
[[project @ 2001-08-01 13:33:27 by simonmar]
simonmar**20010801133327
 Package 'net' moved over.  URI & CGI still missing because they have
 dependencies on other bits that haven't made it over yet.
] 
> {
}

Context:

[FIX #2653: fix test for old GHC
Ross Paterson <ross at soi.city.ac.uk>**20081004135832
 
 Tests for old GHCs like
 
 #if __GLASGOW_HASKELL__ < 606
 
 also succeed for non-GHC, and should be
 
 #if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < 606
] 
[TAG 6.10 branch has been forked
Ian Lynagh <igloo at earth.li>**20080919123439] 
[Check sockaddr.sa_len by configure
Iku Iwasa <iku.iwasa at gmail.com>**20080601084451] 
[Follow library changes
Ian Lynagh <igloo at earth.li>**20080904114653] 
[make this build with base-4
Simon Marlow <marlowsd at gmail.com>**20080902110045] 
[add category field
Ross Paterson <ross at soi.city.ac.uk>**20080824003013] 
[Make network work with extensible exceptions
Ian Lynagh <igloo at earth.li>**20080805125755] 
[TAG GHC 6.8.3 release
Ian Lynagh <igloo at earth.li>**20080619124351] 
[TAG 2008-06-06
Ian Lynagh <igloo at earth.li>**20080605235627] 
[TAG 2.2.0.0 release
Ian Lynagh <igloo at earth.li>**20080604123019] 
[Bump version number to 2.2.0.0
Ian Lynagh <igloo at earth.li>**20080604121000
 2.1.1.0 might have been sufficient - I haven't checked what all the
 patches since 2.1.0.0 do.
] 
[Fix SO_PEERCRED and struct ucred support under glibc 2.8.
Bryan O'Sullivan <bos at serpentine.com>**20080528201859] 
[Support abstract unix sockets
Lennart Kolmodin <kolmodin at gentoo.org>**20080326212428] 
[Type (opertaions -> operations)
Ian Lynagh <igloo at earth.li>**20080325201023
 Spotted by larsv in trac #2173.
] 
[Fix listenOn and getNameInfo to work on NetBSD
Iku Iwasa <iku.iwasa at gmail.com>**20080216123753
 Network.hs: specify addrSocketType=Stream for getAddrInfo in listen' function.
 Network/Socket.hsc: poke length of struct sockaddr_* in pokeSockAddr function.
] 
[FIX #1129: recvFrom blocks on Windows.
Simon Marlow <simonmar at microsoft.com>**20080220161001
 This is only a partial fix: it works with the threaded RTS now.
 Realistically, I don't think we're going to get this working with the
 non-threaded RTS any time soon.
] 
[eliminate warning on Windows
Simon Marlow <simonmar at microsoft.com>**20080220155706] 
[Catch up with changes to GHC.Handle.fdToHandle'
Simon Marlow <simonmar at microsoft.com>*-20071121084901] 
[Catch up with changes to GHC.Handle.fdToHandle'
Simon Marlow <simonmar at microsoft.com>**20071121084901] 
[fix test to work with non-GHC implementations
Ross Paterson <ross at soi.city.ac.uk>**20071118173815] 
[add a signature (to avoid Hugs's non-standard handling of the MR)
Ross Paterson <ross at soi.city.ac.uk>**20071118173728] 
[fix ifdef for Hugs
Ross Paterson <ross at soi.city.ac.uk>**20071117195725] 
[Match *-solaris2*, not just *-solaris2, in configure.ac; fixes #1857
Ian Lynagh <igloo at earth.li>**20071110180525
 Patch from Christian Maeder
] 
[TAG GHC 6.8.1 release
Ian Lynagh <igloo at earth.li>**20071110011105] 
[TAG 2.1.0.0 release
Ian Lynagh <igloo at earth.li>**20071110010955] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20071027124850] 
[Compatability with ghc-6.4
Duncan Coutts <duncan at haskell.org>**20071018172327
 Define bracketOnError locally and use openFd when building with ghc-6.4
] 
[Specify build-type: Configure
Duncan Coutts <duncan at haskell.org>**20071018172434] 
[Follow openFd -> fdToHandle' rename
Ian Lynagh <igloo at earth.li>**20070722184622] 
[Sleep for a second before trying to connect in the net001 test
Ian Lynagh <igloo at earth.li>**20070717122449
 With just a yield, in threaded1/2 ways the client was sometimes trying
 to connect before the server was listening.
] 
[Quieten build on OS X.
Bryan O'Sullivan <bos at serpentine.com>**20070627213703] 
[Fix use of autoconf HAVE_DECL_* macros.
Bryan O'Sullivan <bos at serpentine.com>**20070627213617
 It turns out that the macros are always defined, unlike most others.
] 
[Make IPv6 address handling more portable and robust.
Bryan O'Sullivan <bos at serpentine.com>**20070627182816
 
 1.  No longer rely on the in6_addr structure's s6_addr32 field, which
     is not available on many platforms.  Use s6_addr instead.
 
 2.  Add a number of AI_* flags that are required by RFC 3493.  Not all
     of these flags are implemented on all systems, but on systems
     where they *are* implemented, we get runtime exceptions if we
     don't make them available.
 
 3.  To let users check whether a particular AI_* flag is implemented,
     we introduce the addrInfoFlagImplemented function.
 
 4.  Fix the autoconf macro used to check for AI_* flag availability.
     The previous check wasn't portable, and caused flags to appear not
     to be present when they really were.
] 
[FIX net001 (Windows): get some calling conventions right
Simon Marlow <simonmar at microsoft.com>**20070703082831] 
[Fix further build problems when IPv6 isn't available
Simon Marlow <simonmar at microsoft.com>**20070604105407] 
[Try a hopefully more portable test for RFC 3493 API compatibility.
Bryan O'Sullivan <bos at serpentine.com>**20070602050225] 
[Fix build failure if IPv6 is not available.
Bryan O'Sullivan <bos at serpentine.com>**20070601160943] 
[Fixed support for platforms with IPv6 but no AI_ADDRCONFIG
Michael D. Adams <t-madams at microsoft.com>**20070604153642] 
[--configure-option and --ghc-option are now provided by Cabal
Ross Paterson <ross at soi.city.ac.uk>**20070604115612] 
[Invoke the preprocessor portably.
Bryan O'Sullivan <bos at serpentine.com>**20070408171912] 
[Add IPv6 support to Network.
Bryan O'Sullivan <bos at serpentine.com>**20070404223751
 
 The public API remains unchanged; it can now transparently handle IPv6
 addresses and sockets.
] 
[Add IPv6 support to Network.Socket.
Bryan O'Sullivan <bos at serpentine.com>**20070404222036
 
 The only public API changes are to Network.Socket, which has the following
 exported names added (no existing names have been removed):
 
     -- IPv6 address components
     HostAddress6
     FlowInfo
     ScopeID
 
     -- Name -> address lookup
     getAddrInfo
     AddrInfo
     AddrInfoFlag
     defaultHints
 
     -- Address -> name lookup
     getNameInfo
     NameInfoFlag
 
 The SockAddr type acquires a new branch, SockAddr6.  (This could cause
 new "non-exhaustive matches" warnings when compiling pre-existing client
 code that pattern-matches on SockAddr values.  However, it will not
 cause runtime pattern failure errors in clients using the pre-existing
 IPv4 entry points, as they will never see IPv6 addresses.)
 
 This change moves a few type names from Network.BSD to Network.Socket:
 
     HostName
     ServiceName
 
 These names are still re-exported from Network.BSD, so pre-existing code
 should not be affected.
] 
[Remove Makefile and package.conf.in (used in the old GHC build system)
Ian Lynagh <igloo at earth.li>**20070524145815] 
[add includes: field
Simon Marlow <simonmar at microsoft.com>**20070517095001] 
[TAG GHC 6.6.1 release
Ian Lynagh <igloo at earth.li>**20070428195851] 
[TAG 2.0.1 release
Ian Lynagh <igloo at earth.li>**20070428195744] 
[TAG GHC 6.6.1 release
Ian Lynagh <igloo at earth.li>**20070424113929] 
[TAG Version 2.0.1
Ian Lynagh <igloo at earth.li>**20070424113858] 
[Bump version to 2.0.1
Ian Lynagh <igloo at earth.li>**20070422195222] 
[Follow Cabal changes in Setup.*hs
Ian Lynagh <igloo at earth.li>**20070418121338] 
[Fix configure with no --with-cc
Ian Lynagh <igloo at earth.li>**20070415195109] 
[Fix -Wall warnings
Ian Lynagh <igloo at earth.li>**20070411012234] 
[Pass configure options through to ./configure, and allow CC to be passed in
Ian Lynagh <igloo at earth.li>**20070411000904] 
[Make Setup.hs suitable for building in a GHC tree
Ian Lynagh <igloo at earth.li>**20070407174146] 
[apply changes from patch "make this test deterministic on a multiprocessor" in testsuite
Simon Marlow <simonmar at microsoft.com>**20070221142822] 
[tests for use with GHC's test framework, moved from the testsuite
Simon Marlow <simonmar at microsoft.com>**20070221142258] 
[README about building from darcs
Ross Paterson <ross at soi.city.ac.uk>**20070218110201] 
[don't install Typeable.h, fixes #1106
Simon Marlow <simonmar at microsoft.com>**20070201125821] 
[network doesn't really need the html package
Ian Lynagh <igloo at earth.li>**20070111122348] 
[includes -> install-includes
Ross Paterson <ross at soi.city.ac.uk>**20060829123744] 
[change title to Haskell Hierarchical Libraries
Ross Paterson <ross at soi.city.ac.uk>**20060827131348] 
[exclude Setup.hs from build
Ross Paterson <ross at soi.city.ac.uk>**20060824183533] 
[add boilerplate Setup.hs
Ross Paterson <ross at soi.city.ac.uk>**20060824115019] 
[Update Network.BSD header to not mention symlinks.
Ian Lynagh <igloo at earth.li>**20060823184314] 
[Removed Network.CGI from the network package. A backwards-compatible new Network.CGI is available in the cgi package.
bringert at cs.chalmers.se**20060814095652] 
[remove deprecated Network.BSD.{readlink,symlink}
Simon Marlow <simonmar at microsoft.com>**20060811153755] 
[bump version to 2.0
Simon Marlow <simonmar at microsoft.com>**20060811152554] 
[depend on html (for the time being)
Simon Marlow <simonmar at microsoft.com>**20060810121424] 
[initWinSock(): have defn match proto
sof at galois.com**20060613224903] 
[only GHC has rtsSupportsBoundThreads
Ross Paterson <ross at soi.city.ac.uk>**20060531200123] 
[add files used by configure
Ross Paterson <ross at soi.city.ac.uk>**20060518174356] 
[Import unsafePerformIO
Sven Panne <sven.panne at aedion.de>**20060507171832] 
[Import MVar type
Sven Panne <sven.panne at aedion.de>**20060507170308] 
[Add various address families
Simon Marlow <simonmar at microsoft.com>**20060503081915] 
[Fix for #265, build problem on AIX
Simon Marlow <simonmar at microsoft.com>**20060316143337
 Not the fix from the ticket, but this one at least doesn't require
 modifying the configure script.
] 
[workaround for non-thread-safety of some functions in Network.BSD
Simon Marlow <simonmar at microsoft.com>**20060126153014
 Various functions in Network.BSD are non-thread-safe,
 eg. getHostByName, because the underlying gethostbyname() provided by
 the C library uses static storage.  The workaround here is to use a
 giant lock around these functions.
 
 In some cases, even the API we provide is itself unsafe, relying on
 implicit state (eg. getHostEntry), but this commit makes no attempt to
 fix that.  We should deprecate this library in favour of a complete
 replacement at some point (before 6.6 would be nice).
 
 Thanks to Einar Kartunnen for the patch.
] 
[Fix Ticket 647, Socket bug on Mac OS X
wolfgang.thaller at gmx.net**20060121050509
 Patch kindly provided by Greg Wright
] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen at complete.org>**20060112154134] 
[TAG cmm-merge2
Unknown tagger**20060111215654] 
[[project @ 2005-10-21 10:53:17 by simonmar]
simonmar**20051021105317
 fixes to send, recv, and accept to work properly with the threaded RTS
 on Windows.
] 
[[project @ 2005-10-14 14:16:48 by sof]
sof**20051014141648
 getProtocolBy{Name,Number}: use correct function names in excns. Merge to STABLE
] 
[[project @ 2005-10-13 17:18:27 by sof]
sof**20051013171827
 avoid introducing in_addr_t typedef
] 
[[project @ 2005-09-21 12:54:57 by ross]
ross**20050921125457
 add AC_CANONICAL_HOST to configure, as it tests $host.
] 
[[project @ 2005-09-20 09:47:48 by ross]
ross**20050920094748
 make the network package independent
] 
[[project @ 2005-09-19 23:24:31 by ross]
ross**20050919232431
 For compilers other than MSVC and GCC, assume inline has the C99 semantics.
] 
[[project @ 2005-07-21 12:54:33 by simonmar]
simonmar**20050721125433
 Hack Makefiles so that 'make distclean' works even if the tree has not
 been configured, or 'make distclean' has already been run.
 
 This is to solve problems caused by 'make distclean' removing files
 that it needs itself - previously we were arranging to remove certain
 files right at the end of cleaning, but this is fragile.  So now we
 assume that e.g. the X11 library is always enabled when we're
 cleaning.
] 
[[project @ 2005-07-19 22:03:07 by gklyne]
gklyne**20050719220307
 Fix subtle bug in relativeFrom, not being an exact inverse of relativeTo when the
 base URI contains a "non-directory" tarling path segment.
] 
[[project @ 2005-07-19 22:01:27 by gklyne]
gklyne**20050719220127
 Added some additional test cases raised by discussion on URI at w3.org mailing list about 2005-07-19.  The test p[roposed by this discussion exposed a subtle bug in relativeFrom not being an exact inverse of relativeTo.
] 
[[project @ 2005-07-19 09:26:04 by ross]
ross**20050719092604
 use $host instead of $target (mainly affects builds with cabal)
] 
[[project @ 2005-07-07 14:58:33 by simonmar]
simonmar**20050707145833
 Prevent calling sClose and other socket operations on a socket that
 has been converted to a Handle with socketToHandle.  Due to the
 finalizer on Handles, strange events can ensue if direct socket
 operations are used after socketToHandle (see #1219920).
] 
[[project @ 2005-07-06 10:58:56 by simonmar]
simonmar**20050706105856
 Add some documentation for socketToHandle
] 
[[project @ 2005-07-04 10:23:26 by ross]
ross**20050704102326
 Hugs only: more precise imports
] 
[[project @ 2005-06-06 16:31:44 by gklyne]
gklyne**20050606163144
 Added two new test cases.
] 
[[project @ 2005-05-31 17:18:36 by gklyne]
gklyne**20050531171836
 Added some additional test cases triggered by URI-list discussions.
] 
[[project @ 2005-05-10 10:40:11 by simonmar]
simonmar**20050510104011
 PATH_MAX fixes from Thomas Schwinge.
] 
[TAG ghc-assoc-branch-point
Unknown tagger**20060111215629] 
[[project @ 2005-04-28 08:45:41 by simonmar]
simonmar**20050428084541
 Fix SIGPIPE comment
] 
[TAG arity-anal-branch-point
Unknown tagger**20060111215628] 
[[project @ 2005-04-07 11:09:37 by gklyne]
gklyne**20050407110937
 Added test cases for alternate parsing functions (including deprecated 'parseabsoluteURI')
] 
[[project @ 2005-04-07 11:08:34 by gklyne]
gklyne**20050407110834
 DEPRECATED parseabsoluteURI "use parseAbsoluteURI"
] 
[[project @ 2005-04-07 09:58:52 by gklyne]
gklyne**20050407095852
 More changes to comments (typos and layout).
] 
[[project @ 2005-04-07 09:42:22 by gklyne]
gklyne**20050407094222
 Cleaned up comments to reflect new URI spec, and clarify the function of the isXXX functions.
 Removed much dead code.
] 
[[project @ 2005-04-05 12:47:32 by gklyne]
gklyne**20050405124732
 Added test case.
 Changed module name, now requires GHC -main-is to compile.
 All tests run OK with GHC 6.4 on MS-Windows.
] 
[[project @ 2005-04-05 12:42:49 by gklyne]
gklyne**20050405124249
 Fix typo in comment.
 (Also, some tabs converted to spaces by my editor.)
] 
[[project @ 2005-03-23 14:34:21 by ross]
ross**20050323143421
 add license files for individual packages
] 
[[project @ 2005-03-02 16:39:57 by ross]
ross**20050302163958
 *Config.h files are in include/ (MERGE to STABLE)
] 
[[project @ 2005-03-02 14:46:15 by simonmar]
simonmar**20050302144615
 distcleaning of things generated by configure
] 
[[project @ 2005-02-18 18:30:40 by ross]
ross**20050218183040
 Rename package description fields as in InstalledPackageInfo:
 
 	options-ghc -> ghc-options
 	options-hugs -> hugs-options
 	options-nhc -> nhc-options
 	extra-libs -> extra-libraries
] 
[[project @ 2005-02-18 15:06:46 by simonmar]
simonmar**20050218150646
 Rename fields in InstalledPackageInfo for consistency with
 PackageDescription & buildInfo:
 
  extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
  extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
  extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
  extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
  extra-frameworks (extraFrameworks) --> frameworks (frameworks)
] 
[[project @ 2005-02-11 11:37:44 by simonmar]
simonmar**20050211113744
 use Control.Exception.bracketOnError
] 
[[project @ 2005-02-11 01:55:57 by ross]
ross**20050211015557
 track syntax changes:
 
 * add License-File and Synopsis fields
 
 * rename Hidden-Fields as Other-Fields
 
 These files are used only by Hugs, but are also useful as examples.
] 
[[project @ 2005-02-07 11:09:27 by simonmar]
simonmar**20050207110927
 Add Typeable instances
] 
[[project @ 2005-02-07 10:43:34 by simonmar]
simonmar**20050207104334
 Add typeable instances
] 
[[project @ 2005-02-05 00:41:38 by ross]
ross**20050205004138
 more Haddock fixes.
 
 Now the only dangling links are in System.Directory, referring to the
 hidden module GHC.IOBase for constructors of IOException.
] 
[TAG ghc-6-4-branch-point
Unknown tagger**20060111215610] 
[[project @ 2005-01-28 23:24:56 by krasimir]
krasimir**20050128232456
 SockAddrUnix constructor is available only with DOMAIN_SOCKET_SUPPORT
] 
[[project @ 2005-01-28 13:36:34 by simonmar]
simonmar**20050128133635
 Catch up with updates to platform #defines.
 
 Generally: use _HOST_ rather than _TARGET_ (except in Cabal where we
 have to retain compatibility with previous GHC versions).
] 
[[project @ 2005-01-25 17:06:39 by ross]
ross**20050125170639
 add Cabal package descriptions
] 
[[project @ 2005-01-24 12:18:45 by ross]
ross**20050124121845
 add -cpp option
] 
[[project @ 2005-01-21 15:29:27 by ross]
ross**20050121152927
 non-GHC: fix imports
] 
[[project @ 2005-01-20 14:22:27 by simonmar]
simonmar**20050120142227
 Fill in the haddock-interfaces and haddock-html fields in the
 package.conf files.
 
 To do this I had to make some changes:
 
   - haddock-interfaces requires the value of $(datadir).  We can't
     just plug this in, because $(datadir) might change at install-time
     (eg. a Windows installer can be placed anywhere, as can a Unix
     binary .tar.gz distribution).  The current trick is for the
     compiler to splice in the value of $libdir in package.conf at
     runtime.  So we could extend this mechanism and tell the compiler
     the value of $datadir via a command-line option, but that seems
     ugly.
 
     On Windows, $datadir==$libdir, so we don't need any changes:
     package.conf still uses $libdir, and a Windows installation is
     independent of its absolute location.  Even 'make install' on
     Windows should have this property.
 
     On Unix:
 	- for 'make install' and in-place execution, we just use
           absolute paths in package.conf
 
 	- for a binary dist, we generate a package.conf that refers
 	  to $libdir and $datadir, and splice in the values at
 	  install-time (distrib/Makefile-bin.in).
 
   - Also, I renamed $libdir to $topdir to more closely reflect its
     actual meaning.  This is somewhat malicious in that it will flush
     out all those clients using $libdir when they really shouldn't
     be :-)
] 
[[project @ 2005-01-18 12:29:43 by simonmar]
simonmar**20050118122943
 Add instance Show SockAddr
] 
[[project @ 2005-01-11 16:04:31 by simonmar]
simonmar**20050111160431
 Use OPTIONS_GHC instead of OPTIONS
] 
[[project @ 2005-01-11 14:18:15 by ross]
ross**20050111141815
 get IOError stuff from System.IO.Error instead of System.IO
] 
[[project @ 2005-01-02 00:05:17 by krasimir]
krasimir**20050102000517
 According to the documentation, the Haskell implementation of Handle
 should implement single writer/multiple readers locking but the current
 implementation doesn't work under Windows. This commit fixes this using
 '_sopen' function instead of 'open'. The former allows to implement system
 level locking on Windows. The changes doesn't affect other platforms.
] 
[TAG pluggable-1-branch-point
Unknown tagger**20060111215554] 
[[project @ 2004-12-14 23:14:28 by ross]
ross**20041214231428
 repair for non-GHC
] 
[[project @ 2004-12-14 13:00:22 by simonmar]
simonmar**20041214130022
 Add instances of Typeable and Data, as requested on the ghc-users list
 a while back.
] 
[[project @ 2004-12-02 15:57:04 by ross]
ross**20041202155704
 Hugs only: replace the CBITS pragma (files relative to cbits) with
 CFILES (files relative to the root of the package).
] 
[[project @ 2004-11-30 08:48:28 by stolz]
stolz**20041130084829
 Test for gethostent(), since it's not available on all platforms
 
 Closes SF-bug#:	[ 1059296 ] gethostent is not available for NetBSD-1.6.2
 Submitted by:	Roland Illig
] 
[[project @ 2004-11-26 16:22:11 by simonmar]
simonmar**20041126162211
 Further integration with the new package story.  GHC now supports
 pretty much everything in the package proposal.
 
   - GHC now works in terms of PackageIds (<pkg>-<version>) rather than
     just package names.  You can still specify package names without
     versions on the command line, as long as the name is unambiguous.
 
   - GHC understands hidden/exposed modules in a package, and will refuse
     to import a hidden module.  Also, the hidden/eposed status of packages
     is taken into account.
 
   - I had to remove the old package syntax from ghc-pkg, backwards
     compatibility isn't really practical.
 
   - All the package.conf.in files have been rewritten in the new syntax,
     and contain a complete list of modules in the package.  I've set all
     the versions to 1.0 for now - please check your package(s) and fix the
     version number & other info appropriately.
 
   - New options:
 
 	-hide-package P    sets the expose flag on package P to False
 	-ignore-package P  unregisters P for this compilation
 
 	For comparison, -package P sets the expose flag on package P
         to True, and also causes P to be linked in eagerly.
 
         -package-name is no longer officially supported.  Unofficially, it's
 	a synonym for -ignore-package, which has more or less the same effect
 	as -package-name used to.
 
 	Note that a package may be hidden and yet still be linked into
 	the program, by virtue of being a dependency of some other package.
 	To completely remove a package from the compiler's internal database,
         use -ignore-package.
 
 	The compiler will complain if any two packages in the
         transitive closure of exposed packages contain the same
         module.
 
 	You *must* use -ignore-package P when compiling modules for
         package P, if package P (or an older version of P) is already
         registered.  The compiler will helpfully complain if you don't.
 	The fptools build system does this.
 
    - Note: the Cabal library won't work yet.  It still thinks GHC uses
      the old package config syntax.
 
 Internal changes/cleanups:
 
    - The ModuleName type has gone away.  Modules are now just (a
      newtype of) FastStrings, and don't contain any package information.
      All the package-related knowledge is in DynFlags, which is passed
      down to where it is needed.
 
    - DynFlags manipulation has been cleaned up somewhat: there are no
      global variables holding DynFlags any more, instead the DynFlags
      are passed around properly.
 
    - There are a few less global variables in GHC.  Lots more are
      scheduled for removal.
 
    - -i is now a dynamic flag, as are all the package-related flags (but
      using them in {-# OPTIONS #-} is Officially Not Recommended).
 
    - make -j now appears to work under fptools/libraries/.  Probably
      wouldn't take much to get it working for a whole build.
] 
[[project @ 2004-11-18 16:39:54 by stolz]
stolz**20041118163954
 Push down more feature-tests
] 
[[project @ 2004-11-05 18:28:41 by gklyne]
gklyne**20041105182841
 Add detail from the URI spec to the comment about functions
 to support escaping characters in URI strings.
] 
[[project @ 2004-11-05 17:29:09 by gklyne]
gklyne**20041105172909
 Changed password-obscuring logic to reflect late change in revised URI
 specification (password "anonymous" is no longer a special case).
 Updated URI test module to use function 'escapeURIString'.
 (Should unEscapeString be similarly updated?)
] 
[[project @ 2004-11-04 18:29:45 by panne]
panne**20041104182945
 * The old escapeChar is back and the new functions for escaping
   Chars/Strings are called escapeURIChar/escapeURIString now.
 
 * Moved all deprecated functions to a separate section.
] 
[[project @ 2004-10-28 15:57:10 by krasimir]
krasimir**20041028155710
 fix comment
] 
[[project @ 2004-10-27 13:07:48 by gklyne]
gklyne**20041027130748
 Updated URI module function names per:
 http://www.haskell.org//pipermail/cvs-libraries/2004-October/002916.html
 Small changes to documentation comments.
] 
[[project @ 2004-10-27 13:06:55 by gklyne]
gklyne**20041027130655
 Updated URI module function names per:
 http://www.haskell.org//pipermail/cvs-libraries/2004-October/002916.html
 Added test cases to give better covereage of module functions.
] 
[[project @ 2004-10-21 16:53:34 by panne]
panne**20041021165334
 Added deprecated functions "reserved" and "unreserved" for backwards compatibility
] 
[[project @ 2004-10-21 16:31:08 by panne]
panne**20041021163108
 * Removed redundant info from header for uniformity with other modules
 * Nuked all evil CVS keywords to keep us sane when merging
] 
[[project @ 2004-10-16 17:09:56 by ross]
ross**20041016170956
 adjustments to markup
] 
[[project @ 2004-10-15 08:27:27 by simonmar]
simonmar**20041015082728
 network depends on parsec, now.
] 
[[project @ 2004-10-14 16:14:45 by gklyne]
gklyne**20041014161445
 Replace Network.URI module in cvs.haskell.org repository with
 completely rewritten version.  The internal URI record structure is
 changed:  record updates using old field names will fail with the
 new version, but otherwise the interfaces are the same.
] 
[[project @ 2004-10-14 16:11:30 by gklyne]
gklyne**20041014161130
 Add URI unit test to cvs.haskell.org repository
] 
[[project @ 2004-10-08 12:04:49 by ross]
ross**20041008120449
 revert previous change, so now these includes don't define PACKAGE_*
] 
[[project @ 2004-10-08 08:42:53 by dons]
dons**20041008084253
 Tweak the PACKAGE_* #undefs in a couple of other places, too.
] 
[[project @ 2004-10-06 10:13:08 by ross]
ross**20041006101308
 make the evil PACKAGE_* hacks consistent
] 
[[project @ 2004-10-05 12:37:14 by simonmar]
simonmar**20041005123714
 gethostbyname()/gethostbyaddr() foreign imports should be "safe" (they block).
] 
[[project @ 2004-10-05 10:34:41 by simonmar]
simonmar**20041005103441
 Reverse argument order to recvBufFrom
] 
[[project @ 2004-10-05 10:30:50 by simonmar]
simonmar**20041005103050
 Add sendBufTo/recvBufFrom
 
 Submitted by: Tomasz Zielonka <t.zielonka at students.mimuw.edu.pl>
 
 With slight modifications by me: the functions take a Ptr a rather
 than Ptr CChar to match hGetBuf/hPutBuf.
] 
[[project @ 2004-09-22 09:14:22 by panne]
panne**20040922091422
 As a temporary measure, use an ultra-evil sledgehammer method to silence the
 PACKAGE_FOO clashes. The correct way of doing this would be splitting up
 HsPACKAGE.h and ghcconfig.h into two parts each: One part would be generated by
 autoheader and would contain the defines which are needed during package build
 time only. The other part would contain all kinds of stuff which is needed for
 using the given package (no PACKAGE_FOO defines here). For an example of this,
 see the OpenAL package. As an additional benefit, this would keep the namespace
 much cleaner, because 2nd kind of headers is typically smaller.
 
 No time for the real thing currently, hope the current workaround works...
] 
[[project @ 2004-09-18 12:49:59 by panne]
panne**20040918124959
 Make autoupdate 2.52 happy, mainly by using the new formats of AC_INIT and
 AC_OUTPUT. This has the nice side effect that all "packages" have now a name, a
 version, a bug-report address, and a tar name, yielding better output with
 "configure --help=recursive". Nuked an unused AC_STRUCT_ST_BLKSIZE test on the
 way.
] 
[[project @ 2004-09-09 06:55:47 by panne]
panne**20040909065547
 Unified the comments in (almost) empty aclocal.m4 files
] 
[[project @ 2004-09-03 07:46:56 by ross]
ross**20040903074656
 add empty aclocal.m4's (so we don't need aclocal)
] 
[[project @ 2004-09-02 15:18:08 by ross]
ross**20040902151809
 devolve some library-specific configuration
] 
[[project @ 2004-08-13 13:29:09 by simonmar]
simonmar**20040813132909
 Changes required be merge of backend-hacking-branch.  Mostly config.h
 ==> ghcconfig.h.
] 
[[project @ 2004-08-13 10:10:47 by simonmar]
simonmar**20040813101047
 Doc for sClose
] 
[[project @ 2004-08-13 10:10:29 by simonmar]
simonmar**20040813101029
 Add sClose
] 
[[project @ 2004-08-12 07:22:45 by stolz]
stolz**20040812072245
 Note caveats of sendTo/recvFrom: Hook up comments already present to Haddock-docs,
 elaborate a bit
] 
[[project @ 2004-06-03 21:30:51 by panne]
panne**20040603213051
 Track openFd-related changes
] 
[[project @ 2004-03-27 14:20:13 by panne]
panne**20040327142014
 Added "The Glasgow Haskell Compiler License" from the base package and
 refer to it from this package. Please correct me if this is wrong...
] 
[[project @ 2004-03-12 18:20:44 by sof]
sof**20040312182044
 Make 'send' and 'recv' be non-blocking under win32/mingw.
 
 Merge to STABLE.
] 
[[project @ 2004-03-01 15:34:08 by simonmar]
simonmar**20040301153408
 Add a commment + a ToDo
] 
[[project @ 2004-02-05 11:46:00 by ross]
ross**20040205114600
 Hugs only: use the configure-set variable INLINE_ONLY instead of
 `extern inline' (which works for gcc but not C99 compilers).
] 
[[project @ 2004-01-28 15:12:50 by simonmar]
simonmar**20040128151250
 buglet in hexDigit
] 
[[project @ 2003-12-29 17:16:42 by panne]
panne**20031229171642
 Updated my email address
] 
[[project @ 2003-11-15 22:31:17 by panne]
panne**20031115223117
 Decouple packages a bit more again: The prologue of the combined index is now
 generated via shell magic from the package prologues. As a nice side effect,
 some autoconf magic is gone, so configure.ac is effectively empty now (but not
 for long... :-)
] 
[[project @ 2003-11-11 11:50:53 by simonmar]
simonmar**20031111115053
 Convert to use Haddock 0.6's combined contents/index functionality for
 the hierarchical library docs.
 
 HEADS UP: you need Haddock 0.6 in order to run 'make html' in
 fptools/libraries now.
] 
[[project @ 2003-10-17 21:45:46 by sof]
sof**20031017214546
 added recvLen :: Socket -> Int -> IO (String, Int), returning the
 received string along with its length.
] 
[[project @ 2003-10-16 03:17:25 by sof]
sof**20031016031725
 win32 wibbles to have it work with Hugs
] 
[TAG ghc-6-2-branch-point
Unknown tagger**20060111215451] 
[[project @ 2003-09-10 09:18:42 by ross]
ross**20030910091842
 fix for systems (e.g. Darwin) where msg_control has type char *.
] 
[[project @ 2003-08-27 08:43:03 by simonmar]
simonmar**20030827084303
 Import Word8 in case one of the #types evaluates to it.
] 
[[project @ 2003-08-19 15:41:19 by panne]
panne**20030819154119
 Nuked FPTOOLS_MSGHDR_MSG_ACCRIGHTS and FPTOOLS_MSGHDR_MSG_CONTROL
 tests. Use autoconf's own macros for dealing with struct members.
] 
[[project @ 2003-08-05 14:07:49 by simonpj]
simonpj**20030805140750
 Add a couple of imporst to make these work on Windows
] 
[[project @ 2003-08-04 16:59:05 by ross]
ross**20030804165905
 fix minor incompatibility (exposed by recently added signature)
] 
[[project @ 2003-08-04 13:35:12 by panne]
panne**20030804133512
 To make Haddock happy, add a type signature for throwSocketErrorIfMinus1_
] 
[[project @ 2003-08-04 12:27:46 by panne]
panne**20030804122747
 * Improve Haddock documentation by using finer-grained imports
 * Use "with" instead of deprecated "withObject"
] 
[[project @ 2003-07-25 13:46:03 by ross]
ross**20030725134604
 make HsNet.h include config.h (since it uses it)
] 
[[project @ 2003-07-16 17:47:31 by sof]
sof**20030716174732
 [win32] track GHC.Conc.asyncDoProc changes
] 
[[project @ 2003-07-08 15:46:42 by panne]
panne**20030708154642
 Fixed some Haddock links.
] 
[[project @ 2003-07-08 15:16:45 by panne]
panne**20030708151645
 Update my email address
] 
[[project @ 2003-07-03 15:24:01 by sof]
sof**20030703152402
 mingw/winsock-only:
   Non-blocking implementation of Network.Socket.accept
   (built on top of GHC.Conc.asyncDoProc.)
] 
[[project @ 2003-06-10 10:58:06 by simonmar]
simonmar**20030610105806
 Move Network.Sendfile into the unix package to fix the build.
] 
[[project @ 2003-06-06 22:27:13 by stolz]
stolz**20030606222713
 Steal handleToFd from System.Posix.IO.
] 
[[project @ 2003-06-06 12:49:00 by stolz]
stolz**20030606124900
 Move System.Sendfile to Network.Sendfile:
  - Linux can sendfile() to a fd, but BSD couldn't
  - sendfile() on Linux is probably now disabled on most builds because of
      the LARGEFILE issue
  => Change API to use type Socket
] 
[[project @ 2003-05-17 00:11:30 by ross]
ross**20030517001130
 Rename per-package configuration files from $(PACKAGE).conf.* to
 package.conf.*, making them easier to find (since each package is
 in a separate directory anyway).
] 
[[project @ 2003-05-16 10:14:23 by simonmar]
simonmar**20030516101423
 Now that we have auto packages, it makes sense to keep all the
 interfaces for hierarchical libraries in the same directory tree.  So
 now, instead of putting interfaces for package P in $libdir/imports/P,
 we put them all in $libdir/imports.
 
 Interfaces for old non-auto non-hierarchical packages now go in
 $libdir/hslibs-imports/P for package P.
] 
[[project @ 2003-05-08 16:07:57 by ross]
ross**20030508160757
 fix a typo (msg_accrights) + cast to remove a C compiler warning.
] 
[[project @ 2003-04-11 23:39:44 by ross]
ross**20030411233944
 Hugs only: add a CBITS "pragma" to tell the Hugs conversion script which
 files from <package>/cbits should be linked with the module by ffihugs,
 e.g. {-# CBITS HsNet.c initWinSock.c ancilData.c #-}
] 
[[project @ 2003-04-11 10:11:25 by ross]
ross**20030411101125
 rename GHC.Posix as System.Posix.Internals
] 
[TAG before-galois-hbm
Unknown tagger**20060111215408] 
[TAG galois-hbm-head
Unknown tagger**20060111215408] 
[[project @ 2003-03-18 11:19:01 by stolz]
stolz**20030318111901
 Avoid overlapping AF_* warning.
] 
[[project @ 2003-03-17 15:44:29 by simonmar]
simonmar**20030317154429
 Add missing case for SO_LINGER to packSocketOpt
] 
[[project @ 2003-03-08 23:03:49 by panne]
panne**20030308230349
 More markup fixes...
] 
[[project @ 2003-03-07 22:38:20 by sof]
sof**20030307223820
 Storable{ServiceEntry}.peek: s_port is a short under WinSock
] 
[[project @ 2003-03-07 21:22:28 by sof]
sof**20030307212228
 Storable{ProtocolEntry}.peek: p_proto is a CShort with WinSock; make getServiceByName and getServiceByPort compile again
] 
[[project @ 2003-03-05 11:28:11 by ross]
ross**20030305112811
 Fix another of the permutations of #if's in here (!GHC && !cygwin).
] 
[[project @ 2003-03-05 09:52:23 by simonmar]
simonmar**20030305095223
 Make this compile
] 
[[project @ 2003-03-04 15:35:01 by stolz]
stolz**20030304153501
 - avoid catch(catch(catch(..))) in getEntries
 - derive Read & Show instances where possible
 - CSE for NoSuchThing-errors
] 
[[project @ 2003-03-04 02:55:24 by sof]
sof**20030304025527
 Be a bit more serious about error handling when using WinSock:
  - correctly&nicely propagate underlying error code when
    raising IOErrors.
  - perform under-the-hood initialisation; withSocketsDo
    is no longer required in user code.
] 
[[project @ 2003-02-14 06:18:07 by sof]
sof**20030214061807
 no domain sockets support under win32
] 
[[project @ 2003-02-14 06:16:39 by sof]
sof**20030214061639
 Hugs now support socketToHandle (NT only, not Win9x)
] 
[[project @ 2003-02-14 06:15:56 by sof]
sof**20030214061556
 initWinSock: for Hugs, create sockets by default in non-overlapped mode.
 Required by the CRT when passing socket handles to _open_osfhandle() (and
 fdopen().)
] 
[[project @ 2003-02-12 10:11:24 by simonmar]
simonmar**20030212101124
 Fix indentation inside #if !__HUGS__
] 
[[project @ 2003-02-11 04:38:03 by sof]
sof**20030211043804
 Hugs friendliness
] 
[[project @ 2003-02-11 04:35:29 by sof]
sof**20030211043529
 steer clear of Rts.h
] 
[[project @ 2003-02-11 04:34:05 by sof]
sof**20030211043405
 MSVC-friendly defn for INLINE
] 
[TAG before-speceval_2
Unknown tagger**20060111215345] 
[[project @ 2003-01-17 16:34:02 by sof]
sof**20030117163402
 mingw: make it compile
] 
[[project @ 2003-01-16 15:46:30 by stolz]
stolz**20030116154631
 - add more meaning to error message in Socket.hsc
 - export Socket.MkSocket so that Network.hs can see it
 - modify Network.hs to distinguish different socket types
 - change type from datagram to stream for Unix-sockets so the user can
     call Network.accept and gets what he expects
 - delete Network.hs^W^W^W
 
 AF_UNIX breakage noticed by: Peter Thiemann
] 
[[project @ 2003-01-13 14:12:23 by simonmar]
simonmar**20030113141223
 Network.accept shouldn't fail if we can't look up the remote host
 using reverse DNS.  Instead, just fall back to using the IP address as
 a String (A.B.C.D).
 
 MERGE TO STABLE
] 
[[project @ 2003-01-09 13:34:35 by simonmar]
simonmar**20030109133435
 Fix several of the operations in here, which might leak sockets in the
 event of an error.
] 
[[project @ 2002-12-18 16:29:26 by simonmar]
simonmar**20021218162926
 "Auto" packages.
 
 The big change here is that it is no longer necessary to explicitly
 say '-package X' on the command line if X is a package containing
 hierarchical Haskell modules.  All packages marked "auto" contribute
 to the import path, so their modules are always available.  At link
 time, the compiler knows which packages are actually used by the
 program, and it links in only those libraries needed.
 
 There's one exception: one-shot linking.  If you link a program using
 
     ghc -o prog A.o B.o ...
 
 then you need to explicitly add -package flags for each package
 required (except base & haskell98) because the compiler has no
 information about the package dependencies in this case.
 
 Package configs have a new field: auto, which is either True or False.
 Non-auto packages must be mentioned on the command-line as usual.
 Non-auto packages are still required for:
 
   - non-hierarchical libraries (to avoid polluting the module namespace)
 
   - packages with no Haskell content
 
   - if you want more than one version of a package, or packages
     providing overlapping functionality where the user must decide
     which one to use.
 
 Doc changes to follow...
] 
[[project @ 2002-12-12 13:42:47 by ross]
ross**20021212134247
 Changes to the exception interface, as discussed on the libraries list.
 
 1) Move bracket and bracket_ from GHC.Exception (and hence System.IO)
    to haskell98/IO.hs.  These two should now never be used (except in
    all-H98 programs), and this will save users of the new libraries from
    having to hide them.  Use the ones in Control.Exception instead.
 
 2) Define
 
         type IOError = IOException      -- was Exception
 
    leaving the type of Prelude.ioError as IOError -> IO a,
    but adding to Control.Exception
 
         throwIO :: Exception -> IO a
 
 The result is a type distinction between the variants of catch and try:
 
 	Prelude.catch           :: IO a -> (IOError -> IO a) -> IO a
 	Control.Exception.catch :: IO a -> (Exception -> IO a) -> IO a
 	System.IO.Error.try     :: IO a -> IO (Either IOError a)
 	Control.Exception.try   :: IO a -> IO (Either Exception a)
 
 These are breaking changes: the first one affects only import lists,
 but the second will bite in the following situations:
 
 - using ioError on general Exceptions: use throwIO instead.
 
 - using throw on IOErrors: if in the IO monad, use ioError instead.
   Otherwise, use throw (IOException e), but why are you throwing
   IO exceptions outside of the IO monad?
 
 Minor changes:
 - System.IO.Error now exports catch and try
 - moved try from GHC.Exception to System.IO.Error, because it's
   portable and can be shared by Hugs.
] 
[[project @ 2002-12-05 01:12:45 by sof]
sof**20021205011245
 Avoid running into haddock trouble if no symlink support.
 
 Merge to STABLE.
] 
[[project @ 2002-12-04 20:13:52 by sof]
sof**20021204201352
 Provide my_inet_ntoa() under WinSock also.
 
 Merge to STABLE.
] 
[[project @ 2002-11-22 13:52:10 by simonmar]
simonmar**20021122135210
 Should be #including config.h not Rts.h here
] 
[[project @ 2002-10-25 02:34:30 by mthomas]
mthomas**20021025023431
 Follow Simon M's suggestion re HsInt vs StgInt in GUM network changes.
] 
[[project @ 2002-10-24 11:25:12 by mthomas]
mthomas**20021024112512
 Definition for StgInt from StgTypes.h.
] 
[[project @ 2002-10-19 10:42:24 by stolz]
stolz**20021019104224
 Retro Police: There are hosts w/o in_addr_t (e.g. SuSE 7.0)
] 
[[project @ 2002-10-18 15:26:29 by simonmar]
simonmar**20021018152629
 It is better not to use #def in .hsc files, otherwise we have to
 arrange to include the appropriate _hsc.h file in the package.
 
 There was one use of #def in Network.Socket: my_inet_ntoa, and because
 of a bug in the build system the _hsc.o file wasn't being included in
 the library when SPLIT_OBJS is on.  The result is that if you compile
 against the net package in 5.04.1 and turn on optimisation (so that
 inet_ntoa gets inlined), you get a link error.
 
 This commit moves my_inet_ntoa into the HsNet.h header file, and keeps
 a static version in the library just in case the compiler fails to
 inline it (the same way we do it for all the inline functions in the
 base package).
] 
[[project @ 2002-09-20 14:19:51 by simonmar]
simonmar**20020920141951
 Network.BSD.symlink and Network.BSD.readlink are now deprecated, in
 favour of System.Posix.createSymbolicLink and
 System.Posix.readSymbolicLink respectively.
] 
[[project @ 2002-08-28 17:21:28 by sof]
sof**20020828172128
 Added
 
    Socket.sendFd :: Socket -> CInt -> IO ()
    Socket.recvFd :: Socket -> IO CInt
 
 which provides a simpler interface for transmitting
 file descriptors. Note that sendFd will call close()
 on the file descriptor after it has been transmitted.
 
 The more general functions for transmitting ancillary
 data are still kept around, at least for now.
] 
[TAG meta-haskell-merge8
Unknown tagger**20060111215319] 
[[project @ 2002-07-30 17:26:29 by sof]
sof**20020730172629
 header wibble
] 
[TAG meta-haskell-merge7
Unknown tagger**20060111215318] 
[[project @ 2002-07-21 14:10:18 by panne]
panne**20020721141018
 Corrected commas in export list
] 
[[project @ 2002-07-15 21:04:57 by sof]
sof**20020715210457
 recv,recvFrom:
   * Have these map zero-byte results from the underlying
     APIs to an EOF IOError, bringing them into line with
     what the  hGet* actions do when interpreting read()
     results.
   * If the length argument is zero or less, raise an
     InvalidArgument IOError.
 
 Alters user-visible behaviour (for the better, I hope), so
 it _shouldn't_ be merged to STABLE.
] 
[[project @ 2002-07-11 23:35:56 by sof]
sof**20020711233556
 recvAncillary (MSG_ACCRIGHTS case): allocate the return buffer.
 
 Operating in near darkness here, as I haven't got access to a
 box which uses the older msghdr structs.
] 
[TAG meta-haskell-merge6
Unknown tagger**20060111215315] 
[[project @ 2002-07-09 06:16:15 by panne]
panne**20020709061615
 Fixed my email address
] 
[TAG ghc-ndp2b-trunk-merge-frontier
Unknown tagger**20060111215314] 
[TAG ghc-ndp2b-updated-from-trunk1
Unknown tagger**20060111215314] 
[[project @ 2002-07-02 15:40:43 by sof]
sof**20020702154043
 fix c_close CPP silly
] 
[[project @ 2002-07-02 13:13:37 by simonmar]
simonmar**20020702131337
 Add descriptions to the top level of each package documentation
] 
[[project @ 2002-07-02 11:27:32 by simonmar]
simonmar**20020702112732
 Be more exception-safe in withSocketsDo (SourceForge #546756).
] 
[[project @ 2002-07-01 18:38:11 by sof]
sof**20020701183813
 WinSock employs the 'stdcall'.
] 
[[project @ 2002-06-27 08:11:26 by ken]
ken**20020627081126
 Don't #define _SOCKADDR_LEN on alpha-dec-osf3,
 so that we get msghdr.msg_accrights
] 
[[project @ 2002-06-24 14:40:03 by simonmar]
simonmar**20020624144003
 Makefile updates for generating docs with Haddock:
 
 - explicitly depend on package base
 - set SRC_HADDOCK_OPTS in some places
] 
[[project @ 2002-06-21 13:56:19 by simonmar]
simonmar**20020621135619
 Title for Haddock docs.
] 
[[project @ 2002-06-21 13:53:19 by simonmar]
simonmar**20020621135320
 Haddockish docs (not complete, but no worse than what we had before).
] 
[[project @ 2002-06-21 12:45:56 by simonmar]
simonmar**20020621124556
 Haddock-ise
] 
[TAG meta-haskell-merge4
Unknown tagger**20060111215301] 
[TAG meta-haskell-merge5
Unknown tagger**20060111215301] 
[[project @ 2002-06-20 16:12:32 by simonmar]
simonmar**20020620161232
 use $(includedir) and INSTALL_INCLUDES rather than overriding $(datadir)
] 
[[project @ 2002-06-20 16:12:11 by simonmar]
simonmar**20020620161211
 first pass to make this Haddock-friendly
] 
[[project @ 2002-06-20 15:59:01 by simonmar]
simonmar**20020620155901
 Initial pass to get these going through Haddock
] 
[[project @ 2002-06-18 12:34:12 by simonmar]
simonmar**20020618123412
 oops, totally messed up the previous patch.  That's what comes from
 not using context diffs...
] 
[[project @ 2002-06-18 10:25:05 by simonmar]
simonmar**20020618102505
 Support the IP_TTL socket option (patch from Dominic Steinitz; thanks
 Dominic!)
] 
[[project @ 2002-05-31 21:14:12 by sof]
sof**20020531211412
 use result of msghdr feature tests
] 
[[project @ 2002-05-31 14:56:38 by sof]
sof**20020531145638
 Tweaked to also work with the older BSD members of 'struct msghdr'.
 
 Used by: cygwin + I've tentatively enabled them for Solaris also, since
 that _appears_ to be the reason why the HEAD nightly builds are failing.
] 
[[project @ 2002-05-31 14:50:40 by sof]
sof**20020531145040
 cygwin: let's give UNIX domain sockets a go..
] 
[[project @ 2002-05-31 14:18:39 by sof]
sof**20020531141839
 make recent changes work for cygwin
] 
[[project @ 2002-05-15 17:08:45 by sof]
sof**20020515170845
 {send,recv}Ancillary: potentially blocking ops; cope.
] 
[[project @ 2002-05-07 23:43:33 by sof]
sof**20020507234333
 recvAncillary(): use CMSG_SPACE() and CMSG_LEN() macros
] 
[[project @ 2002-05-06 23:17:03 by sof]
sof**20020506231703
 mkSocket: constructing a Socket from a file desc
] 
[[project @ 2002-05-03 00:27:21 by sof]
sof**20020503002721
 added sOL_SOCKET, sCM_RIGHTS constants
] 
[[project @ 2002-05-01 23:20:21 by ken]
ken**20020501232021
 #define _SOCKADDR_LEN on alpha-dec-osf3, so that we get msghdr.msg_control
] 
[[project @ 2002-05-01 22:18:48 by sof]
sof**20020501221848
 include <sys/uio.h>, dont assume <sys/socket.h> does so
] 
[[project @ 2002-05-01 17:52:53 by sof]
sof**20020501175253
 make cbits/ additions work with new mk/ setup, split or no-split; .a or .o
] 
[[project @ 2002-05-01 17:50:24 by sof]
sof**20020501175024
 tidyup:
 - define DOMAIN_SOCKET_SUPPORT and WITH_WINSOCK and use these
   instead of platform-specific tests.
 - socketpair() not supported by WinSock.
] 
[[project @ 2002-05-01 05:49:17 by sof]
sof**20020501054918
 Added sendAncillary and recvAncillary to support the
 transmission of ancillary data along Sockets -- main
 motivation is to support the passing of file descriptors
 over domain sockets.
 
 Testing that this actually provides what it claims to do
 remains to be done ;)
] 
[[project @ 2002-05-01 05:42:42 by sof]
sof**20020501054242
 hook up cbits/
] 
[[project @ 2002-05-01 05:42:10 by sof]
sof**20020501054210
 wrappers for sending/receiving ancillary socket data via sendmsg() / recvmsg()
] 
[[project @ 2002-04-23 18:58:04 by sof]
sof**20020423185804
 added socketPair: socketpair() wrapper
] 
[[project @ 2002-03-30 17:14:58 by sebc]
sebc**20020330171458
 Fix the definition of CSaFamily for darwin
] 
[[project @ 2002-03-28 15:19:25 by sof]
sof**20020328151925
 Socket.hsc:
  gcc-2.95.3-5 under cygwin requires "." to be explicitly
  added to the -I path in order to be able to locate stuff
  like "Network/Socket_hsc.h". Odd.
] 
[[project @ 2002-03-27 00:15:02 by sof]
sof**20020327001502
 CSaFamily: accidental #ifdef flippage
] 
[[project @ 2002-03-26 21:01:18 by sof]
sof**20020326210118
 cygwin-friendly defn of CSaFamily
] 
[[project @ 2002-03-26 10:54:28 by simonmar]
simonmar**20020326105428
 Changes for Darwin
 
 From: Wolfgang Thaller <wolfgang.thaller at gmx.net>
] 
[[project @ 2002-03-13 12:14:33 by simonmar]
simonmar**20020313121433
 Add missing call to GHC.Posix.setNonBlockingFD on the socket returned
 from accept.
] 
[[project @ 2002-02-17 15:22:11 by panne]
panne**20020217152211
 Synch import_dirs with the result of "make install". It could have
 been fixed the other way round, but fixing the config files makes more
 sense to me. Furthermore, I've got a 50% chance of taking the correct
 route by pure accident... ;-)
] 
[[project @ 2002-02-14 14:10:21 by simonmar]
simonmar**20020214141021
 minor warning-cleanups
] 
[[project @ 2002-02-14 14:10:00 by simonmar]
simonmar**20020214141000
 wibble
] 
[[project @ 2002-02-14 14:09:47 by simonmar]
simonmar**20020214140947
 Don't need to omit URI if the system doesn't supply regex, now we
 provide our own regex library.
] 
[[project @ 2002-02-13 12:04:00 by simonmar]
simonmar**20020213120400
 - fix up some options
 - omit the URI library if we don't have Text.Regex (for now)
] 
[[project @ 2002-02-13 12:03:12 by simonmar]
simonmar**20020213120312
 Add -cpp
] 
[[project @ 2002-02-13 12:02:10 by simonmar]
simonmar**20020213120224
 Add -fglasgow-exts
] 
[[project @ 2002-02-12 10:52:47 by simonmar]
simonmar**20020212105247
 wibbles
] 
[[project @ 2002-02-11 12:30:23 by simonmar]
simonmar**20020211123023
 Include cbits/initWinSock.c if necessary
] 
[[project @ 2002-02-11 12:30:09 by simonmar]
simonmar**20020211123009
 Catch up with rerranged directories
] 
[[project @ 2002-02-07 11:13:31 by simonmar]
simonmar**20020207111331
 Various updates after rearranging the directory structure in the
 repository (there wasn't any history worth keeping, and it's better to
 do this now before we go 'live').
 
 Packages under 'compat' are backwards-compatibility packages which
 should provide an interface equivalent to the current hslibs setup.
 There are a few packages still missing.
] 
[[project @ 2002-02-06 15:40:42 by simonmar]
simonmar**20020206154042
 Catch up with hslibs/net
] 
[[project @ 2001-08-17 12:51:08 by simonmar]
simonmar**20010817125108
 Track updates to hslibs/net
] 
[[project @ 2001-08-02 11:21:51 by simonmar]
simonmar**20010802112151
 Move the URI over library now that we have a Regex.
] 
[[project @ 2001-08-01 14:48:30 by simonmar]
simonmar**20010801144830
 Add the CGI library ("experimental", "non-portable (uses Control.Exception)").
] 
[[project @ 2001-08-01 13:33:27 by simonmar]
simonmar**20010801133327
 Package 'net' moved over.  URI & CGI still missing because they have
 dependencies on other bits that haven't made it over yet.
] 
Patch bundle hash:
24ae88700dfa2a98384ae11c4d6ad0fe3c6d5dc1
-------------- next part --------------
Tue Oct 21 19:33:52 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Use new-style cabal syntax

Tue Oct 21 19:42:05 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Make it build with base 3 and 4
  Uses exactly the same code as before for base 3. So no code changes.
  For ghc-6.10 it is forced to always use base4 so there's no way to
  build the package two different ways for a single ghc version.

Tue Oct 21 19:43:41 PDT 2008  Duncan Coutts <duncan at haskell.org>
  * Bump version number to 2.1.1.2

Tue Oct 21 22:15:05 PDT 2008  Duncan Coutts <duncan at haskell.org>
  tagged 2.1.1.2

New patches:

[Use new-style cabal syntax
Duncan Coutts <duncan at haskell.org>**20081022023352] hunk ./stm.cabal 10
-exposed-modules:
-		Control.Concurrent.STM
-		Control.Concurrent.STM.TArray
-		Control.Concurrent.STM.TVar
-		Control.Concurrent.STM.TChan
-		Control.Concurrent.STM.TMVar
-		Control.Monad.STM
-other-modules:
-		Control.Sequential.STM
-build-depends:	base, array
-extensions:	CPP
+cabal-version:  >=1.2
+
+library
+  exposed-modules:
+    Control.Concurrent.STM
+    Control.Concurrent.STM.TArray
+    Control.Concurrent.STM.TVar
+    Control.Concurrent.STM.TChan
+    Control.Concurrent.STM.TMVar
+    Control.Monad.STM
+  other-modules:
+    Control.Sequential.STM
+  build-depends: base, array
+  extensions:    CPP

[Make it build with base 3 and 4
Duncan Coutts <duncan at haskell.org>**20081022024205
 Uses exactly the same code as before for base 3. So no code changes.
 For ghc-6.10 it is forced to always use base4 so there's no way to
 build the package two different ways for a single ghc version.
] {
hunk ./Control/Sequential/STM.hs 30
+#ifdef BASE4
hunk ./Control/Sequential/STM.hs 37
+#else
+atomically :: STM a -> IO a
+atomically (STM m) = do
+    r <- newIORef (return ())
+    m r `catch` \ ex -> do
+	rollback <- readIORef r
+	rollback
+	throw ex
+#endif
hunk ./Control/Sequential/STM.hs 47
+#ifdef BASE4
hunk ./Control/Sequential/STM.hs 49
+#else
+catchSTM :: STM a -> (Exception -> STM a) -> STM a
+#endif
hunk ./stm.cabal 12
+flag base4
+
hunk ./stm.cabal 24
-  build-depends: base, array
+  build-depends: base < 5, array
+  if flag(base4)
+    build-depends: base >=4
+    cpp-options:   -DBASE4
+  else
+    build-depends: base <4
+  if impl(ghc >= 6.10)
+    build-depends: base >=4
}

[Bump version number to 2.1.1.2
Duncan Coutts <duncan at haskell.org>**20081022024341] hunk ./stm.cabal 2
-version:	2.1.1.1
+version:	2.1.1.2

[TAG 2.1.1.2
Duncan Coutts <duncan at haskell.org>**20081022051505] 
<
[Bump version number to 2.1.1.2
Duncan Coutts <duncan at haskell.org>**20081022024341] 
[Make it build with base 3 and 4
Duncan Coutts <duncan at haskell.org>**20081022024205
 Uses exactly the same code as before for base 3. So no code changes.
 For ghc-6.10 it is forced to always use base4 so there's no way to
 build the package two different ways for a single ghc version.
] 
[Use new-style cabal syntax
Duncan Coutts <duncan at haskell.org>**20081022023352] 
[add readTVarIO :: TVar a -> IO a
Simon Marlow <marlowsd at gmail.com>*-20081010112731] 
[add readTVarIO :: TVar a -> IO a
Simon Marlow <marlowsd at gmail.com>**20081010112731] 
[doc typo
Simon Marlow <marlowsd at gmail.com>**20081003132415] 
[Fix this test (exception changes)
Simon Marlow <marlowsd at gmail.com>**20081002094257] 
[follow Control.Exception changes
Simon Marlow <marlowsd at gmail.com>**20080926235120] 
[add test for #2411
Simon Marlow <marlowsd at gmail.com>**20080926233849] 
[TAG 6.10 branch has been forked
Ian Lynagh <igloo at earth.li>**20080919123439] 
[Bump version to 2.1.1.1
Ian Lynagh <igloo at earth.li>**20080604121247] 
[conc052 was failing due to #1547, but now apparently succeeds
Simon Marlow <marlowsd at gmail.com>**20080604083441
 This might make the bug harder to fix, now that we have no test case...
] 
[conc048(threaded2) sometimes hangs in the 6.8 branch, so skip it
Ian Lynagh <igloo at earth.li>**20080530205520
 Hangs after:
     [...]
     (0,50)
     T6
 Happens in 6.8.2 and soon-to-be-6.8.3.
] 
[Make conc048 output easier to follow
Ian Lynagh <igloo at earth.li>**20080530205335] 
[Skip conc047(threaded2) in the 6.8 branch
Ian Lynagh <igloo at earth.li>**20080530204240
 It sometimes seems to deadlock after printing
 Before
 Survived unused retry
 Caught: thread blocked indefinitely
 (i.e. in the final part of the test). 6.8.2 does it too, so this isn't
 a regression in 6.8.3.
] 
[Update skip_if_platform to if_platform(, skip) in the testsuite
Ian Lynagh <igloo at earth.li>**20080530202226] 
[accept output (no newline after uncaught exception)
Simon Marlow <simonmar at microsoft.com>**20080205090547] 
[TAG GHC 6.8.1 release
Ian Lynagh <igloo at earth.li>**20071110011105] 
[TAG 2.1.1.0 release
Ian Lynagh <igloo at earth.li>**20071110010955] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20071027124916] 
[add getNumElements to MArray instance
Simon Marlow <simonmar at microsoft.com>**20071015102607] 
[Add dropped STM invariants functions
shelarcy <shelarcy at gmail.com>**20070920125633] 
[fix this test some more...
Simon Marlow <simonmar at microsoft.com>**20070903133837] 
[Add a dep on array
Ian Lynagh <igloo at earth.li>**20070805200603] 
[conc052 test is broken for profc/profasm (trac #1547)
Ian Lynagh <igloo at earth.li>**20070718130955] 
[Skip conc063 when fast
Ian Lynagh <igloo at earth.li>**20070717114245
 It's failing, but in a way that looks valid to me, so stop it tripping
 up the validate script.
] 
[Fix test conc053: Don't use pattern sigs gratuitously
Ian Lynagh <igloo at earth.li>**20070717014902] 
[-fglasgow-exts is required due to type signature in pattern
Simon Marlow <simonmar at microsoft.com>**20070607101102] 
[--configure-option and --ghc-option are now provided by Cabal
Ross Paterson <ross at soi.city.ac.uk>**20070604115937] 
[Remove Makefile and package.conf.in (used in the old GHC build system)
Ian Lynagh <igloo at earth.li>**20070524145834] 
[Move STM-specific tests from testsuite/tests/ghc-regress/concurrent/should_run
Simon Marlow <simonmar at microsoft.com>**20070517090102] 
[Follow Cabal changes in Setup.*hs
Ian Lynagh <igloo at earth.li>**20070418121347] 
[Fix -Wall warnings
Ian Lynagh <igloo at earth.li>**20070411005022] 
[Add missing case in removePrefix
Ian Lynagh <igloo at earth.li>**20070411002558] 
[parse (but don't pass on) options for ./configure
Ian Lynagh <igloo at earth.li>**20070406153749] 
[make Setup suitable for building the libraries with GHC
Ian Lynagh <igloo at earth.li>**20061112214731] 
[turn off TMVar and TMChan for non-GHC
Ross Paterson <ross at soi.city.ac.uk>**20070401210122] 
[fix typo in comment
Ross Paterson <ross at soi.city.ac.uk>**20070401210044] 
[Add missing modules to the .cabal file
Ian Lynagh <igloo at earth.li>**20070401203812] 
[Add documentation for TMVar.
Spencer Janssen <sjanssen at cse.unl.edu>**20061211074318] 
[Add documentation for TChan
Spencer Janssen <sjanssen at cse.unl.edu>**20061211071201] 
[TAG 6.6 release
Ian Lynagh <igloo at earth.li>**20061011124740] 
[TAG Version 2.1
Ian Lynagh <igloo at earth.li>**20061009114914] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20061009114909] 
[Add comment
simonpj at microsoft.com**20061124101835] 
[add boilerplate Setup.hs
Ross Paterson <ross at soi.city.ac.uk>**20060928231526] 
[Add Control.Concurrent.STM.TArray to the exposed modules of the STM package (I'm assuming it's supposed to be exposed!)
simonpj at microsoft.com**20060925152624] 
[sequential implementation of revised semantics of catchSTM
Ross Paterson <ross at soi.city.ac.uk>**20060904172921
 
 (This module is not used by GHC)
] 
[bump version to 2.0
Simon Marlow <simonmar at microsoft.com>**20060811152819] 
[update following changes to MArray
Simon Marlow <simonmar at microsoft.com>**20060810100940] 
[add Control.Monad.STM to package.conf.in
Bertram Felgenhauer <int-e at gmx.de>**20060619073302] 
[factor out a Control.Monad.STM module
Ross Paterson <ross at soi.city.ac.uk>**20060615133443] 
[offer a subset of the interface to sequential implementations
Ross Paterson <ross at soi.city.ac.uk>**20060613142751] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen at complete.org>**20060112154138] 
[[project @ 2005-12-15 09:38:13 by simonmar]
simonmar**20051215093813
 Add TArray, a simple transactional array based on immutable arrays of
 TVars, with the usual MArray interface.
 
 Code from Taral <taralx at gmail.com>
] 
[[project @ 2005-12-05 11:42:47 by simonmar]
simonmar**20051205114247
 Add IO versions of the STM primitives that allocate new transactional variables:
 
   newTVarIO :: a -> IO (TVar a)
   newTChanIO :: IO (TChan a)
   newTMVarIO :: a -> IO (TMVar a)
 
 These can be used inside unsafePerformIO, unlike the STM versions.
] 
[[project @ 2005-11-30 12:24:33 by simonmar]
simonmar**20051130122433
 export registerDelay
] 
[TAG nhc98-1-18-release
Unknown tagger**20060112151328] 
[TAG arity-anal-branch-point
Unknown tagger**20060112151328] 
[TAG ghc-assoc-branch-point
Unknown tagger**20060112151328] 
[TAG cmm-merge2
Unknown tagger**20060112151328] 
[[project @ 2005-02-24 09:58:26 by simonmar]
simonmar**20050224095826
 nDoc fixes from Sven Panne.  Generally fixing of Haddock links, adding
 some signatures, and in some cases exporting type constructors that
 are mentioned in the types of exported identifiers.
] 
[[project @ 2005-02-18 15:06:46 by simonmar]
simonmar**20050218150646
 Rename fields in InstalledPackageInfo for consistency with
 PackageDescription & buildInfo:
 
  extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
  extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
  extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
  extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
  extra-frameworks (extraFrameworks) --> frameworks (frameworks)
] 
[TAG ghc-6-4-branch-point
Unknown tagger**20060112151326] 
[[project @ 2005-01-20 14:22:28 by simonmar]
simonmar**20050120142228
 Fill in the haddock-interfaces and haddock-html fields in the
 package.conf files.
 
 To do this I had to make some changes:
 
   - haddock-interfaces requires the value of $(datadir).  We can't
     just plug this in, because $(datadir) might change at install-time
     (eg. a Windows installer can be placed anywhere, as can a Unix
     binary .tar.gz distribution).  The current trick is for the
     compiler to splice in the value of $libdir in package.conf at
     runtime.  So we could extend this mechanism and tell the compiler
     the value of $datadir via a command-line option, but that seems
     ugly.
 
     On Windows, $datadir==$libdir, so we don't need any changes:
     package.conf still uses $libdir, and a Windows installation is
     independent of its absolute location.  Even 'make install' on
     Windows should have this property.
 
     On Unix:
 	- for 'make install' and in-place execution, we just use
           absolute paths in package.conf
 
 	- for a binary dist, we generate a package.conf that refers
 	  to $libdir and $datadir, and splice in the values at
 	  install-time (distrib/Makefile-bin.in).
 
   - Also, I renamed $libdir to $topdir to more closely reflect its
     actual meaning.  This is somewhat malicious in that it will flush
     out all those clients using $libdir when they really shouldn't
     be :-)
] 
[[project @ 2005-01-11 14:44:57 by simonmar]
simonmar**20050111144457
 Add instance MonadPlus.
] 
[[project @ 2004-12-15 13:46:37 by panne]
panne**20041215134637
 Unbreak "make html" by adding a (very terse) package description
] 
[[project @ 2004-12-14 15:59:08 by simonmar]
simonmar**20041214155908
 Add basic libraries for STM (Software Transactional Memory).
] 
> {
}

Context:

[add readTVarIO :: TVar a -> IO a
Simon Marlow <marlowsd at gmail.com>*-20081010112731] 
[add readTVarIO :: TVar a -> IO a
Simon Marlow <marlowsd at gmail.com>**20081010112731] 
[doc typo
Simon Marlow <marlowsd at gmail.com>**20081003132415] 
[Fix this test (exception changes)
Simon Marlow <marlowsd at gmail.com>**20081002094257] 
[follow Control.Exception changes
Simon Marlow <marlowsd at gmail.com>**20080926235120] 
[add test for #2411
Simon Marlow <marlowsd at gmail.com>**20080926233849] 
[TAG 6.10 branch has been forked
Ian Lynagh <igloo at earth.li>**20080919123439] 
[add category field
Ross Paterson <ross at soi.city.ac.uk>**20080824003014] 
[declare build-type: Simple
Ross Paterson <ross at soi.city.ac.uk>**20080823230923] 
[Make stm work with extensible exceptions
Ian Lynagh <igloo at earth.li>**20080805125828] 
[TAG GHC 6.8.3 release
Ian Lynagh <igloo at earth.li>**20080619124352] 
[conc052: still fails profc/profasm for 6.8
Simon Marlow <marlowsd at gmail.com>**20080617090817] 
[TAG 2008-06-06
Ian Lynagh <igloo at earth.li>**20080605235819] 
[TAG 2.1.1.1 release
Ian Lynagh <igloo at earth.li>**20080604123114] 
[Bump version to 2.1.1.1
Ian Lynagh <igloo at earth.li>**20080604121247] 
[conc052 was failing due to #1547, but now apparently succeeds
Simon Marlow <marlowsd at gmail.com>**20080604083441
 This might make the bug harder to fix, now that we have no test case...
] 
[conc048(threaded2) sometimes hangs in the 6.8 branch, so skip it
Ian Lynagh <igloo at earth.li>**20080530205520
 Hangs after:
     [...]
     (0,50)
     T6
 Happens in 6.8.2 and soon-to-be-6.8.3.
] 
[Make conc048 output easier to follow
Ian Lynagh <igloo at earth.li>**20080530205335] 
[Skip conc047(threaded2) in the 6.8 branch
Ian Lynagh <igloo at earth.li>**20080530204240
 It sometimes seems to deadlock after printing
 Before
 Survived unused retry
 Caught: thread blocked indefinitely
 (i.e. in the final part of the test). 6.8.2 does it too, so this isn't
 a regression in 6.8.3.
] 
[Update skip_if_platform to if_platform(, skip) in the testsuite
Ian Lynagh <igloo at earth.li>**20080530202226] 
[accept output (no newline after uncaught exception)
Simon Marlow <simonmar at microsoft.com>**20080205090547] 
[TAG GHC 6.8.1 release
Ian Lynagh <igloo at earth.li>**20071110011105] 
[TAG 2.1.1.0 release
Ian Lynagh <igloo at earth.li>**20071110010955] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20071027124916] 
[add getNumElements to MArray instance
Simon Marlow <simonmar at microsoft.com>**20071015102607] 
[Add dropped STM invariants functions
shelarcy <shelarcy at gmail.com>**20070920125633] 
[fix this test some more...
Simon Marlow <simonmar at microsoft.com>**20070903133837] 
[Add a dep on array
Ian Lynagh <igloo at earth.li>**20070805200603] 
[conc052 test is broken for profc/profasm (trac #1547)
Ian Lynagh <igloo at earth.li>**20070718130955] 
[Skip conc063 when fast
Ian Lynagh <igloo at earth.li>**20070717114245
 It's failing, but in a way that looks valid to me, so stop it tripping
 up the validate script.
] 
[Fix test conc053: Don't use pattern sigs gratuitously
Ian Lynagh <igloo at earth.li>**20070717014902] 
[-fglasgow-exts is required due to type signature in pattern
Simon Marlow <simonmar at microsoft.com>**20070607101102] 
[--configure-option and --ghc-option are now provided by Cabal
Ross Paterson <ross at soi.city.ac.uk>**20070604115937] 
[Remove Makefile and package.conf.in (used in the old GHC build system)
Ian Lynagh <igloo at earth.li>**20070524145834] 
[Move STM-specific tests from testsuite/tests/ghc-regress/concurrent/should_run
Simon Marlow <simonmar at microsoft.com>**20070517090102] 
[Follow Cabal changes in Setup.*hs
Ian Lynagh <igloo at earth.li>**20070418121347] 
[Fix -Wall warnings
Ian Lynagh <igloo at earth.li>**20070411005022] 
[Add missing case in removePrefix
Ian Lynagh <igloo at earth.li>**20070411002558] 
[parse (but don't pass on) options for ./configure
Ian Lynagh <igloo at earth.li>**20070406153749] 
[make Setup suitable for building the libraries with GHC
Ian Lynagh <igloo at earth.li>**20061112214731] 
[turn off TMVar and TMChan for non-GHC
Ross Paterson <ross at soi.city.ac.uk>**20070401210122] 
[fix typo in comment
Ross Paterson <ross at soi.city.ac.uk>**20070401210044] 
[Add missing modules to the .cabal file
Ian Lynagh <igloo at earth.li>**20070401203812] 
[Add documentation for TMVar.
Spencer Janssen <sjanssen at cse.unl.edu>**20061211074318] 
[Add documentation for TChan
Spencer Janssen <sjanssen at cse.unl.edu>**20061211071201] 
[TAG 6.6 release
Ian Lynagh <igloo at earth.li>**20061011124740] 
[TAG Version 2.1
Ian Lynagh <igloo at earth.li>**20061009114914] 
[Bump version number
Ian Lynagh <igloo at earth.li>**20061009114909] 
[Add comment
simonpj at microsoft.com**20061124101835] 
[add boilerplate Setup.hs
Ross Paterson <ross at soi.city.ac.uk>**20060928231526] 
[Add Control.Concurrent.STM.TArray to the exposed modules of the STM package (I'm assuming it's supposed to be exposed!)
simonpj at microsoft.com**20060925152624] 
[sequential implementation of revised semantics of catchSTM
Ross Paterson <ross at soi.city.ac.uk>**20060904172921
 
 (This module is not used by GHC)
] 
[bump version to 2.0
Simon Marlow <simonmar at microsoft.com>**20060811152819] 
[update following changes to MArray
Simon Marlow <simonmar at microsoft.com>**20060810100940] 
[add Control.Monad.STM to package.conf.in
Bertram Felgenhauer <int-e at gmx.de>**20060619073302] 
[factor out a Control.Monad.STM module
Ross Paterson <ross at soi.city.ac.uk>**20060615133443] 
[offer a subset of the interface to sequential implementations
Ross Paterson <ross at soi.city.ac.uk>**20060613142751] 
[TAG Initial conversion from CVS complete
John Goerzen <jgoerzen at complete.org>**20060112154138] 
[[project @ 2005-12-15 09:38:13 by simonmar]
simonmar**20051215093813
 Add TArray, a simple transactional array based on immutable arrays of
 TVars, with the usual MArray interface.
 
 Code from Taral <taralx at gmail.com>
] 
[[project @ 2005-12-05 11:42:47 by simonmar]
simonmar**20051205114247
 Add IO versions of the STM primitives that allocate new transactional variables:
 
   newTVarIO :: a -> IO (TVar a)
   newTChanIO :: IO (TChan a)
   newTMVarIO :: a -> IO (TMVar a)
 
 These can be used inside unsafePerformIO, unlike the STM versions.
] 
[[project @ 2005-11-30 12:24:33 by simonmar]
simonmar**20051130122433
 export registerDelay
] 
[TAG nhc98-1-18-release
Unknown tagger**20060112151328] 
[TAG arity-anal-branch-point
Unknown tagger**20060112151328] 
[TAG ghc-assoc-branch-point
Unknown tagger**20060112151328] 
[TAG cmm-merge2
Unknown tagger**20060112151328] 
[[project @ 2005-02-24 09:58:26 by simonmar]
simonmar**20050224095826
 nDoc fixes from Sven Panne.  Generally fixing of Haddock links, adding
 some signatures, and in some cases exporting type constructors that
 are mentioned in the types of exported identifiers.
] 
[[project @ 2005-02-18 15:06:46 by simonmar]
simonmar**20050218150646
 Rename fields in InstalledPackageInfo for consistency with
 PackageDescription & buildInfo:
 
  extra-libs (extraLibraries) --> extra-libraries (extraLibraries)
  extra-cc-opts (extraCcOpts) --> cc-options (ccOptions)
  extra-ld-opts (extraLdOpts) --> ld-options (ldOptions)
  extra-hugs-opts (extraHugsOpts) --> hugs-options (hugsOptions)
  extra-frameworks (extraFrameworks) --> frameworks (frameworks)
] 
[TAG ghc-6-4-branch-point
Unknown tagger**20060112151326] 
[[project @ 2005-01-20 14:22:28 by simonmar]
simonmar**20050120142228
 Fill in the haddock-interfaces and haddock-html fields in the
 package.conf files.
 
 To do this I had to make some changes:
 
   - haddock-interfaces requires the value of $(datadir).  We can't
     just plug this in, because $(datadir) might change at install-time
     (eg. a Windows installer can be placed anywhere, as can a Unix
     binary .tar.gz distribution).  The current trick is for the
     compiler to splice in the value of $libdir in package.conf at
     runtime.  So we could extend this mechanism and tell the compiler
     the value of $datadir via a command-line option, but that seems
     ugly.
 
     On Windows, $datadir==$libdir, so we don't need any changes:
     package.conf still uses $libdir, and a Windows installation is
     independent of its absolute location.  Even 'make install' on
     Windows should have this property.
 
     On Unix:
 	- for 'make install' and in-place execution, we just use
           absolute paths in package.conf
 
 	- for a binary dist, we generate a package.conf that refers
 	  to $libdir and $datadir, and splice in the values at
 	  install-time (distrib/Makefile-bin.in).
 
   - Also, I renamed $libdir to $topdir to more closely reflect its
     actual meaning.  This is somewhat malicious in that it will flush
     out all those clients using $libdir when they really shouldn't
     be :-)
] 
[[project @ 2005-01-11 14:44:57 by simonmar]
simonmar**20050111144457
 Add instance MonadPlus.
] 
[[project @ 2004-12-15 13:46:37 by panne]
panne**20041215134637
 Unbreak "make html" by adding a (very terse) package description
] 
[[project @ 2004-12-14 15:59:08 by simonmar]
simonmar**20041214155908
 Add basic libraries for STM (Software Transactional Memory).
] 
Patch bundle hash:
21d42542ab7097d53859497495d3ff25efd16176


More information about the Cvs-ghc mailing list