Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 47 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
description = "WebGear Project";

inputs = {
# nixos-22.05 on 2022-06-25
nixpkgs.url = "github:NixOS/nixpkgs/ccf8bdf72624521358be6bb7d9b524c4cbcf7aff";
# master on 2022-06-25
flake-utils.url = "github:numtide/flake-utils/bee6a7250dd1b01844a2de7e02e4df7d8a0a206c";
};

outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};

haskellPackages = pkgs.haskell.packages.ghc922.override {
overrides = final: prev: {
bytestring-conversion = final.callPackage ./nix/haskell-modules/bytestring-conversion-0.3.2.nix {};
};
};
in {
packages = rec {
webgear-core = haskellPackages.callCabal2nix "webgear-core" ./webgear-core {};

webgear-server = haskellPackages.callCabal2nix "webgear-server" ./webgear-server {
inherit webgear-core;
};

webgear-openapi = haskellPackages.callCabal2nix "webgear-openapi" ./webgear-openapi {
inherit webgear-core;
};
};

devShell = pkgs.mkShell {
buildInputs = with pkgs; [
cabal2nix
cabal-install
ghcid
haskellPackages.haskell-language-server
# haskellPackages.packdeps
stack
];

inputsFrom = builtins.attrValues self.packages.${system};
};
});
}
20 changes: 20 additions & 0 deletions nix/haskell-modules/bytestring-conversion-0.3.2.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{ mkDerivation, attoparsec, base, bytestring, case-insensitive
, criterion, double-conversion, lib, QuickCheck, tasty, tasty-quickcheck
, text, transformers
}:
mkDerivation {
pname = "bytestring-conversion";
version = "0.3.2";
sha256 = "0ls1jqf4r2hk0mcxmlviw6vgs0cn1db99w2fggsg6x39pi31rk8c";
libraryHaskellDepends = [
attoparsec base bytestring case-insensitive double-conversion text
];
testHaskellDepends = [
base bytestring QuickCheck tasty tasty-quickcheck
];
benchmarkHaskellDepends = [
base bytestring criterion text transformers
];
description = "Type-classes to convert values to and from ByteString";
license = lib.licenses.mpl20;
}
2 changes: 1 addition & 1 deletion stack-9.0.2.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-19.11
resolver: lts-19.13

packages:
- ./webgear-core
Expand Down
9 changes: 8 additions & 1 deletion webgear-core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## [Unreleased]

## [1.0.3] - 2022-06-26

### Changed
- Upgrade to latest http-api-data (#10)
- Nix flake based development environment

## [1.0.2] - 2022-06-11

### Changed
Expand All @@ -18,7 +24,8 @@
- Extracted webgear-core from webgear-server
- New arrow based API

[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.2...HEAD
[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.3...HEAD
[1.0.3]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.3
[1.0.2]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.2
[1.0.1]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.1
[1.0.0]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.0
4 changes: 2 additions & 2 deletions webgear-core/webgear-core.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 2.4

name: webgear-core
version: 1.0.2
version: 1.0.3
synopsis: Composable, type-safe library to build HTTP APIs
description:
WebGear is a library to for building composable, type-safe HTTP APIs.
Expand Down Expand Up @@ -57,7 +57,7 @@ common webgear-common
, bytestring >=0.10.10.1 && <0.12
, case-insensitive ==1.2.*
, filepath ==1.4.*
, http-api-data ==0.4.*
, http-api-data >=0.4.2 && <0.6
, http-media ==0.8.*
, http-types ==0.12.*
, network ==3.1.*
Expand Down
8 changes: 7 additions & 1 deletion webgear-openapi/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

## [Unreleased]

## [1.0.3] - 2022-06-26

### Changed
- Nix flake based development environment

## [1.0.2] - 2022-06-11

### Changed
Expand All @@ -17,7 +22,8 @@
### Added
- First version of webgear-openapi

[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.2...HEAD
[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.3...HEAD
[1.0.3]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.3
[1.0.2]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.2
[1.0.1]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.1
[1.0.0]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.0
4 changes: 2 additions & 2 deletions webgear-openapi/webgear-openapi.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 2.4

name: webgear-openapi
version: 1.0.2
version: 1.0.3
synopsis: Composable, type-safe library to build HTTP API servers
description:
WebGear is a library to for building composable, type-safe HTTP API servers.
Expand Down Expand Up @@ -74,7 +74,7 @@ library
, lens >=4.18.1 && <5.2
, openapi3 >=3.1.0 && <3.3
, text >=1.2.0.0 && <2.1
, webgear-core ==1.0.2
, webgear-core ==1.0.3
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
Expand Down
9 changes: 8 additions & 1 deletion webgear-server/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## [Unreleased]

## [1.0.3] - 2022-06-26

### Changed
- Upgrade to latest http-api-data (#10)
- Nix flake based development environment

## [1.0.2] - 2022-06-11

### Changed
Expand Down Expand Up @@ -41,7 +47,8 @@
- Automated tests
- Documentation

[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.2...HEAD
[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.0.3...HEAD
[1.0.3]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.3
[1.0.2]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.2
[1.0.1]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.1
[1.0.0]: https://github.com/haskell-webgear/webgear/releases/tag/v1.0.0
Expand Down
8 changes: 4 additions & 4 deletions webgear-server/webgear-server.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cabal-version: 2.4
name: webgear-server
version: 1.0.2
version: 1.0.3
synopsis: Composable, type-safe library to build HTTP API servers
description:
WebGear is a library to for building composable, type-safe HTTP API servers.
Expand Down Expand Up @@ -59,7 +59,7 @@ common webgear-common
, http-types ==0.12.*
, text >=1.2.0.0 && <2.1
, wai ==3.2.*
, webgear-core ==1.0.2
, webgear-core ==1.0.3
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
Expand Down Expand Up @@ -92,10 +92,10 @@ library
other-modules: Paths_webgear_server
autogen-modules: Paths_webgear_server
hs-source-dirs: src
build-depends: aeson >=1.4 && <2.1
build-depends: aeson >=1.4 && <1.6 || >=2.0 && <2.1
, arrows ==0.4.*
, bytestring-conversion ==0.3.*
, http-api-data ==0.4.*
, http-api-data >=0.4.2 && <0.6
, http-media ==0.8.*
, jose >=0.8.3.1 && <0.10
, monad-time ==0.3.*
Expand Down