How to Install and Uninstall ghc-dbus Package on openSUSE Leap

Last updated: December 25,2024

1. Install "ghc-dbus" package

This guide covers the steps necessary to install ghc-dbus on openSUSE Leap

$ sudo zypper refresh $ sudo zypper install ghc-dbus

2. Uninstall "ghc-dbus" package

Please follow the guidance below to uninstall ghc-dbus on openSUSE Leap:

$ sudo zypper remove ghc-dbus

3. Information about the ghc-dbus package on openSUSE Leap

Information for package ghc-dbus:
---------------------------------
Repository : Main Repository
Name : ghc-dbus
Version : 1.2.22-bp155.2.14
Arch : x86_64
Vendor : openSUSE
Installed Size : 2.2 MiB
Installed : No
Status : not installed
Source package : ghc-dbus-1.2.22-bp155.2.14.src
Upstream URL : https://hackage.haskell.org/package/dbus
Summary : 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.
' {-# LANGUAGE OverloadedStrings #-}
import Data.List (sort) import DBus import DBus.Client
main = do client <- connectSession -- Request a list of
connected clients from the bus reply <- call_ client (methodCall
"/org/freedesktop/DBus" "org.freedesktop.DBus" "ListNames") {
methodCallDestination = Just "org.freedesktop.DBus" }
-- org.freedesktop.DBus.ListNames() returns a single value, which is --
a list of names (here represented as [String]) let Just names =
fromVariant (methodReturnBody reply !! 0) -- Print each name on a
line, sorted so reserved names are below -- temporary names.
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.

5. The same packages on other Linux Distributions