Skip to content

Commit

Permalink
Merge pull request #2846 from mariux64/add-doublecmd
Browse files Browse the repository at this point in the history
doublecmd: add mariux pre-release version 1.0.10-0
  • Loading branch information
wwwutz authored Feb 7, 2023
2 parents e41c214 + 6c7977b commit cb7cc07
Showing 1 changed file with 278 additions and 0 deletions.
278 changes: 278 additions & 0 deletions doublecmd.be0
Original file line number Diff line number Diff line change
@@ -0,0 +1,278 @@
#!/usr/bin/env beesh

# BEE_VERSION doublecmd-1.0.10-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")

# 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")

# prebuilt
SRCURL+=("https://beehive.molgen.mpg.de/f1090423fc6c97bb9c6fd6af28e78bb5/dc-1.0.10-fpcupdeluxe.tar")

# PATCHURL[0]=""

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[@]}"

# tar xf ${F}/doublecmd-git.tar --strip-components=1 -C ${S}

if [ ! -d ${B}/fpcupdeluxe ]; then
mkdir -p ${B}
# tar xf ${F}/dc-1.0.10-fpcupdeluxe.tar -C ${B}
mkdir -p ${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
set -x
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/libexec/doublecmd${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
exec /usr/libexec/doublecmd/doublecmd "${@}"
_EOF_

}

mee_install() {

# wrapper
mkdir -vp ${D}/usr/bin
install -v -m0755 ${B}/doublecmd ${D}/usr/bin
# binary
mkdir -vp ${D}/usr/libexec/doublecmd
install -v -m0755 ${S}/doublecmd ${D}/usr/libexec/doublecmd
# libs
cp -vax ${B}/fpcupdeluxe/lazarus/lcl/interfaces/qt5/cbindings/libQt5Pas.so* ${D}/usr/libexec/doublecmd
}

mee_install_post() {
echo "./contentdiff.pl /usr/share/bee/${PKGFULLNAME}-[0-9]*/CONTENT ${D}/"
echo "( cd ${D}; find . -ls )"
}

# QT_XCB_GL_INTEGRATION=none LD_LIBRARY_PATH=/scratch/local2/bee-root/doublecmd/doublecmd-1.0.10-0/image/usr/lib ./doublecmd

0 comments on commit cb7cc07

Please sign in to comment.