Nothin' but Slackware

バイクとLinuxに戯れる日々

2024年07月

MEGAsync-5.4.0.0_Linux

[Update: Jul. 27. 2024]
Version bump to "5.4.0.0"
[Update: Jul. 07. 2024]
Edited previous slackbuild so that prevent to overwrite libav*.so soft-links of official ffmpeg package in usr/lib64 directory.
[Update: Jul. 06. 2024]
I successfuly compiled and created MEGAsync-6.3.0.0_Linux for FFmpeg-6.1.1.


MEGAsync.SlackBuild
[code]
#!/bin/sh

# Slackware build script for MEGASync input plugin

# Copyright 2017,2018 Felipe Bugno <capent@yahoo.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.
#
# 2023-04-14 : 4.9.1.0 (2jw) -- version bump to 4.9.1.0_linux
# 2023-09-16 : 4.9.1.0 (3jw) -- Recompiled against libsodium-1.0.19 (libsodium.so.26.1.0)
# 2024-01-30 : 4.9.1.0 (4jw) -- Recompiled against ffmpeg-6.1.1
# 2024-07-06 : 5.3.0.0 (1jw) -- version bump to 5.3.0.0 with sdk-7.1.2
# 2024-07-07 : 5.3.0.0 (2jw) -- Fix overwriting default FFmpeg6's soft-links in /usr/lib64/
# 2024-07-27 : 5.4.0.0 (1jw) -- version bump to 5.4.0.0 with sdk-7.3.0
# 2024-07-27 : 5.4.0.0 (2jw) -- Fix overwriting default FFmpeg6's libswresample.so.4

PRGNAM=MEGAsync
VERSION=${VERSION:-
5.4.0.0}
SDK=${SDK:-
7.3.0}
BUILD=${BUILD:-
2}
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\_Linux
tar xvf $CWD/$PRGNAM-$VERSION\_Linux.tar.gz
cd $PRGNAM-$VERSION\_Linux/src/MEGASync/mega
tar --strip-components=1 -xvf $CWD/sdk-$SDK.tar.gz
cd ../../../
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 src/MEGASync/mega
patch -p1 < $CWD/010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch
patch -p1 < $CWD/020-megasync-sdk-fix-cmake-dependencies-detection.patch
cd ../../../
patch -p1 < $CWD/030-megasync-app-fix-cmake-dependencies-detection.patch

cd $TMP
rm -rf vcpkg
# Now.. we will use microsoft VCPKG build system for MEGAsync desktop apps
git clone https://github.com/microsoft/vcpkg

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS"
export CXXFLAGS+=' -DNDEBUG'

cmake -DVCPKG_ROOT=$TMP/vcpkg  -B build -S $PRGNAM-$VERSION\_Linux -DCMAKE_BUILD_TYPE=Release \
-G 'Unix Makefiles' \
-DCMAKE_MODULE_PATH:PATH="$TMP/$PRGNAM-$VERSION\_Linux/src/MEGASync/mega/contrib/cmake/modules/packages" \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL='YES' \
-Wno-dev

cmake --build build --target MEGAsync

#Install
DESTDIR=$PKG cmake --install build
install -d "$PKG/usr/lib${LIBDIRSUFFIX}"
# Do Not overwrite *.so of default ffmpeg-6's libraries.
rm $PKG/opt/megasync/lib/*.so
# Do not overwrite FFmpeg6's libswresample.so.4.
# Use libswresample.so.4 from system FFmpeg6's soft-link (libswresample.so.4 -> libswresample.so.4.14.100)
rm $PKG/opt/megasync/lib/libswresample.so.4

# Now move ffmpeg related libs to STD lib64 dir
mv $PKG/opt/megasync/lib/* $PKG/usr/lib${LIBDIRSUFFIX}/

install -D -m644 $PRGNAM-$VERSION\_Linux/LICENCE.md -t "$PKG/usr/share/licenses/megasync"
install -D -m644 $PRGNAM-$VERSION\_Linux/installer/terms.txt -t "$PKG/usr/share/licenses/megasync"
install -D -m644 $PRGNAM-$VERSION\_Linux/src/MEGASync/mega/LICENSE "$PKG/usr/share/licenses/megasync/LICENCE-SDK"
rm -d "$PKG/opt"{/megasync{/lib,},}

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
cd $TMP/$PRGNAM-$VERSION\_Linux
cp -a  README.md LICENCE.md CREDITS.md $PKG/usr/doc/$PRGNAM-$VERSION
cp $CWD/010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch $CWD/020-megasync-sdk-fix-cmake-dependencies-detection.patch \
 $CWD/030-megasync-app-fix-cmake-dependencies-detection.patch \
 $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}

MEGAsync.info
[code]
PRGNAM="MEGAsync"
VERSION="5.3.0.0"
HOMEPAGE="https://github.com/meganz/MEGAsync/"
DOWNLOAD="https://github.com/meganz/MEGAsync/archive/v5.4.0.0_Linux/MEGAsync-5.4.0.0_Linux.tar.gz \
 https://github.com/meganz/sdk/archive/v7.3.0/sdk-7.3.0.tar.gz"
MD5SUM="664d64aec33bb8c4ace970a154c93607 \
 ff40b8806c9e34d5cab93d0a65fd721e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="FreeImage libmediainfo"
MAINTAINER=""
EMAIL=""

010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch
[code]
--- a/src/gfx/freeimage.cpp
+++ b/src/gfx/freeimage.cpp
@@ -200,12 +200,6 @@ bool GfxProviderFreeImage::readbitmapFreeimage(const LocalPath& imagePath, int s
 
 #ifdef HAVE_FFMPEG
 
-#ifdef AV_CODEC_CAP_TRUNCATED
-#define CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED
-#else
-#define CAP_TRUNCATED CODEC_CAP_TRUNCATED
-#endif
-
 const char *GfxProviderFreeImage::supportedformatsFfmpeg()
 {
     return  ".264.265.3g2.3gp.3gpa.3gpp.3gpp2.mp3"
@@ -321,10 +315,6 @@ bool GfxProviderFreeImage::readbitmapFfmpeg(const LocalPath& imagePath, int size
 
     // Force seeking to key frames
     formatContext->seek2any = false;
-    if (decoder->capabilities & CAP_TRUNCATED)
-    {
-        codecContext->flags |= CAP_TRUNCATED;
-    }
 
     AVPixelFormat sourcePixelFormat = static_cast<AVPixelFormat>(codecParm->format);
     AVPixelFormat targetPixelFormat = AV_PIX_FMT_BGR24; //raw data expected by freeimage is in this format


020-megasync-sdk-fix-cmake-dependencies-detection.patch
[code]
--- a/contrib/cmake/modules/sdklib_libraries.cmake
+++ b/contrib/cmake/modules/sdklib_libraries.cmake
@@ -95,7 +95,7 @@ macro(load_sdklib_libraries)
 
         find_package(PkgConfig REQUIRED) # For libraries loaded using pkg-config
 
-        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcrypto++)
+        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
         target_link_libraries(SDKlib PUBLIC PkgConfig::cryptopp) # TODO: Private for SDK core
 
         pkg_check_modules(sodium REQUIRED IMPORTED_TARGET libsodium)
@@ -139,7 +139,7 @@ macro(load_sdklib_libraries)
         endif()
 
         if(USE_PDFIUM)
-            pkg_check_modules(pdfium REQUIRED IMPORTED_TARGET pdfium)
+            pkg_check_modules(pdfium REQUIRED IMPORTED_TARGET libpdfium)
             target_link_libraries(SDKlib PRIVATE PkgConfig::pdfium)
             set(HAVE_PDFIUM 1)
         endif()


030-megasync-app-fix-cmake-dependencies-detection.patch
[code]
--- a/src/MEGAUpdateGenerator/CMakeLists.txt
+++ b/src/MEGAUpdateGenerator/CMakeLists.txt
@@ -15,10 +15,11 @@ target_sources(MEGAUpdateGenerator
 )
 
 # Load and link needed libraries for the CHATlib target
-find_package(cryptopp CONFIG REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
 target_link_libraries(MEGAUpdateGenerator
     PRIVATE
-    cryptopp::cryptopp
+    PkgConfig::cryptopp
     MEGA::SDKlib
 )


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------------------------------------------------------|
MEGAsync: MEGAsync (mega cloud storage service)
MEGAsync:
MEGAsync: MEGAsync open source release for MEGA cloud storage services
MEGAsync:
MEGAsync:
MEGAsync: Compiled using default Slackware Qt4.
MEGAsync:
MEGAsync: Homepage: https://github.com/meganz/MEGAsync
MEGAsync: Service: https://mega.nz/
MEGAsync:
MEGAsync:

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 -f usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi

---
[Update]
2024-07-07 :  usr/lib64ディレクトリある公式ffmpegパッケージlibav*.soソフトリンク上書きしないようにし

openjdk22 (22.0.2+9) for slackware64-current (15.0+)

Slackware64-current (15.0+) 向けに最新の fcitx5-mozc 2.30.5520.102 パッケージを作成するための事前準備として
Make depends パッケージ bazeljdk をバージョンアップした。
先のポスト bazel に続き、jdk をこれまで使っていたバイナリソースベースのjdkバージョン "11.0.20" から openjdk  "22.0.2_9" へバージョンアップ

※ SlackBuild は AlienBoB(Eric Hameleers) 氏の jdk11.SlackBuild を参考にさせていただいた。
Thanks to Eric Harmeleers for making the slackbuild publicly available.
(参考リンク)


openjdk22.SlackBuild (version 22.0.2_9)
[code]
#!/bin/bash
# $Id: openjdk11.SlackBuild,v 1.11 2024/07/18 07:44:40 root Exp root $
# Copyright 2021, 2022 Lenard Spencer, Orlando, Florida, USA
# Copyright 2022, 2023, 2024  Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
#   Permission to use, copy, modify, and distribute this software for
#   any purpose with or without fee is hereby granted, provided that
#   the above copyright notice and this permission notice appear in all
#   copies.
#
#   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
#   CONTRIBUTORS 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.
# -----------------------------------------------------------------------------
# This script takes inspiration from the OpenJDK11 SBo script by Lenard Spencer
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By:          Eric Hameleers <alien@slackware.com>
# For:         openjdk11
# Descr:       Java 11 Platform Standard Edition
# URL:         https://openjdk.org/
# Build needs:
# Needs:       
# Changelog:   
# 11.0.16_8-1: 08/aug/2022 by Eric Hameleers <alien@slackware.com>
#              * Initial build.
# 11.0.17_8-1: 27/nov/2022 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.18_10-1:07/feb/2023 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.19_7-1 :25/apr/2023 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.20_8-1 :05/aug/2023 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.21_9-1 :28/oct/2023 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.22_7-1 :03/feb/2024 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.23_9-1 :13/may/2024 by Eric Hameleers <alien@slackware.com>
#              * Update.
# 11.0.24_8-1 :18/jul/2024 by Eric Hameleers <alien@slackware.com>
#              * Update.
#------------------------------------------------------------------
# 22.0.2+9-1  :24/jul/2024 J_W(Shinichi Abe)\
#              * 1st build by using AlienBoB's original slackbuild for openjdk11
#
# Run 'sh openjdk11.SlackBuild' to build a Slackware package.
# The package (.t?z) and .txt file as well as build logs are created in /tmp .
# Install the package using 'installpkg' or 'upgradepkg --install-new'.
#
# -----------------------------------------------------------------------------

PRGNAM=openjdk22
VERSION=${VERSION:-22.0.2}
UPDVER=${UPDVER:-"9"}          # used as "+number" or "-ga"!
PKGVER=${VERSION}_${UPDVER}
BOOTVER=${BOOTVER:-"21.0.2+13"}

BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-"$(nproc)"}
NUMJOBS=${NUMJOBS#*j}          # Remove "-j" in case NUMJOBS is defined as "-j8"
TAG=${TAG:-jw}

# Do we bootstrap our Java22 using a binary Java10 or Java22 distribution?
BOOTSTRAP=${BOOTSTRAP:-"NO"}

DOCS="ADDITIONAL_LICENSE_INFO ASSEMBLY_EXCEPTION LICENSE README*"


# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)

# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# If you want debug symbols in your JVM library, set DEBUGBUILD to "YES";
# this would inflate the libjvm.so file from 13 to 160 MB (estimate):
DEBUGBUILD=${DEBUGBUILD:-"NO"}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$(uname -m)" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm; echo "$ARCH currently not supported, aborting."; exit 1 ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
    *) ARCH=$(uname -m) ;;
  esac
  export ARCH
fi
# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
case "$ARCH" in
  i?86)      SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             BSARCH="i686"
             ;;
  x86_64)    SLKCFLAGS="-O2 -fPIC"
             SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
             BSARCH="x86_64"
             ;;
  *)         SLKCFLAGS=${SLKCFLAGS:-"-O2"}
             SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""}
             ;;
esac

case "$ARCH" in
    arm*)    TARGET=$ARCH-slackware-linux-gnueabi ;;
    *)       TARGET=$ARCH-slackware-linux ;;
esac

# Sources:
# Take care of the '-' or '+' in the archive name:

[ "$UPDVER" == "ga" ] && EXTRAVER="-${UPDVER}" || EXTRAVER="+${UPDVER}"
SOURCE[0]="$SRCDIR/sources/jdk22u-jdk-${VERSION}${EXTRAVER}.tar.gz"
SRCURL[0]="https://github.com/openjdk/jdk22u/archive/jdk-${VERSION}${EXTRAVER}/jdk22u-jdk-${VERSION}${EXTRAVER}.tar.gz"

if [ "${BOOTSTRAP}" != "NO" ]; then
  SOURCE[1]="$SRCDIR/sources/OpenJDK-${BOOTVER}-${BSARCH}-bin.tar.xz"
  SRCURL[1]="https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-${BOOTVER%+*}/OpenJDK-${BOOTVER}-${BSARCH}-bin.tar.xz"
fi


##
## --- with a little luck, you won't have to edit below this point --- ##
##

# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}

# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022

# Create working directories:
mkdir -p $OUTPUT           # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM  # location to build the source
mkdir -p $PKG              # place for the package to be built
rm -rf $PKG/*              # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/*  # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg,patch}-$PRGNAM.log
                           # remove old log files

# Source file availability:
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
  if ! [ -f ${SOURCE[$i]} ]; then
    echo "Source '$(basename ${SOURCE[$i]})' not available yet..."
    # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
    [ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})"
    if [ -f ${SOURCE[$i]} ]; then echo "Ah, found it!"; continue; fi
    if ! [ "x${SRCURL[$i]}" == "x" ]; then
      echo "Will download file to $(dirname $SOURCE[$i])"
      wget --no-check-certificate -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true
      if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then
        echo "Fail to download '$(basename ${SOURCE[$i]})'. Aborting the build."
        mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL
        exit 1
      fi
    fi
    if [ ! -f "${SOURCE[$i]}" -o ! -s "${SOURCE[$i]}" ]; then
      echo "File '$(basename ${SOURCE[$i]})' not available. Aborting the build."
      exit 1
    fi
  fi
done

if [ "$P1" == "--download" ]; then
  echo "Download complete."
  exit 0
fi

# --- PACKAGE BUILDING ---

echo "++"
echo "|| $PRGNAM-${PKGVER}"
echo "++"

cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
  tar -xf ${SOURCE[$i]}
done
chown -R root:root *
chmod -R u+w,go+r-w,a+rX-st *
cd jdk22u-jdk-${VERSION}-${UPDVER}

if [ "${BOOTSTRAP}" == "NO" ]; then
  USE_BOOTSTRAP=" "
else
  # Building openjdk from source requires bootstrapping from either a
  # current or previous version of the (open)jdk binary installation.
  # We use the BLFS binaries for OpenJDK10 to bootstrap:
  export BOOT_JAVA=$TMP/tmp-$PRGNAM/OpenJDK-21.0.2+13-$BSARCH-bin
  USE_BOOTSTRAP="--with-boot-jdk=${BOOT_JAVA}"
fi

if [ "$DEBUGBUILD" = "NO" ]; then
  USE_DEBUG="--with-native-debug-symbols=none"
else
  USE_DEBUG="--enable-debug --with-native-debug-symbols=internal"
fi

# Recommended by upstream:
unset JAVA_HOME
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS

# Causes the build to fail if set:
unset MAKEFLAGS

echo Building ...
sh configure \
  ${USE_BOOTSTRAP} \
  ${USE_DEBUG} \
  --with-vendor-name="AlienBOB Slackware" \
  --with-vendor-url="https://alien.slackbook.org/blog/tag/openjdk/" \
  --with-vendor-bug-url="https://alien.slackbook.org/blog/tag/openjdk/" \
  --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" \
  --with-version-build="${UPDVER}" \
  --with-version-opt="" \
  --with-version-pre="" \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-${PKGVER} \
  --localstatedir=/var \
  --sysconfdir=/etc \
  --with-harfbuzz=bundled \
  --with-zlib=bundled \
  --with-giflib=system \
  --with-lcms=system \
  --with-libjpeg=system \
  --with-libpng=system \
  --enable-libffi-bundling \
  --enable-unlimited-crypto \
  --disable-precompiled-headers \
  --disable-warnings-as-errors \
  --with-extra-cflags="$SLKCFLAGS" \
  --with-extra-cxxflags="$SLKCFLAGS" \
  --with-jobs=$NUMJOBS \
  2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
  #--with-extra-ldflags="$SLKLDFLAGS" \
  #--openjdk-target=$TARGET \

# The 'bootcycle-images' target builds the target JDK using the pre-installed
# (bootstrap-) JDK and then rebuilds JDK using the just-compiled JDK.
make bootcycle-images 2>&1 | tee $OUTPUT/make-${PRGNAM}.log

# Manually install the generated jdk image into the package directory:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/java
cp -a build/linux*/images/jdk/* $PKG/usr/lib${LIBDIRSUFFIX}/java/

# We do not need the demo materials:
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/java/demo

# The configuration goes to /etc and we put a symlink in place:
mkdir -p $PKG/etc
mv $PKG/usr/lib${LIBDIRSUFFIX}/java/conf $PKG/etc/${PRGNAM}
ln -s /etc/${PRGNAM} $PKG/usr/lib${LIBDIRSUFFIX}/java/conf

# Do not clobber user modifications to the configuration files:
mv ${PKG}/etc/${PRGNAM}/logging.properties{,.new}
mv ${PKG}/etc/${PRGNAM}/net.properties{,.new}
mv ${PKG}/etc/${PRGNAM}/sound.properties{,.new}
mv ${PKG}/etc/${PRGNAM}/management/jmxremote.access{,.new}
mv ${PKG}/etc/${PRGNAM}/management/jmxremote.password.template{,.new}
mv ${PKG}/etc/${PRGNAM}/management/management.properties{,.new}
mv ${PKG}/etc/${PRGNAM}/security/policy/unlimited/default_local.policy{,.new}
mv ${PKG}/etc/${PRGNAM}/security/policy/unlimited/default_US_export.policy{,.new}
mv ${PKG}/etc/${PRGNAM}/security/policy/limited/default_local.policy{,.new}
mv ${PKG}/etc/${PRGNAM}/security/policy/limited/default_US_export.policy{,.new}
mv ${PKG}/etc/${PRGNAM}/security/policy/limited/exempt_local.policy{,.new}
mv ${PKG}/etc/${PRGNAM}/security/java.security{,.new}
mv ${PKG}/etc/${PRGNAM}/security/java.policy{,.new}

if [ "$DEBUGBUILD" = "NO" ]; then
  # Strip debug symbols from the dynamic libraries but leave the symbol tables:
  find $PKG -name "*.so" -exec strip --strip-debug {} \;
fi

# Generate a cacerts file from the certificates installed by ca-certificates
# in Slackware - the "cacerts" in the OpenJDK sources may be outdated.
# This requires 'trust' program from p11-kit:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/java/lib/security/cacerts
trust extract --format=java-cacerts --filter=ca-anchors --purpose=server-auth \
  $PKG/usr/lib${LIBDIRSUFFIX}/java/lib/security/cacerts

# Symlinks are present in Slackware historically:
ln -sf java $PKG/usr/lib${LIBDIRSUFFIX}/jdk${VERSION%%.*}

# Add the profile scripts:
mkdir -p $PKG/etc/profile.d
for file in $(ls $SRCDIR/profile.d/openjdk*) ; do
  cat $file | sed -e "s#@LIB@/java#lib${LIBDIRSUFFIX}/java#" \
    > $PKG/etc/profile.d/$(basename $file)
done
chmod 755 $PKG/etc/profile.d/*

# Add menu entries and icons:
for i in 16 24 32 48; do
  install -D -m0644 src/java.desktop/unix/classes/sun/awt/X11/java-icon$i.png \
    $PKG/usr/share/icons/hicolor/${i}x${i}/apps/${PRGNAM}.png
done
# Add the desktop files:
mkdir -p ${PKG}/usr/share/applications
for DTFILE in java jconsole jshell ; do
  cat $SRCDIR/desktop/openjdk22-${DTFILE}.desktop \
    | sed -e "s,@JPATH@,/usr/lib${LIBDIRSUFFIX}/java/bin/," \
      -e "s,@PRGNAM@,${PRGNAM}," \
    > ${PKG}/usr/share/applications/openjdk22-${DTFILE}.desktop
done

# Add a jre symlink to help programs that look for a jre directory:
ln -s . $PKG/usr/lib${LIBDIRSUFFIX}/java/jre

# Add symlinks to the JVM and runtime libraries:
for JLIB in server/libjvm libawt_xawt libjava libjawt libjsound libsplashscreen
do
  ln -sf java/lib/${JLIB}.so $PKG/usr/lib${LIBDIRSUFFIX}/
done

# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVER
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$PKGVER || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$PKGVER/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$PKGVER
find $PKG/usr/doc -type f -exec chmod 644 {} \;

# Move the man pages to the system location and point a symlink to them:
mv $PKG/usr/lib${LIBDIRSUFFIX}/java/man $PKG/usr
ln -s /usr/man $PKG/usr/lib${LIBDIRSUFFIX}/java/
# openjdk22-22.0.2 doesn't have ja_man
#
# Slackware has 'ja' as the install location for Japanese man pages:
#rm $PKG/usr/man/ja
#mv $PKG/usr/man/{ja_JP.UTF-8,ja}

# Compress man pages:
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done

# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
cat $SRCDIR/doinst.sh > $PKG/install/doinst.sh

# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${PKGVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${PKGVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${PKGVER}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${PKGVER}-${ARCH}-${BUILD}${TAG}.txt

# Restore the original umask:
umask ${_UMASK_}

 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------------------------------------------------------|
openjdk22: openjdk22 (Java Platform Standard Edition Development Kit)
openjdk22:
openjdk22: openjdk22 is an open source implementation of the Java Platform,
openjdk22: Standard Edition, release 22.
openjdk22: The Java SDK software includes tools for developing, testing, and
openjdk22: running programs written in the Java programming language.  This
openjdk22: package contains the Open Source version of the JDK, which holds
openjdk22: everything you need to run Java(TM).
openjdk22:
openjdk22: See also: https://openjdk.org/
openjdk22:


desktopディレクトリ の ***.desktop ファイルを openjdk22 用に修正
(1) ファイル名を修正
      openjdk22-java.desktop
      openjdk22-jconsole.desktop
      openjdk22-jshell.desktop
(2) 各ファイル内の記述で openjdk11 の記述を openjdk22 向けに修正編集する。
 例:openjdk22-java.desktop の場合
   Name=OpenJDK Java 22 Runtime
             Comment=OpenJDK Java 22 Runtime

prpfile.dディレクトリの openjdk11.csh, openjdk11.sh の名称を修正
  openjdk11.csh -> openjdk22.csh
  openjdk11.sh -> openjdk22.sh


以上の事前準備を行った後、SlackBuildを実行する。

謝辞: 
あらためて、openjdkの slackbuildを作成・公開している AlienBoB(Eric Hameleers)氏に感謝します。
Acknowledgements: 
Again, thanks to AlienBoB (Eric Hameleers) for creating and publishing the openjdk slackbuild.

---

---


bazel-7.2.1 package for slackware64-current (15.0+)

Slackware64-current (15.0+) 向けに最新の fcitx5-mozc 2.30.5520.102 パッケージを作成するための事前準備として
Make depends パッケージ bazeljdk をバージョンアップした。
まずは、bazel をこれまで使っていたバージョン "5.4.1" から "7.2.1" へバージョンアップ

※ SlackBuild作成にあたっては plamolinuxメンテナー 吉澤さんのPlamoBuildと Arch linux の情報を参考にさせていただいた
Thanks to Yoshizawa-san and Arch linux !

bazel.SlackBuild (version 7.2.1)
[code]
#!/bin/sh

# Slackware build script for bazel

# Copyright 2016 Nikolay Nikolov <nikobnikolov[at]gmail[dot]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=bazel
VERSION=${VERSION:-7.2.1}
BUILD=${BUILD:-1}
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.gz
unzip $CWD/$PRGNAM-$VERSION-dist.zip -d $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
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 {} \;

# Compile Bazel (bootstrapping)
EMBED_LABEL=$pkgver EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
./output/bazel build scripts:bazel-complete.bash
cd output
./bazel shutdown

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

# Install
cd $TMP/$PRGNAM-$VERSION
install -Dm755 "scripts/packages/bazel.sh" "$PKG/usr/bin/bazel"
install -Dm755 "output/bazel" "$PKG/usr/bin/bazel-real"
install -Dm644 "bazel-bin/scripts/bazel-complete.bash" "$PKG/usr/share/bash-completion/completions/bazel"
install -Dm644 "scripts/zsh_completion/_bazel" "$PKG/usr/share/zsh/site-functions/_bazel"

mkdir -p $PKG/usr/share/bazel
for d in examples third_party tools; do
    cp -r $d "$PKG/usr/share/bazel/"
done

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp AUTHORS CHANGELOG.md README.md 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

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

 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------------------------------------------------------|
bazel: Bazel is a build and test tool similar to Make, Maven, and Gradle.
bazel:
bazel: It uses a human-readable, high-level build language.
bazel:
bazel: Bazel supports projects in multiple languages and builds outputs
bazel: for multiple platforms.
bazel:
bazel: Bazel supports large codebases across multiple repositories, and
bazel: large numbers of users.
bazel:
bazel: URL: https://github.com/bazelbuild/bazel/

bazel.info
[code]
PRGNAM="bazel"
VERSION="7.2.1"
HOMEPAGE="https://www.bazel.build/"
DOWNLOAD="https://github.com/bazelbuild/bazel/releases/download/7.2.1/bazel-7.2.1-dist.zip"
MD5SUM="6f72fda7092aecaf74ba9ce8847fed31"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jdk22"
MAINTAINER="J_W"
EMAIL="fake_shin1_abe_at_nifty_dot_com"





---


avidemux2 TEST package from the latest git source (on jul.23.2024)

[Update] jul.27.2024 : Recompiled by using updated git commit "182e0d5" on "demuxers/Matroska"
----------------
                           
Avidemux2's stable release version is "2.8.1" (sep.21.2022).
And current development stage of avidemux2 seems to be a kind of BETA version of next '2.8.2" release.

cmake/avidemuxVersion.cmake
[code]
#
#
#
#SET(RELEASE 1)
#
#
include(admTimeStamp)
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "8")
SET(CPACK_PACKAGE_VERSION_P     "2")
SET(AVIDEMUX_MAJOR_MINOR "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_P}")
IF(NOT AVIDEMUX_VERSION)
    SET(AVIDEMUX_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
ENDIF(NOT AVIDEMUX_VERSION)
SET(AVIDEMUX_API_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
IF(NOT RELEASE)
        # use date instead of subversion, we use git now
        ADM_TIMESTAMP(date)
        SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${date}")
ENDIF(NOT RELEASE)

 cmake/admFFmpegVersion.cmake
[code]
set(FFMPEG_VERSION "7.0.1")

I created an avidemux2 package for slackware64-current using the latest git source of Avidemux2 git repository.

Sources I used were ...
※ I created those tar balls for my packaging, and placed those souce tar balls in my MEGA drive.
     SOURCE DL: avidemux_2.8.2.182e0d5.tar.xz

avidemux.SlackBuild
The base slackbuild was made by AlienBoB(Eric Hameleers).
I only changed SOURCE parts in the slackbuild.
Thanks to Eric Harmeleers for making the slackbuild publicly available.
[code]
#!/bin/sh
# $Id: avidemux.SlackBuild,v 1.21 2022/10/17 19:34:27 root Exp root $
# Copyright 2009, 2010, 2011, 2013, 2017, 2021, 2022  Eric Hameleers, Eindhoven, NL
# All rights reserved.
#
#   Permission to use, copy, modify, and distribute this software for
#   any purpose with or without fee is hereby granted, provided that
#   the above copyright notice and this permission notice appear in all
#   copies.
#
#   THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
#   CONTRIBUTORS 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.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By:         Eric Hameleers <alien@slackware.com>
# For:        avidemux
# Descr:      versatile video editor with a Qt gui
# URL:        http://avidemux.org/
# Needs:      aften,faac,faad2,libdca,libfdk-aac,opencore-amr,
#             twolame,x264,x265,xvidcore
# Changelog:  
# 2.4.4-1:    19/May/2009 by Eric Hameleers <alien@slackware.com>
#             * Initial build. If Qt4 is present the Qt4 GUI will be built
#               and used by default from the menu entry.
# 2.4.4-2:    28/May/2009 by Eric Hameleers <alien@slackware.com>
#             * Add aften (ac3 encoder) as a dependency
# 2.5.2-1:    30/Jan/2010 by Eric Hameleers <alien@slackware.com>
#             * New release. Add support for AMR audio.
# 2.5.3-1:    02/jun/2010 by Eric Hameleers <alien@slackware.com>
#             * New release.
# 2.5.4-1:    11/may/2011 by Eric Hameleers <alien@slackware.com>
#             * New release. Added VP8 support.
# 2.6.0-1:    15/oct/2013 by Eric Hameleers <alien@slackware.com>
#             * New release, built for Slackware 14.
# 2.6.7-1:    21/dec/2013 by Eric Hameleers <alien@slackware.com>
#             * New release, built for Slackware 14 and newer.
# 2.6.20-1:   04/may/2017 by Eric Hameleers <alien@slackware.com>
#             * Update.
# 2.8.0-1:    29/dec/2021 by Eric Hameleers <alien@slackware.com>
#             * Update.
# 2.8.1-1:    17/oct/2022 by Eric Hameleers <alien@slackware.com>
#             * Update.
# 2.8.2-RC git source build
#             23/jul/2024 by J_W(Shinichi Abe)
#             * TEST package
# 2.8.2.182e0d5-1jw  update git source to commit:182e0d5(2024-07-27) commit on "demuxers/Matroska"
# Run 'sh avidemux.SlackBuild' to build a Slackware package.
# The package (.txz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------

# Set initial variables:

PRGNAM=avidemux
VERSION=${VERSION:-2.8.2.182e0d5}
I18N_COMMIT=${I18N_COMMIT:-567c720f222ad700f23dbdb310f6200a631f091b}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(nproc) "}
#TAG=${TAG:-alien}
TAG=${TAG:-jw}

DOCS="AUTHORS COPYING License.txt scripts"

# Where do we look for sources?
SRCDIR=$(cd $(dirname $0); pwd)

# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

SOURCE="$SRCDIR/${PRGNAM}_${VERSION}.tar.xz"
#SRCURL="ftp://plamo.linet.ge.jp/pub/Plamo-test/for-8.x/${PRGNAM}_${VERSION}.tar.xz"
SRCURL="ftp://153.231.160.88/pub/Plamo-test/for-8.x/${PRGNAM}_${VERSION}.tar.xz"
SOURCE2="$SRCDIR/${PRGNAM}2_i18n-${I18N_COMMIT}.tar.gz"
#SRCURL2="ftp://plamo.linet.gr.jp/pub/Plamo-test/for-8.x/${PRGNAM}2_i18n-${I18N_COMMIT}.tar.gz"
SRCURL2="ftp://153.231.160.88/pub/Plamo-test/for-8.x/${PRGNAM}2_i18n-${I18N_COMMIT}.tar.gz"


##
## --- with a little luck, you won't have to edit below this point --- ##
##

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$(uname -m)" in
    i?86) ARCH=i586 ;;
    arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
    *) ARCH=$(uname -m) ;;
  esac
  export ARCH
fi

# Set CFLAGS/CXXFLAGS and LIBDIRSUFFIX:
case "$ARCH" in
  i?86)      SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  x86_64)    SLKCFLAGS="-O2 -fPIC"
             SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
             ;;
  armv7hl)   SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
             SLKLDFLAGS=""; LIBDIRSUFFIX=""
             ;;
  *)         SLKCFLAGS=${SLKCFLAGS:-"-O2"}
             SLKLDFLAGS=${SLKLDFLAGS:-""}; LIBDIRSUFFIX=${LIBDIRSUFFIX:-""}
             ;;
esac

case "$ARCH" in
    arm*)    TARGET=$ARCH-slackware-linux-gnueabi ;;
    *)       TARGET=$ARCH-slackware-linux ;;
esac

# Exit the script on errors:
set -e
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}

# Save old umask and set to 0022:
_UMASK_=$(umask)
umask 0022

# Create working directories:
mkdir -p $OUTPUT          # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
mkdir -p $PKG             # place for the package to be built
rm -rf $PKG/*             # always erase old package's contents
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
rm -rf $OUTPUT/{configure,make,install,error,makepkg,patch}-$PRGNAM.log
rm -rf $OUTPUT/{build*-$PRGNAM.log
                          # remove old log files

# Source file availability:
if ! [ -f ${SOURCE} ]; then
  echo "Source '$(basename ${SOURCE})' not available yet..."
  # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
  [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
  if [ -f ${SOURCE} ]; then echo "Ah, found it!"; continue; fi
  if ! [ "x${SRCURL}" == "x" ]; then
    echo "Will download file to $(dirname $SOURCE)"
    wget  --no-check-certificate -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
    wget  --no-check-certificate -nv -T 20 -O "${SOURCE2}" "${SRCURL2}" || true

    if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
      echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
      mv -f "${SOURCE}" "${SOURCE}".FAIL
      exit 1
    fi
  else
    echo "File '$(basename ${SOURCE})' not available... aborting the build."
    exit 1
  fi
fi

if [ "$P1" == "--download" ]; then
  echo "Download complete."
  exit 0
fi

# --- PACKAGE BUILDING ---

echo "++"
echo "|| $PRGNAM-$VERSION"
echo "++"

cd $TMP/tmp-$PRGNAM
echo "Extracting the source archive(s) for $PRGNAM..."
tar -xvf ${SOURCE}
cd ${PRGNAM}_${VERSION}/avidemux/qt4/i18n
tar --strip-components=1 -xvf ${SOURCE2}
cd ../../../

touch $OUTPUT/patch-${PRGNAM}.log

# We use a much more recent FriBiDi library:
sed -e 's#0.19#1.0#' -i avidemux_plugins/ADM_videoFilters6/ass/CMakeLists.txt

if [ "$ARCH" != "x86_64" ]; then
  # 2.8.1 won't compile on 32bit otherwise:
  sed -i avidemux/common/ADM_audioFilter/src/ADM_soundtouch/STTypes.h \
      -e '/#define SOUNDTOUCH_ALLOW_SSE/d'
fi

chown -R root:root .
chmod -R u+w,go+r-w,a+rX-st .

echo "Building..."
# The Qt5 gui is the default now:
bash bootStrap.bash --with-core --with-cli --with-plugins \
  2>&1 | tee $OUTPUT/configure-${PRGNAM}.log

make -C buildCore DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildCore-${PRGNAM}.log
make -C buildCli DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildCli-${PRGNAM}.log
make -C buildQt5 DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildQt5-${PRGNAM}.log

make -C buildPluginsCommon DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildPluginsCommon-${PRGNAM}.log
make -C buildPluginsQt5 DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildPluginsQt5-${PRGNAM}.log
make -C buildPluginsCLI DESTDIR=$PKG install \
  2>&1 | tee $OUTPUT/buildPluginsCLI-${PRGNAM}.log

# Add an icon for the menu entry:
install -D -m0644 avidemux_icon.png $PKG/usr/share/pixmaps/avidemux.png

# Install the man page:
install -D -m0644 man/avidemux.1 -t $PKG/usr/man/man1

# Add this to the doinst.sh:
! [ -d $PKG/install ] && mkdir -p $PKG/install
cat <<EOT >> $PKG/install/doinst.sh
# Update the desktop database:
if [ -x usr/bin/update-desktop-database ]; then
  chroot . /usr/bin/update-desktop-database /usr/share/applications > /dev/null 2>&1
fi

# Update hicolor theme cache:
if [ -d usr/share/icons/hicolor ]; then
  if [ -x /usr/bin/gtk-update-icon-cache ]; then
    chroot . /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor 1> /dev/null 2>&1
  fi
fi

# Update the mime database:
if [ -x usr/bin/update-mime-database ]; then
  chroot . /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi

EOT

# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/patches
cp -a $SRCDIR/patches/*.{diff,patch} $PKG/usr/doc/$PRGNAM-$VERSION/patches/ || true
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;

# Compress the man page(s):
if [ -d $PKG/usr/man ]; then
  find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
  for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
fi

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

# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
cat $SRCDIR/slack-required > $PKG/install/slack-required

# Build the package:
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep

# Restore the original umask:
umask ${_UMASK_}


[Note]
 Regarding with required packages, I upgradedsome of them.

aften          : 0.0.8
faac            : 1.30
faad2           : 2.10.1
libdca          : 0.0.7
libfdk-aac      : 2.0.3
opencore-amr    : 0.1.6
x264            : 20240228_be4f020
x265            : 3.6
xvidcore        : 1.3.7

Now, I'm using this test package for my video editing and converting without any problem.
avidemux-2.8.2.182e0d5_About






---


cups-2.4.10 -- Fix updating cgiSetVariable variables (issue OpenPrinting#998)

I've confirmed that cups upstream issue#998 was solved with Fork source Fix updating cgiSetVariable variables (issue OpenPrinting#998) .
Thanks to Gerben100/cups.

Here is simple steps of creating the cups package for slackware64-current.
 
Step-1. Get slackware's official slackbuild
 # mkdir <MY_WORKING_DIR>
 # cd <MY_WORKING_DIR>
 # wget -nH --cut-dirs=4 -r --no-parent https://mirror.slackware.jp/slackware/slackware64-current/source/ap/cups/
 
Step-2. Get the Gerben100's git source and create it's tar ball for packaging
  fetch-cups-2.4.10-git_commit-source.sh
[code]
#!/bin/bash
BASE_VER="2.4.10"
# Read commit version number
echo -n COMMIT_NBR:
read COMMIT

# Set the first "7"number of the Commit-number as COMMIT_SHORT_VER
COMMIT_SHORT_VER=${COMMIT:0:7}

# fetch the commit git source (From Gerben100's Fork)
wget https://github.com/Gerben100/cups/archive/${COMMIT}/cups-${COMMIT}.tar.gz

# Rename original git source name to "cups-${BASE_VER}.${COMMIT_SHORT_VER}"
tar xvf cups-${COMMIT}.tar.gz && mv cups-${COMMIT} cups-${BASE_VER}.$COMMIT_SHORT_VER
# Create tar.xz file for my packaging work
tar cJvf cups-${BASE_VER}.${COMMIT_SHORT_VER}.tar.xz cups-${BASE_VER}.${COMMIT_SHORT_VER}/ && rm -rf cups-${BASE_VER}.${COMMIT_SHORT_VER}/ \
&& rm -rf cups-${COMMIT}.tar.gz

echo "...DONE!"

 Copy this fetch-cups-2.4.10-git_commit-source.sh script into <MY_WORKING_DIR>/cups
 # cd <MY_WORKING_DIR>/cups
 # rm cups-2.4.10.tar.lz
 # chmod +x fetch-cups-2.4.10-git_commit-source.sh
 # sh fetch-cups-2.4.10-git_commit-source.sh
 Then, ENTER the commit number: 7ac2f98dc3e9c049e8597f1988f2b64946952230

Step-3. Create package
 Just run SlackBuild
 # sh cups.SlackBuild

 This will create a new cups package "cups-2.4.10.7ac2f98-x86_64-1.txz".
 If you want to use your own TAG, please change "BUILD=${BUILD:-1}" to your own one.

---


fcitx5-mozc-2.29.5135.102.1 (15jw) -- Added "merge-ut-dictionaries"

[update: 2024-07-14] Added "merge-ut-dictionaries" to "dictionary_oss/dictionary00.txt"
- Version :  2.29.5135.102.1
  TAG : 15jw :
【謝辞】Mozc-UT-Dictionaries を更新・公開されている utuhiro78氏に感謝いたします。

1. MOZC_REV:   9c39fdcb1220d29b69fba095c923a938b7cd8061
     ( git-source: commit- 9c39fdcb1220d29b69fba095c923a938b7cd8061  )

  build requires: jdk11, bazel, Ruby >= 3.0, Zsh, xz, curl

急いでる方用にバイナリパッケージのダウンロードリンクを公開します。
slackware64-current 環境のみで動作確認しています(未保証)

------------------------------------------
About Mozc
fcitx5-mozc-2.29.5135_About

fetch_fcitx5-mozc_sources.sh
[code]
#!/bin/bash
#
PRGNAM="fcitx5-mozc"
VERSION="2.29.5135.102.1"
HOMEPAGE="https://github.com/fcitx/mozc/"
#
# *** This sources are for NEologd and sudachi dictionries included Mozc ***
# see: https://chienomi.org/articles/linux/202301-mozcdic-ut-mozcdict-ext.html
#  https://github.com/reasonset/mozcdict-ext
#  https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fcitx5-mozc-ext-neologd
#
# source rev. and version.
MOZC_REV=9c39fdcb1220d29b69fba095c923a938b7cd8061
GYP_REV=caa60026e223fc501e8b337fd5086ece4028b1c6
PROTOBUF_REV=b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2
ABSEIL_CPP_REV=20230125.2
BREAKPAD_REV=2023.01.27
GOOGLETEST_REV=703bd9caab50b139428cea1aaff9974ebee5742e
#JSONCPP_REV=42e892d96e47b1f6e29844cc705e148ec4856448 ### Mozc no longer depends on JsonCpp : commit: 558b079 (2023-03-30)
JAPANESE_USAGE_DICT_REV=e5b3425575734c323e1d947009dd74709437b684
MOZCDICT_EXT_REV=1041a9ca03e48b29873d950c9ea19de70fde1139
#
# Download sources
echo "Now, downloading each sources from repositories. ..."

wget https://github.com/fcitx/mozc/archive/${MOZC_REV}/mozc-${MOZC_REV}.zip
wget https://github.com/chromium/gyp/archive/${GYP_REV}/gyp-${GYP_REV}.zip
wget https://github.com/protocolbuffers/protobuf/archive/${PROTOBUF_REV}/protobuf-${PROTOBUF_REV}.zip
wget https://github.com/abseil/abseil-cpp/archive/${ABSEIL_CPP_REV}/abseil-cpp-${ABSEIL_CPP_REV}.zip
wget https://github.com/google/breakpad/archive/v${BREAKPAD_REV}/breakpad-${BREAKPAD_REV}.zip
wget https://github.com/google/googletest/archive/${GOOGLETEST_REV}/googletest-${GOOGLETEST_REV}.zip
# wget https://github.com/open-source-parsers/jsoncpp/archive/${JSONCPP_REV}/jsoncpp-${JSONCPP_REV}.zip ### Mozc no longer depends on JsonCpp : commit: 558b079 (2023-03-30)
wget https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/${JAPANESE_USAGE_DICT_REV}/japanese-usage-dictionary-${JAPANESE_USAGE_DICT_REV}.zip
# Download the latest zipcode from post.japanpost.jp
wget https://www.post.japanpost.jp/zipcode/dl/jigyosyo/zip/jigyosyo.zip
# Download the latest zipcode from post.japanpost.jp
wget https://www.post.japanpost.jp/zipcode/dl/oogaki/zip/ken_all.zip
wget https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz
wget https://github.com/reasonset/mozcdict-ext/archive/${MOZCDICT_EXT_REV}/mozcdict-ext-${MOZCDICT_EXT_REV}.zip

# show md5sum
md5sum mozc-${MOZC_REV}.zip
md5sum gyp-${GYP_REV}.zip
md5sum protobuf-${PROTOBUF_REV}.zip
md5sum abseil-cpp-${ABSEIL_CPP_REV}.zip
md5sum breakpad-${BREAKPAD_REV}.zip
md5sum googletest-${GOOGLETEST_REV}.zip
#md5sum jsoncpp-${JSONCPP_REV}.zip ### Mozc no longer depends on JsonCpp : commit: 558b079 (2023-03-30)
md5sum japanese-usage-dictionary-${JAPANESE_USAGE_DICT_REV}.zip
md5sum fcitx-mozc-icon.tar.gz
md5sum mozcdict-ext-${MOZCDICT_EXT_REV}.zip
#
echo "Download has been completed!"


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.29.5135.102.1}
BUILD=${BUILD:-
15}
# [2024-07-14]
# version ${BUILD}${TAG} : 15jw : Added merge-ut-dictionaries to "dictionary_oss/dictionary00.txt"

# merge-ut-dictionaries commit number: "4862bd6"
#
# [2024-06-30]
# version ${BUILD}${TAG} : 14jw : Updated zip code data to the latest on JUN-30th 2024
#
# [2024-06-01]
# version ${BUILD}${TAG} : 13jw : Updated zip code data to the latest on MAY-31st 2024
#
# [2024-05-09]
# version ${BUILD}${TAG} : 12jw : Updated zip code data to the latest on APR-30th 2024
#
# [2024-03-02]
# version ${BUILD}${TAG} : 10jw : Updated zip code data to the latest on FEB-29th 2024 and
# MOZCDICT_EXT_REV : 01490262fe58576b4356734468c973bc46acdd33
#
# [2023-06-18]
# version bump to "2.29.5135.102.1"
# MOZC_REV : "9c39fdcb1220d29b69fba095c923a938b7cd8061"
# Merge remote-tracking branch 'origin/master' into fcitx
# Moved former Change histories to ChangeLog.jw
#
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=9c39fdcb1220d29b69fba095c923a938b7cd8061
GYP_REV=caa60026e223fc501e8b337fd5086ece4028b1c6
PROTOBUF_REV=b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2
ABSEIL_CPP_REV=20230125.2
BREAKPAD_REV=2023.01.27
GOOGLETEST_REV=703bd9caab50b139428cea1aaff9974ebee5742e
#JSONCPP_REV=42e892d96e47b1f6e29844cc705e148ec4856448 ### Mozc no longer depends on JsonCpp
JAPANESE_USAGE_DICT_REV=e5b3425575734c323e1d947009dd74709437b684
ZIPCODE_REL=20231231 # Now, I will use ZIPCODE data from https://www.post.japanpost.jp/zipcode/download.html
# The data at https://www.post.japanpost.jp/zipcode/download.html doesn't have release version number.
# File names are jigyosho.zip, ken_all.zip.
#MOZCDICT_EXT_REV=01490262fe58576b4356734468c973bc46acdd33
MOZCDICT_EXT_REV=1041a9ca03e48b29873d950c9ea19de70fde1139

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/mozcdict-ext-${MOZCDICT_EXT_REV}.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
mv mozcdict-ext-${MOZCDICT_EXT_REV} mozcdict-ext

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.zip
unzip -d src/data/dictionary_oss $CWD/ken_all.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=KEN_ALL.CSV --jigyosyo=JIGYOSYO.CSV >> dictionary09.txt
echo "Done."

# Add merge-ut-dictionaries to dictionary00.txt
cd $BLDBASEDIR/
git clone https://github.com/utuhiro78/merge-ut-dictionaries.git

cd merge-ut-dictionaries/src/
sh make.sh
cat mozcdic-ut.txt >> $BLDBASEDIR/mozc/src/data/dictionary_oss/dictionary00.txt
echo "... extra merge-ut-dictionaries has been applied to dictionary00.txt. Done!"

# Include NEologd
export RUBYOPT=-EUTF-8
cd $BLDBASEDIR/mozcdict-ext
echo "Generating extra dictionaries..."
(
  cd neologd
  MOZC_ID_FILE=$BLDBASEDIR/mozc/src/data/dictionary_oss/id.def zsh mkdict.zsh
  cd ../sudachi
  MOZC_ID_FILE=$BLDBASEDIR/mozc/src/data/dictionary_oss/id.def zsh mkdict.zsh
) | ruby .dev.utils/uniqword.rb 2> /dev/null >> $BLDBASEDIR/mozc/src/data/dictionary_oss/dictionary09.txt

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

#cd ..
# We won't need this patch now.
# 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 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
# install merge-ut-dictionaries's license and document
install -Dm644 $BLDBASEDIR/merge-ut-dictionaries/LICENSE $PKG/usr/share/licenses/merge-ut-dictionaries/LICENSE
install -Dm644 $BLDBASEDIR/merge-ut-dictionaries/README.md $PKG/usr/doc/$PRGNAM-$VERSION/merge-ut-dictionaries/README.md

cp $CWD/init.el_mozc $CWD/README.emacs $PKG/usr/doc/$PRGNAM-$VERSION/
cp $CWD/fetch_fcitx5-mozc_sources.sh $PKG/usr/doc/$PRGNAM-$VERSION/
cp $CWD/ChangeLog.jw $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


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.29.5135.102.1 (1jw)
[code]
PRGNAM="fcitx5-mozc"
VERSION="2.29.5135.102.1"
HOMEPAGE="https://github.com/fcitx/mozc/"
DOWNLOAD="
https://github.com/fcitx/mozc/archive/9c39fdcb1220d29b69fba095c923a938b7cd8061/mozc-9c39fdcb1220d29b69fba095c923a938b7cd8061.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/20230125.2/abseil-cpp-20230125.2.zip
 https://github.com/google/breakpad/archive/v2023.01.27/breakpad-2023.01.27.zip
 https://github.com/google/googletest/archive/703bd9caab50b139428cea1aaff9974ebee5742e/googletest-703bd9caab50b139428cea1aaff9974ebee5742e.zip
 https://github.com/hiroyuki-komatsu/japanese-usage-dictionary/archive/e5b3425575734c323e1d947009dd74709437b684/japanese-usage-dictionary-e5b3425575734c323e1d947009dd74709437b684.zip
 https://download.fcitx-im.org/fcitx-mozc/fcitx-mozc-icon.tar.gz
 https://github.com/reasonset/mozcdict-ext/archive/1041a9ca03e48b29873d950c9ea19de70fde1139/mozcdict-ext-1041a9ca03e48b29873d950c9ea19de70fde1139.zip"
MD5SUM="
8692ba1cfe566c55794d1cc49baf0fc6  
 699c5af5c6d7e19835afb5292d151f91
 d79cbe4e2033c967a58e2bddaa6d4aa2
 94ebd9ba64df55d2d36c9c1a9036f03c
 124a7c0c3e479b1d804bc49ef21ba625
 768da4173ee9df3248b8f828747982ad
 a6eb1da9ad7ceffcb9683003332abf7e
 80fe2ef127b70649df22d133822ac8a7
 881191393dd7547bd7973fe3106b663c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="bazel"
MAINTAINER=""
EMAIL=""



引き続き更新予定








MEGAsync-5.3.0.0_Linux

[Update: Jul. 07. 2024]
Edited previous slackbuild so that prevent to overwrite libav*.so soft-links of official ffmpeg package in usr/lib64 directory.
[Update: Jul. 06. 2024]
I successfuly compiled and created MEGAsync-6.3.0.0_Linux for FFmpeg-6.1.1.


MEGAsync.SlackBuild
[code]
#!/bin/sh

# Slackware build script for MEGASync input plugin

# Copyright 2017,2018 Felipe Bugno <capent@yahoo.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.
#
# 2023-04-14 : 4.9.1.0 (2jw) -- version bump to 4.9.1.0_linux
# 2023-09-16 : 4.9.1.0 (3jw) -- Recompiled against libsodium-1.0.19 (libsodium.so.26.1.0)
# 2024-01-30 : 4.9.1.0 (4jw) -- Recompiled against ffmpeg-6.1.1
# 2024-07-06 : 5.3.0.0 (1jw) -- version bump to 5.3.0.0 with sdk-7.1.2
#
2024-07-07 : 5.3.0.0 (2jw) -- Fix overwriting default FFmpeg6's soft-links in /usr/lib64/

PRGNAM=MEGAsync
VERSION=${VERSION:-
5.3.0.0}
SDK=${SDK:-
7.1.2}
BUILD=${BUILD:-
2}
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\_Linux
tar xvf $CWD/$PRGNAM-$VERSION\_Linux.tar.gz
cd $PRGNAM-$VERSION\_Linux/src/MEGASync/mega
tar --strip-components=1 -xvf $CWD/sdk-$SDK.tar.gz
cd ../../../
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 src/MEGASync/mega
# Apply patches from ArchLinux. Thanks to Arch.

patch -p1 < $CWD/010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch
patch -p1 < $CWD/020-megasync-sdk-fix-cmake-dependencies-detection.patch
cd ../../../
patch -p1 < $CWD/030-megasync-app-fix-cmake-dependencies-detection.patch


cd $TMP
rm -rf vcpkg
# Now, the third-party requirements are handled through VCPKG.
# URL{ https://github.com/microsoft/vcpkg
git clone https://github.com/microsoft/vcpkg

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS"
export CXXFLAGS+=' -DNDEBUG'

cmake -DVCPKG_ROOT=$TMP/vcpkg  -B build -S $PRGNAM-$VERSION\_Linux -DCMAKE_BUILD_TYPE=Release \
-G 'Unix Makefiles' \
-DCMAKE_MODULE_PATH:PATH="$TMP/$PRGNAM-$VERSION\_Linux/src/MEGASync/mega/contrib/cmake/modules/packages" \
-DCMAKE_SKIP_INSTALL_RPATH:BOOL='YES' \
-Wno-dev

cmake --build build --target MEGAsync

# Install
DESTDIR=$PKG cmake --install build
install -d "$PKG/usr/lib${LIBDIRSUFFIX}"
# Do Not overwrite libav*.so of default ffmpeg-6's libraries.
rm $PKG/opt/megasync/lib/*.so
# Now move ffmpeg related libs to STD lib64 dir

mv $PKG/opt/megasync/lib/* $PKG/usr/lib${LIBDIRSUFFIX}/
install -D -m644 $PRGNAM-$VERSION\_Linux/LICENCE.md -t "$PKG/usr/share/licenses/megasync"
install -D -m644 $PRGNAM-$VERSION\_Linux/installer/terms.txt -t "$PKG/usr/share/licenses/megasync"
install -D -m644 $PRGNAM-$VERSION\_Linux/src/MEGASync/mega/LICENSE "$PKG/usr/share/licenses/megasync/LICENCE-SDK"
rm -d "$PKG/opt"{/megasync{/lib,},}

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
cd $TMP/$PRGNAM-$VERSION\_Linux
cp -a  README.md LICENCE.md CREDITS.md $PKG/usr/doc/$PRGNAM-$VERSION
cp $CWD/010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch $CWD/020-megasync-sdk-fix-cmake-dependencies-detection.patch \
 $CWD/030-megasync-app-fix-cmake-dependencies-detection.patch \
 $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}

MEGAsync.info
[code]
PRGNAM="MEGAsync"
VERSION="5.3.0.0"
HOMEPAGE="https://github.com/meganz/MEGAsync/"
DOWNLOAD="https://github.com/meganz/MEGAsync/archive/v5.3.0.0_Linux/MEGAsync-5.3.0.0_Linux.tar.gz \
 https://github.com/meganz/sdk/archive/v7.1.2/sdk-7.1.2.tar.gz"
MD5SUM="79701a3004f9e106402129a3d28637db \
 435873a0cf2fc53cb853e4f4376ae0d6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="FreeImage libmediainfo"
MAINTAINER=""
EMAIL=""

010-megasync-freeimage-remove-obsolete-ffmpeg-macros.patch
[code]
--- a/src/gfx/freeimage.cpp
+++ b/src/gfx/freeimage.cpp
@@ -200,12 +200,6 @@ bool GfxProviderFreeImage::readbitmapFreeimage(const LocalPath& imagePath, int s
 
 #ifdef HAVE_FFMPEG
 
-#ifdef AV_CODEC_CAP_TRUNCATED
-#define CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED
-#else
-#define CAP_TRUNCATED CODEC_CAP_TRUNCATED
-#endif
-
 const char *GfxProviderFreeImage::supportedformatsFfmpeg()
 {
     return  ".264.265.3g2.3gp.3gpa.3gpp.3gpp2.mp3"
@@ -321,10 +315,6 @@ bool GfxProviderFreeImage::readbitmapFfmpeg(const LocalPath& imagePath, int size
 
     // Force seeking to key frames
     formatContext->seek2any = false;
-    if (decoder->capabilities & CAP_TRUNCATED)
-    {
-        codecContext->flags |= CAP_TRUNCATED;
-    }
 
     AVPixelFormat sourcePixelFormat = static_cast<AVPixelFormat>(codecParm->format);
     AVPixelFormat targetPixelFormat = AV_PIX_FMT_BGR24; //raw data expected by freeimage is in this format


020-megasync-sdk-fix-cmake-dependencies-detection.patch
[code]
--- a/contrib/cmake/modules/sdklib_libraries.cmake
+++ b/contrib/cmake/modules/sdklib_libraries.cmake
@@ -95,7 +95,7 @@ macro(load_sdklib_libraries)
 
         find_package(PkgConfig REQUIRED) # For libraries loaded using pkg-config
 
-        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcrypto++)
+        pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
         target_link_libraries(SDKlib PUBLIC PkgConfig::cryptopp) # TODO: Private for SDK core
 
         pkg_check_modules(sodium REQUIRED IMPORTED_TARGET libsodium)
@@ -139,7 +139,7 @@ macro(load_sdklib_libraries)
         endif()
 
         if(USE_PDFIUM)
-            pkg_check_modules(pdfium REQUIRED IMPORTED_TARGET pdfium)
+            pkg_check_modules(pdfium REQUIRED IMPORTED_TARGET libpdfium)
             target_link_libraries(SDKlib PRIVATE PkgConfig::pdfium)
             set(HAVE_PDFIUM 1)
         endif()


030-megasync-app-fix-cmake-dependencies-detection.patch
[code]
--- a/src/MEGAUpdateGenerator/CMakeLists.txt
+++ b/src/MEGAUpdateGenerator/CMakeLists.txt
@@ -15,10 +15,11 @@ target_sources(MEGAUpdateGenerator
 )
 
 # Load and link needed libraries for the CHATlib target
-find_package(cryptopp CONFIG REQUIRED)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(cryptopp REQUIRED IMPORTED_TARGET libcryptopp)
 target_link_libraries(MEGAUpdateGenerator
     PRIVATE
-    cryptopp::cryptopp
+    PkgConfig::cryptopp
     MEGA::SDKlib
 )


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------------------------------------------------------|
MEGAsync: MEGAsync (mega cloud storage service)
MEGAsync:
MEGAsync: MEGAsync open source release for MEGA cloud storage services
MEGAsync:
MEGAsync:
MEGAsync: Compiled using default Slackware Qt4.
MEGAsync:
MEGAsync: Homepage: https://github.com/meganz/MEGAsync
MEGAsync: Service: https://mega.nz/
MEGAsync:
MEGAsync:

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 -f usr/share/icons/hicolor >/dev/null 2>&1
  fi
fi

---
[Update]
2024-07-07 :  usr/lib64ディレクトリある公式ffmpegパッケージlibav*.soソフトリンク上書きしないようにし
ギャラリー
  • 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"