1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-06-15 23:35:34 +00:00

[docker] Updated Docker file for djgpp

This commit is contained in:
Witold Filipczyk 2023-11-15 18:05:20 +01:00
parent ec9708a87e
commit dc1e67cc45
17 changed files with 336 additions and 241 deletions

View File

@ -18,238 +18,88 @@ wget http://ftp.delorie.com/pub/djgpp/rpms/djcross-binutils-2.34-1ap.x86_64.rpm
wget http://ftp.delorie.com/pub/djgpp/rpms/djcrx-2.05-5.x86_64.rpm ; \
rpm -Uhv *.rpm
# create user
RUN useradd -m elinks -s /bin/bash
# djgpp libraries
RUN dnf -y install perl-FindBin pkgconf-pkg-config gettext
ADD unpack_zips.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/unpack_zips.sh
RUN cd /root; mkdir zip; cd zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/expat20br2.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211b.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/zlb13b.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2apps/xz-525a.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2apps/bz2-108a.zip; \
wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.3/apps/sqlite.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/licv116b.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/lus0910b.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/lua522b.zip; \
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80b.zip
RUN cd /root/zip; \
mkdir tmp; unzip expat20br2.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local; rm -rf tmp; \
mkdir tmp; unzip wat3211b.zip -d tmp; mv -f tmp/net/watt/inc tmp/net/watt/include; cp -a tmp/net/watt/include /usr/local/; cp -a tmp/net/watt/lib /usr/local; rm -rf tmp; \
mkdir tmp; unzip zlb13b.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
mkdir tmp; unzip xz-525a.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
mkdir tmp; unzip bz2-108a.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
mkdir tmp; unzip sqlite.zip -d tmp; mkdir tmp/tmp2; unzip tmp/SOURCE/SQLITE/SOURCES.ZIP -d tmp/tmp2; cp -a tmp/tmp2/examples/sqlite3.h /usr/local/include/; cp -a tmp/tmp2/examples/libsqlite3.a /usr/local/lib/; \
cp -a tmp/tmp2/sqlite3.pc /usr/local/lib/pkgconfig/; rm -rf tmp; \
mkdir tmp; unzip licv116b.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
mkdir tmp; unzip lus0910b.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
mkdir tmp; unzip rdln80b.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
sed -i -e 's|/dev/env/DJDIR|/usr/local|g' /usr/local/lib/pkgconfig/*.pc; \
sed -i -e 's|/dev/env/DJDIR|/usr/local|g' /usr/local/lib/*.la; \
sed -i -e 's/Libs\.private/#Libs.private/' /usr/local/lib/pkgconfig/sqlite3.pc; \
mkdir tmp; unzip lua522b.zip -d tmp; cp -a tmp/include /usr/local/; cp -a tmp/lib /usr/local/; rm -rf tmp; \
cat <<EOF > /usr/local/lib/pkgconfig/lua.pc
prefix=/usr/local
exec_prefix=\${prefix}
libdir=\${exec_prefix}/lib
includedir=\${prefix}/include
Name: Lua
Description: An Extensible Extension Language
Version: 5.2
Requires:
Libs: -llua -lm
Cflags: -I\${includedir}
EOF
# libidn2
ADD getprogname.diff /home/elinks/getprogname.diff
ADD build_libidn2.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_libidn2.sh
# openssl
RUN dnf -y install perl-FindBin; cd /root; \
mkdir -p /dev/env/WATT_ROOT; \
ln -sf /usr/local/include /dev/env/WATT_ROOT/inc; \
ln -sf /usr/local/lib /dev/env/WATT_ROOT/lib; \
rm -rf openssl-1.1.1w; \
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz; \
tar -xf openssl-1.1.1w.tar.gz; \
cd openssl-1.1.1w; \
CFLAGS="-I/usr/local/include -DWATT32_NO_OLDIES -DSHUT_RD=0 -L/usr/local/lib -fcommon" \
./Configure no-threads \
no-tests \
-static \
DJGPP \
--prefix=/usr/local \
--cross-compile-prefix=i586-pc-msdosdjgpp- && \
make depend && \
make -j`nproc` && \
make install_runtime_libs && \
make install_dev
#rm -rf /root/tmp
ADD build_openssl.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_openssl.sh
# brotli
ADD cc.py /usr/local/bin/cc.py
ADD brotli.diff /root/brotli.diff
RUN cd /root; \
rm -rf brotli-1.1.0; \
wget https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz; \
tar -xf v1.1.0.tar.gz; \
cd brotli-1.1.0; \
patch -p1 < /root/brotli.diff || exit 1; \
mkdir build; \
cd build; \
CC=cc.py cmake \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_STATIC_LIBS:BOOL=ON \
-DCMAKE_AR=/usr/bin/i586-pc-msdosdjgpp-ar \
.. ; \
make -j`nproc` VERBOSE=1; \
make install
#rm -rf /root/tmp
ADD brotli.diff /home/elinks/brotli.diff
ADD build_brotli.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_brotli.sh
# quickjs
RUN dnf -y install xz; cd /root; \
rm -rf quickjs-2021-03-27; \
wget https://bellard.org/quickjs/quickjs-2021-03-27.tar.xz; \
tar xf quickjs-2021-03-27.tar.xz
ADD quickjs-dos.diff /root/quickjs-dos.diff
RUN cd /root/quickjs-2021-03-27; \
patch -p1 < ../quickjs-dos.diff; \
make -f Makefile.dos; \
mv -f /usr/local /usr/local2; \
make -f Makefile.dos; \
mv -f /usr/local2 /usr/local; \
make -f Makefile.dos install
RUN dnf -y install xz
ADD quickjs-dos.diff /home/elinks/
ADD build_quickjs.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_quickjs.sh
# libidn2
RUN cd /root; \
rm -rf libidn2-2.3.4; \
wget https://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz; \
tar xvf libidn2-2.3.4.tar.gz
ADD getprogname.diff /root/getprogname.diff
ADD build_libidn2.sh /root/libidn2-2.3.4
RUN cd /root/libidn2-2.3.4; \
patch -p1 < ../getprogname.diff; \
./build_libidn2.sh
# netsurf_buildsystem
ADD build_netsurf.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_netsurf.sh
RUN dnf -y install pkgconf-pkg-config gettext
# parserutils
ADD build_parserutils.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_parserutils.sh
# netsurf
RUN cd /root; \
wget http://download.netsurf-browser.org/libs/releases/buildsystem-1.9.tar.gz; \
tar -xf buildsystem-1.9.tar.gz; \
make -C buildsystem-1.9 install PREFIX=/usr/local
##rm -rf buildsystem-1.9
# libwapcaplet
ADD build_wapcaplet.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_wapcaplet.sh
#
RUN cd /root; \
export LIBRARY_PATH="/usr/local/lib"; \
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"; \
export C_INCLUDE_PATH="/usr/local/include"; \
export CFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export CXXFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export LDFLAGS="-L/usr/local/lib"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
wget http://download.netsurf-browser.org/libs/releases/libparserutils-0.2.4-src.tar.gz; \
tar -xf libparserutils-0.2.4-src.tar.gz; \
make -C libparserutils-0.2.4 install -j1 Q= PREFIX=/usr/local LIBDIR=lib COMPONENT_TYPE=lib-static
##rm -rf libparserutils-0.2.4
# libhubbub
ADD build_hubbub.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_hubbub.sh
RUN cd /root; \
export LIBRARY_PATH="/usr/local/lib"; \
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"; \
export C_INCLUDE_PATH="/usr/local/include"; \
export CFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export CXXFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export LDFLAGS="-L/usr/local/lib"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
wget http://download.netsurf-browser.org/libs/releases/libwapcaplet-0.4.3-src.tar.gz; \
tar -xf libwapcaplet-0.4.3-src.tar.gz; \
make -C libwapcaplet-0.4.3 install -j1 Q= PREFIX=/usr/local LIBDIR=lib COMPONENT_TYPE=lib-static
##rm -rf libwapcaplet-0.4.3
# libcss
ADD libCSS-restrict.diff /home/elinks/
ADD build_libcss.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_libcss.sh
RUN cd /root; \
export LIBRARY_PATH="/usr/local/lib"; \
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"; \
export C_INCLUDE_PATH="/usr/local/include"; \
export CFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export CXXFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export LDFLAGS="-L/usr/local/lib"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
wget http://download.netsurf-browser.org/libs/releases/libhubbub-0.3.7-src.tar.gz; \
tar -xf libhubbub-0.3.7-src.tar.gz; \
make -C libhubbub-0.3.7 install -j1 Q= PREFIX=/usr/local LIBDIR=lib COMPONENT_TYPE=lib-static
##rm -rf libhubbub-0.3.7
RUN cd /root; \
rm -rf libcss-0.9.1; \
wget http://download.netsurf-browser.org/libs/releases/libcss-0.9.1-src.tar.gz; tar -xf libcss-0.9.1-src.tar.gz
ADD libCSS-restrict.diff /root/libCSS-restrict.diff
RUN cd /root/libcss-0.9.1; patch -p1 < /root/libCSS-restrict.diff; \
printf '\ngen: $(PRE_TARGETS)\n' >> Makefile; \
cd ..; \
export LIBRARY_PATH="/usr/local/lib"; \
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"; \
export C_INCLUDE_PATH="/usr/local/include"; \
export CFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export CXXFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export LDFLAGS="-L/usr/local/lib"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
export HOST="i586-pc-msdosdjgpp"; \
export BUILD_CC=cc; \
mv -f /usr/local /usr/local3; \
mkdir -p /usr/local/share; \
cp -a /usr/local3/share/netsurf-buildsystem /usr/local/share/; \
make -C libcss-0.9.1 -j1 Q= PREFIX=/usr/local LIBDIR=lib gen
RUN cd /root; \
mv -f /usr/local /usr/local4; \
mv -f /usr/local3 /usr/local; \
export LIBRARY_PATH="/usr/local/lib"; \
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"; \
export C_INCLUDE_PATH="/usr/local/include"; \
export CFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export CXXFLAGS="-O2 -I/usr/local/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"; \
export LDFLAGS="-L/usr/local/lib"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
export HOST="i586-pc-msdosdjgpp"; \
make -C libcss-0.9.1 install -j1 Q= PREFIX=/usr/local LIBDIR=lib COMPONENT_TYPE=lib-static
##rm -rf libcss-0.9.1
RUN cd /root; \
export CFLAGS="-Wno-error"; \
export CC="i586-pc-msdosdjgpp-gcc"; \
export AR="i586-pc-msdosdjgpp-ar"; \
wget http://download.netsurf-browser.org/libs/releases/libdom-0.4.1-src.tar.gz; \
tar -xf libdom-0.4.1-src.tar.gz; \
make -C libdom-0.4.1 install -j1 Q= PREFIX=/usr/local LIBDIR=lib COMPONENT_TYPE=lib-static
##rm -rf libdom-0.4.1
# libdom
ADD build_libdom.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_libdom.sh
# libcurl
RUN cd /root; \
rm -rf curl-8.4.0; \
wget https://curl.se/download/curl-8.4.0.tar.xz; tar -xf curl-8.4.0.tar.xz
RUN cd /root/curl-8.4.0; \
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" LIBS="-L/usr/local/lib -lbrotlicommon -L/usr/local/lib -lunistring -L/usr/local/lib -liconv" \
./configure --host=i586-pc-msdosdjgpp --with-ssl --with-zlib --with-brotli --with-libidn2 --disable-threaded-resolver --with-srp --with-ca-bundle="C:\\ca.crt"; \
make -j `nproc`; \
make install
ADD build_curl.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_curl.sh
# mujs
RUN cd /root; \
rm -rf mujs-1.3.3; \
wget https://mujs.com/downloads/mujs-1.3.3.tar.gz ; tar -xf mujs-1.3.3.tar.gz
RUN cd /root/mujs-1.3.3; \
make CC=i586-pc-msdosdjgpp-gcc AR=i586-pc-msdosdjgpp-ar CFLAGS="-U_POSIX_SOURCE -I/usr/local/include -L/usr/local/lib" install
ADD mujs.diff /home/elinks/
ADD build_mujs.sh /home/elinks/
RUN runuser -u elinks bash /home/elinks/build_mujs.sh
# [*] elinks sources
# dosemu
RUN dnf install -y 'dnf-command(copr)'
RUN dnf copr -y enable stsp/dosemu2
RUN dnf install -y dosemu2
# get elinks source
RUN cd /root; git clone https://github.com/rkd77/elinks
ADD mes_djgpp.sh /root/elinks/mes_djgpp.sh
RUN cd /root/elinks; \
./mes_djgpp.sh;
RUN runuser -u elinks git clone https://github.com/rkd77/elinks /home/elinks/elinks
ADD mes_djgpp_js.sh /root/elinks/mes_djgpp_js.sh
RUN cd /root/elinks; \
./mes_djgpp_js.sh;
# additional perl packages
RUN dnf install -y perl-autouse
# dosemu libs
RUN echo /usr/lib64/fdpp > /etc/ld.so.conf.d/dosemu.conf
RUN ldconfig
# nojs
ADD mes_djgpp.sh /home/elinks/elinks/
RUN runuser -u elinks bash /home/elinks/elinks/mes_djgpp.sh
# js
ADD mes_djgpp_js.sh /home/elinks/elinks/mes_djgpp_js.sh
RUN runuser -u elinks bash /home/elinks/elinks/mes_djgpp_js.sh

View File

@ -0,0 +1,16 @@
cd
wget https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz
rm -rf brotli-1.1.0
tar -xf v1.1.0.tar.gz
cd brotli-1.1.0
patch -p1 < ../brotli.diff || exit 1
mkdir build
cd build
CC=/usr/local/bin/cc.py cmake \
-DCMAKE_INSTALL_PREFIX=$HOME \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_STATIC_LIBS:BOOL=ON \
-DCMAKE_AR=/usr/bin/i586-pc-msdosdjgpp-ar \
..
make -j $(nproc) VERBOSE=1
make install

View File

@ -0,0 +1,9 @@
cd
wget https://curl.se/download/curl-8.4.0.tar.xz
rm -rf curl-8.4.0
tar -xf curl-8.4.0.tar.xz
cd curl-8.4.0
PKG_CONFIG_PATH="$HOME/lib/pkgconfig" CPPFLAGS="-I$HOME/include" LIBS="-L$HOME/lib -liconv -L$HOME/lib -lbrotlicommon -L$HOME/lib -lunistring -L$HOME/lib -liconv" \
./configure --host=i586-pc-msdosdjgpp --with-ssl --with-zlib --with-brotli --with-libidn2 --disable-threaded-resolver --with-srp --prefix=$HOME
make -j $(nproc)
make install

View File

@ -0,0 +1,13 @@
export LIBRARY_PATH="$HOME/lib"
export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
export C_INCLUDE_PATH="$HOME/include"
export CFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export CXXFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export LDFLAGS="-L$HOME/lib"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
cd
wget http://download.netsurf-browser.org/libs/releases/libhubbub-0.3.7-src.tar.gz
rm -rf libhubbub-0.3.7
tar -xf libhubbub-0.3.7-src.tar.gz
make -C libhubbub-0.3.7 install -j1 Q= PREFIX=$HOME LIBDIR=lib COMPONENT_TYPE=lib-static

View File

@ -0,0 +1,26 @@
cd
rm -rf libcss-0.9.1
wget http://download.netsurf-browser.org/libs/releases/libcss-0.9.1-src.tar.gz; tar -xf libcss-0.9.1-src.tar.gz
tar xf libcss-0.9.1-src.tar.gz
cd libcss-0.9.1
patch -p1 < ../libCSS-restrict.diff || exit 1
printf '\ngen: $(PRE_TARGETS)\n' >> Makefile
cd ..
export CFLAGS="-O2 -Wno-error"
export CXXFLAGS="-O2 -Wno-error"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
export HOST="i586-pc-msdosdjgpp"
export BUILD_CC=gcc
make -C libcss-0.9.1 -j1 Q= PREFIX=$HOME LIBDIR=lib gen
export LIBRARY_PATH="$HOME/lib"
export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
export C_INCLUDE_PATH="$HOME/include"
export CFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export CXXFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export LDFLAGS="-L$HOME/lib"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
export HOST="i586-pc-msdosdjgpp"
make -C libcss-0.9.1 install -j1 Q= PREFIX=$HOME LIBDIR=lib COMPONENT_TYPE=lib-static

View File

@ -0,0 +1,13 @@
export LIBRARY_PATH="$HOME/lib"
export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
export C_INCLUDE_PATH="$HOME/include"
export CFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export CXXFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export LDFLAGS="-L$HOME/lib"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
cd
wget http://download.netsurf-browser.org/libs/releases/libdom-0.4.1-src.tar.gz
rm -rf libdom-0.4.1
tar -xf libdom-0.4.1-src.tar.gz
make -C libdom-0.4.1 install -j1 Q= PREFIX=$HOME LIBDIR=lib COMPONENT_TYPE=lib-static

View File

@ -1,13 +1,18 @@
#!/bin/bash
cd
rm -rf libidn2-2.3.4
wget https://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz
tar xvf libidn2-2.3.4.tar.gz
cd libidn2-2.3.4
patch -p1 < ../getprogname.diff || exit 1
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
./configure \
--prefix=$HOME \
--host=i586-pc-msdosdjgpp \
--enable-static=yes \
--enable-shared=no \
--disable-documentation
make -j`nproc`
make -j $(nproc)
make install

View File

@ -0,0 +1,7 @@
cd
wget https://mujs.com/downloads/mujs-1.3.3.tar.gz
rm -rf mujs-1.3.3
tar -xf mujs-1.3.3.tar.gz
cd mujs-1.3.3
patch -p1 < ../mujs.diff
make CC=i586-pc-msdosdjgpp-gcc AR=i586-pc-msdosdjgpp-ar CFLAGS="-Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__" prefix=$HOME install

View File

@ -0,0 +1,5 @@
cd
wget http://download.netsurf-browser.org/libs/releases/buildsystem-1.9.tar.gz
rm -rf buildsystem-1.9
tar -xf buildsystem-1.9.tar.gz
make -C buildsystem-1.9 install PREFIX=$HOME

View File

@ -0,0 +1,16 @@
cd
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
rm -rf openssl-1.1.1w
tar -xf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
CFLAGS="-I$HOME/include -DWATT32_NO_OLDIES -DSHUT_RD=0 -L$HOME/lib -fcommon" \
./Configure no-threads \
no-tests \
-static \
DJGPP \
--prefix=$HOME \
--cross-compile-prefix=i586-pc-msdosdjgpp- && \
make depend && \
make build_libs -j $(nproc) && \
make install_runtime_libs && \
make install_dev

View File

@ -0,0 +1,13 @@
export LIBRARY_PATH="$HOME/lib"
export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
export C_INCLUDE_PATH="$HOME/include"
export CFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export CXXFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export LDFLAGS="-L$HOME/lib"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
cd
wget http://download.netsurf-browser.org/libs/releases/libparserutils-0.2.4-src.tar.gz
rm -rf libparserutils-0.2.4
tar -xf libparserutils-0.2.4-src.tar.gz
make -C libparserutils-0.2.4 install -j1 Q= PREFIX=$HOME LIBDIR=lib COMPONENT_TYPE=lib-static

View File

@ -0,0 +1,8 @@
cd
rm -rf quickjs-2021-03-27
wget https://bellard.org/quickjs/quickjs-2021-03-27.tar.xz
tar xf quickjs-2021-03-27.tar.xz
cd quickjs-2021-03-27
patch -p1 < ../quickjs-dos.diff
make -f Makefile.dos prefix=$HOME
make -f Makefile.dos install prefix=$HOME

View File

@ -0,0 +1,13 @@
export LIBRARY_PATH="$HOME/lib"
export PKG_CONFIG_PATH="$HOME/lib/pkgconfig"
export C_INCLUDE_PATH="$HOME/include"
export CFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export CXXFLAGS="-O2 -I$HOME/include -Wno-error -DWATT32_NO_NAMESPACE -U__STRICT_ANSI__"
export LDFLAGS="-L$HOME/lib"
export CC="i586-pc-msdosdjgpp-gcc"
export AR="i586-pc-msdosdjgpp-ar"
cd
wget http://download.netsurf-browser.org/libs/releases/libwapcaplet-0.4.3-src.tar.gz
rm -rf libwapcaplet-0.4.3
tar -xf libwapcaplet-0.4.3-src.tar.gz
make -C libwapcaplet-0.4.3 install -j1 Q= PREFIX=$HOME LIBDIR=lib COMPONENT_TYPE=lib-static

View File

@ -2,19 +2,22 @@
rm -rf /tmp/builddir
LIBRARY_PATH="/usr/local/lib" \
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" \
C_INCLUDE_PATH="/usr/local/include" \
CFLAGS="-O2 -I/usr/local/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
CXXFLAGS="-O2 -I/usr/local/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
LDFLAGS="-L/usr/local/lib" \
cd $HOME/elinks
LIBRARY_PATH="$HOME/lib" \
PKG_CONFIG_PATH="$HOME/lib/pkgconfig" \
C_INCLUDE_PATH="$HOME/include" \
CFLAGS="-O2 -I$HOME/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
CXXFLAGS="-O2 -I$HOME/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
LDFLAGS="-L$HOME/lib" \
meson setup /tmp/builddir --cross-file cross/linux-djgpp.txt \
-D88-colors=false \
-D256-colors=false \
-Dapidoc=false \
-Dbacktrace=false \
-Dbittorrent=false \
-Dbrotli=true \
-Dbzlib=true \
-Dbrotli=false \
-Dbzlib=false \
-Dcgi=false \
-Dcss=true \
-Dcombining=false \
@ -29,19 +32,21 @@ meson setup /tmp/builddir --cross-file cross/linux-djgpp.txt \
-Dgopher=true \
-Dgpm=false \
-Dguile=false \
-Didn=true \
-Dhtmldoc=false \
-Didn=false \
-Dipv6=true \
-Dlibcss=true \
-Dlibcurl=false \
-Dlibcurl=true \
-Dlibev=false \
-Dlibevent=false \
-Dluapkg='lua' \
-Dlzma=true \
-Dlzma=false \
-Dmailcap=false \
-Dmouse=true \
-Dnls=true \
-Dnntp=true \
-Dopenssl=true \
-Dpdfdoc=false \
-Dperl=false \
-Dprefix=$HOME \
-Dpython=false \
@ -66,3 +71,5 @@ meson compile -C /tmp/builddir
i586-pc-msdosdjgpp-strip /tmp/builddir/src/elinks.exe
upx /tmp/builddir/src/elinks.exe
#cp -a /tmp/builddir/src/elinks.exe ~/.dosemu/drive_c/ELINKS/src/

View File

@ -2,19 +2,22 @@
rm -rf /tmp/builddir2
LIBRARY_PATH="/usr/local/lib" \
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" \
C_INCLUDE_PATH="/usr/local/include" \
CFLAGS="-I/usr/local/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
CXXFLAGS="-I/usr/local/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
LDFLAGS="-L/usr/local/lib" \
cd $HOME/elinks
LIBRARY_PATH="$HOME/lib" \
PKG_CONFIG_PATH="$HOME/lib/pkgconfig" \
C_INCLUDE_PATH="$HOME/include" \
CFLAGS="-O2 -I$HOME/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
CXXFLAGS="-O2 -I$HOME/include -DWATT32_NO_NAMESPACE -DWATT32_NO_OLDIES" \
LDFLAGS="-L$HOME/lib" \
meson setup /tmp/builddir2 --cross-file cross/linux-djgpp.txt \
-D88-colors=false \
-D256-colors=false \
-Dapidoc=false \
-Dbacktrace=false \
-Dbittorrent=false \
-Dbrotli=true \
-Dbzlib=true \
-Dbrotli=false \
-Dbzlib=false \
-Dcgi=false \
-Dcss=true \
-Dcombining=false \
@ -29,24 +32,26 @@ meson setup /tmp/builddir2 --cross-file cross/linux-djgpp.txt \
-Dgopher=true \
-Dgpm=false \
-Dguile=false \
-Didn=true \
-Dhtmldoc=false \
-Didn=false \
-Dipv6=true \
-Dlibcss=true \
-Dlibcurl=false \
-Dlibcurl=true \
-Dlibev=false \
-Dlibevent=false \
-Dluapkg='lua' \
-Dlzma=true \
-Dlzma=false \
-Dmailcap=false \
-Dmouse=true \
-Dmujs=true \
-Dmujs=false \
-Dnls=true \
-Dnntp=true \
-Dopenssl=true \
-Dpdfdoc=false \
-Dperl=false \
-Dprefix=$HOME \
-Dpython=false \
-Dquickjs=false \
-Dquickjs=true \
-Druby=false \
-Dsm-scripting=false \
-Dspidermonkey=false \
@ -60,10 +65,12 @@ meson setup /tmp/builddir2 --cross-file cross/linux-djgpp.txt \
-Dx=false \
-Dxbel=true \
-Dzlib=true \
-Dzstd=false \
-Dzstd=false
meson compile -C /tmp/builddir2
i586-pc-msdosdjgpp-strip /tmp/builddir2/src/elinks.exe
upx /tmp/builddir2/src/elinks.exe
#cp -a /tmp/builddir2/src/elinks.exe ~/.dosemu/drive_c/ELINKS/src/

58
docker/djgpp/mujs.diff Normal file
View File

@ -0,0 +1,58 @@
--- mujs-1.3.3/Makefile 2023-01-10 11:11:11.000000000 +0000
+++ mujs-1.3.3/Makefile.win 2023-11-07 16:18:12.781947760 +0000
@@ -98,8 +98,8 @@
$(CC) $(CFLAGS) $(OPTIM) -c -o $@ one.c
build/release/libmujs.a: build/release/libmujs.o
$(AR) cr $@ $^
-build/release/mujs: main.c build/release/libmujs.o
- $(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm -DHAVE_READLINE -lreadline
+#build/release/mujs: main.c build/release/libmujs.o
+# $(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm -DHAVE_READLINE -lreadline
build/release/mujs-pp: pp.c build/release/libmujs.o
$(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm
@@ -112,14 +112,13 @@
echo >> $@ Libs: -L$(libdir) -lmujs
echo >> $@ Libs.private: -lm
-install-common: build/release/mujs build/release/mujs-pp build/release/mujs.pc
+install-common: build/release/mujs-pp build/release/mujs.pc
install -d $(DESTDIR)$(incdir)
install -d $(DESTDIR)$(libdir)
install -d $(DESTDIR)$(libdir)/pkgconfig
install -d $(DESTDIR)$(bindir)
install -m 644 mujs.h $(DESTDIR)$(incdir)
install -m 644 build/release/mujs.pc $(DESTDIR)$(libdir)/pkgconfig
- install -m 755 build/release/mujs $(DESTDIR)$(bindir)
install -m 755 build/release/mujs-pp $(DESTDIR)$(bindir)
install-static: install-common build/release/libmujs.a
--- mujs-1.3.3/Makefile 2023-11-07 16:20:17.847381765 +0000
+++ mujs-1.3.3/Makefile.win 2023-11-07 16:22:46.616720069 +0000
@@ -100,8 +100,8 @@
$(AR) cr $@ $^
#build/release/mujs: main.c build/release/libmujs.o
# $(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm -DHAVE_READLINE -lreadline
-build/release/mujs-pp: pp.c build/release/libmujs.o
- $(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm
+#build/release/mujs-pp: pp.c build/release/libmujs.o
+# $(CC) $(CFLAGS) $(OPTIM) -o $@ $^ -lm
build/release/mujs.pc:
@mkdir -p $(@D)
@@ -112,14 +112,13 @@
echo >> $@ Libs: -L$(libdir) -lmujs
echo >> $@ Libs.private: -lm
-install-common: build/release/mujs-pp build/release/mujs.pc
+install-common: build/release/mujs.pc
install -d $(DESTDIR)$(incdir)
install -d $(DESTDIR)$(libdir)
install -d $(DESTDIR)$(libdir)/pkgconfig
install -d $(DESTDIR)$(bindir)
install -m 644 mujs.h $(DESTDIR)$(incdir)
install -m 644 build/release/mujs.pc $(DESTDIR)$(libdir)/pkgconfig
- install -m 755 build/release/mujs-pp $(DESTDIR)$(bindir)
install-static: install-common build/release/libmujs.a
install -m 644 build/release/libmujs.a $(DESTDIR)$(libdir)

View File

@ -0,0 +1,29 @@
cd
mkdir -p lib/pkgconfig
mkdir zip
cd zip
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/expat20br2.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211b.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/zlb13b.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2apps/xz-525a.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2apps/bz2-108a.zip
wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/1.3/apps/sqlite.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/licv116b.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/lus0910b.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2tk/lua522b.zip
wget http://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80b.zip
mkdir tmp; unzip expat20br2.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip wat3211b.zip -d tmp; mv -f tmp/net/watt/inc tmp/net/watt/include; cp -a tmp/net/watt/include $HOME/; cp -a tmp/net/watt/lib $HOME/; rm -rf tmp
mkdir tmp; unzip zlb13b.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip xz-525a.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip bz2-108a.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip sqlite.zip -d tmp; mkdir tmp/tmp2; unzip tmp/SOURCE/SQLITE/SOURCES.ZIP -d tmp/tmp2; cp -a tmp/tmp2/examples/sqlite3.h $HOME/include/; cp -a tmp/tmp2/examples/libsqlite3.a $HOME/lib/
cp -a tmp/tmp2/sqlite3.pc $HOME/lib/pkgconfig/; rm -rf tmp
mkdir tmp; unzip licv116b.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip lus0910b.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
mkdir tmp; unzip rdln80b.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp
sed -i -e 's|/dev/env/DJDIR|/home/elinks|g' $HOME/lib/pkgconfig/*.pc
sed -i -e 's|/dev/env/DJDIR|/home/elinks|g' $HOME/lib/*.la
sed -i -e 's/Libs\.private/#Libs.private/' $HOME/lib/pkgconfig/sqlite3.pc
mkdir tmp; unzip lua522b.zip -d tmp; cp -a tmp/include $HOME/; cp -a tmp/lib $HOME/; rm -rf tmp