Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
bee-files/doublecmd.be0
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
270 lines (196 sloc)
8.77 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env beesh | |
# BEE_VERSION doublecmd-1.1.0.20230208-0 | |
# SRCURL[0]="https://downloads.sourceforge.net/project/doublecmd/Double%20Commander%20Source/doublecmd-${PKGVERSION}-src.tar.gz" | |
# SRCURL+=("https://beehive.molgen.mpg.de/add9601cbca3b9ba1df85e502fec3c97/doublecmd-1.0.10-src.tar.gz") | |
SRCURL+=("https://beehive.molgen.mpg.de/8dbbdd54f7907017376562ea77b28d0b/doublecmd-86d57582.tar.gz") | |
# git clone https://github.com/doublecmd/doublecmd.git doublecmd | |
# SRCURL+=("https://beehive.molgen.mpg.de/b4dc381a2640a41cc881d7f41d0b8cc1/doublecmd-git.tar") | |
# https://downloads.sourceforge.net/project/freepascal/Source/3.2.2/fpc-3.2.2.source.tar.gz | |
#SRCURL+=("https://beehive.molgen.mpg.de/e7649ad0fc9230fdd9493a7fcabbd426/fpc-3.2.2.source.tar.gz") | |
# https://downloads.sourceforge.net/project/freepascal/Source/3.2.2/fpcbuild-3.2.2.tar.gz | |
#SRCURL+=("https://beehive.molgen.mpg.de/3681ae4a208be4f64ec65e832a9a702d/fpcbuild-3.2.2.tar.gz") | |
# https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/fpc-3.2.2.x86_64-linux.tar/download | |
# SRCURL+=("https://beehive.molgen.mpg.de/0186779de0c9caee073fc1394afbee56/fpc-3.2.2.x86_64-linux.tar") | |
# https://downloads.sourceforge.net/project/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%202.2.2/lazarus-2.2.2-0.tar.gz | |
# SRCURL+=("https://beehive.molgen.mpg.de/96a1b21fc709daaa620b057ba22f8692/lazarus-2.2.2-0.tar.gz") | |
# git clone --recurse-submodules https://gitlab.com/freepascal.org/fpc/source.git/ fpcsrc | |
SRCURL+=("https://beehive.molgen.mpg.de/f7fd6c50cd6787d4a1a481ff41cbeba3/fpcsrc-git.tar") | |
# bootstrapper | |
# https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases/download/bootstrappers_v1.0/fpcup-3_2_2-x86_64-linux-ppcx64 | |
SRCURL+=("https://beehive.molgen.mpg.de/b1b37cb1366df1d7dabe64345590d225/fpcup-3_2_2-x86_64-linux-ppcx64 ppcx64") | |
# git clone --recurse-submodules https://gitlab.com/freepascal.org/lazarus/lazarus.git/ lazarus | |
SRCURL+=("https://beehive.molgen.mpg.de/9c502cc2018b6d0b84fc6898ce79208a/lazarus-git.tar") | |
# PATCHURL+=("/src/mariux/patches/doublecmd-1.0.10-versioninfo-proc-before-issue.patch") | |
NPROC=$(nproc) | |
export BEE_TMP_BUILDROOT=/scratch/local2/bee-root | |
# build_in_sourcedir | |
MXDIFF=/dev/shm/mxdiff.dc | |
mee_extract() { | |
for t in "${@}"; do | |
[[ $t =~ \.(tar.gz)$ ]] && X+=($t); | |
done | |
bee_extract "${X[@]}" | |
if [ ! -d ${B}/fpcupdeluxe ]; then | |
mkdir -pv ${B}/fpcupdeluxe | |
tar xf ${F}/fpcsrc-git.tar -C ${B}/fpcupdeluxe | |
tar xf ${F}/lazarus-git.tar -C ${B}/fpcupdeluxe | |
fi | |
} | |
#mee_patch() { | |
# bee_patch "${@}" | |
#} | |
mee_configure_pre() { | |
rm -rfv /root/.lazarus | |
find /etc /root -mtime 0 -ls > ${MXDIFF}.1 | |
trap "find /etc /root -mtime 0 -ls > ${MXDIFF}.2;diff ${MXDIFF}.[12];rm -vf ${MXDIFF}.[12];" EXIT | |
# if [ ! -d ${B}/fpcupdeluxe ]; then | |
if [ 1 = 1 ]; then | |
mkdir -p ${B}/fpcupdeluxe/fpcbootstrap | |
cd ${B}/fpcupdeluxe | |
install -m755 -v ${F}/ppcx64 fpcbootstrap | |
cd ${B}/fpcupdeluxe/fpcsrc | |
git checkout release_3_2_2 | |
# patch -N -p1 -i /scratch/local/samplecfg.patch | |
local _MOPS=( | |
--jobs=${NPROC} | |
FPMAKEOPT=--threads=${NPROC} | |
PP=${B}/fpcupdeluxe/fpcbootstrap/ppcx64 | |
FPCMAKE=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmake | |
PPUMOVE=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/ppumove | |
PREFIX=${B}/fpcupdeluxe/fpc | |
INSTALL_PREFIX=${B}/fpcupdeluxe/fpc | |
FPCDIR=${B}/fpcupdeluxe/fpcsrc | |
INSTALL_BINDIR=${B}/fpcupdeluxe/fpc/bin/x86_64-linux | |
OS_SOURCE=linux | |
CPU_SOURCE=x86_64 | |
OS_TARGET=linux | |
CPU_TARGET=x86_64 | |
REVSTR=release_3_2_2-0-g0d122c4953 | |
REVINC=force | |
OPT="-Sg -vw-n-h-l-d-u-t-p-c-" | |
--directory=${B}/fpcupdeluxe/fpcsrc | |
) | |
# make "${_MOPS[@]}" distclean | |
make "${_MOPS[@]}" all install | |
# Created launcher script for FPC:/home/wwwutz/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh | |
cat >${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh <<_EOT_ | |
#!/bin/sh | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc -n @${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg "\$@" | |
_EOT_ | |
chmod 755 ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh | |
cd ${B}/fpcupdeluxe/fpc | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -1 -d fpctargetos=linux -d basepath=${B}/fpcupdeluxe/fpc -o ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fp.cfg | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -2 -d basepath=${B}/fpcupdeluxe/fpc -o ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fp.ini | |
mkdir -vp ${B}/fpcupdeluxe/fpcpkgconfig | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -3 -p -d LocalRepository=${B}/fpcupdeluxe/packages.fppkg/ -d CompilerConfigDir=${B}/fpcupdeluxe/fpcpkgconfig/ -d GlobalPath=${B}/fpcupdeluxe/fpc/lib/fpc/\{CompilerVersion\}/ -d GlobalPrefix=${B}/fpcupdeluxe/fpc -d UserPathSuffix=users -d basepath=${B}/fpcupdeluxe/fpc -o ${B}/fpcupdeluxe/fpcpkgconfig/fppkg.cfg | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -4 -d GlobalPrefix=${B}/fpcupdeluxe/fpc -d fpcbin=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh -d fpctargetos=linux -d fpctargetcpu=x86_64 -d basepath=${B}/fpcupdeluxe/fpc -o ${B}/fpcupdeluxe/fpcpkgconfig/default | |
# ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -d basepath=${B}/fpcupdeluxe/fpc -o ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg | |
${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmkcfg -d basepath=${B}/fpcupdeluxe/fpc/lib/fpc/3.2.2 -o ${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg | |
# fehlte offenbar | |
cat >>${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg <<_EOT_ | |
-FD${B}/fpcupdeluxe/fpc/bin/x86_64-linux/ | |
-Fl${B}/fpcupdeluxe/lazarus/lcl/interfaces/qt5/cbindings | |
_EOT_ | |
# | |
# | |
ln -vs ../../lib/fpc/3.2.2/ppcx64 bin/x86_64-linux/ppcx64 | |
# | |
# lazarus | |
# | |
cd ${B}/fpcupdeluxe/lazarus | |
git config --local advice.detachedHead false # no-ise | |
git checkout lazarus_2_2_4 | |
# | |
# libqt5pas.so | |
# | |
cd ${B}/fpcupdeluxe/lazarus/lcl/interfaces/qt5/cbindings | |
qmake | |
make -j${NPROC} | |
local _MOPS=( | |
--directory=${B}/fpcupdeluxe/lazarus | |
FPC=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh | |
PP=${B}/fpcupdeluxe/fpc/lib/fpc/3.2.2/ppcx64 | |
USESVN2REVISIONINC=0 | |
PREFIX=${B}/fpcupdeluxe/lazarus | |
INSTALL_PREFIX=${B}/fpcupdeluxe/lazarus | |
LAZARUS_INSTALL_DIR=${B}/fpcupdeluxe/lazarus/ | |
FPCDIR=${B}/fpcupdeluxe/fpc | |
FPCMAKE=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/fpcmake | |
PPUMOVE=${B}/fpcupdeluxe/fpc/bin/x86_64-linux/ppumove | |
OPT="-vw-n-h-l-d-u-t-p-c- -g -gl" | |
LCL_PLATFORM=qt5 | |
) | |
make "${_MOPS[@]}" lazbuild | |
fi # if [ ! -d ${B}/fpcupdeluxe ]; then | |
} | |
#mee_configure() { | |
# bee_configure "${@}" | |
#} | |
mee_build() { | |
cd ${S} | |
cat >$S/build.bee.mkbuild <<_EOF_ | |
#!/bin/sh | |
set -x | |
set -e | |
B=${B} | |
INSTANTFPCCACHE=$B/instantfpccache | |
# https://wiki.freepascal.org/Configuration_file | |
# /etc/fpc.cfg suchen | |
PPC_CONFIG_PATH=$B/fpcupdeluxe/fpc/bin/x86_64-linux/ | |
export PPC_CONFIG_PATH | |
sed -e 's|export lazbuild=\\$.*|export lazbuild="${B}/fpcupdeluxe/lazarus/lazbuild --pcp=$B --lazarusdir=$B/fpcupdeluxe/lazarus --verbose --verbose-pkgsearch "|' \ | |
-e 's|set -e|set -e\nPATH=${B}/fpcupdeluxe/fpc/bin/x86_64-linux:${B}/fpcupdeluxe/lazarus:${PATH}|' \ | |
build.sh > build.bee.sh | |
# -e 's|components/build.sh|components/build.bee.sh|' \ | |
# sed -e 's| /etc/fpc.cfg| $B/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg|' components/build.sh > components/build.bee.sh | |
# chmod 755 components/build.bee.sh | |
cat >$B/environmentoptions.xml <<_EOXML_ | |
<CONFIG> | |
<EnvironmentOptions> | |
<LazarusDirectory Value="$B/fpcupdeluxe/lazarus/"/> | |
<CompilerFilename Value="$B/fpcupdeluxe/fpc/bin/x86_64-linux/fpc"/> | |
</EnvironmentOptions> | |
</CONFIG> | |
_EOXML_ | |
# fpc chsdet findet fpc.cfg nicht, weil nicht in /etc | |
# dummfix: reinsymlinken | |
#ln -fs $B/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg components/ | |
#ln -fs ../fpc.cfg components/chsdet/ | |
export lcl=qt5 | |
sh -x ./build.bee.sh components qt5 | |
# ln -fs $B/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg | |
sh -x ./build.bee.sh plugins | |
# ln -fs $B/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.cfg | |
sh -x ./build.bee.sh doublecmd | |
exit | |
_MOPS=( | |
--lazarusdir=${B}/fpcupdeluxe/lazarus | |
--verbose --verbose --verbose-pkgsearch | |
--create-makefile | |
--pcp=${B} | |
--widgetset=qt5 | |
) | |
lazbuild "${_MOPS[@]}" src/doublecmd.lpi | |
_EOF_ | |
chmod 755 ${S}/build.bee.mkbuild | |
${S}/build.bee.mkbuild | |
cat >${B}/doublecmd <<_EOF_ | |
#!/bin/bash | |
export QT_XCB_GL_INTEGRATION=none | |
# export LD_LIBRARY_PATH=/usr/lib/doublecmd${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH | |
exec /usr/lib/doublecmd/doublecmd "${@}" | |
_EOF_ | |
} | |
mee_install() { | |
set -x | |
${S}/install/linux/install.sh --install-prefix ${D} | |
mkdir -pv ${D}/usr/lib | |
cp -vax ${B}/fpcupdeluxe/lazarus/lcl/interfaces/qt5/cbindings/libQt5Pas.so* ${D}/usr/lib | |
rm -v ${D}/usr/bin/doublecmd | |
install -v -m0755 ${B}/doublecmd ${D}/usr/bin | |
set +x | |
} | |
mee_install_post() { | |
echo "./contentdiff.pl /usr/share/bee/${PKGFULLNAME}-[0-9]*/CONTENT ${D}/" | |
echo "( cd ${D}; find . -ls )" | |
} |