Skip to content

Commit

Permalink
dev-haskell/dbus: Bump to 1.2.27, patch to allow earlier TH
Browse files Browse the repository at this point in the history
Patch (by me) to allow earlier template-haskell versions.

Tests pass with network-sandbox, thanks to eroen for reporting.

Fix: dbus depends on nonexistent version of lens gentoo#1360, thanks to Hypoon
for reporting.

Closes: gentoo-haskell/gentoo-haskell#1360
Closes: https://bugs.gentoo.org/575254
Signed-off-by: Mark Wright <[email protected]>
  • Loading branch information
markwright committed Nov 15, 2022
1 parent 79abfd1 commit 4184202
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 7 deletions.
1 change: 1 addition & 0 deletions dev-haskell/dbus/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST dbus-1.2.22.tar.gz 78010 BLAKE2B c7189e15e0a9622e707bb50064584bd43141857257baec8e6d59d0cf39428b3b5efa82668ef70fbff218738ba5822b1aaad0c85b5e14bfa3ae4ef237e2458a9d SHA512 81f9fe1420939ebb5b03602ba59dd86656e4443690d8be460684dcb461ff7df1ff4cdf846a5a15ea6193b6f64b08526b27d3e12825a375eecbded3d0a99a59b9
DIST dbus-1.2.27.tar.gz 78017 BLAKE2B 396739e7e6af0fe1921c9d3857c0650db9532d00a3fd2eda18042d42ce8336631d93d0c0ce75681b695f9e90c7205e38aea7c4f984544460ecab19c7d5090478 SHA512 2c6b87b4a793b555ef617e3f3f89695116180f0e1df2f84ee3da62c819c05c10a78d328644b84c8c9796354ee6dd1c6ad6b0430a1b9a2d7fe112b251d4606e8d
51 changes: 51 additions & 0 deletions dev-haskell/dbus/dbus-1.2.27.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

# ebuild generated by hackport 0.7.1.1.9999

CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal

DESCRIPTION="A client library for the D-Bus IPC system"
HOMEPAGE="https://github.com/rblaze/haskell-dbus#readme"
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"

PATCHES=(
"${FILESDIR}/${PN}-1.2.22-disable-integration-tests.patch"
"${FILESDIR}/${PN}-1.2.27-template-haskell.patch"
)

RDEPEND="<dev-haskell/cereal-0.6:=[profile?]
>=dev-haskell/conduit-1.3.0:=[profile?] <dev-haskell/conduit-1.4:=[profile?]
<dev-haskell/lens-5.3:=[profile?]
>=dev-haskell/network-3.1.2.1:=[profile?] <dev-haskell/network-3.2:=[profile?]
<dev-haskell/random-1.3:=[profile?]
<dev-haskell/split-0.3:=[profile?]
<dev-haskell/th-lift-0.9:=[profile?]
<dev-haskell/vector-0.14:=[profile?]
>=dev-haskell/xml-conduit-1.9.0.0:=[profile?] <dev-haskell/xml-conduit-1.10.0.0:=[profile?]
<dev-haskell/xml-types-0.4:=[profile?]
>=dev-lang/ghc-8.10.1:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-3.2.0.0
test? ( <dev-haskell/extra-1.8
<dev-haskell/quickcheck-2.15
<dev-haskell/resourcet-1.3
<dev-haskell/tasty-1.5
<dev-haskell/tasty-hunit-0.11
<dev-haskell/tasty-quickcheck-0.11 )
"

src_prepare() {
default
cabal_chdeps \
"base >=4.16 && <5" "base >=4 && <5" \
"template-haskell >= 2.18 && < 2.20" "template-haskell"
}
14 changes: 14 additions & 0 deletions dev-haskell/dbus/files/dbus-1.2.27-template-haskell.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--- dbus-1.2.27-orig/lib/DBus/Generation.hs 2022-07-13 00:32:15.000000000 +1000
+++ dbus-1.2.27/lib/DBus/Generation.hs 2022-11-15 11:11:32.291154128 +1100
@@ -148,7 +148,11 @@
makeFromVariantApp name = AppE (VarE 'T.fromVariant) $ VarE name

makeJustPattern :: Name -> Pat
+#if MIN_VERSION_template_haskell(2,18,0)
makeJustPattern name = ConP 'Just [] [VarP name]
+#else
+makeJustPattern name = ConP 'Just [VarP name]
+#endif

mapOrHead ::
(Num a, Eq a) => a -> (t -> b) -> [t] -> ([b] -> b) -> b
18 changes: 11 additions & 7 deletions dev-haskell/dbus/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@
D-Bus is a simple, message-based protocol for inter-process
communication, which allows applications to interact with other parts of
the machine and the user's session using remote procedure calls.

D-Bus is a essential part of the modern Linux desktop, where it replaces
earlier protocols such as CORBA and DCOP.

This library is an implementation of the D-Bus protocol in Haskell. It
can be used to add D-Bus support to Haskell applications, without the
awkward interfaces common to foreign bindings.

Example: connect to the session bus, and get a list of active names.

@
&amp;#x7b;-\# LANGUAGE OverloadedStrings \#-&amp;#x7d;

import Data.List (sort)
import DBus
import DBus.Client

main = do
&amp;#x20; client &lt;- connectSession
&amp;#x20; //
Expand All @@ -41,7 +41,7 @@
&amp;#x20; \-- temporary names.
&amp;#x20; mapM_ putStrLn (sort names)
@

&gt;$ ghc --make list-names.hs
&gt;$ ./list-names
&gt;:1.0
Expand All @@ -56,4 +56,8 @@
&gt;org.freedesktop.secrets
&gt;org.gnome.ScreenSaver
</longdescription>
<upstream>
<remote-id type="hackage">dbus</remote-id>
<remote-id type="github">rblaze/haskell-dbus</remote-id>
</upstream>
</pkgmetadata>

0 comments on commit 4184202

Please sign in to comment.