8 Commits

Author SHA256 Message Date
9e7e9ea17a Accepting request 1319847 from devel:languages:haskell
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1319847
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-http2?expand=0&rev=16
2025-11-26 16:16:10 +00:00
e44f7bcfb2 osc copypac from project:devel:languages:haskell:ghc-9.12.x package:ghc-http2 revision:2, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-http2?expand=0&rev=35
2025-11-20 22:01:34 +00:00
537db4fe75 Accepting request 1289423 from devel:languages:haskell
version update

OBS-URL: https://build.opensuse.org/request/show/1289423
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-http2?expand=0&rev=15
2025-07-02 10:08:55 +00:00
d925ea35ec osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-http2 revision:4, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-http2?expand=0&rev=33
2025-07-01 07:15:20 +00:00
c4a79a656a Accepting request 1231449 from devel:languages:haskell
version update for ghc-9.10.1

OBS-URL: https://build.opensuse.org/request/show/1231449
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-http2?expand=0&rev=14
2024-12-20 22:10:39 +00:00
3d48f7396c osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-http2 revision:3, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-http2?expand=0&rev=31
2024-12-10 11:25:54 +00:00
79dfcfb903 Accepting request 1222958 from devel:languages:haskell
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1222958
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-http2?expand=0&rev=13
2024-11-12 18:20:13 +00:00
5ac956d850 osc copypac from project:devel:languages:haskell:ghc-9.8.x package:ghc-http2 revision:4, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-http2?expand=0&rev=29
2024-11-02 22:00:46 +00:00
5 changed files with 591 additions and 7 deletions

View File

@@ -1,3 +1,173 @@
-------------------------------------------------------------------
Mon Nov 17 01:01:12 UTC 2025 - Peter Simons <psimons@suse.com>
- Update http2 to version 5.3.10 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Thu Jun 26 05:31:35 UTC 2025 - Peter Simons <psimons@suse.com>
- Update http2 to version 5.3.10.
## 5.3.10
* Introducing closure.
[#157](https://github.com/kazu-yamamoto/http2/pull/157)
-------------------------------------------------------------------
Tue Dec 3 05:57:06 UTC 2024 - Peter Simons <psimons@suse.com>
- Update http2 to version 5.3.9.
## 5.3.9
* Using `ThreadManager` of `time-manager`.
## 5.3.8
* `forkManagedTimeout` ensures that only one asynchronous exception is
thrown. Fixing the thread leak via `Weak ThreadId` and `modifyTVar'`.
[#156](https://github.com/kazu-yamamoto/http2/pull/156)
## 5.3.7
* Using `withHandle` of time-manager.
* Getting `Handle` for each thread.
* Providing allocSimpleConfig' to enable customizing WAI tiemout manager.
* Monitor option (-m) for h2c-client and h2c-server.
-------------------------------------------------------------------
Sat Nov 16 23:38:06 UTC 2024 - Peter Simons <psimons@suse.com>
- Update http2 to version 5.3.6.
## 5.3.6
* Making `runIO` friendly with the new synchronism mechanism.
[#152](https://github.com/kazu-yamamoto/http2/pull/152)
* Re-throwing asynchronous exceptions to prevent thread leak.
* Simplifying the synchronism mechanism between workers and the sender.
[#148](https://github.com/kazu-yamamoto/http2/pull/148)
## 5.3.5
* Using `http-semantics` v0.3.
* Deprecating `numberOfWorkers`.
* Removing `unliftio`.
* Avoid `undefined` in client.
[#146](https://github.com/kazu-yamamoto/http2/pull/146)
-------------------------------------------------------------------
Thu Aug 29 22:43:27 UTC 2024 - Peter Simons <psimons@suse.com>
- Update http2 to version 5.3.4.
# ChangeLog for http2
## 5.3.4
* Support stream cancellation
[#142](https://github.com/kazu-yamamoto/http2/pull/142)
## 5.3.3
* Enclosing IPv6 literal authority with square brackets.
[#143](https://github.com/kazu-yamamoto/http2/pull/143)
## 5.3.2
* Avoid unnecessary empty data frames at end of stream
[#140](https://github.com/kazu-yamamoto/http2/pull/140)
* Removing unnecessary API from ServerIO
## 5.3.1
* Fix treatment of async exceptions
[#138](https://github.com/kazu-yamamoto/http2/pull/138)
* Avoid race condition
[#137](https://github.com/kazu-yamamoto/http2/pull/137)
## 5.3.0
* New server architecture: spawning worker on demand instead of the
worker pool. This reduce huge numbers of threads for streaming into
only 2. No API changes but workers do not terminate quicly. Rather
workers collaborate with the sender after queuing a response and
finish after all response data are sent.
* All threads are labeled with `labelThread`. You can see them by
`listThreas` if necessary.
## 5.2.6
* Recover rxflow on closing.
[#126](https://github.com/kazu-yamamoto/http2/pull/126)
* Fixing ClientSpec for stream errors.
* Allowing negative window. (h2spec http2/6.9.2)
* Update for latest http-semantics
[#122](https://github.com/kazu-yamamoto/http2/pull/124)
## 5.2.5
* Setting peer initial window size properly.
[#123](https://github.com/kazu-yamamoto/http2/pull/123)
## 5.2.4
* Update for latest http-semantics
[#122](https://github.com/kazu-yamamoto/http2/pull/122)
* Measuring performance concurrently for h2c-client
## 5.2.3
* Update for latest http-semantics
[#120](https://github.com/kazu-yamamoto/http2/pull/120)
* Enable containers 0.7 (ghc 9.10)
[#117](https://github.com/kazu-yamamoto/http2/pull/117)
## 5.2.2
* Mark final chunk as final
[#116](https://github.com/kazu-yamamoto/http2/pull/116)
## 5.2.1
* Using time-manager v0.1.0.
[#115](https://github.com/kazu-yamamoto/http2/pull/115)
## 5.2.0
* Using http-semantics
[#114](https://github.com/kazu-yamamoto/http2/pull/114)
* `Header` of `http-types` should be used as high-level header.
* `TokenHeader` of `http-semantics` should be used as low-level header.
* Breaking change: `encodeHeader` takes `Header` of `http-types`.
* Breaking change: `decodeHeader` returns `Header` of `http-types`.
* Breaking change: `HeaderName` as `ByteString` is removed.
## 5.1.4
* Using network-control v0.1.
## 5.1.3
* Defining SendRequest type synonym.
[#111](https://github.com/kazu-yamamoto/http2/pull/111)
## 5.1.2
* Make ping rate limit configurable
[#108](https://github.com/kazu-yamamoto/http2/pull/108)
## 5.1.1
* Deal with RST_STREAM in HalfClosedLocal state
[#107](https://github.com/kazu-yamamoto/http2/pull/107)
## 5.1.0
* Drop frames after reset
[#106](https://github.com/kazu-yamamoto/http2/pull/106)
* BREAKING CHANGE: Use String for Authority
[#105](https://github.com/kazu-yamamoto/http2/pull/105)
* Properly close streams
[#104](https://github.com/kazu-yamamoto/http2/pull/104)
-------------------------------------------------------------------
Wed Dec 27 05:54:06 UTC 2023 - Peter Simons <psimons@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ghc-http2
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,12 +20,13 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 5.0.1
Version: 5.3.10
Release: 0
Summary: HTTP/2 library
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
@@ -39,8 +40,12 @@ BuildRequires: ghc-case-insensitive-devel
BuildRequires: ghc-case-insensitive-prof
BuildRequires: ghc-containers-devel
BuildRequires: ghc-containers-prof
BuildRequires: ghc-http-semantics-devel
BuildRequires: ghc-http-semantics-prof
BuildRequires: ghc-http-types-devel
BuildRequires: ghc-http-types-prof
BuildRequires: ghc-iproute-devel
BuildRequires: ghc-iproute-prof
BuildRequires: ghc-network-byte-order-devel
BuildRequires: ghc-network-byte-order-prof
BuildRequires: ghc-network-control-devel
@@ -54,8 +59,8 @@ BuildRequires: ghc-time-manager-devel
BuildRequires: ghc-time-manager-prof
BuildRequires: ghc-unix-time-devel
BuildRequires: ghc-unix-time-prof
BuildRequires: ghc-unliftio-devel
BuildRequires: ghc-unliftio-prof
BuildRequires: ghc-utf8-string-devel
BuildRequires: ghc-utf8-string-prof
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-Glob-devel
@@ -119,6 +124,7 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bf0f51b8753b7c3f9e80aab6d5af40c49ed3b3c16dc6498c3f1d42301a499d5
size 5508150

3
http2-5.3.10.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f46617d617834a9ce7c016eec8160a15129632aa179821c36318b46adf0d4267
size 5499618

408
http2.cabal Normal file
View File

@@ -0,0 +1,408 @@
cabal-version: >=1.10
name: http2
version: 5.3.10
x-revision: 1
license: BSD3
license-file: LICENSE
maintainer: Kazu Yamamoto <kazu@iij.ad.jp>
author: Kazu Yamamoto <kazu@iij.ad.jp>
homepage: https://github.com/kazu-yamamoto/http2
synopsis: HTTP/2 library
description:
HTTP/2 library including frames, priority queues, HPACK, client and server.
category: Network
build-type: Simple
extra-source-files:
ChangeLog.md
test/inputFile
test-hpack/hpack-test-case/go-hpack/*.json
test-hpack/hpack-test-case/haskell-http2-linear/*.json
test-hpack/hpack-test-case/haskell-http2-linear-huffman/*.json
test-hpack/hpack-test-case/haskell-http2-naive/*.json
test-hpack/hpack-test-case/haskell-http2-naive-huffman/*.json
test-hpack/hpack-test-case/haskell-http2-static/*.json
test-hpack/hpack-test-case/haskell-http2-static-huffman/*.json
test-hpack/hpack-test-case/nghttp2/*.json
test-hpack/hpack-test-case/nghttp2-16384-4096/*.json
test-hpack/hpack-test-case/nghttp2-change-table-size/*.json
test-hpack/hpack-test-case/node-http2-hpack/*.json
test-frame/http2-frame-test-case/continuation/*.json
test-frame/http2-frame-test-case/data/*.json
test-frame/http2-frame-test-case/error/*.json
test-frame/http2-frame-test-case/goaway/*.json
test-frame/http2-frame-test-case/headers/*.json
test-frame/http2-frame-test-case/ping/*.json
test-frame/http2-frame-test-case/priority/*.json
test-frame/http2-frame-test-case/push_promise/*.json
test-frame/http2-frame-test-case/rst_stream/*.json
test-frame/http2-frame-test-case/settings/*.json
test-frame/http2-frame-test-case/window_update/*.json
bench-hpack/headers.hs
source-repository head
type: git
location: https://github.com/kazu-yamamoto/http2
flag devel
description: Development commands
default: False
flag h2spec
description: Development commands
default: False
library
exposed-modules:
Network.HPACK
Network.HPACK.Internal
Network.HPACK.Table
Network.HPACK.Token
Network.HTTP2.Client
Network.HTTP2.Client.Internal
Network.HTTP2.Frame
Network.HTTP2.Server
Network.HTTP2.Server.Internal
other-modules:
Imports
Network.HPACK.Builder
Network.HTTP2.Client.Run
Network.HPACK.HeaderBlock
Network.HPACK.HeaderBlock.Decode
Network.HPACK.HeaderBlock.Encode
Network.HPACK.HeaderBlock.Integer
Network.HPACK.Huffman
Network.HPACK.Huffman.Bit
Network.HPACK.Huffman.ByteString
Network.HPACK.Huffman.Decode
Network.HPACK.Huffman.Encode
Network.HPACK.Huffman.Params
Network.HPACK.Huffman.Table
Network.HPACK.Huffman.Tree
Network.HPACK.Table.Dynamic
Network.HPACK.Table.Entry
Network.HPACK.Table.RevIndex
Network.HPACK.Table.Static
Network.HPACK.Types
Network.HTTP2.H2
Network.HTTP2.H2.Config
Network.HTTP2.H2.Context
Network.HTTP2.H2.EncodeFrame
Network.HTTP2.H2.HPACK
Network.HTTP2.H2.Queue
Network.HTTP2.H2.Receiver
Network.HTTP2.H2.Sender
Network.HTTP2.H2.Settings
Network.HTTP2.H2.Stream
Network.HTTP2.H2.StreamTable
Network.HTTP2.H2.Sync
Network.HTTP2.H2.Types
Network.HTTP2.H2.Window
Network.HTTP2.Frame.Decode
Network.HTTP2.Frame.Encode
Network.HTTP2.Frame.Types
Network.HTTP2.Server.Run
Network.HTTP2.Server.Worker
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
array >=0.5 && <0.6,
async >=2.2 && <2.3,
bytestring >=0.10,
case-insensitive >=1.2 && <1.3,
containers >=0.6,
http-semantics >= 0.3 && <0.4,
http-types >=0.12 && <0.13,
iproute >= 1.7 && < 1.8,
network >=3.1,
network-byte-order >=0.1.7 && <0.2,
network-control >=0.1 && <0.2,
stm >=2.5 && <2.6,
time-manager >=0.2 && <0.4,
unix-time >=0.4.11 && <0.5,
utf8-string >=1.0 && <1.1
executable h2c-client
main-is: h2c-client.hs
hs-source-dirs: util
default-language: Haskell2010
other-modules: Client Monitor
default-extensions: Strict StrictData
ghc-options: -Wall -threaded -rtsopts
build-depends:
base >=4.9 && <5,
async,
bytestring,
http-types,
http2,
network-run >= 0.3 && <0.5,
unix-time
if flag(devel)
else
buildable: False
executable h2c-server
main-is: h2c-server.hs
hs-source-dirs: util
other-modules: Server Monitor
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall -threaded
build-depends:
base >=4.9 && <5,
bytestring,
crypton,
http2,
http-types,
network-run
if flag(devel)
else
buildable: False
executable hpack-encode
main-is: hpack-encode.hs
hs-source-dirs: test-hpack
other-modules:
HPACKEncode
JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
aeson >=2,
aeson-pretty,
array,
base16-bytestring >=1.0,
bytestring,
containers,
http2,
network-byte-order,
text,
unordered-containers,
vector,
word8
if flag(devel)
else
buildable: False
executable hpack-debug
main-is: hpack-debug.hs
hs-source-dirs: test-hpack
other-modules:
HPACKDecode
JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
aeson >=2,
array,
base16-bytestring >=1.0,
bytestring,
containers,
http2,
network-byte-order,
text,
unordered-containers,
vector,
word8
if flag(devel)
else
buildable: False
executable hpack-stat
main-is: hpack-stat.hs
hs-source-dirs: test-hpack
other-modules: JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
aeson >=2,
aeson-pretty,
array,
bytestring,
containers,
directory,
filepath,
http2,
network-byte-order,
text,
unordered-containers,
vector,
word8
if flag(devel)
else
buildable: False
executable frame-encode
main-is: frame-encode.hs
hs-source-dirs: test-frame
other-modules:
Case
JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
aeson >=2,
aeson-pretty,
base16-bytestring >=1.0,
bytestring,
http2,
text,
unordered-containers
if flag(devel)
else
buildable: False
test-suite spec
type: exitcode-stdio-1.0
main-is: Spec.hs
build-tool-depends: hspec-discover:hspec-discover
hs-source-dirs: test
other-modules:
HPACK.DecodeSpec
HPACK.EncodeSpec
HPACK.HeaderBlock
HPACK.HuffmanSpec
HPACK.IntegerSpec
HTTP2.ClientSpec
HTTP2.FrameSpec
HTTP2.ServerSpec
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall -threaded
build-depends:
base >=4.9 && <5,
async,
base16-bytestring >=1.0,
bytestring,
crypton,
hspec >=1.3,
http-semantics,
http-types,
http2,
network,
network-run >=0.3.0,
random,
typed-process
test-suite spec2
type: exitcode-stdio-1.0
main-is: Spec.hs
build-tool-depends: hspec-discover:hspec-discover
hs-source-dirs: test2
other-modules: ServerSpec
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall -threaded
build-depends:
base >=4.9 && <5,
bytestring,
hspec >=1.3,
http-types,
http2,
network-run >=0.3.0,
typed-process
if flag(h2spec)
else
buildable: False
test-suite hpack
type: exitcode-stdio-1.0
main-is: Spec.hs
build-tool-depends: hspec-discover:hspec-discover
hs-source-dirs: test-hpack
other-modules:
HPACKDecode
HPACKSpec
JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
aeson >=2,
base16-bytestring >=1.0,
bytestring,
directory,
filepath,
hspec >=1.3,
http2,
text,
unordered-containers,
vector
test-suite frame
type: exitcode-stdio-1.0
main-is: Spec.hs
build-tool-depends: hspec-discover:hspec-discover
hs-source-dirs: test-frame
other-modules:
Case
FrameSpec
JSON
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base >=4.9 && <5,
Glob >=0.9,
aeson >=2,
aeson-pretty,
base16-bytestring >=1.0,
bytestring,
directory,
filepath,
hspec >=1.3,
http2,
network-byte-order,
text,
unordered-containers
benchmark header-compression
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: bench-hpack
default-language: Haskell2010
default-extensions: Strict StrictData
ghc-options: -Wall
build-depends:
base,
array,
bytestring,
case-insensitive,
containers,
criterion,
http2,
network-byte-order,
stm