44 Commits

Author SHA1 Message Date
Andreas Müller
80fb6c39ee mame: upgrade 0211 -> 0212
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-08-04 00:51:34 +02:00
Andreas Müller
f7e303aa4d stella: Fix typo in my email address
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-07-07 22:39:54 +02:00
Andreas Müller
44adac19d8 stella: upgrade 6.0 -> 6.0.1
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-07-07 21:38:24 +02:00
Andreas Müller
a2f89f74cd stella: avoid sdl2-config completely
Fixes:
| arm-mortsgna-linux-gnueabi-g++: error: unrecognized command line option '--should-not-have-used-/usr/bin/sdl2-config'

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-07-07 21:25:18 +02:00
Andreas Müller
6622445abf mame: upgrade 0210 -> 0211
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-06-29 13:09:35 +02:00
Andreas Müller
817bb2b0e2 opentyrian: fix build with gcc 9
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-06-07 21:53:11 +02:00
Andreas Müller
abdc056942 mame: upgrade 0209 -> 0210
Fetch sources from git

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-06-07 21:52:49 +02:00
Andreas Müller
8e331dc790 stella: upgrade 5.1.3 -> 6.0
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-04-27 02:22:04 +02:00
Andreas Müller
1dcb78a87a mame: upgrade 0208 -> 0209
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-04-24 13:47:40 +02:00
Andreas Müller
43d327c345 layer.conf: warrier -> warrior
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-04-09 13:02:53 +02:00
Andreas Müller
00aef02835 layer.conf: move to thus & warrier compatibility
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-04-02 16:44:08 +02:00
Andreas Müller
d531df3af0 mame: upgrade 0207 -> 0208
patches made into release announcement :)))

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-28 07:22:32 +01:00
Andreas Müller
f7ed4d9e73 Update README again 2019-03-25 23:49:38 +01:00
Andreas Müller
0d67a6d16d Update README
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-25 12:57:53 +01:00
Andreas Müller
b8fe3147e2 Update README
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-25 12:56:52 +01:00
Andreas Müller
0c1e7f6cd9 portmidi: add temporarily
Will try to get portmidi to meta-oe [1]. As long as this is not done, add it
here.

[1] https://github.com/schnitzeltony/meta-musicians/issues/3

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-18 10:16:29 +01:00
Andreas Müller
7596b6195b mame: remove patch causing sound regression
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-10 00:37:20 +01:00
Andreas Müller
106081e31a mame: update patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-09 03:26:27 +01:00
Andreas Müller
0f33da9e5a mame: rework ogl-patch
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-04 02:00:22 +01:00
Andreas Müller
edda184eef mame: add more pokey performance
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-03 23:13:07 +01:00
Andreas Müller
279d2bfd32 mame: add further micro optimizations
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-03 17:46:50 +01:00
Andreas Müller
9efa55d805 mame: Add Upstream-Status for recent patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-02 14:02:45 +01:00
Andreas Müller
7f6f2e4520 mame: add further pokey performance enhancements
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-03-02 00:09:03 +01:00
Andreas Müller
ca531fdc2b mame: do not force settings by command line params
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-27 23:40:58 +01:00
Andreas Müller
5dda562627 mame: upgrade 0206 -> 0207
* use upstream logo
* 0001-Show-video-mode-option-accel-in-help-and-GUI.patch was applied upstream

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-27 22:04:43 +01:00
Andreas Müller
a8f3b1177b mame: Add pokey performance patch
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-27 20:40:05 +01:00
Andreas Müller
95a81a31e9 mame: Use system libraries rapidjson & portmidi
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-23 22:15:33 +01:00
Andreas Müller
0e49d50f1b vice: enable pulseaudio for pulseaudio in DISTRO_FEATURES
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-23 19:31:09 +01:00
Andreas Müller
f6c4639407 mame: add configuration for historypath
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-18 22:35:22 +01:00
Andreas Müller
91c18615d3 mame: add missing install for desktop file
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-18 21:32:57 +01:00
Andreas Müller
2d99e9044b mame: copmpile with -O3
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-18 00:41:52 +01:00
Andreas Müller
b52ff24ca4 mame: Rework recipe for a better user experience
Now that the right configuration options for mame to perform acceptable on
Raspi were found (took 3 years!), it is time to lift recipe out of 'academical'
state:

* Add desktop file with defaults perfoming best (currently). Icon was stolen
  from current mame git and should be included with next release
* Add many useful folders to install
* Split out tools into mame-tools package
* Add a configuration file
* Add user paths for files created by mame
* Add user paths for samples and roms for simple browser download/store

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-18 00:17:14 +01:00
Andreas Müller
1ba03c6494 mame: Add patch to show video-mode option 'accel' in help and GUI
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-16 22:51:01 +01:00
Andreas Müller
b11abed246 mame: rework installation
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-16 22:47:55 +01:00
Andreas Müller
a9dc0c13df vice: fix install - broken by last commit
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-09 22:34:36 +01:00
Andreas Müller
c03690cf1d vice: Fix multilib install
ERROR: vice-3.2-r0 do_package: QA Issue: vice: Files/directories were installed but not shipped in any package:
  /usr/lib
  /usr/lib/vice
  /usr/lib/vice/PET
  /usr/lib/vice/C64
  /usr/lib/vice/SCPU64
  /usr/lib/vice/doc
  /usr/lib/vice/fonts
  /usr/lib/vice/VIC20
  /usr/lib/vice/PRINTER
  /usr/lib/vice/CBM-II
  /usr/lib/vice/C64DTV
  /usr/lib/vice/DRIVES
  /usr/lib/vice/C128
  /usr/lib/vice/PLUS4
  ...

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-08 14:00:06 +01:00
Andreas Müller
347a2bebae mame: upgrade 0205 -> 0206
License checksum was changed by copyright year change

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-02-03 00:51:57 +01:00
Andreas Müller
979574e784 vice: replace PN by BPN in SRC_URI
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-01-28 11:42:25 +01:00
Andreas Müller
80b9ac0bde mame: upgrade 0204 -> 0205
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-12-28 02:24:27 +01:00
Andreas Müller
453c6b3070 mame: upgrade 201 -> 204
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-12-03 15:50:12 +01:00
Andreas Müller
4b7177f5c3 mame: make size of executable strippable again
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-10-24 20:52:21 +02:00
Andreas Müller
1edd08a8c8 mame: disable LTO
It does nothing useful for mame's mega binary.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-10-24 00:10:08 +02:00
Andreas Müller
a16b96ca86 Readd sumo to compatible layers
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-10-24 00:04:02 +02:00
Andreas Müller
ac8eaf7ed8 Update dependencies to current master/thud
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-10-08 23:21:58 +02:00
18 changed files with 833 additions and 155 deletions

14
README
View File

@@ -1,14 +0,0 @@
OE layer for all in midlife crisis
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
branch: master
revision: HEAD
layers: meta-oe
Layer maintainer: Andreas Müller <schnitzeltony@gmail.com>

27
README.md Normal file
View File

@@ -0,0 +1,27 @@
OE layer for emulators and games from 8/16-bit era
--------------------------------------------------
Layer dependencies:
-------------------
see [layer.conf](conf/layer.conf) for dependencies and https://layers.openembedded.org/layerindex/branch/master/layers/ where to find layers
Contributing
------------
* Submit any patches against the `meta-retro` layer by using the GitHub pull-request feature.
Policies
--------
* Please do not send private emails to maintainers. For questions/suggestions.. use GitHub issues.
* Pull requests should follow [OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) with the following additions:
* Use 4 spaces for indention always
* For splitting of long list values use four-space indentation on sucessive lines and prefer the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
* Pull-requests with patches fixing issues for musl, clang or gold-linker are accepeted only if patches have upstream-status "Applied" or "Backport" and contain a link to the upstream patch.
Maintainers
-----------
Layer maintainer: Andreas Müller <schnitzeltony@gmail.com>

View File

@@ -8,5 +8,5 @@ BBFILE_COLLECTIONS += "meta-retro"
BBFILE_PATTERN_meta-retro := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-retro = "10"
LAYERDEPENDS_meta-retro = "core openembedded-layer filesystems-layer games-layer"
LAYERSERIES_COMPAT_meta-retro = "rocko sumo thud"
LAYERDEPENDS_meta-retro = "core openembedded-layer filesystems-layer"
LAYERSERIES_COMPAT_meta-retro = "thud warrior"

View File

@@ -0,0 +1,222 @@
SUMMARY = "Multiple Arcade Machine Emulator"
HOMEPAGE = "http://www.mamedev.org/index.php"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=798620970c471a3a6b7b5e9c9192fe12"
SRC_URI = " \
git://github.com/mamedev/mame.git \
file://no-upstream/0001-pokey-Make-step_one_clock-inline.patch \
file://mame.desktop \
"
PV = "0212"
SRCREV = "1182bd9325bd3381cc94cce6d7d9a1b510ed6ae4"
S = "${WORKDIR}/git"
inherit siteinfo gtk-icon-cache
DEPENDS = " \
libsdl2 \
libsdl2-ttf \
fontconfig \
libxinerama \
\
expat \
zlib \
flac \
jpeg \
glm \
lua lua-native \
sqlite3 \
portaudio-v19 \
rapidjson \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-qt5-extra', 'portmidi', '', d)} \
"
CLEANBROKEN = "1"
# avoid stip fail for size of executable >> 4GB - stolen from chromium
DEBUG_FLAGS_remove_arm = "-g"
DEBUG_FLAGS_append_arm = "-g1"
DEBUG_FLAGS_remove_x86 = "-g"
DEBUG_FLAGS_append_x86 = "-g1"
DEBUG_FLAGS_remove_aarch64 = "-g"
DEBUG_FLAGS_append_aarch64 = "-g1"
DEBUG_FLAGS_remove_x86-64 = "-g"
DEBUG_FLAGS_append_x86-64 = "-g1"
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
# TBD: x86 may overrideoverrides later - cannot test
MAME_NOASM="NOASM=1"
# genie.lua does not detect 64bit targets at least on aarch64
MAME_PTR64 = "${@oe.utils.conditional('SITEINFO_BITS', '64', '-DPTR64=1', '', d)}"
EXTRA_OEMAKE = " \
linux \
CROSS_BUILD=1 \
OVERRIDE_CC='${CC} ${MAME_PTR64}' \
OVERRIDE_CXX='${CXX} ${MAME_PTR64}' \
OPTIMIZE=3 \
TOOLS=1 \
USE_QTDEBUG=0 \
LTO=0 \
NOWERROR=1 \
${MAME_NOASM} \
USE_SYSTEM_LIB_EXPAT=1 \
USE_SYSTEM_LIB_FLAC=1 \
USE_SYSTEM_LIB_JPEG=1 \
USE_SYSTEM_LIB_GLM=1 \
USE_SYSTEM_LIB_LUA=1 \
USE_SYSTEM_LIB_PORTAUDIO=1 \
USE_SYSTEM_LIB_SQLITE3=1 \
USE_SYSTEM_LIB_ZLIB=1 \
USE_SYSTEM_LIB_RAPIDJSON=1 \
USE_OPENMP=1 \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-qt5-extra', 'USE_SYSTEM_LIB_PORTMIDI=1', '', d)} \
SDL_INI_PATH=${sysconfdir}/${BPN} \
"
do_compile_prepend() {
# seems there is some race. Build complains
# | Assembler messages:
# | Fatal error: can't create obj/Release/3rdparty/lzma/C/7zAlloc.o: No such file or directory
# | Assembler messages:
# | Fatal error: can't create obj/Release/src/mame/drivers/acvirus.o: No such file or directory
# But that directory is created with a few files
mkdir -p ${S}/build/projects/sdl/mame/gmake-linux/obj/Release/3rdparty/lzma/C
}
do_install() {
# stolen much from https://src.fedoraproject.org/cgit/rpms/mame.git/tree/mame.spec
# executables
install -d ${D}${bindir}
install -pm 755 castool chdman floptool imgtool jedutil ldresample ldverify \
mame nltool nlwav pngcmp romcmp unidasm ${D}${bindir}
for tool in regrep split src2html srcclean; do
install -pm 755 $tool ${D}${bindir}/${BPN}-$tool
done
# misc
install -d ${D}${datadir}/applications
install -m 644 ${WORKDIR}/mame.desktop ${D}${datadir}/applications
pushd artwork
find -type d -exec install -d ${D}${datadir}/${BPN}/artwork/{} \;
find -type f -exec install -pm 644 {} ${D}${datadir}/${BPN}/artwork/{} \;
popd
install -d ${D}${datadir}/${BPN}/ctrlr
install -pm 644 ctrlr/*.cfg ${D}${datadir}/${BPN}/ctrlr
install -d ${D}${datadir}/${BPN}/fonts
install -m 644 uismall.bdf ${D}${datadir}/${BPN}/fonts
install -d ${D}${datadir}/${BPN}/hash
install -pm 644 hash/* ${D}${datadir}/${BPN}/hash
install -d ${D}${datadir}/${BPN}/hlsl
install -pm 644 hlsl/*.fx ${D}${datadir}/${BPN}/hlsl
install -d ${D}${datadir}/${BPN}/keymaps
install -pm 644 keymaps/* ${D}${datadir}/${BPN}/keymaps
pushd language
find -type d -exec install -d ${D}${datadir}/${BPN}/language/{} \;
find -type f -name \*.mo -exec install -pm 644 {} ${D}${datadir}/${BPN}/language/{} \;
popd
pushd plugins
find -type d -exec install -d ${D}${datadir}/${BPN}/plugins/{} \;
find -type f -exec install -pm 644 {} ${D}${datadir}/${BPN}/plugins/{} \;
popd
install -d ${D}${datadir}/${BPN}/shader
pushd src/osd/modules/opengl
install -pm 644 shader/*.?sh ${D}${datadir}/${BPN}/shader
popd
pushd docs/man
install -d ${D}${mandir}/man1
install -pm 644 castool.1 chdman.1 imgtool.1 floptool.1 jedutil.1 ldresample.1 \
ldverify.1 romcmp.1 ${D}${mandir}/man1
install -d ${D}${mandir}/man6
install -pm 644 mame.6 mess.6 ${D}${mandir}/man6
popd
# install paths where user can add downloaded files
for folder in roms samples; do
install -d ${D}${sysconfdir}/skel/Emulators/${BPN}/$folder
done
echo "Store your downloaded files in subfolders" >> ${D}${sysconfdir}/skel/Emulators/${BPN}/Readme
# install paths for created data
for folder in cfg comments diff history inp nvram snap state; do
install -d ${D}${sysconfdir}/skel/.${BPN}/$folder
done
# user config
install -d ${D}${sysconfdir}/skel/.config/${BPN}/ini
# Create ini file
cat > ${WORKDIR}/${BPN}.ini << EOF
# Define source paths
artpath ${datadir}/${BPN}/artwork
#bgfx_path ${datadir}/${BPN}/bgfx
#cheatpath ${datadir}/${BPN}/cheat
#crosshairpath ${datadir}/${BPN}/crosshair
ctrlrpath ${datadir}/${BPN}/ctrlr
fontpath ${datadir}/${BPN}/fonts
hashpath ${datadir}/${BPN}/hash
languagepath ${datadir}/${BPN}/language
pluginspath ${datadir}/${BPN}/plugins
# Have these per user for simple download/install
rompath \$HOME/Emulators/${BPN}/roms
samplepath \$HOME/Emulators/${BPN}/samples
# Allow user to override ini settings
inipath \$HOME/.config/${BPN}/ini;${sysconfdir}/${BPN}
# Set paths for local storage
cfg_directory \$HOME/.${BPN}/cfg
comment_directory \$HOME/.${BPN}/comments
diff_directory \$HOME/.${BPN}/diff
historypath \$HOME/.${BPN}/history
input_directory \$HOME/.${BPN}/inp
nvram_directory \$HOME/.${BPN}/nvram
snapshot_directory \$HOME/.${BPN}/snap
state_directory \$HOME/.${BPN}/state
EOF
install -d ${D}${sysconfdir}/${BPN}
install -m 644 ${WORKDIR}/${BPN}.ini ${D}${sysconfdir}/${BPN}
# Logo
install -d ${D}${datadir}/pixmaps
install -m 644 ${S}/docs/source/images/MAMElogo.svg ${D}${datadir}/pixmaps
# cleanup
find ${D}${datadir}/${BPN} -name LICENSE -exec rm {} \;
find ${D}${datadir}/${BPN} -name README.md -exec rm {} \;
}
PACKAGES =+ "${PN}-tools"
FILES_${PN}-tools = " \
${bindir}/castool \
${bindir}/chdman \
${bindir}/floptool \
${bindir}/imgtool \
${bindir}/jedutil \
${bindir}/ldresample \
${bindir}/ldverify \
${bindir}/nltool \
${bindir}/nlwav \
${bindir}/pngcmp \
${bindir}/${BPN}-regrep \
${bindir}/romcmp \
${bindir}/${BPN}-split \
${bindir}/${BPN}-src2html \
${bindir}/${BPN}-srcclean \
${bindir}/unidasm \
"

View File

@@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=Mame
Comment=MAME is a multi-purpose emulation framework
Exec=mame
Icon=MAMElogo.svg
Terminal=false
StartupNotify=false
Categories=Game

View File

@@ -0,0 +1,48 @@
From 0ba9c56e7a27bd926270678e7add074fb00204f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sun, 3 Mar 2019 15:00:41 +0100
Subject: [PATCH] pokey: Make step_one_clock inline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This gives another small performance win on machines using multiple pokeys. Since
it ruins our valgind output and upstream will not be keen on:
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/devices/sound/pokey.cpp | 2 +-
src/devices/sound/pokey.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/devices/sound/pokey.cpp b/src/devices/sound/pokey.cpp
index 231dc01e8b..d20c20cc8a 100644
--- a/src/devices/sound/pokey.cpp
+++ b/src/devices/sound/pokey.cpp
@@ -562,7 +562,7 @@ void pokey_device::step_pot()
*
*/
-void pokey_device::step_one_clock(void)
+inline void pokey_device::step_one_clock(void)
{
/* Clocks only count if we are not in a reset */
if (m_SKCTL & SK_RESET)
diff --git a/src/devices/sound/pokey.h b/src/devices/sound/pokey.h
index 7e63e89e54..48858bc743 100644
--- a/src/devices/sound/pokey.h
+++ b/src/devices/sound/pokey.h
@@ -264,7 +264,7 @@ private:
static constexpr int POKEY_CHANNELS = 4;
- void step_one_clock();
+ inline void step_one_clock();
void step_keyboard();
void step_pot();
--
2.20.1

View File

@@ -1,92 +0,0 @@
SUMMARY = "Multiple Arcade Machine Emulator"
HOMEPAGE = "http://www.mamedev.org/index.php"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f7c747554c44283f89bdf31be2d12551"
SRC_URI = " \
https://github.com/mamedev/mame/archive/${BPN}${PV}.tar.gz \
"
SRC_URI[md5sum] = "e690994e57a13380045bd74258a698ca"
SRC_URI[sha256sum] = "d51f2a3d740dff13acbe23b0bdcdd9a7077ee873baeabdf8ad5b1499bd9df99f"
S = "${WORKDIR}/${BPN}-${BPN}${PV}"
inherit siteinfo
DEPENDS = " \
libsdl2 \
libsdl2-ttf \
fontconfig \
libxinerama \
\
expat \
zlib \
flac \
jpeg \
lua lua-native \
sqlite3 \
portaudio-v19 \
"
CLEANBROKEN = "1"
# TBD: x86 may overrideoverrides later - cannot test
MAME_NOASM="NOASM=1"
# genie.lua does not detect 64bit targets at least on aarch64
MAME_PTR64 = "${@oe.utils.conditional('SITEINFO_BITS', '64', '-DPTR64=1', '', d)}"
EXTRA_OEMAKE = " \
linux \
CROSS_BUILD=1 \
OVERRIDE_CC='${CC} ${MAME_PTR64}' \
OVERRIDE_CXX='${CXX} ${MAME_PTR64}' \
TOOLS=1 \
USE_QTDEBUG=0 \
NOWERROR=1 \
${MAME_NOASM} \
USE_SYSTEM_LIB_EXPAT=1 \
USE_SYSTEM_LIB_ZLIB=1 \
USE_SYSTEM_LIB_FLAC=1 \
USE_SYSTEM_LIB_JPEG=1 \
USE_SYSTEM_LIB_LUA=1 \
USE_SYSTEM_LIB_SQLITE3=1 \
USE_SYSTEM_LIB_PORTAUDIO=1 \
"
do_compile_prepend() {
# seems there is some race. Build complains
# | Assembler messages:
# | Fatal error: can't create obj/Release/3rdparty/lzma/C/7zAlloc.o: No such file or directory
# | Assembler messages:
# | Fatal error: can't create obj/Release/src/mame/drivers/acvirus.o: No such file or directory
# But that directory is created with a few files
mkdir -p ${S}/build/projects/sdl/mame/gmake-linux/obj/Release/3rdparty/lzma/C
}
do_install() {
# Note: Unstripped mame binary for armv7 is > 1GB!!
install -d ${D}${bindir}
install mame ${D}${bindir}/
install -d ${D}${libexecdir}
for binary in \
castool \
chdman \
floptool \
imgtool \
jedutil \
ldresample \
ldverify \
mame \
nltool \
romcmp \
split \
src2html \
unidasm \
; \
do
install $binary ${D}${libexecdir}/
done
}

View File

@@ -1,5 +1,5 @@
From 389ed0e18c10a8b3368d0b9fbd2e1f5a7e37f072 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 30 Jun 2017 09:30:32 +0200
Subject: [PATCH] custtomize configure and Makefile to our needs
MIME-Version: 1.0
@@ -8,7 +8,7 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
Makefile | 2 +-
@@ -40,45 +40,6 @@ index a1ecfb1..05e5c1c 100755
;;
esac
@@ -347,21 +348,26 @@ esac
#
# Determine the C++ compiler
#
-echo_n "Looking for C++ compiler... "
-if test -n "$_host"; then
- compilers="$CXX $_host_prefix-g++ $_host_prefix-c++ $_host_cpu-$_host_os-g++ $_host_cpu-$_host_os-c++"
+if test_compiler "$CXX"; then
+ echo "$CXX"
else
- compilers="$CXX g++ c++"
+ if test -n "$_host"; then
+ compilers="$_host_prefix-g++ $_host_prefix-c++ $_host_cpu-$_host_os-g++ $_host_cpu-$_host_os-c++"
+ else
+ compilers="g++ c++"
+ fi
+
+ for compiler in $compilers; do
+ echo "testing compile $compiler"
+ if test_compiler $compiler; then
+ CXX=$compiler
+ echo $CXX
+ break
+ fi
+ done
fi
-for compiler in $compilers; do
- if test_compiler "$compiler -std=c++14"; then
- CXX=$compiler
- echo $CXX
- break
- fi
-done
-if test -z $CXX; then
+if test -z "$CXX"; then
echo "none found!"
exit 1
fi
@@ -511,8 +517,9 @@ if test -n "$_host"; then
_host_os=win32
;;
@@ -100,7 +61,7 @@ index a1ecfb1..05e5c1c 100755
SRC="src"
CORE="$SRC/emucore"
@@ -694,7 +701,7 @@ ZLIB="$SRC/zlib"
@@ -698,7 +698,7 @@ ZLIB="$SRC/zlib"
INCLUDES="-I$CORE -I$COMMON -I$TV -I$GUI -I$TIA -I$TIA_FRAME_MANAGER"
@@ -109,6 +70,15 @@ index a1ecfb1..05e5c1c 100755
if test "$_build_static" = yes ; then
_sdl_conf_libs="--static-libs"
LDFLAGS="-static $LDFLAGS"
@@ -706,7 +706,7 @@ else
_sdl_conf_libs="--libs"
fi
-LIBS="$LIBS `$_sdlconfig $_sdl_conf_libs`"
+LIBS="$LIBS `pkg-config $_sdl_conf_libs sdl2`"
LD=$CXX
case $_host_os in
--
2.14.3

View File

@@ -13,9 +13,7 @@ SRC_URI = " \
https://github.com/stella-emu/stella/releases/download/${PV}/${BPN}-${PV}-src.tar.xz \
file://0001-custtomize-configure-and-Makefile-to-our-needs.patch \
"
SRC_URI[md5sum] = "f7cccdf4761b7183a235ffeef136e180"
SRC_URI[sha256sum] = "e074317c25e5d4cabec4558909d301c3a7654ad620863f05d342244fe6bdfe0a"
SRC_URI[md5sum] = "9df5fd3af9720115359ebf0171ed36e6"
SRC_URI[sha256sum] = "d611f98bb35ed9eacfb63826b12b4e8b67b874a2a87019d4bdaf1e7f4724c40d"
CLEANBROKEN = "1"
FILES_${PN} += "${datadir}/icons"

View File

@@ -0,0 +1,30 @@
From f4fa367ab6e79cbfd77254237335f383311006ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 9 Feb 2019 22:16:52 +0100
Subject: [PATCH] Set fixed VICEDIR
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index c5139fd..402e893 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5010,6 +5010,7 @@ case "$host_os" in
AM_CONDITIONAL(ALTERNATE_DOCDIR, false)
;;
esac
+VICEDIR="$libdir/vice"
AC_SUBST(VICEDIR)
AC_DEFINE_UNQUOTED(VICEDIR, "$VICEDIR",
[Where should we lookup for data files?])
--
2.20.1

View File

@@ -7,9 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
# [1] ftp://arnold.c64.org/pub/games/
SRC_URI = " \
${SOURCEFORGE_MIRROR}/vice-emu/${PN}-${PV}.tar.gz \
${SOURCEFORGE_MIRROR}/vice-emu/${BPN}-${PV}.tar.gz \
file://0001-fix-autoreconfig.patch \
file://0002-Hack-build-with-latest-FFMPEG.patch \
file://0003-Set-fixed-VICEDIR.patch \
file://c64_16.png \
file://c64_32.png \
file://c64_48.png \
@@ -40,6 +41,7 @@ DEPENDS = " \
${@bb.utils.contains("DISTRO_FEATURES", "x11 opengl", "gtkglext", "", d)} \
"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[pulseaudio] = "--with-pulse,--without-pulse,pulseaudio,pulseaudio-server"
EXTRA_OECONF = " \
@@ -50,6 +52,7 @@ EXTRA_OECONF = " \
--enable-gnomeui \
--with-uithreads \
--without-oss \
--libdir=${libdir} \
"
do_install_append() {

View File

@@ -0,0 +1,64 @@
From 28a0682bf3af1433ffdcd3c0458fdf4ebd5cc11a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 7 Jun 2019 21:49:17 +0200
Subject: [PATCH] Fix build with gcc 9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/destruct.c | 2 +-
src/game_menu.c | 4 ++--
src/video_scale_hqNx.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/destruct.c b/src/destruct.c
index 873c76b..1150ab5 100644
--- a/src/destruct.c
+++ b/src/destruct.c
@@ -2240,7 +2240,7 @@ static void DE_RunTickAI( void )
ptrUnit = ptrTarget->unit;
for (j = 0; j < config.max_installations; j++, ptrUnit++)
{
- if (abs(ptrUnit->unitX - ptrCurUnit->unitX) < 8)
+ if (abs(((Sint32)ptrUnit->unitX) - ((Sint32)ptrCurUnit->unitX)) < 8)
{
/* I get it. This makes helicoptors hover over
* their enemies. */
diff --git a/src/game_menu.c b/src/game_menu.c
index 7d24ad7..438c247 100644
--- a/src/game_menu.c
+++ b/src/game_menu.c
@@ -1992,9 +1992,9 @@ void JE_updateNavScreen( void )
navX = navX + (newNavX - navX) / 2.0f;
navY = navY + (newNavY - navY) / 2.0f;
- if (abs(newNavX - navX) < 1)
+ if (fabs(newNavX - navX) < 1)
navX = newNavX;
- if (abs(newNavY - navY) < 1)
+ if (fabs(newNavY - navY) < 1)
navY = newNavY;
fill_rectangle_xy(VGAScreen, 314, 0, 319, 199, 230);
diff --git a/src/video_scale_hqNx.c b/src/video_scale_hqNx.c
index 51836e6..6c7b5a5 100644
--- a/src/video_scale_hqNx.c
+++ b/src/video_scale_hqNx.c
@@ -120,8 +120,8 @@ inline void interp10(Uint32 *pc, Uint32 c1, Uint32 c2, Uint32 c3)
inline bool diff(unsigned int w1, unsigned int w2)
{
- Uint32 YUV1 = yuv_palette[w1];
- Uint32 YUV2 = yuv_palette[w2];
+ Sint32 YUV1 = yuv_palette[w1];
+ Sint32 YUV2 = yuv_palette[w2];
return ( ( abs((YUV1 & Ymask) - (YUV2 & Ymask)) > trY ) ||
( abs((YUV1 & Umask) - (YUV2 & Umask)) > trU ) ||
( abs((YUV1 & Vmask) - (YUV2 & Vmask)) > trV ) );
--
2.20.1

View File

@@ -16,6 +16,7 @@ SRC_URI = " \
file://0003-fix-build-with-pedantic-gcc6.patch \
file://0004-increase-buffer-size-to-avoid-gcc7-format-overflow-e.patch \
file://0005-fix-build-with-gcc8.patch \
file://0006-Fix-build-with-gcc-9.patch \
"
SRC_URI[md5sum] = "978686c5a1dfbac69a2161aadf084c2b"
SRC_URI[sha256sum] = "f54b6b3cedcefa187c9f605d6164aae29ec46a731a6df30d351af4c008dee45f"

View File

@@ -0,0 +1,97 @@
From 908d5fcdfeac32d7ab5cff307d0a46a962ed600f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 6 Sep 2016 00:08:16 +0200
Subject: [PATCH] do not build java application to set midi defaults
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
dragging in whole java environment for a small tool not everybody misses
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
CMakeLists.txt | 2 --
pm_common/CMakeLists.txt | 18 +-----------------
pm_dylib/CMakeLists.txt | 14 --------------
3 files changed, 1 insertion(+), 33 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4919b78..2137ce4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,6 +72,4 @@ add_subdirectory(pm_test)
add_subdirectory(pm_dylib)
-# Cannot figure out how to make an xcode Java application with CMake
-add_subdirectory(pm_java)
diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt
index bfd4ab9..9ea9030 100644
--- a/pm_common/CMakeLists.txt
+++ b/pm_common/CMakeLists.txt
@@ -67,15 +67,6 @@ if(UNIX)
message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT})
else(APPLE)
# LINUX settings...
- include(FindJNI)
- message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH})
- message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH})
- message(STATUS "JAVA_INCLUDE_PATH2 is " ${JAVA_INCLUDE_PATH2})
- message(STATUS "JAVA_JVM_LIBRARY is " ${JAVA_JVM_LIBRARY})
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
- # libjvm.so is found relative to JAVA_INCLUDE_PATH:
- set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}/libjvm.so)
-
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
list(APPEND LIBSRC ../porttime/ptlinux)
@@ -109,17 +100,10 @@ add_library(portmidi-static ${LIBSRC})
set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s")
target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
-# define the jni library
-include_directories(${JAVA_INCLUDE_PATHS})
-
-set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
-add_library(pmjni SHARED ${JNISRC})
-target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
# install the libraries (Linux and Mac OS X command line)
if(UNIX)
- INSTALL(TARGETS portmidi-static pmjni
+ INSTALL(TARGETS portmidi-static
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
# .h files installed by pm_dylib/CMakeLists.txt, so don't need them here
diff --git a/pm_dylib/CMakeLists.txt b/pm_dylib/CMakeLists.txt
index a0c615e..8ad415f 100644
--- a/pm_dylib/CMakeLists.txt
+++ b/pm_dylib/CMakeLists.txt
@@ -63,20 +63,6 @@ if(UNIX)
message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT})
else(APPLE)
# LINUX settings...
- include(FindJNI)
- # message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH})
- # message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH})
- # note: should use JAVA_JVM_LIB_PATH, but it is not set properly
- # note: user might need to set JAVA_INCLUDE_PATH manually
- #
- # this will probably break on BSD and other Unix systems; the fix
- # depends on whether FindJNI can find Java or not. If yes, then
- # we should try to rely on automatically set JAVA_INCLUDE_PATH and
- # JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH
- # and JAVA_INCLUDE_PATH2 set by user (will need clear documentation
- # because JAVA_INCLUDE_PATH2 is pretty obscure)
- set(JAVAVM_LIB ${JAVA_JVM_LIBRARY})
-
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
list(APPEND LIBSRC ../porttime/ptlinux)
--
2.5.5

View File

@@ -0,0 +1,48 @@
From 7240f951277e47f2f37523b3ca5408bfe5fc3c53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 6 Sep 2016 01:04:42 +0200
Subject: [PATCH 2/2] fix compilation du to unkown functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
pm_linux/finddefault.c | 3 +++
pm_linux/pmlinux.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/pm_linux/finddefault.c b/pm_linux/finddefault.c
index 6340316..89ca43a 100644
--- a/pm_linux/finddefault.c
+++ b/pm_linux/finddefault.c
@@ -5,10 +5,13 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <ctype.h>
#include "portmidi.h"
#define STRING_MAX 256
+int pm_find_default_device(char *pattern, int is_input);
+
/* skip over spaces, return first non-space */
void skip_spaces(FILE *inf)
{
diff --git a/pm_linux/pmlinux.c b/pm_linux/pmlinux.c
index 49e266d..42c0906 100755
--- a/pm_linux/pmlinux.c
+++ b/pm_linux/pmlinux.c
@@ -26,6 +26,8 @@
PmDeviceID pm_default_input_device_id = -1;
PmDeviceID pm_default_output_device_id = -1;
+PmDeviceID find_default_device(char *path, int input, PmDeviceID id);
+
void pm_init()
{
/* Note: it is not an error for PMALSA to fail to initialize.
--
2.5.5

View File

@@ -0,0 +1,124 @@
From e597c5c8636a269dbe5e664c706e66887479f161 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 26 Sep 2018 01:44:12 +0200
Subject: [PATCH] Fix format-security
Stolen from [1]
[1] https://src.fedoraproject.org/cgit/rpms/portmidi.git/plain/portmidi-217-format-security.patch
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
pm_test/latency.c | 2 +-
pm_test/midiclock.c | 4 ++--
pm_test/mm.c | 8 ++++----
pm_test/sysex.c | 2 +-
pm_test/test.c | 2 +-
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/pm_test/latency.c b/pm_test/latency.c
index 507648c..5f4bb5c 100755
--- a/pm_test/latency.c
+++ b/pm_test/latency.c
@@ -280,7 +280,7 @@ int get_number(char *prompt)
{
char line[STRING_MAX];
int n = 0, i;
- printf(prompt);
+ printf("%s",prompt);
while (n != 1) {
n = scanf("%d", &i);
fgets(line, STRING_MAX, stdin);
diff --git a/pm_test/midiclock.c b/pm_test/midiclock.c
index 60fcf7a..17967a5 100644
--- a/pm_test/midiclock.c
+++ b/pm_test/midiclock.c
@@ -167,7 +167,7 @@ int get_number(char *prompt)
{
char line[STRING_MAX];
int n = 0, i;
- printf(prompt);
+ printf("%s",prompt);
while (n != 1) {
n = scanf("%d", &i);
fgets(line, STRING_MAX, stdin);
@@ -256,7 +256,7 @@ int main(int argc, char **argv)
err = Pm_OpenOutput(&midi, outp, DRIVER_INFO, OUTPUT_BUFFER_SIZE,
TIME_PROC, TIME_INFO, LATENCY);
if (err) {
- printf(Pm_GetErrorText(err));
+ printf("%s",Pm_GetErrorText(err));
goto error_exit_no_device;
}
active = true;
diff --git a/pm_test/mm.c b/pm_test/mm.c
index 209ff74..f3e6e7b 100755
--- a/pm_test/mm.c
+++ b/pm_test/mm.c
@@ -119,7 +119,7 @@ int get_number(char *prompt)
{
char line[STRING_MAX];
int n = 0, i;
- printf(prompt);
+ printf("%s",prompt);
while (n != 1) {
n = scanf("%d", &i);
fgets(line, STRING_MAX, stdin);
@@ -136,7 +136,7 @@ void receive_poll(PtTimestamp timestamp, void *userData)
if (!active) return;
while ((count = Pm_Read(midi_in, &event, 1))) {
if (count == 1) output(event.message);
- else printf(Pm_GetErrorText(count));
+ else printf("%s",Pm_GetErrorText(count));
}
}
@@ -168,7 +168,7 @@ int main(int argc, char **argv)
inp = get_number("Type input device number: ");
err = Pm_OpenInput(&midi_in, inp, NULL, 512, NULL, NULL);
if (err) {
- printf(Pm_GetErrorText(err));
+ printf("%s",Pm_GetErrorText(err));
Pt_Stop();
mmexit(1);
}
@@ -484,7 +484,7 @@ private int put_pitch(int p)
"gs", "a", "bf", "b" };
/* note octave correction below */
sprintf(result, "%s%d", ptos[p % 12], (p / 12) - 1);
- printf(result);
+ printf("%s",result);
return strlen(result);
}
diff --git a/pm_test/sysex.c b/pm_test/sysex.c
index 627a3df..da2bb90 100755
--- a/pm_test/sysex.c
+++ b/pm_test/sysex.c
@@ -39,7 +39,7 @@ int get_number(char *prompt)
{
char line[STRING_MAX];
int n = 0, i;
- printf(prompt);
+ printf("%s",prompt);
while (n != 1) {
n = scanf("%d", &i);
fgets(line, STRING_MAX, stdin);
diff --git a/pm_test/test.c b/pm_test/test.c
index 03d6331..dcac1bc 100755
--- a/pm_test/test.c
+++ b/pm_test/test.c
@@ -37,7 +37,7 @@ int get_number(char *prompt)
{
char line[STRING_MAX];
int n = 0, i;
- printf(prompt);
+ printf("%s",prompt);
while (n != 1) {
n = scanf("%d", &i);
fgets(line, STRING_MAX, stdin);
--
2.14.4

View File

@@ -0,0 +1,107 @@
diff -rupN portmidi.old/pm_common/CMakeLists.txt portmidi/pm_common/CMakeLists.txt
--- portmidi.old/pm_common/CMakeLists.txt 2010-09-20 15:57:48.000000000 -0400
+++ portmidi/pm_common/CMakeLists.txt 2011-06-23 22:35:41.000000000 -0400
@@ -120,8 +120,8 @@ set_target_properties(pmjni PROPERTIES E
# install the libraries (Linux and Mac OS X command line)
if(UNIX)
INSTALL(TARGETS portmidi-static pmjni
- LIBRARY DESTINATION /usr/local/lib
- ARCHIVE DESTINATION /usr/local/lib)
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
# .h files installed by pm_dylib/CMakeLists.txt, so don't need them here
# INSTALL(FILES portmidi.h ../porttime/porttime.h
# DESTINATION /usr/local/include)
diff -rupN portmidi.old/pm_dylib/CMakeLists.txt portmidi/pm_dylib/CMakeLists.txt
--- portmidi.old/pm_dylib/CMakeLists.txt 2009-11-20 00:41:09.000000000 -0500
+++ portmidi/pm_dylib/CMakeLists.txt 2011-06-23 22:35:41.000000000 -0400
@@ -59,7 +59,7 @@ if(UNIX)
set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework")
set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers)
- set(INSTALL_NAME_DIR "/usr/local/lib")
+ set(INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT})
else(APPLE)
# LINUX settings...
@@ -75,11 +75,7 @@ if(UNIX)
# JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH
# and JAVA_INCLUDE_PATH2 set by user (will need clear documentation
# because JAVA_INCLUDE_PATH2 is pretty obscure)
- set(JAVA_INCLUDE_PATH ${JAVA_INCLUDE_PATH-UNKNOWN}
- CACHE STRING "where to find Java SDK include directory")
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH}/linux)
- # libjvm.so is found relative to JAVA_INCLUDE_PATH:
- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../jre/lib/i386/client/libjvm.so)
+ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY})
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
@@ -114,14 +110,14 @@ prepend_path(SHARED_PATHS ../pm_common/
list(APPEND LIBSRC ${SHARED_PATHS})
add_library(portmidi-dynamic SHARED ${LIBSRC})
-set_target_properties(portmidi-dynamic PROPERTIES OUTPUT_NAME "portmidi")
+set_target_properties(portmidi-dynamic PROPERTIES LINK_FLAGS "-L${CMAKE_CACHEFILE_DIR}/Release" SOVERSION 0 VERSION 0.${VERSION} OUTPUT_NAME "portmidi")
target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS})
# install the libraries (Linux and Mac OS X command line)
if(UNIX)
INSTALL(TARGETS portmidi-dynamic
- LIBRARY DESTINATION /usr/local/lib
- ARCHIVE DESTINATION /usr/local/lib)
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
INSTALL(FILES ../pm_common/portmidi.h ../porttime/porttime.h
- DESTINATION /usr/local/include)
+ DESTINATION ${INCLUDE_INSTALL_DIR})
endif(UNIX)
diff -rupN portmidi.old/pm_java/CMakeLists.txt portmidi/pm_java/CMakeLists.txt
--- portmidi.old/pm_java/CMakeLists.txt 2009-11-04 10:20:44.000000000 -0500
+++ portmidi/pm_java/CMakeLists.txt 2011-06-23 22:35:54.000000000 -0400
@@ -16,12 +16,12 @@ if(UNIX)
COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java
MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java
DEPENDS pmdefaults/PmDefaults.java
- WORKING_DIRECTORY pm_java)
+ )
add_custom_command(OUTPUT pmdefaults/PmDefaults.class
COMMAND javac -classpath . pmdefaults/PmDefaults.java
MAIN_DEPENDENCY pmdefaults/PmDefaults.java
DEPENDS pmdefaults/PmDefaultsFrame.java
- WORKING_DIRECTORY pm_java)
+ )
add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
COMMAND cp pmdefaults/portmusic_logo.png .
COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar
@@ -32,7 +32,7 @@ if(UNIX)
COMMAND rm portmusic_logo.png
MAIN_DEPENDENCY pmdefaults/PmDefaults.class
DEPENDS ${PMDEFAULTS_ALL_CLASSES}
- WORKING_DIRECTORY pm_java)
+ )
add_custom_target(pmdefaults_target ALL
DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar)
# message(STATUS "add_custom_target: pmdefaults.jar")
@@ -41,7 +41,7 @@ if(UNIX)
INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
DESTINATION /usr/share/java)
INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults
- DESTINATION /usr/local/bin)
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif(APPLE)
endif(UNIX)
# In windows, use pm_java/make.bat
diff -rupN portmidi.old/pm_test/CMakeLists.txt portmidi/pm_test/CMakeLists.txt
--- portmidi.old/pm_test/CMakeLists.txt 2010-09-20 15:57:48.000000000 -0400
+++ portmidi/pm_test/CMakeLists.txt 2011-06-23 22:35:41.000000000 -0400
@@ -12,7 +12,7 @@ endif(WIN32)
macro(make_a_test name)
add_executable(${name} ${name}.c)
- target_link_libraries(${name} portmidi-static ${PM_NEEDED_LIBS})
+ target_link_libraries(${name} portmidi-dynamic)
add_dependencies(${name} portmidi-static)
endmacro(make_a_test)

View File

@@ -0,0 +1,36 @@
SUMMARY = "Real-time Midi I/O Library"
HOMEPAGE = "http://portmedia.sourceforge.net"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=a0c1c261bc48165d48388e3a121a31e9"
inherit cmake dos2unix
DEPENDS += " \
alsa-lib \
"
SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/portmedia/${BPN}/${PV}/${BPN}-src-${PV}.zip \
file://fedora-portmidi-cmake.patch \
file://0001-do-not-build-java-application-to-set-midi-defaults.patch \
file://0002-fix-compilation-du-to-unkown-functions.patch \
file://0003-fix-format-security..patch \
"
SRC_URI[md5sum] = "03f46fd3947e2ef4c8c465baaf832241"
SRC_URI[sha256sum] = "08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f"
S = "${WORKDIR}/${BPN}"
EXTRA_OECMAKE += " \
-DLIB_INSTALL_DIR=${libdir} \
-DINCLUDE_INSTALL_DIR=${includedir} \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=Release \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=Release \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=Release \
"
do_install_append() {
ln -s libportmidi.so.0. "${D}/${libdir}/libporttime.so"
ln -s libportmidi.so.0. "${D}/${libdir}/libporttime.so.0"
ln -s libportmidi.so.0. "${D}/${libdir}/libporttime.so.0."
}