# generated by cabal-rpm-2.3.0 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name network-transport %global pkgver %{pkg_name}-%{version} %{?haskell_setup} Name: ghc-%{pkg_name} Version: 0.5.9 Release: 1%{?dist} Summary: Network abstraction layer License: BSD-3-Clause URL: https://hackage.haskell.org/package/network-transport # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz # End cabal-rpm sources # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-devel BuildRequires: ghc-binary-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-hashable-devel BuildRequires: ghc-transformers-devel %if %{with ghc_prof} BuildRequires: ghc-base-prof BuildRequires: ghc-binary-prof BuildRequires: ghc-bytestring-prof BuildRequires: ghc-deepseq-prof BuildRequires: ghc-hashable-prof BuildRequires: ghc-transformers-prof %endif # End cabal-rpm deps %description "Network.Transport" is a Network Abstraction Layer which provides the following high-level concepts: * Nodes in the network are represented by 'EndPoint's. These are heavyweight stateful objects. * Each 'EndPoint' has an 'EndPointAddress'. * Connections can be established from one 'EndPoint' to another using the 'EndPointAddress' of the remote end. * The 'EndPointAddress' can be serialised and sent over the network, whereas 'EndPoint's and connections cannot. * Connections between 'EndPoint's are unidirectional and lightweight. * Outgoing messages are sent via a 'Connection' object that represents the sending end of the connection. * Incoming messages for /all/ of the incoming connections on an 'EndPoint' are collected via a shared receive queue. * In addition to incoming messages, 'EndPoint's are notified of other 'Event's such as new connections or broken connections. This design was heavily influenced by the design of the Common Communication Interface (). Important design goals are: * Connections should be lightweight: it should be no problem to create thousands of connections between endpoints. * Error handling is explicit: every function declares as part of its type which errors it can return (no exceptions are thrown) * Error handling is "abstract": errors that originate from implementation specific problems (such as "no more sockets" in the TCP implementation) get mapped to generic errors ("insufficient resources") at the Transport level. This package provides the generic interface only; you will probably also want to install at least one transport implementation (network-transport-*). %package devel Summary: Haskell %{pkg_name} library development files Provides: %{name}-static = %{version}-%{release} Provides: %{name}-static%{?_isa} = %{version}-%{release} %if %{defined ghc_version} Requires: ghc-compiler = %{ghc_version} %endif Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package provides the Haskell %{pkg_name} library development files. %if %{with haddock} %package doc Summary: Haskell %{pkg_name} library documentation BuildArch: noarch Requires: ghc-filesystem %description doc This package provides the Haskell %{pkg_name} library documentation. %endif %if %{with ghc_prof} %package prof Summary: Haskell %{pkg_name} profiling library Requires: %{name}-devel%{?_isa} = %{version}-%{release} Supplements: (%{name}-devel and ghc-prof) %description prof This package provides the Haskell %{pkg_name} profiling library. %endif %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} # End cabal-rpm setup %build # Begin cabal-rpm build: %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install %ghc_lib_install # End cabal-rpm install %files -f %{name}.files # Begin cabal-rpm files: %license LICENSE # End cabal-rpm files %files devel -f %{name}-devel.files %doc ChangeLog %if %{with haddock} %files doc -f %{name}-doc.files %license LICENSE %endif %if %{with ghc_prof} %files prof -f %{name}-prof.files %endif %changelog * Mon Aug 11 2025 Luca Magrone - 0.5.9-1 - spec file generated by cabal-rpm-2.3.0