#!/bin/sh
export PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
echo 'name: dbus
version: 1.0.1
id: dbus-1.0.1-8imJzYNje2O8HQIrt4ysn7
key: dbus-1.0.1-8imJzYNje2O8HQIrt4ysn7
license: Apache-2.0
maintainer: Andrey Sverdlichenko <blaze@ruddy.ru>
author: John Millikin <john@john-millikin.com>
stability: experimental
homepage: https://github.com/rblaze/haskell-dbus#readme
synopsis: A client library for the D-Bus IPC system.
description:
    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.
    .
    @
    &#x7b;-\# LANGUAGE OverloadedStrings \#-&#x7d;
    .
    import Data.List (sort)
    import DBus
    import DBus.Client
    .
    main = do
    &#x20;   client <- connectSession
    &#x20;   //
    &#x20;   \-- Request a list of connected clients from the bus
    &#x20;   reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\")
    &#x20;       &#x7b; methodCallDestination = Just \"org.freedesktop.DBus\"
    &#x20;       &#x7d;
    &#x20;   //
    &#x20;   \-- org.freedesktop.DBus.ListNames() returns a single value, which is
    &#x20;   \-- a list of names (here represented as [String])
    &#x20;   let Just names = fromVariant (methodReturnBody reply !! 0)
    &#x20;   //
    &#x20;   \-- Print each name on a line, sorted so reserved names are below
    &#x20;   \-- temporary names.
    &#x20;   mapM_ putStrLn (sort names)
    @
    .
    >$ ghc --make list-names.hs
    >$ ./list-names
    >:1.0
    >:1.1
    >:1.10
    >:1.106
    >:1.109
    >:1.110
    >ca.desrt.dconf
    >org.freedesktop.DBus
    >org.freedesktop.Notifications
    >org.freedesktop.secrets
    >org.gnome.ScreenSaver
category: Network, Desktop
abi: c5014bc51dd7d97ea0a9f6b3d3aca1a9
exposed: True
exposed-modules:
    DBus DBus.Client DBus.Generation DBus.Internal.Address
    DBus.Internal.Message DBus.Internal.Types DBus.Internal.Wire
    DBus.Introspection DBus.Socket DBus.TH DBus.Transport
import-dirs: /usr/lib/ghc-8.6.2/site-local/dbus-1.0.1
library-dirs: /usr/lib/ghc-8.6.2/site-local/dbus-1.0.1
dynamic-library-dirs: /usr/lib
data-dir: /usr/share/x86_64-linux-ghc-8.6.2/dbus-1.0.1
hs-libraries: HSdbus-1.0.1-8imJzYNje2O8HQIrt4ysn7
depends:
    base-4.12.0.0 bytestring-0.10.8.2
    cereal-0.5.7.0-GJYlaDDl5qNLbZMZyr0ENN containers-0.6.0.1
    deepseq-1.4.4.0 filepath-1.4.2.1 lens-4.17-F5gFzTWHxWEDDD3kWgDV81
    libxml-sax-0.7.5-4zvThBcDksZKjZMmnQUocC
    network-2.7.0.2-2fEEs0vTvHq3lWAStilHpJ parsec-3.1.13.0
    random-1.1-3ypV4EIycgb35PKjTYYr5q
    split-0.2.3.3-9O3ah5XNSacJuZjDAE6BjK template-haskell-2.14.0.0
    text-1.2.3.1 th-lift-0.7.11-JiIK3cdnl9dHd8tTTTgRnz
    transformers-0.5.5.0 unix-2.7.2.2
    vector-0.12.0.1-BKWaeB2IPwRDyZEP11mv5m
    xml-types-0.3.6-56MQ2lbfiw31ognZ51DOah
haddock-interfaces: /usr/share/doc/haskell-dbus/html/dbus.haddock
haddock-html: /usr/share/doc/haskell-dbus/html
' | '/usr/bin/ghc-pkg' 'update' '--force' '-' '--global' '--no-user-package-db' "$@"

