Dependencies and compatibility

16 views
Skip to first unread message

Ben Gamari

unread,
Nov 2, 2012, 4:45:48 PM11/2/12
to scou...@googlegroups.com
Here is a patch allowing Scoutess to build on GHC 7.6. This both breaks
the dependency on old-time (replacing it with new time) and bumps the
lower bound on directory. It also bumps the upper bounds on Cabal,
bytestring, and network.

I probably could have added some CPP guards to preserve compatibility
with old-time, but I felt this would be a bit cleaner.

Cheers,

- Ben



1 patch for repository http://hub.darcs.net/alp/scoutess:

Fri Nov 2 16:32:24 EDT 2012 bgamar...@gmail.com
* Port to directory-1.2 and time

New patches:

[Port to directory-1.2 and time
bgamar...@gmail.com**20121102203224
Ignore-this: ada3c2905f223c6d81b206a897ff8240
] hunk ./Scoutess/Utils/HTTP.hs 11
import System.Directory (createDirectoryIfMissing, doesFileExist, getModificationTime)
import System.FilePath (dropFileName)
import System.Locale (defaultTimeLocale, rfc822DateFormat)
-import System.Time (ctTZName, formatCalendarTime, toUTCTime)
+import Data.Time.Format (formatTime)

import qualified Data.ByteString as BS

hunk ./Scoutess/Utils/HTTP.hs 70
lastModified :: FilePath -> IO String
lastModified file = do
modTime <- getModificationTime file
- let gmt = (toUTCTime modTime){ctTZName = "GMT"}
- return $ formatCalendarTime defaultTimeLocale rfc822DateFormat gmt
+ return $ formatTime defaultTimeLocale rfc822DateFormat modTime
hunk ./scoutess.cabal 16
data-dir: ""

library
- build-depends: base ==4.*, filepath ==1.3.*, directory ==1.1.*,
- Cabal ==1.14.*, bytestring ==0.9.*, mtl ==2.1.*, filemanip ==0.3.*,
- text ==0.11.*, containers ==0.4.*, process ==1.1.*, zlib ==0.5.*,
- tar ==0.4.*, transformers ==0.3.*, old-time ==1.1.*,
- old-locale ==1.0.*, network ==2.3.*, HTTP ==4000.2.*, pretty ==1.1.*
+ build-depends: base ==4.*, filepath ==1.3.*, directory >=1.2 && <1.3,
+ Cabal >=1.14 && <1.17, bytestring >=0.9 && <0.11, mtl ==2.1.*, filemanip ==0.3.*,
+ text ==0.11.*, containers >=0.4 && <0.6, process ==1.1.*, zlib ==0.5.*,
+ tar ==0.4.*, transformers ==0.3.*, time >=1.4 && <1.5,
+ old-locale ==1.0.*, network >=2.3 && <2.5, HTTP ==4000.2.*, pretty ==1.1.*
exposed-modules: Scoutess.Types Scoutess.Core Scoutess.Config
Scoutess.DataFlow Scoutess.Server
Scoutess.Service.LocalHackage.Core Scoutess.Service.PackDeps.Core

Context:

[Added tibbe's build scenarios
Alp Mestanogullari <alpm...@gmail.com>**20121026113103
Ignore-this: fe9132ccc24fb0e68dab9ad57e530078
]
[build-scenarios.md: flush out first example
Jeremy Shaw <jer...@seereason.com>**20121010151316
Ignore-this: 73710c735d9ec5104a7b949d162d88a5
]
[started doc on build scenarios we want to be able to handle
Jeremy Shaw <jer...@seereason.com>**20121004204551
Ignore-this: b3b34d171148a8664bf254311d5f9dab
]
[Fix #5 Canonicalize sandboxDir
sop...@gmail.com**20120922181423
Ignore-this: efa31e853ed16594af9856097bed01f2
]
[Cleaned up the repo for hosting on hub.darcs.net
Alp Mestanogullari <alpm...@gmail.com>**20120921120736
Ignore-this: 4674c0ade86a94c67bbab1c745b813fa
]
[Fixed an error in the previous commit
Alp Mestanogullari <alpm...@gmail.com>**20120920124508
Ignore-this: 6e6d9b5508d6b3ef5ec7f6100c422c0b
]
[Uninteresting updates
Alp Mestanogullari <alpm...@gmail.com>**20120920124331
Ignore-this: 61e18fedbfb350e0f260692fa59525a6
]
[Final submission!
dmcgi...@gmail.com**20120815181538
Ignore-this: 99764e33a60105afdabc1b4cd31f2e17
]
[More bugfixes: added Scoutess.Service.Source.Dir to darcs
dmcgi...@gmail.com**20120814210902
Ignore-this: 3d99010341d390385cb7122d142a6f3
]
[Bugfixes, Scoutess actually builds itself from Darcs now
dmcgi...@gmail.com**20120814210122
Ignore-this: f60d85a297d6382a5fe24251a24c776e
]
[Actually added Types.hs and Scoutess successfully builds itself!
dmcgi...@gmail.com**20120814204447
Ignore-this: 19b97d11d851db8b5613b373f5c59441
]
[Moved the types to Scoutess.Types, added a modern Main.hs. Also added the Component type which represents a part of the build process and each Component may return a ComponentReport by calling 'withComponent'.
dmcgi...@gmail.com**20120813201927
Ignore-this: 2a5eba598ebe9fb06a4daf1e40995b1f
]
[Scoutess now uses cabal-install's dependency solver and builds docs
dmcgi...@gmail.com**20120807203825
Ignore-this: 7baf4e9728880be25d0e5a959d3e5dee
]
[Implemented PriorRun and BuildReport
dmcgi...@gmail.com**20120725202510
Ignore-this: 592f3ac8793b4dc74a3fd42dca5686a9
]
[Allowed the target location to use the unfiltered SourceSpec and general code cleaning.
dmcgi...@gmail.com**20120719223710
Ignore-this: cff1491cfa9f6a3c7f9721eef03ee901
]
[Implemented fetching from Darcs (it still needs testing!), added more caching support.
dmcgi...@gmail.com**20120712194045
Ignore-this: 85320f28ca4b520961fb19102b1360a1
]
[Added the start of some error handling (using 'process' instead of 'system') and improved the version fetching.
dmcgi...@gmail.com**20120711183127
Ignore-this: 61e2411e4d5bb751e5b168c5c8b20c8
]
[Added a test for 'standard' in DataFlow
dmcgi...@gmail.com**20120709214446
Ignore-this: 30ecf33bb384a04e2aedf3157644ad04
]
[Finished first prototype of builder
dmcgi...@gmail.com**20120709212225
Ignore-this: b5d20049cdd8d1d9c607a023c9a10fc8
]
[added the skeleton of 'build'
dmcgi...@gmail.com**20120702193231
Ignore-this: 5e433cd265ad36ac36f894b693aaf9ac
]
[Started updateLocalHackage, implemented a version of BuildSpec and corrected the line endings of Scoutess.Core.
dmcgi...@gmail.com**20120627182750
Ignore-this: f7689e303df3087399b32266a398320a
]
[added generateIndexSelectively
dmcgi...@gmail.com**20120627170348
Ignore-this: 1c93184522eb14aedf38e11fb029a144
]
[added Patch constructor to SourceLocation
Jeremy Shaw <jer...@seereason.com>**20120626145630
Ignore-this: 8387d43983aa59c1f1ba4eae72d2498e
]
[Moved the data types to Scoutess.Core, changed Hackage.getAllVersions to return VersionInfos.
dmcgi...@gmail.com**20120624192914
Ignore-this: ea86327367a9c319f880fb2bc779221a
]
[Filled out VersionInfo and implemented getImmDeps
dmcgi...@gmail.com**20120623192835
Ignore-this: b97a6a2a7bf1891b58536606a3f690c3
]
[Improved calculateDependencies to not be terrible
dmcgi...@gmail.com**20120618210621
Ignore-this: 9bbfda9d65f7f0e6f0774028841d9c20
]
[cleaning up code a little, added Data instance for Bimap
dmcgi...@gmail.com**20120618202103
Ignore-this: 2fbbfc1a579105fd2777a71a3d92ce09
]
[implemented DataFlow.calculateDependencies
dmcgi...@gmail.com**20120617235425
Ignore-this: c7e32038dc0a4722c6c233a4fc582206
]
[implemented fetchDarcs and minor changes to DataFlow
dmcgi...@gmail.com**20120613152540
Ignore-this: bd06c49473e7c853a28f5002bfd244b3
]
[changed Scoutess arrow to be a newtype
dmcgi...@gmail.com**20120611222600
Ignore-this: 5d9ed4e5e6b3face1da14c5bfb725c3f
]
[changed Scoutess.DataFlow.fetchVersions to not use arrows needlessly
dmcgi...@gmail.com**20120611220546
Ignore-this: 58e4ffada7e502375e82e1093b8e46d3
]
[added fetchAllVersions to Service.Source.Hackage, fleshed out DataFlow a little more
dmcgi...@gmail.com**20120611212413
Ignore-this: f1fd438e18d5aad7601a92540b27b4c0
]
[make the Scoutess type able to do IO
Jeremy Shaw <jer...@seereason.com>**20120610203146
Ignore-this: 93a70ff1a9ec93c1eb6cd2b4d63e6bbd
]
[Added DataFlow.hs - an attempt to work out the big picture in terms of data flow
Jeremy Shaw <jer...@seereason.com>**20120610201859
Ignore-this: 7da88dc00c4f9fa6d6f66a94458b3b45
]
[added happstack-yui to list of doc packagse we build
Jeremy Shaw <jer...@seereason.com>**20120610141947
Ignore-this: a5bd029a1697018e1d1f2e4dc97360e1
]
[implemented calculateSrcChanged and updateHistory
dmcgi...@gmail.com**20120609161149
Ignore-this: ab8baf3c41bf5310824c9fe74a754c16
]
[Main.hs: added reform, updated some other packages
Jeremy Shaw <jer...@seereason.com>**20120521231056
Ignore-this: 11eb493fee3ea9cf9ec24cd8b372c3e
]
[updated haddock package list to latest versions
Jeremy Shaw <jer...@seereason.com>**20120502182159
Ignore-this: b790a1f231bb2ca4a808df484c7a52c2
]
[updated list of packages we haddock
Jeremy Shaw <jer...@seereason.com>**20120421013325
Ignore-this: 324848b381e3ddf484ca4030fabd9131
]
[updated depends on pipes-extra and pipes-core
Jeremy Shaw <jer...@seereason.com>**20120421013302
Ignore-this: 9280893b6e3bdf5ed85a799409ff31eb
]
[hacked up haddock builder more.
Jeremy Shaw <jer...@seereason.com>**20120331202725
Ignore-this: 839b70c2de709754e9a1e28ba0555814
]
[Revert to 20120222033818-79186-be56472f2f2312fdfebcbb6314cc473e684d0e63.gz
alpmestan <>**20120327182807
Ignore-this: ceac49715997c70580a3ae8639faacaa
]
[added irc logs
alpmestan <>**20120327182729
Ignore-this: 8fc0e6d229dce5b7dfb75cad2ba508f6
]
[Revert to 20120222033818-79186-be56472f2f2312fdfebcbb6314cc473e684d0e63.gz
alpmestan <>**20120327182700
Ignore-this: f9837072246deb3d63370ed4f192449
]
[added irc log
alpmestan <>**20120327182433
Ignore-this: ac05b5773899776b2e2264db340cfbcd
]
[added the irc log
alpmestan <>**20120327181838
Ignore-this: 9ca6420ae5af7b6d92b4bd7e3c928f54
]
[Fixed the index generation. Now the hackageDir is a valid local-repo for cabal-install
Alp Mestanogullari <alpm...@gmail.com>**20120316012313
Ignore-this: 5c84667ae06ca8be2367337a8fdc5f30
]
[Improved the copyDir function
Alp Mestanogullari <alpm...@gmail.com>**20120316003234
Ignore-this: d79a0fb5ebf6ab72d038e77e1bd36f7d
]
[Modified the cabal file to add S.U.Directory
Alp Mestanogullari <alpm...@gmail.com>**20120315232100
Ignore-this: e0d5d9f2e303b6a60f13d4752c019297
]
[Added the local hackage service
Alp Mestanogullari <alpm...@gmail.com>**20120315230914
Ignore-this: 9c50dac9fefa3556244650e31eb310b4
]
[really hacked up Haddock Service kind of working. Needs more love.
Jeremy Shaw <jer...@seereason.com>**20120310201529
Ignore-this: 76ad4a4cb3872050f4b4ac6c2fcbf8ae
]
[removed Control.Pipe.Tee as it is now in upstream pipes-extra
Jeremy Shaw <jer...@seereason.com>**20120308214051
Ignore-this: f436f5667dbe3a0026e4798ae1a299a5
]
[more hacking on haddocking
Jeremy Shaw <jer...@seereason.com>**20120308213945
Ignore-this: 5b8cf475758f7da7ae1e4a2b7c3ae978
]
[updates to Control.Pipe.Tee
Jeremy Shaw <jer...@seereason.com>**20120308192742
Ignore-this: 356dac04d2f9f670346a168d4804bb91
]
[remove more trailing whitespace
Jeremy Shaw <jer...@seereason.com>**20120308191357
Ignore-this: cf42ec9bcabc7b08e25bfcfa73b45ec1
]
[remove some trailing whitespace
Jeremy Shaw <jer...@seereason.com>**20120308190359
Ignore-this: 3445a94355b457c8233799570d67d2a6
]
[Cabal: skip unpacking if the unpacked directory already exists
Jeremy Shaw <jer...@seereason.com>**20120308190041
Ignore-this: e4504dc87b419fc4cabe8b2f10509431
]
[broken beginnings of haddock builder
Jeremy Shaw <jer...@seereason.com>**20120308184456
Ignore-this: 6bce7d5b7e1e7199ffee608eac2bba96
]
[fixed cabal unpack
Jeremy Shaw <jer...@seereason.com>**20120308184426
Ignore-this: 25368cdbc842ef8b8dd600b16df8e765
]
[Added -O2 and -threaded flags to .cabal. Removed whitespace.
Jeremy Shaw <jer...@seereason.com>**20120308181339
Ignore-this: ea87f4333044c0ebaa8e5e4a0d7248c2
]
[added update and unpack to Cabal
Jeremy Shaw <jer...@seereason.com>**20120308181242
Ignore-this: efb2b5959eb90f843d40025e0d9361e3
]
[bug fixes to Control.Pipe.Process
Jeremy Shaw <jer...@seereason.com>**20120308181210
Ignore-this: 9546704dd3706fa7b090002efe9f3084
]
[added all modules to .cabal and added additional build-depends
Jeremy Shaw <jer...@seereason.com>**20120308063331
Ignore-this: 9337d4aebac2a01dda2e197c063afd90
]
[Added Scoutess.Service.Haddock.Core (but there is nothing in it yet)
Jeremy Shaw <jer...@seereason.com>**20120308062603
Ignore-this: 566480e08db693360af6e45700b889f7
]
[started work on a pipes-based wrapper around cabal-install
Jeremy Shaw <jer...@seereason.com>**20120308062413
Ignore-this: 2b2c69218cd1506e734e8ddaf8728194
after looking in the cabal-install source for a while.. it seems like calling the cabal install executable is our only real choice. The functionality we need is to exported -- at it is rather complicated to recreate. Seems better to just call the executable 'cabal' for now.
]
[modified Control.Pipe.Process.process so that it supports apps that do not require writing to stdin.. hopefully we can add support for stdin later.
Jeremy Shaw <jer...@seereason.com>**20120308062225
Ignore-this: 1181d5061b549ae5483ae5cc32b54935
]
[Added Control.Pipe.Tee
Jeremy Shaw <jer...@seereason.com>**20120308062206
Ignore-this: 2132082b2b231338469e437a8336488f
]
[haddock and .cabal updates
Jeremy Shaw <jer...@seereason.com>**20120307234534
Ignore-this: 68b5b45f3e7e91aca724de4d569439f6
]
[Added a test for fetchHackage, in tests/
Alp Mestanogullari <alpm...@gmail.com>**20120304154156
Ignore-this: 5028592345af6d4669cef5d614467caa
]
[First shot at fetching packages from Hackage (forgot to add Hackage.hs in the previous patch)
Alp Mestanogullari <alpm...@gmail.com>**20120304021657
Ignore-this: e948d79508d60edf76a9bb433e6b6921
]
[First shot at fetching packages from Hackage
Alp Mestanogullari <alpm...@gmail.com>**20120304021501
Ignore-this: eacfa3cdb718cd0285e960ebe5d88405
]
[Factored out utility functions to deal with gzip and tar files, and file downloading
Alp Mestanogullari <alpm...@gmail.com>**20120303233201
Ignore-this: fb47e99953d0cc78e64b5ce359bcb182
]
[build fix
Jeremy Shaw <jer...@seereason.com>**20120303224344
Ignore-this: 7c6e093bf6cd106470a85466c5ed09eb
]
[more worker on the builder. renamed CabalProxy to LocalHackage
Jeremy Shaw <jer...@seereason.com>**20120303224224
Ignore-this: 642df4db217d87f6399f6144ec05fdd7
]
[more work on Builder.
Jeremy Shaw <jer...@seereason.com>**20120301042310
Ignore-this: 7a3ca8e270c87eaa8e24635bd3b3c4c5
]
[added another attempt at Control.Pipe.Process
Jeremy Shaw <jer...@seereason.com>**20120223185454
Ignore-this: 64758d3333629f3a2ef4eeacaa442717
]
[tarCabalFiles now handles baseDir's not ending with a /
Alp Mestanogullari <alpm...@gmail.com>**20120223130226
Ignore-this: fd858ccca376ee61991e7cc4110720dd
]
[Control/Pipe -> Control/Pipes
Jeremy Shaw <jer...@seereason.com>**20120223063026
Ignore-this: 4e1d30e57db241106f5251da14339e1
]
[added first (broken) attempt at Pipes interface for runInteractiveProcess
Jeremy Shaw <jer...@seereason.com>**20120223062837
Ignore-this: 72b0935686818a996d1d096352e0ce60
]
[Updated the cabal file for the new dependencies (tar, zlib and filemanip)
Alp Mestanogullari <alpm...@gmail.com>**20120222145612
Ignore-this: 711322cb9a3cfa7a22f7afab475af63d
]
[Added package index generation from a list of .tar.gz archives with a test in tests/
Alp Mestanogullari <alpm...@gmail.com>**20120222144324
Ignore-this: 1201067f3557c68a59f036c3966091fc
]
[added link to HackageDB spec
stepcut <>**20120222033818
Ignore-this: ba9b4e1ab41012641765997f67895cb8
]
[SourceError -> SourceException
Jeremy Shaw <jer...@seereason.com>**20120221194300
Ignore-this: f88605ccd86a0b5f71e3839ad247b703
]
[remove bogus SourceError constructor
Jeremy Shaw <jer...@seereason.com>**20120221193849
Ignore-this: 6671f6b923bf51fcce9b86b5a4005a0b
]
[started drafting out a design (modules, types, and function signatures)
Jeremy Shaw <jer...@seereason.com>**20120221041324
Ignore-this: 38da1f9d9d5cda2376566685bc148d42
]
[added the reports section
alpmestan <>**20120221013158
Ignore-this: 2305b6d29f84423e03c04b2d8fc58d56
]
[dependencies section
alpmestan <>**20120221012821
Ignore-this: 4ac31a825f592c0e80bcc98a28a70c4b
]
[initial idea for the build process
alpmestan <>**20120221011944
Ignore-this: 1375453991bb5a412c68b8d13d0d5770
]
[added a link to the Build Process page
alpmestan <>**20120221010835
Ignore-this: e2fa6ebc5023a6171f9f914cf168a68d
]
[initial plan
alpmestan <>**20120221010648
Ignore-this: 191c0b685ec90238b0045d26197bb6f1
]
[First commit
alpm...@gmail.com**20120220215437
Ignore-this: a639263ef8d226e7dab69967e4dfcd63
]
[User's guide (README)
Gitit <>**20120220214004
Ignore-this: 35dacb4d94eb96309051ec224a66cd5d
]
[Default help page
Gitit <>**20120220214004
Ignore-this: 8013e825fbc895d95516ca7d37f00d45
]
[Default front page
Gitit <>**20120220214004
Ignore-this: de89dde88080892d4b2de7ae3fce0bc4
]
Patch bundle hash:
c98fa5deb1c9f54f55faa863930b01f6f5fc0b44

Ben Gamari

unread,
Nov 2, 2012, 8:00:34 PM11/2/12
to scou...@googlegroups.com
Ben Gamari <bga...@gmail.com> writes:

> Here is a patch allowing Scoutess to build on GHC 7.6. This both breaks
> the dependency on old-time (replacing it with new time) and bumps the
> lower bound on directory. It also bumps the upper bounds on Cabal,
> bytestring, and network.
>
> I probably could have added some CPP guards to preserve compatibility
> with old-time, but I felt this would be a bit cleaner.
>
I should note that I still haven't been able to get Scoutess to build
anything sucessfully, so this still isn't fully tested (beyond the fact
that it builds). In particular, I'm seeing,

$ scoutess vector-algorithms 0.5.4 Hackage sandbox sources.txt
scoutess: user error (You need to re-run the 'configure' command. The version of Cabal being used has changed (was Cabal-1.14.0, now Cabal-1.16.0). Additionally the compiler is different (was ghc-7.4, now ghc-7.6) which is probably the cause of the problem.)

Cheers,

- Ben

Alp Mestanogullari

unread,
Nov 3, 2012, 3:01:42 PM11/3/12
to Ben Gamari, scou...@googlegroups.com
Yeah, Scoutess' GSoC hasnt' been as strong as we would have wanted, and in particular it seems it worked for the student but none of us has been able to make it build anything. 

However, we are discussing a radical shift in the design/impl right now, to simplify our work and the contributor's work. Right after we decide which way to go (you can contribute to that discussion!), everything will evolve way faster. 



--





--
Alp Mestanogullari
Reply all
Reply to author
Forward
0 new messages