Nothin' but Slackware

バイクとLinuxに戯れる日々

2022年12月

[Fix compile error on 64-current] gcolor3 with Japanese menu and LC_MESSAGES

[2022-12-27] slackware64-current 2022/12 におけるコンパイルエラーを修正

gcolor3 is a GTK base color picker.
Unfortunately, the upstream source 2.3.1 does not support Japanese language.

Here is my personal package of gcolor3-2.3.1 with Japanese language support for slackware64-current(15.0+).

1. Source
gcolor3.info
[code]
PRGNAM="gcolor3"
VERSION="2.3.1"
HOMEPAGE="https://gitlab.gnome.org/World/gcolor3"
DOWNLOAD="https://gitlab.gnome.org/World/gcolor3/-/archive/v2.3.1/gcolor3-v2.3.1.tar.gz"
MD5SUM="a611dbb3ee2561dbc70eb59aa473b10d"
DOWNLOAD_x86_64="direct download link(s) of application source tarball(s), x86_64 only"
MD5SUM_x86_64=""
REQUIRES="%README%"
MAINTAINER="JW(Shinichi Abe)"
EMAIL="fake_shin1_dot_abe_AT_nifty_dot_com"

2. SlackBuild
gcolor3.SlackBuild
[code]
#!/bin/sh

# Slackware build script for gcolor3

# Copyright 2021 JW(Shinichi Abe) <shin1.abe@nifty.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PRGNAM=gcolor3
VERSION=${VERSION:-2.3.1}
BUILD=${BUILD:-5}
TAG=${TAG:-_jw}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
# Apply debian patch (fix eye-drop picker)
zcat $CWD/G_PARAM_PRIVATE-deprecation.patch.gz | patch -p1 --verbose || exit 1
# Apply Japanese translation
zcat $CWD/gcolor3-Add_ja.po_v1.2.patch.gz | patch -p1 --verbose || exit 1
# Fix deprecation in src/gcolor3-application.c
sed -i 's|G_APPLICATION_FLAGS_NONE|G_APPLICATION_DEFAULT_FLAGS|' src/gcolor3-application.c


chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

mkdir build
cd build
  CFLAGS="$SLKCFLAGS" \
  CXXFLAGS="$SLKCFLAGS" \
  meson .. \
    --buildtype=release \
    --infodir=/usr/info \
    --libdir=/usr/lib${LIBDIRSUFFIX} \
    --localstatedir=/var \
    --mandir=/usr/man \
    --prefix=/usr \
    --sysconfdir=/etc
  ninja
  DESTDIR=$PKG ninja install
cd ..

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

#rm -f $PKG/usr/info/dir
#gzip -9 $PKG/usr/info/*.info*

find $PKG -name perllocal.pod \
  -o -name ".packlist" \
  -o -name "*.bs" \
  | xargs rm -f

mkdir -p $PKG/usr/share/pixmaps
cp -a $CWD/nl.hjdskes.gcolor3.png $PKG/usr/share/pixmaps/nl.hjdskes.gcolor3.png

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
  LICENSE  $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}


3. nosrc file which includes build-script and patches is available at my MEGA storage

This file includs ..
  - README
  - slack-desc
  - doinst.sh
  - gcolor3.info
  - gcolor3.SlackBuild
  - G_PARAM_PRIVATE-deprecation.patch.gz 
  - gcolor3-Add_ja.po_v1.2.patch.gz 
  - nl.hjdskes.gcolor3.png


4. Screenshot
gcolor3_w_Japanese_LC_Messages_2022-05-06



 

fcitx5-mozc-2.28.4960.102.1 for slackware64-15.0 ... [update: 2023-01-03]

On Aug. 16th 2022
IME environment has been upgraded from "Fcitx' to "Fcitx5".

Thank you Patrick and Heinz Wiesinger for this update.
And also Thank you litelinux@linuxquestions_org for the tutorials of Fcitx5.

I updated my fcitx5-mozc package from 2.28.4800.102.1 to 2.28.4830.102.1.
Here is the SlackBuild of fcitx5-mozc package.
  version: 2.28.4830.102.1
  git-source: commit-be4da0c507f9bee9533d8dead5748d78fc767a11
[update: 2022-10-22]
I updated my fcitx5-mozc package from 2.28.4830.102.1 to 2.28.4880.102.1.
Here is the SlackBuild of fcitx5-mozc package.
[update: 2022-11-05]
- Fixed ELF object(s) not stripped
- Removed unneeded doc directory ( usr/doc/mozc )
- Added doinst.sh with gtk-update-icon-cache
[update: 2022-12-20]
- Version bump to 2.28.4950.102.1
[update: 2023-01-03]
- Version bump to 2.28.4960.102.1

  version: 2.28.4960.102.1
  git-source: commit-49a941f62f46d9fb4da9f67c0ee31d22630a24dd

  build requires: jdk11, bazel

[screenshot} About dialog
fcitx5-mozc-2.28.4960_About

fcitx5-mozc.SlackBuild
[code]
#!/bin/bash

# Slackware build script for bazel

# Copyright 2022 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=fcitx5-mozc
VERSION=${VERSION:-2.28.4960.102.1}
BUILD=${BUILD:-1}
TAG=${TAG:-jw}
PKGTYPE=${PKGTYPE:-txz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
BLDBASEDIR=$TMP/$PRGNAM-$VERSION

if [ "$ARCH" = "i586" ]; then
  SLKCFLAGS="-O2 -march=i586 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

set -e
BLDTYPE=Release
_bldtype=Release

# source rev. and version.
MOZC_REV=49a941f62f46d9fb4da9f67c0ee31d22630a24dd
GYP_REV=caa60026e223fc501e8b337fd5086ece4028b1c6
PROTOBUF_REV=b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2
ABSEIL_CPP_REV=eb3db08cb3a4faf2aa09a2ba4a30b442457f36cf
BREAKPAD_REV=2022.07.12
GOOGLETEST_REV=703bd9caab50b139428cea1aaff9974ebee5742e
JSONCPP_REV=42e892d96e47b1f6e29844cc705e148ec4856448
JAPANESE_USAGE_DICT_REV=e5b3425575734c323e1d947009dd74709437b684
ZIPCODE_REL=202110


rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
echo "prepare source file..."
# unzip packages
unzip $CWD/mozc-$MOZC_REV.zip
unzip $CWD/gyp-$GYP_REV.zip
unzip $CWD/protobuf-$PROTOBUF_REV.zip
unzip $CWD/abseil-cpp-$ABSEIL_CPP_REV.zip
unzip $CWD/breakpad-${BREAKPAD_REV}.zip
unzip $CWD/googletest-$GOOGLETEST_REV.zip
unzip $CWD/jsoncpp-$JSONCPP_REV.zip
unzip $CWD/japanese-usage-dictionary-$JAPANESE_USAGE_DICT_REV.zip
unzip $CWD/jigyosyo-$ZIPCODE_REL.zip
unzip $CWD/x-ken-all-$ZIPCODE_REL.zip
# extact tar file
tar -xvf ${CWD}/fcitx-mozc-icon.tar.gz

# rename directory
mv mozc-$MOZC_REV mozc
mv gyp-$GYP_REV gyp
mv protobuf-$PROTOBUF_REV protobuf
mv abseil-cpp-$ABSEIL_CPP_REV abseil-cpp
mv breakpad-$BREAKPAD_REV breakpad
mv googletest-$GOOGLETEST_REV googletest
mv jsoncpp-$JSONCPP_REV jsoncpp
mv japanese-usage-dictionary-$JAPANESE_USAGE_DICT_REV japanese_usage_dictionary

chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
  -o -perm 511 \) -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
  -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;

cd $BLDBASEDIR/mozc/src

# disable android-ndk requirement, even if we don't need it bazel will complain
sed "/android_ndk_repository/d" -i WORKSPACE.bazel

# adjust QT_BASE_PATH
sed 's|path = QT_BASE_PATH|path = "/usr/include/qt5"|' -i WORKSPACE.bazel

cd $BLDBASEDIR/mozc
# prepare zip code dictionary
unzip -d src/data/dictionary_oss $CWD/jigyosyo-$ZIPCODE_REL.zip
unzip -d src/data/dictionary_oss $CWD/x-ken-all-$ZIPCODE_REL.zip

cd src/dictionary
# Generate zip code seed
sed -i "s/from dictionary import zip_code_util/import zip_code_util/g" gen_zip_code_seed.py

cd ../data/dictionary_oss
echo "Generating zip code seed ..."
python3 ../../dictionary/gen_zip_code_seed.py --zip_code=x-ken-all.csv --jigyosyo=JIGYOSYO.CSV >> dictionary09.txt
echo "Done."

cd $BLDBASEDIR/mozc/scripts
# fix libdir path of fcitx5-mozc.so for Slackware
sed 's/lib/lib64/g' -i install_fcitx5_bazel


cd ..
# Apply debian Use-Gtk3 patch
patch -p1 < $CWD/0008-renderer-Convert-Gtk2-to-Gtk3.patch

cd ..
# Copy third party deps
echo "Copy third party deps ..."
for dep in abseil-cpp breakpad googletest jsoncpp gyp protobuf japanese_usage_dictionary
do
  cp -a $dep mozc/src/third_party/
done

# build package
echo "build package..."
CFLAGS="${CFLAGS} -fvisibility=hidden"
CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"

cd $BLDBASEDIR/mozc/src
QT_BASE_PATH=/usr/include/qt5 bash ../scripts/build_fcitx5_bazel

# Build emacs_helper
echo "build emacs_helper..."
bazel build unix/emacs:mozc_emacs_helper --config oss_linux --compilation_mode opt

# Extract license part of mozc
head -n 29 server/mozc_server.cc > LICENSE

export PREFIX="$PKG/usr"
export _bldtype
bash ../scripts/install_server_bazel

install -d "$PKG/usr/share/licenses/${PRGNAM}/"
install -m 644 LICENSE data/installer/*.html "$PKG/usr/share/licenses/${PRGNAM}/"

install -d "${PREFIX}/share/fcitx5/addon"
install -d "${PREFIX}/share/fcitx5/inputmethod"
install -d "${PREFIX}/lib${LIBDIRSUFFIX}/fcitx5"
bash ../scripts/install_fcitx5_bazel

# Install icons at /usr/share/fcitx5
install -d "${PREFIX}/share/fcitx5/mozc/icon"
install -D -m 644 data/images/product_icon_32bpp-128.png "${PREFIX}/share/fcitx5/mozc/icon/mozc.png"
install -D -m 644 ../scripts/icons/ui-alpha_full.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-alpha_full.png"
install -D -m 644 ../scripts/icons/ui-alpha_half.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-alpha_half.png"
install -D -m 644 ../scripts/icons/ui-direct.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-direct.png"
install -D -m 644 ../scripts/icons/ui-hiragana.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-hiragana.png"
install -D -m 644 ../scripts/icons/ui-katakana_full.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-katakana_full.png"
install -D -m 644 ../scripts/icons/ui-katakana_half.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-katakana_half.png"
install -D -m 644 ../scripts/icons/ui-dictionary.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-dictionary.png"
install -D -m 644 ../scripts/icons/ui-properties.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-properties.png"
install -D -m 644 ../scripts/icons/ui-tool.png "${PREFIX}/share/fcitx5/mozc/icon/mozc-tool.png"

find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
# Install emacs_helper and documents
install -Dm644 ../LICENSE $PKG/usr/share/licenses/emacs-mozc/LICENSE
install -Dm644 data/installer/credits_en.html  $PKG/usr/doc/$PRGNAM-$VERSION/credits_en.html
install -Dm755 bazel-bin/unix/emacs/mozc_emacs_helper $PKG/usr/bin/mozc_emacs_helper
install -Dm644 unix/emacs/mozc.el $PKG/usr/share/emacs/site-lisp/mozc.el

cp $CWD/init.el_mozc $CWD/README.emacs $PKG/usr/doc/$PRGNAM-$VERSION/
cp $CWD/*.patch $CWD/*.diff $CWD/fetch_fcitx5-mozc_sources.sh $PKG/usr/doc/$PRGNAM-$VERSION/
cp $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# remove unneeded doc directory
rm -rf $PKG/usr/doc/mozc

mkdir -p $PKG/install
# install slack-desc
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE


01_mozc_config.bzl_qt5.diff
# 2022-07-07 # For Linux, Qt paths are managed by pkg_config_repository in WORKSPACE.bazel.
# So, we don't need 01_mozc_config.bzl_qt5.diff.

[code]
--- a/src/config.bzl    2022-03-21 13:54:26.000000000 +0900
+++ b/src/config.bzl    2022-03-26 15:14:04.384298439 +0900
@@ -40,8 +40,8 @@
 MACOS_MIN_OS_VER = "10.12"
 
 ## Qt paths
-QT_BASE_PATH = "/usr/include/x86_64-linux-gnu/qt5"  # For Debian
-QT_BIN_PATH = "/usr/bin/"
+QT_BASE_PATH = "/usr/include/qt5"  # For Slackware
+QT_BIN_PATH = "/usr/lib64/qt5/bin/"
 
 ## For macOS
 ## QT_BASE_PATH should be a directory compiled with -developer_build option.


02_install_fcitx5_libdir.diff
[code]
--- a/scripts/install_fcitx5_bazel    2022-03-26 17:59:59.265593030 +0900
+++ b/scripts/install_fcitx5_bazel    2022-03-26 18:00:47.135593436 +0900
@@ -1,7 +1,7 @@
 #!/bin/sh
 PREFIX="${PREFIX:-/usr}"
 
-install -D -m 755 "bazel-bin/unix/fcitx5/fcitx5-mozc.so" "${PREFIX}/lib/fcitx5/fcitx5-mozc.so"
+install -D -m 755 "bazel-bin/unix/fcitx5/fcitx5-mozc.so" "${PREFIX}/lib64/fcitx5/fcitx5-mozc.so"
 
 PREFIX="${PREFIX}" ../scripts/install_fcitx5_data
 PREFIX="${PREFIX}" ../scripts/install_fcitx5_icons


init.el_mozc
[code]
(set-language-environment "Japanese")
(require 'mozc)  ; or (load-file "/usr/share/emacs/site-lisp/emacs-mozc/mozc.el")
(setq default-input-method "japanese-mozc")
(setq mozc-candidate-style 'overlay)


README.emacs
[code]
# for emacs, create {HOME}/.emacs.d/init.el with followng lines

(require 'mozc)  ; or (load-file "/path/to/mozc.el")
(setq default-input-method "japanese-mozc")
(setq mozc-candidate-style 'overlay)

doinst.sh
[code]
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi

if [ -x usr/bin/update-gtk-immodules ]; then
  chroot . /usr/bin/update-gtk-immodules --verbose 1>/dev/null
fi

slack-desc
[code]
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':' except on otherwise blank lines.

           |-----handy-ruler------------------------------------------------------|
fcitx5-mozc: fcitx5-mozc (Mozc engine for fcitx5)
fcitx5-mozc:
fcitx5-mozc: fcitx5-mozc is Mozc, Japanese input method editor, engine for fcitx5.
fcitx5-mozc:
fcitx5-mozc: Homepage: https://fcitx-im.org
fcitx5-mozc:
fcitx5-mozc:
fcitx5-mozc:
fcitx5-mozc:
fcitx5-mozc:
fcitx5-mozc:

fcitx5-mozc.info of Version-2.28.4950.102.1
[code]
PRGNAM="fcitx5-mozc"
VERSION="2.28.4960.102.1"
HOMEPAGE="https://github.com/fcitx/mozc/"
DOWNLOAD="https://github.com/fcitx/mozc/archive/49a941f62f46d9fb4da9f67c0ee31d22630a24dd/mozc-49a941f62f46d9fb4da9f67c0ee31d22630a24dd.zip
 https://github.com/chromium/gyp/archive/caa60026e223fc501e8b337fd5086ece4028b1c6/gyp-caa60026e223fc501e8b337fd5086ece4028b1c6.zip
 https://github.com/protocolbuffers/protobuf/archive/b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2/protobuf-b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2.zip
 https://github.com/abseil/abseil-cpp/archive/eb3db08cb3a4faf2aa09a2ba4a30b442457f36cf/abseil-cpp-eb3db08cb3a4faf2aa09a2ba4a30b442457f36cf.zip
 https://github.com/google/breakpad/archive/v2022.07.12/breakpad-2022.07.12.zip
 https://github.com/google/googletest/archive/703bd9caab50b139428cea1aaff9974ebee5742e/googletest-703bd9caab50b139428cea1aaff9974ebee5742e.zip
 https://github.com/open-source-parsers/jsoncpp/archive/42e892d96e47b1f6e29844cc705e148ec4856448/jsoncpp-42e892d96e47b1f6e29844cc705e148ec4856448.zip
 https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684/japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.zip
 https://osdn.net/projects/ponsfoot-aur/storage/mozc/jigyosyo-202110.zip
 https://osdn.net/projects/ponsfoot-aur/storage/mozc/x-ken-all-202110.zip
 https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz"
MD5SUM="df85daad5939862cb4c66a4f7937095d
 699c5af5c6d7e19835afb5292d151f91
 d79cbe4e2033c967a58e2bddaa6d4aa2
 59150ab6a427d5f5c8c168d0dedba425
 981e935b3b61091ca6f968a296f44eb9
 768da4173ee9df3248b8f828747982ad
 b56b146335d7c296ddef5a88235f1438
 a6eb1da9ad7ceffcb9683003332abf7e
 35031b342c827861681081e4052b472b
 a4b62ae420004b55a72fe6a40bb09ee1
 80fe2ef127b70649df22d133822ac8a7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="bazel"
MAINTAINER="JW"
EMAIL=""



引き続き更新予定








xscreensaver-6.06 Slackware package with Japanese LC_MESSAGES

Workaround that enable compilation of each LC_MESSAGES of xscreensaver-6.06.

     $ diff -Nru xscreensaver.SlackBuild.orig xscreensaver.SlackBuild
Code:
--- xscreensaver.SlackBuild.orig	2022-12-16 13:23:31.058053084 +0900
+++ xscreensaver.SlackBuild 2022-12-17 10:06:52.444811135 +0900
@@ -24,7 +24,7 @@

PKGNAM=xscreensaver
VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3jw}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -98,22 +98,38 @@
xml_config=/usr/bin/xml-config xml2_config=/usr/bin/xml2-config \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
+
+autoreconf -fi
+
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
+ --localedir=/usr/share/locale \
--with-app-defaults=/etc/X11/app-defaults \
--with-text-file=/usr/doc/netdate/COPYRIGHT \
$USE_SHADOW \
$USE_PAM \
--without-kerberos \
+ --with-gtk \
--with-jpeg \
--with-gl \
--build=$ARCH-slackware-linux || exit 1

+# Fix po Makefile (force to create missing locales)
+sed -i "s|da de es et fi fr hu it ja ko nb nl pl pt pt_BR ru sk sv vi wa zh_CN zh_TW|be da de el es et fi fr hu it ja ko lt nb nl pl pt pt_BR ru sk sv tr uk vi wa zh_CN zh_TW|" po/Makefile
+sed -i "s|@install_sh@|../install-sh -c|" po/Makefile
+
# Build:
-make $NUMJOBS || make || exit 1
-make install_prefix=$PKG install-strip || exit 1
+make $NUMJOBS || make all || exit 1
+make install install_prefix=$PKG || exit 1
+# Install po files
+( cd po
+make install-data DESTDIR=$PKG
+cd .. )
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

if [ -z $USE_PAM ]; then
# Needed for password unlock:
@@ -139,6 +155,7 @@
cp -a \
README* \
$PKG/usr/doc/xscreensaver-$VERSION
+cp $CWD/xscreensaver.SlackBuild $PKG/usr/doc/xscreensaver-$VERSION

# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
[Update] 2022-12-17 : Added "strip" after install.

[Update] 2022-12-17 : Force to create missing locate data

Screenshot example: xscreensaver-6.06_with_locale-data


---

ギャラリー
  • deepl-clip.sh で簡単翻訳 [更新:2025-04-29]
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.2_20250323_7cf15b3
  • Avidemux 2.8.x with Qt6 GUI
  • Avidemux 2.8.x with Qt6 GUI
  • MEGAcmd-2.0.0_Linux
  • gcolor3 with Japanese menu and LC_MESSAGES
  • avidemux2 TEST package from the latest git source (on jul.23.2024)
  • fcitx5-mozc-2.29.5135.102.1 (15jw) -- Added "merge-ut-dictionaries"