Skip to content
Permalink
master
Switch branches/tags

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?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 270 lines (196 sloc) 8.77 KB
#!/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 )"
}