summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD60
-rwxr-xr-x[-rw-r--r--]emulationstation.desktop2
-rwxr-xr-xinstall.patch79
-rwxr-xr-xpugixml.patch213
5 files changed, 340 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e51b5fe57a36..cd94859f4306 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = emulationstation
pkgdesc = Emulation Station is a flexible emulator front-end supporting keyboardless navigation and custom system themes.
- pkgver = 2.9.4
+ pkgver = 2.10.0
pkgrel = 1
url = https://github.com/RetroPie/EmulationStation
install = emulationstation.install
@@ -8,11 +8,11 @@ pkgbase = emulationstation
arch = x86_64
arch = armv6h
arch = armv7h
+ arch = aarch64
license = MIT
makedepends = cmake
makedepends = boost
makedepends = freetype2
- makedepends = eigen
makedepends = curl
makedepends = git
depends = vlc
@@ -34,15 +34,15 @@ pkgbase = emulationstation
optdepends = ppsspp-headless: PSP support
optdepends = steam: Steam support
conflicts = emulationstation-git
- source = https://github.com/RetroPie/EmulationStation/archive/v2.9.4.tar.gz
- source = https://patch-diff.githubusercontent.com/raw/RetroPie/EmulationStation/pull/618.patch
- source = https://gist.githubusercontent.com/omgitsaheadcrab/9fae969ebad3ee44a52f5ef72037569d/raw/9cf5642e6a20a5d4899f20435d0f51200bc36b28/pugixml.patch
+ source = git+https://github.com/RetroPie/EmulationStation.git#commit=c8056701b61b15ac1081e2d01e586e3f48ba8d6a
+ source = install.patch
+ source = pugixml.patch
source = emulationstation.desktop
source = emulationstation.png
- sha256sums = 79452f6c1e8aaebe98c19708b3587a0a45330bf20b3301d556285d5cd756fa4a
- sha256sums = 0dcb7fbaf2d17ac109f2e4de1fb9dbd4226278dba9351be90df26c5c931de284
- sha256sums = ca468dcfc59c4c56d84da1823fdcaa33277debb91195d7feffbf74650996233e
- sha256sums = 5564803e0a82e132ab507b9cd341b32d1ce5b8be527996fbe13607d90f1dde2c
+ sha256sums = SKIP
+ sha256sums = 2608b7de63be4d4d117c2712517e3c40df872f6619f08ac9356f13bdc8c179ab
+ sha256sums = e6cb6a134117cb734c69ed86eecd31cfe29b5d52aa3e00b71a614809c1d7e0fe
+ sha256sums = 56a68a60577d015224d721ab169f1439d1545a0fdcf1c23eeee599dc49ea51c6
sha256sums = ac589d9da5c258226f8de76e99afe2b07ac86030ced90d284d31b51193057f9c
pkgname = emulationstation
diff --git a/PKGBUILD b/PKGBUILD
index 4bc4b5c9ed2d..bbb15fc5cb0b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,15 +1,17 @@
# Maintainer: Guillaume Hayot ghayot@postblue.info
pkgname=emulationstation
_gitname=EmulationStation
-pkgver=2.9.4
-pkgrel=2
+# v2.10.0 didn't have a release package made, use commit
+_gitcommit=c8056701b61b15ac1081e2d01e586e3f48ba8d6a
+pkgver=2.10.0
+pkgrel=1
pkgdesc="Emulation Station is a flexible emulator front-end supporting keyboardless navigation and custom system themes."
-arch=('i686' 'x86_64' 'armv6h' 'armv7h')
+arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
url="https://github.com/RetroPie/EmulationStation"
license=('MIT')
install=emulationstation.install
depends=('vlc' 'alsa-lib' 'sdl2' 'boost-libs' 'freeimage' 'curl' 'libraw' 'libcec' 'rapidjson' 'pugixml')
-makedepends=('cmake' 'boost' 'freetype2' 'eigen' 'curl' 'git')
+makedepends=('cmake' 'boost' 'freetype2' 'curl' 'git')
optdepends=('ttf-droid: Fallback fonts for Chinese/Japanese/Korean characters'
'dolphin-emu: GameCube and Wii support'
'mupen64plus: Nintendo 64 support'
@@ -19,38 +21,52 @@ optdepends=('ttf-droid: Fallback fonts for Chinese/Japanese/Korean characters'
'ppsspp-headless: PSP support'
'steam: Steam support')
conflicts=(emulationstation-git)
-source=("https://github.com/RetroPie/$_gitname/archive/v$pkgver.tar.gz"
- "https://patch-diff.githubusercontent.com/raw/RetroPie/$_gitname/pull/618.patch"
- "https://gist.githubusercontent.com/omgitsaheadcrab/9fae969ebad3ee44a52f5ef72037569d/raw/9cf5642e6a20a5d4899f20435d0f51200bc36b28/pugixml.patch"
+source=("git+${url}.git#commit=${_gitcommit}"
+ "install.patch"
+ "pugixml.patch"
"emulationstation.desktop"
"emulationstation.png")
-sha256sums=('79452f6c1e8aaebe98c19708b3587a0a45330bf20b3301d556285d5cd756fa4a'
- '0dcb7fbaf2d17ac109f2e4de1fb9dbd4226278dba9351be90df26c5c931de284'
- 'ca468dcfc59c4c56d84da1823fdcaa33277debb91195d7feffbf74650996233e'
- '5564803e0a82e132ab507b9cd341b32d1ce5b8be527996fbe13607d90f1dde2c'
+sha256sums=('SKIP'
+ '2608b7de63be4d4d117c2712517e3c40df872f6619f08ac9356f13bdc8c179ab'
+ 'e6cb6a134117cb734c69ed86eecd31cfe29b5d52aa3e00b71a614809c1d7e0fe'
+ '56a68a60577d015224d721ab169f1439d1545a0fdcf1c23eeee599dc49ea51c6'
'ac589d9da5c258226f8de76e99afe2b07ac86030ced90d284d31b51193057f9c')
-
prepare() {
- rm -rf "${_gitname}-${pkgver}/external/pugixml"
- rm -rf "${_gitname}-${pkgver}/.gitmodules"
- patch -d "${_gitname}-${pkgver}" -Np1 -i "${srcdir}/618.patch"
- patch -d "${_gitname}-${pkgver}" -Np1 -i "${srcdir}/pugixml.patch"
+ cd "${_gitname}"
+ git clean -f
+ git submodule update --init --recursive
+
+ cd "${srcdir}"
+ patch -d "${_gitname}" -Np1 -i "${srcdir}/install.patch"
+ patch -d "${_gitname}" -Np1 -i "${srcdir}/pugixml.patch"
}
build() {
- cmake -B "${_gitname}-${pkgver}/build" \
- -S "${_gitname}-${pkgver}" \
+ # Default to using desktop GL
+ _cmakeflags='-DGL:BOOL=ON'
+
+ if [[ "${CARCH}" = 'armv6h' ]]; then
+ # Raspberry Pi Model 1 only supports embedded GLES
+ _cmakeflags='-DGLES:BOOL=ON -DRPI:BOOL=ON'
+ elif [[ "${CARCH}" == 'armv7h' || "${CARCH}" = 'aarch64' ]]; then
+ # Raspberry Pi Model 2 and up use mesa drivers
+ _cmakeflags='-DUSE_MESA_GLES:BOOL=ON -DRPI:BOOL=ON'
+ fi
+
+ cmake -B "${_gitname}/build" \
+ -S "${_gitname}" \
-DCMAKE_BUILD_TYPE:STRING='None' \
-DCMAKE_INSTALL_LIBDIR:PATH='lib' \
-DCMAKE_INSTALL_PREFIX:PATH='/usr' \
+ ${_cmakeflags} \
-Wno-dev -Wno-deprecated \
..
- make -C "${_gitname}-${pkgver}/build" all
+ make -C "${_gitname}/build" all
}
package() {
- make -C "${_gitname}-${pkgver}/build" DESTDIR="${pkgdir}" install
- mv ${pkgdir}/usr/share/EmulationStation/resources/resources/* ${pkgdir}/usr/share/EmulationStation/resources/
- rmdir ${pkgdir}/usr/share/EmulationStation/resources/resources
+ make -C "${_gitname}/build" DESTDIR="${pkgdir}" install
+ install -Dm644 "$srcdir/emulationstation.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/emulationstation.png"
+ install -Dm644 "$srcdir/emulationstation.desktop" "$pkgdir/usr/share/applications/emulationstation.desktop"
}
diff --git a/emulationstation.desktop b/emulationstation.desktop
index 2c1c3661e60f..311fe12a77dd 100644..100755
--- a/emulationstation.desktop
+++ b/emulationstation.desktop
@@ -3,7 +3,7 @@ Name=EmulationStation
GenericName=EmulationStation
Comment=Front-end for emulators
Exec=emulationstation
-Icon=emulationstation.svg
+Icon=emulationstation
Terminal=false
Type=Application
StartupNotify=false
diff --git a/install.patch b/install.patch
new file mode 100755
index 000000000000..f3da42eacf99
--- /dev/null
+++ b/install.patch
@@ -0,0 +1,79 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index eb9f403..96fde23 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,6 +18,10 @@ endif()
+
+ project(emulationstation-all)
+
++# program name to be used as a reference when looking up resources
++set(AppDataName "EmulationStation" CACHE STRING "Internal program name passed to compiler")
++add_definitions(-DAPPDATANAME="${AppDataName}")
++
+ #-------------------------------------------------------------------------------
+ #add local find scripts to CMAKE path
+ LIST(APPEND CMAKE_MODULE_PATH
+@@ -251,7 +255,9 @@ set(dir ${CMAKE_CURRENT_SOURCE_DIR})
+ set(EXECUTABLE_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE)
+ set(LIBRARY_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE)
+
+-
++# install rules for resources
++include(GNUInstallDirs)
++install(DIRECTORY resources DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${AppDataName}")
+ #-------------------------------------------------------------------------------
+ # add each component
+
+diff --git a/es-app/CMakeLists.txt b/es-app/CMakeLists.txt
+index 4ff4fdc..3c2f11e 100644
+--- a/es-app/CMakeLists.txt
++++ b/es-app/CMakeLists.txt
+@@ -143,9 +143,10 @@ endif()
+ #-------------------------------------------------------------------------------
+ # set up CPack install stuff so `make install` does something useful
+
++include(GNUInstallDirs)
+ install(TARGETS emulationstation
+ RUNTIME
+- DESTINATION bin)
++ DESTINATION "${CMAKE_INSTALL_BINDIR}")
+
+ INCLUDE(InstallRequiredSystemLibraries)
+
+diff --git a/es-core/src/resources/ResourceManager.cpp b/es-core/src/resources/ResourceManager.cpp
+index 9353dda..95d446d 100644
+--- a/es-core/src/resources/ResourceManager.cpp
++++ b/es-core/src/resources/ResourceManager.cpp
+@@ -3,6 +3,10 @@
+ #include "utils/FileSystemUtil.h"
+ #include <fstream>
+
++#ifndef APPDATANAME
++#define APPDATANAME "EmulationStation"
++#endif
++
+ auto array_deleter = [](unsigned char* p) { delete[] p; };
+ auto nop_deleter = [](unsigned char* /*p*/) { };
+
+@@ -27,6 +31,21 @@ std::string ResourceManager::getResourcePath(const std::string& path) const
+ {
+ std::string test;
+
++// check in standard AppData locations
++#if defined(__linux__)
++ test = Utils::FileSystem::getHomePath() + "/.local/share/" + APPDATANAME + "/resources/" + &path[2];
++ if (Utils::FileSystem::exists(test))
++ return test;
++
++ test = std::string("/usr/local/share/") + APPDATANAME + "/resources/" + &path[2];
++ if (Utils::FileSystem::exists(test))
++ return test;
++
++ test = std::string("/usr/share/") + APPDATANAME + "/resources/" + &path[2];
++ if (Utils::FileSystem::exists(test))
++ return test;
++#endif
++
+ // check in homepath
+ test = Utils::FileSystem::getHomePath() + "/.emulationstation/resources/" + &path[2];
+ if(Utils::FileSystem::exists(test))
diff --git a/pugixml.patch b/pugixml.patch
new file mode 100755
index 000000000000..606901f75e34
--- /dev/null
+++ b/pugixml.patch
@@ -0,0 +1,213 @@
+diff --git a/CMake/Packages/Findpugixml.cmake b/CMake/Packages/Findpugixml.cmake
+new file mode 100755
+index 0000000..ce0c637
+--- /dev/null
++++ b/CMake/Packages/Findpugixml.cmake
+@@ -0,0 +1,25 @@
++# CMake Module to locate the pugixml library
++#
++# Use via find_package( pugixml ) in CMakeLists.txt
++#
++# Sets the following variables:
++#
++# pugixml_INCLUDE_DIR
++# pugixml_LIBRARY_DIR
++# pugixml_LIBRARIES
++# pugixml_FOUND
++#
++
++find_path (pugixml_INCLUDE_DIR NAMES pugixml.hpp)
++find_library (pugixml_LIBRARIES NAMES pugixml)
++get_filename_component (pugixml_LIBRARY_PATH ${pugixml_LIBRARIES} DIRECTORY)
++
++set (pugixml_INCLUDE_DIR ${pugixml_INCLUDE_DIR})
++set (pugixml_LIBRARIES ${pugixml_LIBRARIES})
++
++include (FindPackageHandleStandardArgs)
++
++find_package_handle_standard_args (pugixml DEFAULT_MSG pugixml_LIBRARIES
++ pugixml_INCLUDE_DIR)
++
++mark_as_advanced (pugixml_LIBRARIES pugixml_INCLUDE_DIR)
+\ No newline at end of file
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index eb9f403..22a2341 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -92,6 +92,7 @@ find_package(FreeImage REQUIRED)
+ find_package(SDL2 REQUIRED)
+ find_package(CURL REQUIRED)
+ find_package(VLC REQUIRED)
++find_package(pugixml REQUIRED)
+ find_package(RapidJSON REQUIRED)
+
+ #add libCEC support
+@@ -162,6 +163,7 @@ set(COMMON_INCLUDE_DIRS
+ ${SDL2_INCLUDE_DIR}
+ ${CURL_INCLUDE_DIR}
+ ${VLC_INCLUDE_DIR}
++ ${pugixml_INCLUDE_DIR}
+ ${RAPIDJSON_INCLUDE_DIRS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/external
+ ${CMAKE_CURRENT_SOURCE_DIR}/es-core/src
+@@ -200,7 +202,7 @@ set(COMMON_LIBRARIES
+ ${SDL2_LIBRARY}
+ ${CURL_LIBRARIES}
+ ${VLC_LIBRARIES}
+- pugixml
++ ${pugixml_LIBRARIES}
+ nanosvg
+ )
+
+diff --git a/es-app/src/CollectionSystemManager.cpp b/es-app/src/CollectionSystemManager.cpp
+index 372c64b..a10bc04 100644
+--- a/es-app/src/CollectionSystemManager.cpp
++++ b/es-app/src/CollectionSystemManager.cpp
+@@ -12,7 +12,7 @@
+ #include "Settings.h"
+ #include "SystemData.h"
+ #include "ThemeData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <fstream>
+
+ std::string myCollectionsName = "collections";
+diff --git a/es-app/src/Gamelist.cpp b/es-app/src/Gamelist.cpp
+index c4c712b..c10d8df 100644
+--- a/es-app/src/Gamelist.cpp
++++ b/es-app/src/Gamelist.cpp
+@@ -8,7 +8,7 @@
+ #include "Log.h"
+ #include "Settings.h"
+ #include "SystemData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ FileData* findOrCreateFile(SystemData* system, const std::string& path, FileType type)
+ {
+diff --git a/es-app/src/MetaData.cpp b/es-app/src/MetaData.cpp
+index f5d466b..9893773 100644
+--- a/es-app/src/MetaData.cpp
++++ b/es-app/src/MetaData.cpp
+@@ -2,7 +2,7 @@
+
+ #include "utils/FileSystemUtil.h"
+ #include "Log.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ MetaDataDecl gameDecls[] = {
+ // key, type, default, statistic, name in GuiMetaDataEd, prompt in GuiMetaDataEd
+diff --git a/es-app/src/SystemData.h b/es-app/src/SystemData.h
+index 688bc80..5a2e8fa 100644
+--- a/es-app/src/SystemData.h
++++ b/es-app/src/SystemData.h
+@@ -9,7 +9,7 @@
+ #include <string>
+ #include <vector>
+
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ class FileData;
+ class FileFilterIndex;
+diff --git a/es-app/src/scrapers/GamesDBJSONScraper.cpp b/es-app/src/scrapers/GamesDBJSONScraper.cpp
+index 3bf0d6e..9cfcd7c 100644
+--- a/es-app/src/scrapers/GamesDBJSONScraper.cpp
++++ b/es-app/src/scrapers/GamesDBJSONScraper.cpp
+@@ -10,7 +10,7 @@
+ #include "Settings.h"
+ #include "SystemData.h"
+ #include "utils/TimeUtil.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ /* When raspbian will get an up to date version of rapidjson we'll be
+ able to have it throw in case of error with the following:
+diff --git a/es-app/src/scrapers/ScreenScraper.cpp b/es-app/src/scrapers/ScreenScraper.cpp
+index e7f9625..74b77d7 100644
+--- a/es-app/src/scrapers/ScreenScraper.cpp
++++ b/es-app/src/scrapers/ScreenScraper.cpp
+@@ -7,7 +7,7 @@
+ #include "PlatformId.h"
+ #include "Settings.h"
+ #include "SystemData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <cstring>
+
+ using namespace PlatformIds;
+diff --git a/es-core/src/InputConfig.cpp b/es-core/src/InputConfig.cpp
+index eb5e59c..3b557d0 100644
+--- a/es-core/src/InputConfig.cpp
++++ b/es-core/src/InputConfig.cpp
+@@ -1,7 +1,7 @@
+ #include "InputConfig.h"
+
+ #include "Log.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ //some util functions
+ std::string inputTypeToString(InputType type)
+diff --git a/es-core/src/InputManager.cpp b/es-core/src/InputManager.cpp
+index 57c64b4..75c6889 100644
+--- a/es-core/src/InputManager.cpp
++++ b/es-core/src/InputManager.cpp
+@@ -6,7 +6,7 @@
+ #include "platform.h"
+ #include "Scripting.h"
+ #include "Window.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <SDL.h>
+ #include <iostream>
+ #include <assert.h>
+diff --git a/es-core/src/MameNames.cpp b/es-core/src/MameNames.cpp
+index e0dee5c..f05e864 100644
+--- a/es-core/src/MameNames.cpp
++++ b/es-core/src/MameNames.cpp
+@@ -3,7 +3,7 @@
+ #include "resources/ResourceManager.h"
+ #include "utils/FileSystemUtil.h"
+ #include "Log.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <string.h>
+
+ MameNames* MameNames::sInstance = nullptr;
+diff --git a/es-core/src/Settings.cpp b/es-core/src/Settings.cpp
+index 71317c9..a346d6b 100644
+--- a/es-core/src/Settings.cpp
++++ b/es-core/src/Settings.cpp
+@@ -4,7 +4,7 @@
+ #include "Log.h"
+ #include "Scripting.h"
+ #include "platform.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <algorithm>
+ #include <vector>
+
+diff --git a/es-core/src/ThemeData.cpp b/es-core/src/ThemeData.cpp
+index cb1b265..92a60b7 100644
+--- a/es-core/src/ThemeData.cpp
++++ b/es-core/src/ThemeData.cpp
+@@ -7,7 +7,7 @@
+ #include "Log.h"
+ #include "platform.h"
+ #include "Settings.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <algorithm>
+
+ std::vector<std::string> ThemeData::sSupportedViews { { "system" }, { "basic" }, { "detailed" }, { "grid" }, { "video" } };
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index 03b743b..deec3de 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -2,4 +2,3 @@
+ # package managers are included with the project (in the 'external' folder)
+
+ add_subdirectory("nanosvg")
+-add_subdirectory("pugixml")