<metapackage xmlns:os="http://opensuse.org/Standards/One_Click_Install" xmlns="http://opensuse.org/Standards/One_Click_Install">
  <group distversion="openSUSE Tumbleweed">
    <repositories>
      <repository recommended="true">
        <name>devel:languages:haskell:ghc-9.12.x</name>
        <summary>Haskell Development Environment for GHC 9.12.x</summary>
        <description>A Haskell development environment that contains ghc-9.12.x, cabal-install, and a few other useful tools.</description>
        <url>https://download.opensuse.org/repositories/devel:/languages:/haskell:/ghc-9.12.x/openSUSE_Factory_ARM/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Factory:ARM</name>
        <summary>openSUSE Factory ARM</summary>
        <description>This is a project clone to build entire openSUSE:Factory for the ARM architecture.
</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Factory:/ARM/standard/</url>
      </repository>
      <repository recommended="false">
        <name>openSUSE:Factory</name>
        <summary>The next openSUSE distribution</summary>
        <description>openSUSE Tumbleweed: The Bleeding Edge, Perfected.
Tumbleweed is the ultimate rolling release distribution, providing the latest software as it’s released, built upon a foundation of world-class stability and testing.

* Always Current: Get the newest kernel, IDEs, desktops, and applications automatically.

* Powerfully Stable: Experience the velocity of a rolling release without sacrificing the reliability you depend on.

* Engineered for Professionals: The top choice for Developers, Power Users, and openSUSE Contributors who need the best tools for the job.

If you demand the latest stable software, your choice is Tumbleweed.

Staging dashboard is located at: https://build.opensuse.org/staging_workflows/openSUSE:Factory 

List of known devel projects: https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/devel_projects

Have a look at http://en.opensuse.org/Portal:Factory for more details.</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Factory/ports/</url>
      </repository>
    </repositories>
    <software>
      <item>
        <name>ghc-dbus</name>
        <summary>A client library for the D-Bus IPC system</summary>
        <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.

' &amp;#x7b;-# LANGUAGE OverloadedStrings #-&amp;#x7d;

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

main = do &amp;#x20; client &lt;- connectSession &amp;#x20; &amp;#x20; -- Request a list of
connected clients from the bus &amp;#x20; reply &lt;- call_ client (methodCall
&quot;/org/freedesktop/DBus&quot; &quot;org.freedesktop.DBus&quot; &quot;ListNames&quot;) &amp;#x20; &amp;#x7b;
methodCallDestination = Just &quot;org.freedesktop.DBus&quot; &amp;#x20; &amp;#x7d; &amp;#x20; &amp;#x20;
-- org.freedesktop.DBus.ListNames() returns a single value, which is &amp;#x20; --
a list of names (here represented as [String]) &amp;#x20; let Just names =
fromVariant (methodReturnBody reply !! 0) &amp;#x20; &amp;#x20; -- Print each name on a
line, sorted so reserved names are below &amp;#x20; -- temporary names.
&amp;#x20; mapM_ putStrLn (sort names) '

&gt;$ ghc --make list-names.hs &gt;$ ./list-names &gt;:1.0 &gt;:1.1 &gt;:1.10 &gt;:1.106 &gt;:1.109
&gt;:1.110 &gt;ca.desrt.dconf &gt;org.freedesktop.DBus &gt;org.freedesktop.Notifications
&gt;org.freedesktop.secrets &gt;org.gnome.ScreenSaver.</description>
      </item>
    </software>
  </group>
</metapackage>
