glfs/multimedia/libdriv/libmusicbrainz5.xml
2023-12-06 20:11:20 +01:00

203 lines
5.9 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libmusicbrainz5-download-http "https://github.com/metabrainz/libmusicbrainz/releases/download/release-&libmusicbrainz5-version;/libmusicbrainz-&libmusicbrainz5-version;.tar.gz">
<!ENTITY libmusicbrainz5-download-ftp " ">
<!ENTITY libmusicbrainz5-md5sum "4cc5556aa40ff7ab8f8cb83965535bc3">
<!ENTITY libmusicbrainz5-size "76 KB">
<!ENTITY libmusicbrainz5-buildsize "6.6 MB (additional 4.4 MB for the API documentation)">
<!ENTITY libmusicbrainz5-time "0.1 SBU">
]>
<sect1 id="libmusicbrainz5" xreflabel="libmusicbrainz-&libmusicbrainz5-version;">
<?dbhtml filename="libmusicbrainz5.html"?>
<title>libmusicbrainz-&libmusicbrainz5-version;</title>
<indexterm zone="libmusicbrainz5">
<primary sortas="a-libmusicbrainz5">libmusicbrainz</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libmusicbrainz</title>
<para>
The <application>libmusicbrainz</application> package contains a library
which allows you to access the data held on the MusicBrainz server.
</para>
&lfs120_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libmusicbrainz5-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libmusicbrainz5-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libmusicbrainz5-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libmusicbrainz5-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libmusicbrainz5-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libmusicbrainz5-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/libmusicbrainz-&libmusicbrainz5-version;-cmake_fixes-1.patch"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">libmusicbrainz Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="cmake"/>,
<xref linkend="libxml2"/> and
<xref linkend="neon"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="doxygen"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libmusicbrainz</title>
<!-- No longer works with 3.18 because wildcard support has been removed.
<para>
First, fix an issue appeared with recent version of cmake:
</para>
<screen><userinput>sed -i 's/\*\.inc/"$(echo *.inc)"/' src/CMakeLists.txt</userinput></screen>
-->
<para>
First, fix a problem caused by CMake-3.18.0 and later:
</para>
<screen><userinput remap="pre">patch -Np1 -i ../libmusicbrainz-&libmusicbrainz5-version;-cmake_fixes-1.patch</userinput></screen>
<para>
Fix also a problem caused by libxml-2.12.x:
</para>
<screen><userinput>sed -e '/tree\.h/a #include &lt;libxml/parser.h&gt; \
-e 's/xmlErrorPtr /const xmlError */' \
-i src/xmlParser.cc</userinput></screen>
<para>
Install <application>libmusicbrainz</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. &amp;&amp;
make</userinput></screen>
<para>
If you have installed <xref linkend="doxygen"/>, optionally build the API
documentation:
</para>
<screen remap="doc"><userinput>doxygen ../Doxyfile</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<para>
If you have built the API documentation, install, as the <systemitem
class="username">root</systemitem> user:
</para>
<screen role="root"
remap="doc"><userinput>rm -rf /usr/share/doc/libmusicbrainz-&libmusicbrainz5-version; &amp;&amp;
cp -vr docs/ /usr/share/doc/libmusicbrainz-&libmusicbrainz5-version;</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
None
</seg>
<seg>
libmusicbrainz5.so
</seg>
<seg>
/usr/include/libmusicbrainz5 and
/usr/share/doc/libmusicbrainz-&libmusicbrainz5-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libmusicbrainz5-lib">
<term><filename class="libraryfile">libmusicbrainz5.so</filename></term>
<listitem>
<para>
contains API functions for accessing the MusicBrainz database
</para>
<indexterm zone="libmusicbrainz5 libmusicbrainz5-lib">
<primary sortas="c-libmusicbrainz5">libmusicbrainz5.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>