Files
2024-04-20 16:37:49 +02:00

123 lines
4.1 KiB
Makefile
Executable File

#!/usr/bin/make -f
# upstream version
version=$(shell uscan --report-status | head -2 | tail -1 | cut -d' ' -f7 | cut -d, -f1)
tmpdir:=$(shell mktemp -d)
wrkdir:=$(shell pwd)
rootdir:=$(wrkdir)/..
# build-hardening flags
export DEB_BUILD_MAINT_OPTIONS="hardening=+all"
# file names
sources=$(shell find . -name *.cpp)
headers=$(shell find . -name *.h)
dfsgremovals=Makefile.bak \
.gitattributes \
.hg_archival \
.hg_archival.txt \
.hgignore \
.hgtags \
fontlucida.png \
sqlite \
json \
lua \
build \
old \
master
# jthread # upstream patched that lib, which seem dead upstream itself, so use freeminer's version even if I don't like it.
cleanremovals= bin \
CMakeFiles \
src/CMakeFiles \
CMakeCache.txt \
CPackConfig.cmake \
CPackSourceConfig.cmake \
Makefile \
cmake_install.cmake \
src/Makefile \
src/cmake_config.h \
src/cmake_install.cmake \
locale \
install_manifest.txt \
freeminer.xpm \
freeminer.svg \
freeminer.png \
src/cguittfont/CMakeFiles/ \
src/cguittfont/Makefile \
src/cguittfont/cmake_install.cmake \
src/cguittfont/libcguittfont.a
override_dh_clean:
dh_clean --exclude old/Makefile.old
override_dh_auto_clean:
dh_clean --exclude old/Makefile.old
rm -rf ${cleanremovals}
override_dh_auto_configure:
CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS} -Wl,--build-id=sha1" \
CXXFLAGS="${CXXFLAGS} ${CPPFLAGS}" \
cmake -G Ninja \
-DCMAKE_C_COMPILER=$(shell which clang) \
-DCMAKE_CXX_COMPILER=$(shell which clang++) \
-DBUILD_SERVER=1 \
-DRUN_IN_PLACE=0 \
-DENABLE_GETTEXT=1 \
-DENABLE_FREETYPE=1 \
-DFREETYPE_INCLUDE_DIRS=/usr/include/freetype2 \
-DFREETYPE_INCLUDE_DIR_ft2build=/usr/include \
-DCUSTOM_LOCALEDIR=/usr/share/locale \
-DCUSTOM_SHAREDIR=/usr/share/games/freeminer \
-DCMAKE_INSTALL_PREFIX=/usr ..
override_dh_auto_build:
ninja -v
override_dh_auto_test:
override_dh_install:
dh_install --list-missing -X.gitignore
for bpkg in freeminer freeminer-data freeminer-dbg freeminer-server ; do \
mkdir -p debian/$${bpkg}/usr/share/doc/$${bpkg} ; \
cp debian/changelog.upstream debian/$${bpkg}/usr/share/doc/$${bpkg}/changelog ; \
done
# copy the logo
mkdir -p debian/freeminer/usr/share/icons/hicolor/24x24/apps/
cp $(rootdir)/misc/freeminer-24x24.png debian/freeminer/usr/share/icons/hicolor/24x24/apps/freeminer.png
convert debian/freeminer/usr/share/icons/hicolor/24x24/apps/freeminer.png \
debian/freeminer/usr/share/icons/hicolor/24x24/apps/freeminer.xpm
mkdir -p $(wrkdir)/debian/freeminer/usr/share/icons/hicolor/scalable/apps/
cp $(rootdir)/misc/freeminer.svg debian/freeminer/usr/share/icons/hicolor/scalable/apps/freeminer.svg
# take care of the fonts we need
mkdir -p debian/freeminer-data/usr/share/games/freeminer/fonts/
ln -s /usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf \
debian/freeminer-data/usr/share/games/freeminer/fonts/liberationmono.ttf
ln -s /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf \
debian/freeminer-data/usr/share/games/freeminer/fonts/liberationsans.ttf
override_dh_strip:
dh_strip --dbg-package=freeminer-dbg
get-orig-source:
rm -f ${wrkdir}/../freeminer_${version}+repack.orig.tar.gz
uscan --verbose --force-download && mv ../${version}.tar.gz ${tmpdir} || true
set +ex; cd ${tmpdir} && \
tar xf ${version}.tar.gz && rm -f ${version}.tar.gz && \
cd freeminer-${version}/games && \
for game in default ; do \
wget --no-verbose https://github.com/freeminer/$${game}/archive/${version}.tar.gz -O - | tar xfz - ; \
mv $${game}-${version} $${game} ; \
done && \
cd .. ; \
for file in ${dfsgremovals}; do \
find . -name $$file -execdir rm -rf {} \; 2>/dev/null || true; \
done && \
tar cf ${wrkdir}/../freeminer_${version}+repack.orig.tar * ; \
gzip --best ${wrkdir}/../freeminer_${version}+repack.orig.tar
rm -rf ${tmpdir}
@echo "successfully created new tarball: ${wrkdir}/../freeminer_${version}+repack.orig.tar.gz"
%:
dh ${@}