Ignore:
Timestamp:
11/22/2023 03:27:45 AM (5 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.1, ken/TL2024, ken/tuningfonts, lazarus, plabs/newcss, python3.11, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18
Children:
01b92cda
Parents:
0b12914
Message:

ibus: Various adjustments

  1. Allow building without gtk-doc.
  2. Run "configure" manually instead of let autogen.sh run it. It's because autogen.sh sets CFLAGS, producing binaries with optimization off and debug on. More seriously, the debug feature it uses (sanitizer) is not suitable for a release build per GCC security policy.
  3. Add a link to the external dependency libdbusmenu.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • general/genutils/ibus.xml

    r0b12914 rcb3d7ec  
    8989      <xref linkend="dconf"/>,
    9090      <!-- needed since we're using autogen.sh -->
    91       <xref linkend="gtk-doc"/>,
    9291      <xref linkend="iso-codes"/>, and
    9392      <xref linkend="vala"/>
     
    104103    <para role="optional">
    105104      <xref linkend="gtk4"/> (to build IM module for it),
     105      <xref linkend="gtk-doc"/> (for generating API documentation),
    106106      <xref linkend="dbus-python"/> and
    107107      <xref linkend="pygobject3"/> (both to build the Python support library),
    108       <!--<xref linkend="gtk-doc"/>, and-->
    109108      <!--<xref linkend="pyxdg" role="runtime"/>
    110109      (runtime, for the <command>ibus-setup</command>), and
    111110      NOTE: The reference to the 'xdg' python module is commented out in the source -->
    112111      <xref linkend="libxkbcommon"/>,
    113       <xref linkend="wayland"/> (both to build the Wayland support programs), and
    114       <ulink url="https://www.joypixels.com/">EmojiOne</ulink>
     112      <xref linkend="wayland"/> (both to build the Wayland support programs),
     113      <ulink url="https://www.joypixels.com/">EmojiOne</ulink>, and
     114      <ulink url="https://github.com/AyatanaIndicators/libdbusmenu">libdbusmenu</ulink>
    115115    </para>
    116116
     
    150150
    151151    <para>
     152      If <xref linkend='gtk-doc'/> is not installed, remove the references
     153      to it:
     154    </para>
     155
     156<screen><userinput>if ! [ -e /usr/bin/gtkdocize ]; then
     157  sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac
     158fi</userinput></screen>
     159
     160    <para>
    152161      Install <application>ibus</application> by running the following
    153162      commands:
    154163    </para>
    155164
    156 <screen revision='sysv'><userinput>SAVE_DIST_FILES=1                   \
    157 PYTHON=python3                      \
    158 ./autogen.sh --prefix=/usr          \
    159              --sysconfdir=/etc      \
    160              --disable-python2      \
    161              --disable-appindicator \
    162              --disable-emoji-dict   \
    163              --disable-systemd-services &amp;&amp;
     165<screen revision='sysv'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
     166
     167PYTHON=python3                     \
     168./configure --prefix=/usr          \
     169            --sysconfdir=/etc      \
     170            --disable-python2      \
     171            --disable-appindicator \
     172            --disable-emoji-dict   \
     173            --disable-systemd-services &amp;&amp;
    164174make</userinput></screen>
    165175
    166 <screen revision='systemd'><userinput>SAVE_DIST_FILES=1                   \
    167 PYTHON=python3                      \
    168 ./autogen.sh --prefix=/usr          \
    169              --sysconfdir=/etc      \
    170              --disable-python2      \
    171              --disable-appindicator \
    172              --disable-emoji-dict   &amp;&amp;
     176<screen revision='systemd'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
     177
     178PYTHON=python3                     \
     179./configure --prefix=/usr          \
     180            --sysconfdir=/etc      \
     181            --disable-python2      \
     182            --disable-appindicator \
     183            --disable-emoji-dict   &amp;&amp;
    173184make</userinput></screen>
    174185
     
    193204
    194205    <para>
     206      <parameter>--disable-appindicator</parameter>: This switch disables
     207      use of libdbusmenu. Omit if you installed the optional dependency.
     208    </para>
     209
     210    <para>
    195211      <parameter>--disable-emoji-dict</parameter>: This switch disables the
    196212      use of emoticon dictionaries. Omit if you installed the optional
     
    198214    </para>
    199215
    200 <!--
    201     <para>
    202       <parameter>- -disable-unicode-dict</parameter>: This switch disables the use
    203       of unicode dictionaries. Omit if you installed the optional
    204       Unicode Character Database.
    205     </para>
    206 -->
    207 
    208216    <para>
    209217      <option>--disable-gtk2</option>: This switch disables building
     
    228236      the <application>Wayland</application> support programs.
    229237      Use it if you have installed the optional dependencies.
     238    </para>
     239
     240    <para>
     241      <envar>NOCONFIGURE=1</envar>: Prevent <command>autogen.sh</command>
     242      from running the generated <command>configure</command> script.  We'll
     243      run the script manually instead of relying on
     244      <command>autogen.sh</command> to run it, because
     245      <command>autogen.sh</command> would set <option>-fsanitize=address
     246      -fsanitize=leak</option> in <envar>CFLAGS</envar> running
     247      <command>configure</command>, but those compiler options are not
     248      suitable for productive use and they may also cause a build failure.
     249      <!-- GCC security policy: "Libraries like libvtv and the sanitizers
     250           are intended to be used in diagnostic cases and not intended for
     251           use in sensitive environments."  In my build it also causes
     252           "compose/sequences-little-endian" bail out with a sanitizer
     253           warning and the package to FTBFS.  -->
    230254    </para>
    231255
Note: See TracChangeset for help on using the changeset viewer.