[prev in list] [next in list] [prev in thread] [next in thread]
List: darcs-users
Subject: Re: [darcs-users] planning a 2.8.5
From: Guillaume Hoffmann <guillaumh () gmail ! com>
Date: 2014-08-21 20:30:42
Message-ID: CADw8UJqoQOd58DizTor2xYS_KW3PP4OpTQ54pjyWjYcjBT7C5Q () mail ! gmail ! com
[Download RAW message or body]
Here's a patch to support network 2.6.
This only affects building when the HTTP library is used.
Works with:
cabal install -fhttp # to use network >= 2.6
cabal install -fhttp -f-network-uri # to use network < 2.6
Guillaume
["support-network-2_6.dpatch" (application/octet-stream)]
This only affects building when the HTTP library is used.
Works with:
cabal install -fhttp # to use network >= 2.6
cabal install -fhttp -f-network-uri # to use network < 2.6
1 patch for repository http://darcs.net/releases/branch-2.8:
patch 31d4f7d70583f8b07582e6f1a1138e78efec3323
Author: Guillaume Hoffmann <guillaumh@gmail.com>
Date: Thu Aug 21 17:26:48 ART 2014
* support network 2.6
New patches:
[support network 2.6
Guillaume Hoffmann <guillaumh@gmail.com>**20140821202648
Ignore-this: ab5a29d3bf6dea76023811048ecc8c54
] hunk ./darcs.cabal 82
flag http
description: Use the pure Haskell HTTP package for HTTP support.
+flag network-uri
+ description: Get Network.URI from the network-uri package
+ default: True
+
flag static
description: Build static binary
default: False
hunk ./darcs.cabal 437
cc-options: -DHAVE_CURL
if flag(http)
- build-depends: network >= 2.2 && < 2.6,
- HTTP >= 4000.0.8 && < 4000.3
+ build-depends: HTTP >= 4000.0.8 && < 4000.3
cpp-options: -DHAVE_HTTP
x-have-http:
hunk ./darcs.cabal 440
+ if flag(network-uri)
+ build-depends: network >= 2.6, network-uri >= 2.6
+ else
+ build-depends: network >= 2.2, network < 2.6
if (!flag(curl) && !flag(http))
buildable: False
hunk ./darcs.cabal 600
cc-options: -DHAVE_CURL
if flag(http)
- build-depends: network >= 2.2 && < 2.6,
- HTTP >= 4000.0.8 && < 4000.3
+ build-depends: HTTP >= 4000.0.8 && < 4000.3
cpp-options: -DHAVE_HTTP
x-have-http:
hunk ./darcs.cabal 603
+ if flag(network-uri)
+ build-depends: network >= 2.6, network-uri >= 2.6
+ else
+ build-depends: network >= 2.2, network < 2.6
if (!flag(curl) && !flag(http))
buildable: False
hunk ./darcs.cabal 809
cpp-options: -DHAVE_TERMINFO
if flag(http)
- build-depends: network >= 2.2 && < 2.6,
- HTTP >= 4000.0.8 && < 4000.3
+ build-depends: HTTP >= 4000.0.8 && < 4000.3
+ if flag(network-uri)
+ build-depends: network >= 2.6, network-uri >= 2.6
+ else
+ build-depends: network >= 2.2, network < 2.6
if flag(color)
x-use-color:
Context:
[rename iconv functions imported from haskeline to avoid name clash
Ganesh Sittampalam <ganesh@earth.li>**20130215140115
Ignore-this: cf72e6103ddcfd29f2c447ed43e7d187
haskeline < 0.7 still has these symbols itself so ghci doesn't work
]
[enable to match on short patch hash (future-proofing wrt darcs 2.10)
Guillaume Hoffmann <guillaumh@gmail.com>**20140804165421
Ignore-this: 95944b60ab0579adb3fe8427a8ead3e5
]
[support network 2.5.x
Ganesh Sittampalam <ganesh@earth.li>**20140801170407
Ignore-this: d0f7270a298afbd9a8336954ce4dde29
]
[support mtl 2.2.x
Ganesh Sittampalam <ganesh@earth.li>**20140801170403
Ignore-this: 9dc29e9b7468e8ab6402f8d82bda834d
]
[support text up to 1.1.x
Ganesh Sittampalam <ganesh@earth.li>**20140801170355
Ignore-this: 5bc20748b48c24b31e969352a2955e93
]
[build fixes for old GHCs for recent changes
Ganesh Sittampalam <ganesh@earth.li>**20140801051200
Ignore-this: e7cc7a3f738f52e36e5f07c3c8b97244
]
[resolve issue2364: fix file corruption on double fetch
Sergei Trofimovich <slyfox@community.haskell.org>**20140730164520
Ignore-this: 63b7eaf84f48a36f55a84a88738d8427
The bug is the result of attempt to fetch the same file
(say F) by the same URL (U) multiple times concurrently.
First time U gets fetched by speculative prefetch logic.
Second time as an ordinary file (while first fetch is not finished).
The function 'copyUrlWithPriority' sends download request
to 'urlChan' both times (it's already not a nice situation,
fixed by this patch).
Later urlThread satisfies first request, notifies receiver,
and starts downloading exactly the same U again.
I don't know exact data corruption mechanics yet, but it has
to do with non-random intermediate file names of downloaded
files and 'truncate' call when temp file is opened for a new
downlaod job.
All temp names are completely non-random for a single darcs run:
urlThread :: Chan UrlRequest -> IO ()
urlThread ch = do
junk <- flip showHex "" `fmap` randomRIO rrange
evalStateT urlThread' (UrlState Map.empty emptyQ 0 junk)
createDownloadFileName :: FilePath -> UrlState -> FilePath
createDownloadFileName f st = f ++ "-new_" ++ randomJunk st
My theory is next download manages to step on toes of previous job.
I'll try to make file names truly random in other patch.
That way such errors should manifest as read erros instead of data
corruption.
Thanks!
Backported to 2.8 branch by Ganesh Sittampalam <ganesh@earth.li>
]
[GHC 7.8 build fixes
Ganesh Sittampalam <ganesh@earth.li>**20140730060220
Ignore-this: a732f4b2136bd4873e3c5f97204aa63b
]
[Do not insist that echo and cat need to live in /bin.
Petr Rockai <me@mornfall.net>**20120716112828
Ignore-this: ed93dc9a6efd3fafa6f458c4d2924bb8
]
[resolve issue2364: don't break list of 'bad sources'
Sergei Trofimovich <slyfox@community.haskell.org>**20140513190719
Ignore-this: d68861b39305be9b7c77e9a6fca89601
This time the bug manifested on a simple operation:
$ darcs record -a -m "something"
Attempt to write a patch resulted in something like:
Failed to record patch 'hello'
HINT: I could not reach the following repositories:
http://repetae.net/repos/jhc
/home/st/.darcs/cache
/home/st/.cache/darcs
/home/st/dev/darcs/jhc
If you're not using them, you should probably delete
The sequence should be the following:
1. store patch to inventory/foo
2. try to store to a writable cache (say, ~/.darcs/cache/patches)
3. fail to write
4. filter out bad caches
5. try again
6. copy from cache to patches/
Due to missing NOINLINE step 4. led to
all caches treated as writable, thus step 5
failed without a chance for patch to
go to 'patches/'.
As a side-effect building darcs with -O0 produced seemingly working darcs.
Reported-by: Ivan Miljenovic
]
[resolve issue2345: solution using cabal's checkForeignDeps
Dan Frumin <difrumin@gmail.com>**20140120220552
Ignore-this: 57f9b20bdd5ec2973f9ddbb87f394513
Usually, Cabal performs the external dependencies check after the
configuration phase, in the `postConf` hook. This patch moves this
check into the configure section.
]
[Use System.IO.Unsafe for unsafePerformIO, not Foreign
Owen Stephens <darcs@owenstephens.co.uk>**20120401121554
Ignore-this: c15b7f938d69dbfeae34aa2785b946e5
]
[fix deprecation about using unsafePerformIO from Foreign
Ganesh Sittampalam <ganesh@earth.li>**20120401132826
Ignore-this: eb5e161870082fe340f3b05b228580fb
]
[resolve conflicts with replacement of block/unblock
Ganesh Sittampalam <ganesh@earth.li>**20140729204349
Ignore-this: a80927febd418ddb2b422cf36a97b727
]
[bump dependencies for GHC 7.8
Ganesh Sittampalam <ganesh@earth.li>**20140729204305
Ignore-this: 7101e3c8728afc0462b931c7ef2ade3c
]
[switch from block/unblock to mask
Ganesh Sittampalam <ganesh@earth.li>**20120401133954
Ignore-this: 4a68c7ee1504f36839ce28089494694a
]
[bump version to 2.8.5
Ganesh Sittampalam <ganesh@earth.li>**20140729195207
Ignore-this: bc4e4a6d34533df1bff2eb67bf757acc
]
[TAG 2.8.4
Ganesh Sittampalam <ganesh@earth.li>**20130127231845
Ignore-this: d032f69540341ecfd5858fce7aee1457
]
[Resolve issue2155: Expurgate the non-functional annotate --xml-output option
Dave Love <fx@gnu.org>**20130127231835
Ignore-this: eb03207031e75687968091d56fb008f8
backported from HEAD by Ganesh Sittampalam <ganesh@earth.li>
]
[Resolve issue2155: Expurgate the non-functional annotate --xml-output option
Dave Love <fx@gnu.org>**20130120121739
Ignore-this: 8a9ce6409a50b71cd0d2fdabbc181b1a
backported from HEAD by Ganesh Sittampalam <ganesh@earth.li>
]
[note dependency bumps in NEWS
Ganesh Sittampalam <ganesh@earth.li>**20130120170310
Ignore-this: 48cf181c89ec1b69fc6e9e701734ff19
]
[bump version to 2.8.4
Ganesh Sittampalam <ganesh@earth.li>**20130120154856
Ignore-this: 2f2542e9825b66cda3a0a17275b5e311
]
[resolve issue2199: getMatchingTag needs to commute for dirty tags
Ganesh Sittampalam <ganesh@earth.li>**20121218191024
Ignore-this: 947252cd8e084b793044aff564f0462d
backported from HEAD
]
[accept issue2199: darcs get --tag gets too much
Ganesh Sittampalam <ganesh@earth.li>**20120528164525
Ignore-this: 8c138a80c294e6181a3ef9250593fa31
]
[constrain haskeline version on old GHC
Ganesh Sittampalam <ganesh@earth.li>**20130119234432
Ignore-this: 8af00cc3d3c1ad223a8b35712c06bae
]
[Add option -a to darcs changes in Setup.lhs
Ben Franksen <ben.franksen@online.de>**20120811195807
Ignore-this: f23d2e558f7248fec8d07b0391d9a7e8
Some (potential) contributors (like me) have 'changes interactive'
in their ~/.darcs/defaults and then wonder why their build hangs.
]
[add copyright notices for the imported haskeline code
Ganesh Sittampalam <ganesh@earth.li>**20130119163610
Ignore-this: afcdc8048f8b3233fa17d3ab0c9c311f
licence/copyright taken from haskeline 0.6.4.7:
BSD3, copyright Judah Jacobson
]
[import encoding code from haskeline: switch over
Ganesh Sittampalam <ganesh@earth.li>**20130118231907
Ignore-this: b423a92ba93e74520d0578ac21aceab3
]
[import encoding code from haskeline: source files
Ganesh Sittampalam <ganesh@earth.li>**20130118225947
Ignore-this: c2d1e228fa4cce3e66e90a14fa2f3200
]
[import encoding code from haskeline: cabal file changes
Ganesh Sittampalam <ganesh@earth.li>**20130118070642
Ignore-this: d2ed13887d0c547cb7498bd5a2aef46f
]
[import encoding code from haskeline: Setup.lhs changes
Ganesh Sittampalam <ganesh@earth.li>**20130115181040
Ignore-this: 31ccdca76001bff769464fb7a8e574e9
]
[ROLLBACK: conditionally use bytestring-handle
Ganesh Sittampalam <ganesh@earth.li>**20130111213829
Ignore-this: d3c18b61f765bdfcb574b4977185197b
It doesn't skip invalid byte sequences when decoding so breaks on
repositories with non-UTF8 encoded metadata.
]
[bump network dependency
Ganesh Sittampalam <ganesh@earth.li>**20130111184607
Ignore-this: 54e55fa09793008d55572b6acad1a7b8
]
[add some comments about "nearby" darcs, and print out the one that was found
Ganesh Sittampalam <ganesh@earth.li>**20130111211817
Ignore-this: 57385f3248fc539435ed9de069a40bd5
backported from HEAD
]
[make darcs-test look "nearby" for a darcs exe to use
Ganesh Sittampalam <ganesh@earth.li>**20130111211445
Ignore-this: d952cf330c0d9510c5c973dd41b191e0
backported from HEAD
]
[need different path separator on Windows
Ganesh Sittampalam <ganesh@earth.li>**20121219191221
Ignore-this: 42c7ba1e46f5b6b600d23838e5a162cb
]
[test for issue2286: make sure we can read repos with non-UTF8 metadata
Ganesh Sittampalam <ganesh@earth.li>**20130102222735
Ignore-this: adc6165d5d5d991383ebf0e6547f7bf4
]
[We can use chcp to switch encodings on Windows
Ganesh Sittampalam <ganesh@earth.li>**20130101122254
Ignore-this: bc115467e31e144694a33e43dca3fb6c
This means that the tests that require different encodings can run.
]
[Find latin9 locale on OS X too
Michael Hendricks <michael@ndrix.org>**20120420202408
Ignore-this: c87db3b97312234ed2380d2ca11a8ca0
Most Linux systems describe latin9 as "iso885915". OS X
describes it with "ISO8859-15". The new regex catches both.
]
[windows test fix: replace shell script with a Haskell program
Ganesh Sittampalam <ganesh@earth.li>**20121231224332
Ignore-this: de01ab8647e7d62c18d8c266d514b054
]
[unsetting DARCS_TEST_PREFS_DIR in utf8 test doesn't seem to be necessary
Ganesh Sittampalam <ganesh@earth.li>**20130101120246
Ignore-this: ed74710d8b358b920d742e86a7f008d8
It was causing problems on Windows because getAppUserDataDirectory
still returns the normal user directory.
It also means that the repository type choice isn't picked up.
]
[improve diagnostics when utf8 test fails
Ganesh Sittampalam <ganesh@earth.li>**20121231224600
Ignore-this: 63db587bc36f8826c66dc6913a4fdb2d
]
[need to do case-insensitive comparison on Windows
Ganesh Sittampalam <ganesh@earth.li>**20121228214823
Ignore-this: ef309d4aef22e87d5c3da3222926af0e
]
[update NEWS
Ganesh Sittampalam <ganesh@earth.li>**20121216202654
Ignore-this: aef3e47204a4157504f90554ffc3a327
]
[conditionally use bytestring-handle instead of haskeline for encoding
Ganesh Sittampalam <ganesh@earth.li>**20121216201745
Ignore-this: fd758796b689d090d01e003e660e405
This is transitional because we need to support GHC 6.10: we can switch
over to bytestring-handle unconditionally on HEAD.
]
[bump deps for GHC 7.6/latest hackage
Ganesh Sittampalam <ganesh@earth.li>**20121216201543
Ignore-this: 77829b074a4bff635a421879bdd04be0
]
[conditionally support tar 0.4
Ganesh Sittampalam <ganesh@earth.li>**20121216201014
Ignore-this: 8eff0330e6af196727bdd736ef31db25
]
[recent test-framework seems to require Typeable
Ganesh Sittampalam <ganesh@earth.li>**20121216175601
Ignore-this: a8cce6b69984bfc2335b5c19688950b3
]
[stop using Prelude.catch
Ganesh Sittampalam <ganesh@earth.li>**20121216163240
Ignore-this: b4bfc48775b3337f8f7ebe275be1a058
backported from HEAD
]
[import constructors of C types to deal with a GHC change
Ganesh Sittampalam <ganesh@earth.li>**20120401132500
Ignore-this: ab7cf2fb5e9a2494c14fe7394200da9b
]
[TAG 2.8.3
Ganesh Sittampalam <ganesh@earth.li>**20121104174910
Ignore-this: 3198f6deecf3d1b44df6e05a2657d9ca
]
Patch bundle hash:
6165bf6d4edc79119ecc74ce18a9171ece68c733
_______________________________________________
darcs-users mailing list
darcs-users@darcs.net
http://lists.osuosl.org/mailman/listinfo/darcs-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic