From ce2c3dbe88211bfcae72aed3eb5da476571b997d Mon Sep 17 00:00:00 2001 From: Mathieu Boespflug Date: Sat, 13 Jun 2015 00:46:58 +0200 Subject: [PATCH 1/7] Loosen base upper bound and a few others. --- distributed-process-demos.cabal | 45 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/distributed-process-demos.cabal b/distributed-process-demos.cabal index d29bb68..2f991c8 100644 --- a/distributed-process-demos.cabal +++ b/distributed-process-demos.cabal @@ -1,10 +1,10 @@ --- Initial distributed-process-demos.cabal generated by cabal init. For +-- Initial distributed-process-demos.cabal generated by cabal init. For -- further documentation, see http://haskell.org/cabal/users-guide/ name: distributed-process-demos version: 0.1.0.0 synopsis: Cloud Haskell Demo Applications --- description: +-- description: homepage: http://haskell-distributed.github.com license: BSD3 license-file: LICENSE @@ -17,7 +17,7 @@ cabal-version: >=1.8 flag use-simplelocalnet description: Use the SimpleLocalnet backend - default: True + default: True flag use-azure description: Use the Azure backend @@ -25,25 +25,25 @@ flag use-azure executable distributed-process-simplelocalnet-masterslave main-is: SimpleLocalnet.hs - other-modules: MasterSlave + other-modules: MasterSlave PrimeFactors hs-source-dirs: src/MasterSlave src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet cpp-options: -DUSE_SIMPLELOCALNET - else + else buildable: False executable distributed-process-azure-masterslave main-is: Azure.hs - other-modules: MasterSlave + other-modules: MasterSlave PrimeFactors hs-source-dirs: src/MasterSlave src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall @@ -58,14 +58,14 @@ executable distributed-process-simplelocalnet-workpushing other-modules: WorkPushing PrimeFactors hs-source-dirs: src/WorkPushing src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet cpp-options: -DUSE_SIMPLELOCALNET - else + else buildable: False executable distributed-process-azure-workpushing @@ -73,7 +73,7 @@ executable distributed-process-azure-workpushing other-modules: WorkPushing PrimeFactors hs-source-dirs: src/WorkPushing src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall @@ -88,14 +88,14 @@ executable distributed-process-simplelocalnet-typedworkpushing other-modules: TypedWorkPushing PrimeFactors hs-source-dirs: src/TypedWorkPushing src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet cpp-options: -DUSE_SIMPLELOCALNET - else + else buildable: False executable distributed-process-azure-typedworkpushing @@ -103,7 +103,7 @@ executable distributed-process-azure-typedworkpushing other-modules: TypedWorkPushing PrimeFactors hs-source-dirs: src/TypedWorkPushing src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall @@ -118,14 +118,14 @@ executable distributed-process-simplelocalnet-workstealing other-modules: WorkStealing PrimeFactors hs-source-dirs: src/WorkStealing src/Common - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2 extensions: BangPatterns, CPP, TemplateHaskell ghc-options: -Wall if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet cpp-options: -DUSE_SIMPLELOCALNET - else + else buildable: False executable distributed-process-simplelocalnet-mapreduce @@ -136,19 +136,18 @@ executable distributed-process-simplelocalnet-mapreduce MonoDistrMapReduce PolyDistrMapReduce hs-source-dirs: src/MapReduce - build-depends: base ==4.5.*, + build-depends: base >=4.5 && <5, distributed-process >= 0.3.2, - distributed-static >= 0.2.0 && < 0.3, + distributed-static >= 0.2.0, containers >= 0.4 && < 0.6, bytestring >= 0.9 && < 0.11, - binary >= 0.5 && < 0.7, - array >= 0.4 && < 0.5, - random >= 1.0 && < 1.1 + binary >= 0.5 && < 0.8, + array >= 0.4 && < 0.6, + random >= 1.0 && < 1.2 extensions: BangPatterns, CPP, TemplateHaskell, ScopedTypeVariables ghc-options: -Wall -rtsopts -with-rtsopts=-K64M if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet cpp-options: -DUSE_SIMPLELOCALNET - else + else buildable: False - From 0a6a516c03213664c2155bc1dc5b05a4efb91484 Mon Sep 17 00:00:00 2001 From: Mathieu Boespflug Date: Sat, 13 Jun 2015 01:04:49 +0200 Subject: [PATCH 2/7] GHC 7.10 compat. --- distributed-process-demos.cabal | 6 +++++- src/MapReduce/CountWords.hs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/distributed-process-demos.cabal b/distributed-process-demos.cabal index 2f991c8..b2b7436 100644 --- a/distributed-process-demos.cabal +++ b/distributed-process-demos.cabal @@ -144,7 +144,11 @@ executable distributed-process-simplelocalnet-mapreduce binary >= 0.5 && < 0.8, array >= 0.4 && < 0.6, random >= 1.0 && < 1.2 - extensions: BangPatterns, CPP, TemplateHaskell, ScopedTypeVariables + extensions: BangPatterns + CPP + KindSignatures + ScopedTypeVariables + TemplateHaskell ghc-options: -Wall -rtsopts -with-rtsopts=-K64M if flag(use-simplelocalnet) build-depends: distributed-process-simplelocalnet diff --git a/src/MapReduce/CountWords.hs b/src/MapReduce/CountWords.hs index a343837..7885685 100644 --- a/src/MapReduce/CountWords.hs +++ b/src/MapReduce/CountWords.hs @@ -10,6 +10,7 @@ import Control.Distributed.Process import Control.Distributed.Process.Closure import MapReduce import MonoDistrMapReduce hiding (__remoteTable) +import Prelude hiding (Word) type Document = String type Word = String @@ -31,4 +32,3 @@ remotable ['countWords_] distrCountWords :: [NodeId] -> Map FilePath Document -> Process (Map Word Frequency) distrCountWords = distrMapReduce ($(mkClosure 'countWords_) ()) - From aaf55b094ee6e52efd325ed421c261cd4d722959 Mon Sep 17 00:00:00 2001 From: Mathieu Boespflug Date: Sun, 28 Jun 2015 22:21:27 +0200 Subject: [PATCH 3/7] Uniform .gitignore. --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f75fb7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +dist/ +.cabal-sandbox +cabal.sandbox.config +.stack* From b59591e5be02770cec8b857e4b0b77b7f4505e74 Mon Sep 17 00:00:00 2001 From: Alexander Vershilov Date: Mon, 29 Jun 2015 13:03:12 +0300 Subject: [PATCH 4/7] Add a CONTRIBUTING.md file. --- CONTRIBUTING.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f053c74 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,59 @@ +# Cloud Haskell contributor guidelines + +See [README](README.md) for how to build from source. + +The Cloud Haskell project is made up of a number of independent +repositories. The cloud-haskell repository includes all other +repositories as submodules, for convenience. If you want to hack on +any Cloud Haskell package and contribute changes upstream, don't +checkout each individual repository in its own directory. Instead (if +you have [hub][hub] installed), + +``` +$ hub clone --recursive haskell-distributed/cloud-haskell +``` + +which clones all Cloud Haskell repositories as submodules inside the +`cloud-haskell` directory. You can then hack on each submodule as +usual, committing as usual. + +[hub]: https://hub.github.com/ + +## Contributing changes upstream + +### Contributing changes to a single package + +To contribute changes, you first need a fork: + +``` +$ cd +$ hub fork +``` + +Then publish branches and submit pull requests as usual: + +``` +$ stack test # Check that everything works before proceeding. +$ git push --set-upstream +$ hub pull-request +``` + +### Contributing related changes to multiple packages + +The vast majority of changes only affect a single package. But some +changes break compatibility with older versions of dependent packages. +In this case, you need to submit a separate PR for each package. +Before doing so, + +``` +$ stack test +``` + +in the top-level repository to test that all packages work together. +Submit the PR's as in the single package case, then additionally +follow the same instructions to submit a PR against the +`cloud-haskell` repository. This PR should normally only include +updates to the submodule references. The objective of this PR is to +kick the CI system into providing evidence to the Cloud Haskell +maintainers that with all the related changes to each package the +whole does compile and pass tests. From e79daab59d4fb7f96b67cfa60eec3df693c378d1 Mon Sep 17 00:00:00 2001 From: Alexander Vershilov Date: Mon, 29 Jun 2015 21:01:45 +0300 Subject: [PATCH 5/7] Add a CONTRIBUTING.md file. --- CONTRIBUTING.md | 60 +------------------------------------------------ 1 file changed, 1 insertion(+), 59 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f053c74..7a4f3ee 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,59 +1 @@ -# Cloud Haskell contributor guidelines - -See [README](README.md) for how to build from source. - -The Cloud Haskell project is made up of a number of independent -repositories. The cloud-haskell repository includes all other -repositories as submodules, for convenience. If you want to hack on -any Cloud Haskell package and contribute changes upstream, don't -checkout each individual repository in its own directory. Instead (if -you have [hub][hub] installed), - -``` -$ hub clone --recursive haskell-distributed/cloud-haskell -``` - -which clones all Cloud Haskell repositories as submodules inside the -`cloud-haskell` directory. You can then hack on each submodule as -usual, committing as usual. - -[hub]: https://hub.github.com/ - -## Contributing changes upstream - -### Contributing changes to a single package - -To contribute changes, you first need a fork: - -``` -$ cd -$ hub fork -``` - -Then publish branches and submit pull requests as usual: - -``` -$ stack test # Check that everything works before proceeding. -$ git push --set-upstream -$ hub pull-request -``` - -### Contributing related changes to multiple packages - -The vast majority of changes only affect a single package. But some -changes break compatibility with older versions of dependent packages. -In this case, you need to submit a separate PR for each package. -Before doing so, - -``` -$ stack test -``` - -in the top-level repository to test that all packages work together. -Submit the PR's as in the single package case, then additionally -follow the same instructions to submit a PR against the -`cloud-haskell` repository. This PR should normally only include -updates to the submodule references. The objective of this PR is to -kick the CI system into providing evidence to the Cloud Haskell -maintainers that with all the related changes to each package the -whole does compile and pass tests. +See https://github.com/haskell-distributed/cloud-haskell/blob/master/CONTRIBUTING.md. From 3a1bcb868c7db744e792ce8b9a340fe7de291a2a Mon Sep 17 00:00:00 2001 From: Alexander Vershilov Date: Wed, 1 Jul 2015 12:15:59 +0300 Subject: [PATCH 6/7] Update README.md --- README.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c31fb38..27a37cf 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,16 @@ -### distributed-process-demos +# distributed-process-demos +[![travis](https://secure.travis-ci.org/haskell-distributed/distributed-process-demos.png)](http://travis-ci.org/haskell-distributed/distributed-process-demos) +[![Release](https://img.shields.io/hackage/v/distributed-process-demos.svg)](https://hackage.haskell.org/package/distributed-process-demos) This repository is part of Cloud Haskell. See http://haskell-distributed.github.com for documentation, user guides, tutorials and assistance. -### Getting Help / Raising Issues +## Getting Help / Raising Issues -Please visit our [bug tracker](http://cloud-haskell.atlassian.net) to submit -issues. Anyone can browse, although you'll need to provide an email address -and create an account in order to submit new issues. +Please visit the [bug tracker](https://github.com/haskell-distributed/distributed-process-demos/issues) to submit issues. You can contact the distributed-haskell@googlegroups.com mailing list for help and comments. -If you'd like to talk to a human, please contact us at the parallel-haskell -mailing list in the first instance - parallel-haskell@googlegroups.com. +## License -### License - -distributed-process-demos is made available under a BSD-3 license. +This package is made available under a 3-clause BSD-style license. From 13747780b971d844e8920c2881c0209b33a822a5 Mon Sep 17 00:00:00 2001 From: Mathieu Boespflug Date: Sat, 5 Sep 2015 12:49:19 +0200 Subject: [PATCH 7/7] Remove obsolete top-level Makefile. --- Makefile | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index ed740f0..0000000 --- a/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# CI build - -GHC ?= $(shell which ghc) -CABAL ?= $(shell which cabal) - -BASE_GIT := git://github.com/haskell-distributed -REPOS=$(shell cat REPOS | sed '/^$$/d') - -.PHONY: all -all: $(REPOS) - -$(REPOS): - git clone $(BASE_GIT)/$@.git - -.PHONY: install -install: $(REPOS) - $(CABAL) install --with-ghc=$(GHC) $(REPOS) --reinstall - $(CABAL) install - -.PHONY: ci -ci: install test - -.PHONY: test -test: - $(CABAL) configure --enable-tests - $(CABAL) build - $(CABAL) test --show-details=always