diff --git a/src/unix/assets/128x128/net.86box.86Box.png b/src/unix/assets/128x128/net.86box.86Box.png new file mode 100644 index 000000000..bf521d3ec Binary files /dev/null and b/src/unix/assets/128x128/net.86box.86Box.png differ diff --git a/src/unix/assets/192x192/net.86box.86Box.png b/src/unix/assets/192x192/net.86box.86Box.png new file mode 100644 index 000000000..4bed7df13 Binary files /dev/null and b/src/unix/assets/192x192/net.86box.86Box.png differ diff --git a/src/unix/assets/256x256/net.86box.86Box.png b/src/unix/assets/256x256/net.86box.86Box.png new file mode 100644 index 000000000..4ef8b2120 Binary files /dev/null and b/src/unix/assets/256x256/net.86box.86Box.png differ diff --git a/src/unix/assets/48x48/net.86box.86Box.png b/src/unix/assets/48x48/net.86box.86Box.png new file mode 100644 index 000000000..75411ba16 Binary files /dev/null and b/src/unix/assets/48x48/net.86box.86Box.png differ diff --git a/src/unix/assets/512x512/net.86box.86Box.png b/src/unix/assets/512x512/net.86box.86Box.png new file mode 100644 index 000000000..2fef558d6 Binary files /dev/null and b/src/unix/assets/512x512/net.86box.86Box.png differ diff --git a/src/unix/assets/64x64/net.86box.86Box.png b/src/unix/assets/64x64/net.86box.86Box.png new file mode 100644 index 000000000..24d668e0c Binary files /dev/null and b/src/unix/assets/64x64/net.86box.86Box.png differ diff --git a/src/unix/assets/72x72/net.86box.86Box.png b/src/unix/assets/72x72/net.86box.86Box.png new file mode 100644 index 000000000..e01c47829 Binary files /dev/null and b/src/unix/assets/72x72/net.86box.86Box.png differ diff --git a/src/unix/assets/86Box.spec b/src/unix/assets/86Box.spec new file mode 100644 index 000000000..8db7b6854 --- /dev/null +++ b/src/unix/assets/86Box.spec @@ -0,0 +1,123 @@ +# Fedora RPM spec file for 86Box including roms +# +# To create RPM files from this spec file, run the following commands: +# sudo dnf install rpm-build +# mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} +# +# copy this 86Box.spec file to ~/rpmbuild/SPECS and run the following commands: +# cd ~/rpmbuild +# sudo dnf builddep SPECS/86Box.spec +# rpmbuild --undefine=_disable_source_fetch -ba SPECS/86Box.spec +# +# After a successful build, you can install the RPMs as follows: +# sudo dnf install RPMS/$(uname -m)/86Box-3* RPMS/noarch/86Box-roms* + +%global romver 20220319 + +Name: 86Box +Version: 3.3 +Release: 1%{?dist} +Summary: Classic PC emulator +License: GPLv2+ +URL: https://86box.net + +Source0: https://github.com/86Box/86Box/archive/refs/tags/v%%{version}.tar.gz +Source1: https://github.com/86Box/roms/archive/refs/tags/%{romver}.tar.gz + +BuildRequires: cmake +BuildRequires: desktop-file-utils +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: libFAudio-devel +BuildRequires: libappstream-glib +BuildRequires: libevdev-devel +BuildRequires: libXi-devel +BuildRequires: ninja-build +BuildRequires: qt5-linguist +BuildRequires: qt5-qtconfiguration-devel +BuildRequires: qt5-qtbase-private-devel +BuildRequires: qt5-qtbase-static +BuildRequires: rtmidi-devel +BuildRequires: wayland-devel +BuildRequires: SDL2-devel + +Requires: hicolor-icon-theme +Requires: fluid-soundfont-gm +Requires: 86Box-roms + +%description +86Box is a hypervisor and IBM PC system emulator that specializes in +running old operating systems and software designed for IBM +PC systems and compatibles from 1981 through fairly recent +system designs based on the PCI bus. + +It supports various models of PCs, graphics and sound cards, and CPUs. + +%package roms +Summary: ROMs for use with 86Box +Version: %{romver} +License: Proprietary +BuildArch: noarch + +%description roms +Collection of ROMs for use with 86Box. + +%prep +%autosetup -p1 -a1 + +%build +%ifarch i386 x86_64 + %cmake -DRELEASE=on +%else + %ifarch arm aarch64 + %cmake -DRELEASE=on -DNEW_DYNAREC=on + %else + %cmake -DRELEASE=on -DDYNAREC=off + %endif +%endif +%cmake_build + +%install +# install base package +%cmake_install + +# install icons +for i in 48 64 72 96 128 192 256 512; do + mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps + cp src/unix/assets/${i}x${i}/net.86box.86Box.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/net.86box.86Box.png +done + +# install desktop file +desktop-file-install --dir=%{buildroot}%{_datadir}/applications src/unix/assets/net.86box.86Box.desktop + +# install metadata +mkdir -p %{buildroot}%{_metainfodir} +cp src/unix/assets/net.86box.86Box.metainfo.xml %{buildroot}%{_metainfodir} +appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/net.86box.86Box.metainfo.xml + +# install roms +pushd roms-%{romver} + mkdir -p %{buildroot}%{_datadir}/%{name}/roms + cp -a * %{buildroot}%{_datadir}/%{name}/roms/ + # hack to create symlink in /usr/bin + cd %{buildroot}%{_bindir} + ln -s ../share/%{name}/roms roms +popd + +# files part of the main package +%files +%license COPYING +%{_bindir}/86Box +%{_datadir}/applications/net.86box.86Box.desktop +%{_metainfodir}/net.86box.86Box.metainfo.xml +%{_datadir}/icons/hicolor/*/apps/net.86box.86Box.png + +# files part of the rom package +%files roms +%license roms-%{romver}/LICENSE +%{_datadir}/%{name}/roms +%{_bindir}/roms + +%changelog +* Sat Mar 19 2022 Robert de Rooy 3.3-1 +- Initial RPM release diff --git a/src/unix/assets/96x96/net.86box.86Box.png b/src/unix/assets/96x96/net.86box.86Box.png new file mode 100644 index 000000000..ee24db6ea Binary files /dev/null and b/src/unix/assets/96x96/net.86box.86Box.png differ diff --git a/src/unix/assets/net.86box.86Box.desktop b/src/unix/assets/net.86box.86Box.desktop new file mode 100644 index 000000000..3eab58322 --- /dev/null +++ b/src/unix/assets/net.86box.86Box.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=86Box +GenericName=Classic PC emulator +Comment=An emulator for classic IBM PC clones +Exec=86Box +Icon=net.86box.86Box +Terminal=false +Type=Application +Categories=System;Emulator diff --git a/src/unix/assets/net.86box.86Box.metainfo.xml b/src/unix/assets/net.86box.86Box.metainfo.xml new file mode 100644 index 000000000..cfcfdd3c9 --- /dev/null +++ b/src/unix/assets/net.86box.86Box.metainfo.xml @@ -0,0 +1,32 @@ + + + net.86box.86Box + CC0-1.0 + GPL-2.0-or-later + 86Box + An emulator for classic IBM PC clones + + Emulation + + net.86box.86Box.desktop + + + + + +

+ 86Box is a hypervisor and IBM PC system emulator that specializes + in running old operating systems and software designed for IBM + PC systems and compatibles from 1981 through fairly recent + system designs based on the PCI bus. + + It supports various models of PCs, graphics and sound + cards, and CPUs. +

+

+ To use 86Box you will need to dump BIOS ROMs for each machine you + want to emulate. +

+
+ https://86box.net +