mirror of
https://github.com/86Box/86Box.git
synced 2025-01-22 09:11:50 -05:00
Debian build system
This commit is contained in:
parent
e4a320fb0b
commit
e9e1eaea62
8 changed files with 179 additions and 0 deletions
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -44,3 +44,12 @@ RC*
|
|||
|
||||
# Qt Creator
|
||||
CMakeLists.txt.user
|
||||
|
||||
# Debian builder
|
||||
/debian/*.log
|
||||
/debian/*.substvars
|
||||
/debian/.debhelper
|
||||
/debian/86box
|
||||
/debian/debhelper-build-stamp
|
||||
/debian/files
|
||||
/obj-*-linux-gnu
|
||||
|
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
86box (3.7.1-1) UNRELEASED; urgency=medium
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Mariusz Kurek <mariuszkurek@protonmail.com> Wed, 19 Oct 2022 21:06:00 +0200
|
28
debian/control
vendored
Normal file
28
debian/control
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
Source: 86box
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Maintainer: Mariusz Kurek <mariuszkurek@protonmail.com>
|
||||
Build-Depends: cmake (>= 3.21),
|
||||
debhelper-compat (= 13),
|
||||
libevdev-dev,
|
||||
libfreetype-dev,
|
||||
libopenal-dev,
|
||||
librtmidi-dev,
|
||||
libsdl2-dev,
|
||||
libslirp-dev,
|
||||
ninja-build,
|
||||
qttools5-dev
|
||||
Standards-Version: 4.6.0
|
||||
Homepage: https://86box.net/
|
||||
#Vcs-Browser: https://salsa.debian.org/debian/86box
|
||||
#Vcs-Git: https://salsa.debian.org/debian/86box.git
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: 86box
|
||||
Architecture: amd64 armhf arm64 i386
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
sse2-support [i386]
|
||||
Recommends: libpcap0.8-dev
|
||||
Description: An emulator for classic IBM PC clones
|
||||
#TODO: insert long description, indented with spaces
|
38
debian/copyright
vendored
Normal file
38
debian/copyright
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: 86box
|
||||
Source: https://86box.net/
|
||||
|
||||
Files: *
|
||||
Copyright: <years> <put author's name and email here>
|
||||
<years> <likewise for another author>
|
||||
License: GPL-2.0+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2022 Mariusz Kurek <mariuszkurek@protonmail.com>
|
||||
License: GPL-2.0+
|
||||
|
||||
License: GPL-2.0+
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
# Please also look if there are files or directories which have a
|
||||
# different copyright/license attached and list them here.
|
||||
# Please avoid picking licenses with terms that are more restrictive than the
|
||||
# packaged work, as it may make Debian's contributions unacceptable upstream.
|
||||
#
|
||||
# If you need, there are some extra license texts available in two places:
|
||||
# /usr/share/debhelper/dh_make/licenses/
|
||||
# /usr/share/common-licenses/
|
41
debian/postinst
vendored
Normal file
41
debian/postinst
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
#!/bin/sh
|
||||
# postinst script for 86box
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see https://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
echo You need ROM files in order to use 86Box. These can be obtained from https://github.com/86Box/roms
|
||||
echo You can put the roms folder in, for example, /usr/share/86Box/roms or \~/.local/share/86Box/roms
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
42
debian/rules
vendored
Executable file
42
debian/rules
vendored
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/make -f
|
||||
# See debhelper(7) (uncomment to enable)
|
||||
# output every command that modifies files on the build system.
|
||||
#export DH_VERBOSE = 1
|
||||
|
||||
ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH)
|
||||
|
||||
ifeq ($(ARCH), $(filter $(ARCH), amd64 i386))
|
||||
NDR=off
|
||||
ifeq ($(ARCH),amd64)
|
||||
TOOLCHAIN=cmake/flags-gcc-x86_64.cmake
|
||||
elif
|
||||
TOOLCHAIN=cmake/flags-gcc-i686.cmake
|
||||
endif
|
||||
else
|
||||
NDR=on
|
||||
ifeq ($(ARCH),armhf)
|
||||
TOOLCHAIN=cmake/flags-gcc-armv7.cmake
|
||||
else
|
||||
TOOLCHAIN=cmake/flags-gcc-aarch64.cmake
|
||||
endif
|
||||
endif
|
||||
|
||||
%:
|
||||
dh $@ --buildsystem cmake+ninja
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure --buildsystem cmake+ninja -- --preset regular --toolchain $(TOOLCHAIN) -DNEW_DYNAREC=$(NDR) -DSLIRP_EXTERNAL=on
|
||||
|
||||
override_dh_auto_test:
|
||||
|
||||
override_dh_auto_install:
|
||||
dh_auto_install --buildsystem cmake+ninja
|
||||
for i in 48x48 64x64 72x72 96x96 128x128 192x192 256x256 512x512 ; do \
|
||||
install -Dm644 src/unix/assets/$$i/net.86box.86Box.png -t debian/86box/usr/share/icons/hicolor/$$i/apps ; \
|
||||
done
|
||||
mkdir debian/86box/usr/share/applications
|
||||
sed 's/^Exec.*/Exec=86Box -P .local\/share\/86Box/' "src/unix/assets/net.86box.86Box.desktop" > "debian/86box/usr/share/applications/net.86box.86Box.desktop"
|
||||
|
||||
override_dh_installdocs:
|
||||
|
||||
override_dh_installman:
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
3.0 (quilt)
|
15
debian/watch
vendored
Normal file
15
debian/watch
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Example watch control file for uscan
|
||||
# Rename this file to "watch" and then you can run the "uscan" command
|
||||
# to check for upstream updates and more.
|
||||
# See uscan(1) for format
|
||||
|
||||
# Compulsory line, this is a version 4 file
|
||||
version=4
|
||||
|
||||
# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig
|
||||
#opts="pgpsigurlmangle=s%$%.sig%"
|
||||
|
||||
# GitHub hosted projects
|
||||
opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%<project>-$1.tar.gz%" \
|
||||
https://github.com/86Box/86Box/tags \
|
||||
(?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate
|
Loading…
Reference in a new issue