* Start work on PS2 support, thanks in part to @CoreELEC and @batocera-linux.

* Add LMSensors for sensor and fan control (work in progress).
This commit is contained in:
fewtarius 2022-09-04 17:43:37 -04:00
parent 4f9f4842a6
commit e3c2ecee27
No known key found for this signature in database
GPG key ID: F4AE55305D1B8C1A
38 changed files with 1105 additions and 35 deletions

View file

@ -0,0 +1,10 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2020-present Fewtarius
PKG_NAME="soundtouch"
PKG_VERSION="2.3.1"
PKG_LICENSE="LGPL-2.1+"
PKG_SITE="https://www.surina.net/soundtouch"
PKG_URL="https://codeberg.org/soundtouch/soundtouch/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="SoundTouch Audio Processing Library"

View file

@ -0,0 +1,49 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present Fewtarius
PKG_NAME="pcsx2"
PKG_VERSION="b96594b17cb362d381e291232b490142fd615382"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/pcsx2/pcsx2"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain alsa-lib freetype zlib libpng libaio libsamplerate libfmt libpcap soundtouch yamlcpp"
PKG_LONGDESC="PS2 Emulator"
GET_HANDLER_SUPPORT="git"
PKG_PATCH_DIRS+="${DEVICE}"
if [ ! "${OPENGL}" = "no" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
fi
if [ "${OPENGLES_SUPPORT}" = yes ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "${VULKAN_SUPPORT}" = "yes" ]
then
PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
fi
if [ "${DISPLAYSERVER}" = "wl" ]; then
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER}"
fi
PKG_CMAKE_OPTS_TARGET=" -DwxWidgets_CONFIG_EXECUTABLE=${SYSROOT_PREFIX}/usr/bin/wx-config \
-DXDG_STD=TRUE \
-DSDL2_API=TRUE \
-DDISABLE_PCSX2_WRAPPER=1 \
-DPACKAGE_MODE=FALSE \
-DPCSX2_TARGET_ARCHITECTURES=x86_64 \
-DENABLE_TESTS=OFF \
-DEXTRA_PLUGINS=TRUE \
-DQT_BUILD=FALSE \
-DBUILD_SHARED_LIBS=ON \
-DUSE_SYSTEM_LIBS=AUTO \
-DDISABLE_ADVANCE_SIMD=ON \
-DUSE_VTUNE=OFF \
-DUSE_VULKAN=ON \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=FALSE \
-DCMAKE_BUILD_TYPE=Release"

View file

@ -0,0 +1,13 @@
diff --git a/common/Pcsx2Defs.h b/common/Pcsx2Defs.h
index 111db24..4c4ad62 100644
--- a/common/Pcsx2Defs.h
+++ b/common/Pcsx2Defs.h
@@ -119,7 +119,7 @@ static const int __pagesize = PCSX2_PAGESIZE;
#define __vectorcall __fastcall
#define _inline __inline__ __attribute__((unused))
#ifdef NDEBUG
- #define __forceinline __attribute__((always_inline, unused))
+ #define __forceinline __attribute__((unused))
#else
#define __forceinline __attribute__((unused))
#endif

View file

@ -0,0 +1,13 @@
diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake
index bb6108619..9c1294a4a 100644
--- a/cmake/BuildParameters.cmake
+++ b/cmake/BuildParameters.cmake
@@ -214,7 +214,7 @@ option(USE_PGO_OPTIMIZE "Enable PGO optimization (use profile)")
if(MSVC)
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/Zc:externConstexpr>")
else()
- add_compile_options(-pipe -fvisibility=hidden -pthread -fno-builtin-strcmp -fno-builtin-memcmp -mfpmath=sse)
+ add_compile_options(-pipe -pthread -fno-builtin-strcmp -fno-builtin-memcmp -mfpmath=sse -fno-operator-names)
# -fno-operator-names should only be for C++ files, not C files.
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fno-operator-names>)

View file

@ -0,0 +1,62 @@
diff --git a/pcsx2/CDVD/CDVD.cpp b/pcsx2/CDVD/CDVD.cpp
index 757d7ae..79c4937 100644
--- a/pcsx2/CDVD/CDVD.cpp
+++ b/pcsx2/CDVD/CDVD.cpp
@@ -25,7 +25,7 @@
#include "CDVD_internal.h"
#include "CDVDisoReader.h"
-#include "GS.h" // for gsVideoMode
+#include "../GS.h" // for gsVideoMode
#include "Elfheader.h"
#include "ps2/BiosTools.h"
diff --git a/pcsx2/DebugTools/DebugInterface.cpp b/pcsx2/DebugTools/DebugInterface.cpp
index d29c2b0..2a89378 100644
--- a/pcsx2/DebugTools/DebugInterface.cpp
+++ b/pcsx2/DebugTools/DebugInterface.cpp
@@ -20,7 +20,7 @@
#include "R5900.h"
#include "Debug.h"
#include "VU.h"
-#include "GS.h" // Required for gsNonMirroredRead()
+#include "../GS.h" // Required for gsNonMirroredRead()
#include "Counters.h"
#include "R3000A.h"
diff --git a/pcsx2/PAD/Linux/Global.h b/pcsx2/PAD/Linux/Global.h
index 71e4a8a..7754542 100644
--- a/pcsx2/PAD/Linux/Global.h
+++ b/pcsx2/PAD/Linux/Global.h
@@ -15,6 +15,9 @@
#pragma once
+static const int GAMEPAD_NUMBER = 2;
+static const int MAX_KEYS = 24;
+
#include <stdio.h>
#include <assert.h>
#include <array>
@@ -34,9 +37,6 @@
#define PADdefs
-static const u32 GAMEPAD_NUMBER = 2;
-static const u32 MAX_KEYS = 24;
-
#include "Config.h"
enum gamePadValues
diff --git a/pcsx2/gui/App.h b/pcsx2/gui/App.h
index d9decd7..ade53b9 100644
--- a/pcsx2/gui/App.h
+++ b/pcsx2/gui/App.h
@@ -36,7 +36,7 @@
class DisassemblyDialog;
struct HostKeyEvent;
-#include "GS.h"
+#include "../GS.h"
#include "System.h"
#include "System/SysThreads.h"

View file

@ -0,0 +1,110 @@
diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
index 17e9c5e..30a52e0 100644
--- a/cmake/SearchForStuff.cmake
+++ b/cmake/SearchForStuff.cmake
@@ -48,22 +48,22 @@ else()
# Fedora uses an extra non-standard option ... Arch must be the first option.
# They do uname -m if missing so only fix for cross compilations.
# http://pkgs.fedoraproject.org/cgit/wxGTK.git/plain/wx-config
- if(Fedora AND CMAKE_CROSSCOMPILING)
- set(wxWidgets_CONFIG_OPTIONS --arch ${PCSX2_TARGET_ARCHITECTURES} --unicode=yes)
- else()
- set(wxWidgets_CONFIG_OPTIONS --unicode=yes)
- endif()
+ #if(Fedora AND CMAKE_CROSSCOMPILING)
+ # set(wxWidgets_CONFIG_OPTIONS --arch ${PCSX2_TARGET_ARCHITECTURES} --unicode=yes)
+ #else()
+ # set(wxWidgets_CONFIG_OPTIONS --unicode=yes)
+ #endif()
# I'm removing the version check, because it excludes newer versions and requires specifically 3.0.
#list(APPEND wxWidgets_CONFIG_OPTIONS --version=3.0)
# The wx version must be specified so a mix of gtk2 and gtk3 isn't used
# as that can cause compile errors.
- if(GTK2_API AND NOT APPLE)
- list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
- elseif(NOT APPLE)
- list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
- endif()
+ #if(GTK2_API AND NOT APPLE)
+ # list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk2)
+ #elseif(NOT APPLE)
+ # list(APPEND wxWidgets_CONFIG_OPTIONS --toolkit=gtk3)
+ #endif()
# wx2.8 => /usr/bin/wx-config-2.8
# lib32-wx2.8 => /usr/bin/wx-config32-2.8
@@ -71,39 +71,39 @@ else()
# I'm going to take a wild guess and predict this:
# lib32-wx3.0 => /usr/bin/wx-config32-3.0
# FindwxWidgets only searches for wx-config.
- if(CMAKE_CROSSCOMPILING)
- # May need to fix the filenames for lib32-wx3.0.
- if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
- if (Fedora AND EXISTS "/usr/bin/wx-config-3.0")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
- endif()
- if (EXISTS "/usr/bin/wx-config32")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32")
- endif()
- if (EXISTS "/usr/bin/wx-config32-3.0")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32-3.0")
- endif()
- endif()
- else()
- if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config")
- endif()
- if(EXISTS "/usr/bin/wx-config-3.2")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2")
- endif()
- if(EXISTS "/usr/bin/wx-config-3.1")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.1")
- endif()
- if(EXISTS "/usr/bin/wx-config-3.0")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
- endif()
- if(EXISTS "/usr/bin/wx-config")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config")
- endif()
- if(NOT GTK2_API AND EXISTS "/usr/bin/wx-config-gtk3")
- set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-gtk3")
- endif()
- endif()
+ #if(CMAKE_CROSSCOMPILING)
+ # # May need to fix the filenames for lib32-wx3.0.
+ # if(${PCSX2_TARGET_ARCHITECTURES} MATCHES "i386")
+ # if (Fedora AND EXISTS "/usr/bin/wx-config-3.0")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
+ # endif()
+ # if (EXISTS "/usr/bin/wx-config32")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32")
+ # endif()
+ # if (EXISTS "/usr/bin/wx-config32-3.0")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config32-3.0")
+ # endif()
+ # endif()
+ #else()
+ # if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config")
+ # endif()
+ # if(EXISTS "/usr/bin/wx-config-3.2")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2")
+ # endif()
+ # if(EXISTS "/usr/bin/wx-config-3.1")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.1")
+ # endif()
+ # if(EXISTS "/usr/bin/wx-config-3.0")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.0")
+ # endif()
+ # if(EXISTS "/usr/bin/wx-config")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config")
+ # endif()
+ # if(NOT GTK2_API AND EXISTS "/usr/bin/wx-config-gtk3")
+ # set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-gtk3")
+ # endif()
+ #endif()
find_package(wxWidgets REQUIRED base core adv)
include(${wxWidgets_USE_FILE})

View file

@ -0,0 +1,32 @@
diff --git a/cmake/FindPCAP.cmake b/cmake/FindPCAP.cmake
index 4712b31b5e..5b96656bab 100644
--- a/cmake/FindPCAP.cmake
+++ b/cmake/FindPCAP.cmake
@@ -44,26 +44,7 @@ find_package_handle_standard_args(PCAP DEFAULT_MSG
include(CheckCSourceCompiles)
set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY})
-check_c_source_compiles("int main() { return 0; }" PCAP_LINKS_SOLO)
-set(CMAKE_REQUIRED_LIBRARIES)
-
-# check if linking against libpcap also needs to link against a thread library
-if (NOT PCAP_LINKS_SOLO)
- find_package(Threads)
- if (THREADS_FOUND)
- set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
- check_c_source_compiles("int main() { return 0; }" PCAP_NEEDS_THREADS)
- set(CMAKE_REQUIRED_LIBRARIES)
- endif ()
- if (THREADS_FOUND AND PCAP_NEEDS_THREADS)
- set(_tmp ${PCAP_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
- list(REMOVE_DUPLICATES _tmp)
- set(PCAP_LIBRARY ${_tmp}
- CACHE STRING "Libraries needed to link against libpcap" FORCE)
- else ()
- message(FATAL_ERROR "Couldn't determine how to link against libpcap")
- endif ()
-endif ()
+set(PCAP_LIBRARY ${PCAP_LIBRARY} CACHE STRING "Libraries needed to link against libpcap" FORCE)
include(CheckFunctionExists)
set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARY})

View file

@ -0,0 +1,73 @@
diff --git a/pcsx2/gui/AppConfig.cpp b/pcsx2/gui/AppConfig.cpp
index 507348e73..71cd04d64 100644
--- a/pcsx2/gui/AppConfig.cpp
+++ b/pcsx2/gui/AppConfig.cpp
@@ -202,22 +202,22 @@ namespace PathDefs
wxDirName GetSnapshots()
{
- return GetDocuments() + Base::Snapshots();
+ return wxDirName("/storage/roms/screenshots");
}
wxDirName GetBios()
{
- return GetDocuments() + Base::Bios();
+ return wxDirName("/storage/roms/bios");
}
wxDirName GetCheats()
{
- return GetDocuments() + Base::Cheats();
+ return wxDirName("/storage/cheats/ps2/cheats");
}
wxDirName GetCheatsWS()
{
- return GetDocuments() + Base::CheatsWS();
+ return wxDirName("/storage/cheats/ps2/cheats_ws");
}
wxDirName GetDocs()
@@ -231,12 +231,12 @@ namespace PathDefs
wxDirName GetSavestates()
{
- return GetDocuments() + Base::Savestates();
+ return wxDirName("/storage/saves/ps2");
}
wxDirName GetMemoryCards()
{
- return GetDocuments() + Base::MemoryCards();
+ return wxDirName("/storage/saves/ps2");
}
wxDirName GetSettings()
@@ -246,7 +246,7 @@ namespace PathDefs
wxDirName GetLogs()
{
- return GetDocuments() + Base::Logs();
+ return wxDirName("/var/log");
}
wxDirName GetResources()
@@ -266,7 +266,7 @@ namespace PathDefs
wxDirName GetCache()
{
- return GetDocuments() + Base::Cache();
+ return wxDirName("/system/cache/ps2");
}
wxDirName GetTextures()
@@ -1092,7 +1092,7 @@ void RelocateLogfile()
{
g_Conf->Folders.Logs.Mkdir();
- std::string newlogname(StringUtil::wxStringToUTF8String(Path::CombineWx(g_Conf->Folders.Logs.ToString(), L"emuLog.txt")));
+ std::string newlogname(StringUtil::wxStringToUTF8String(Path::CombineWx(g_Conf->Folders.Logs.ToString(), L"PCSX2-emuLog.txt")));
if ((emuLog != NULL) && (emuLogName != newlogname))
{

View file

@ -0,0 +1,51 @@
diff --git a/pcsx2/PAD/Linux/SDL/joystick.cpp b/pcsx2/PAD/Linux/SDL/joystick.cpp
index 933bc4f..84be6d4 100644
--- a/pcsx2/PAD/Linux/SDL/joystick.cpp
+++ b/pcsx2/PAD/Linux/SDL/joystick.cpp
@@ -21,6 +21,32 @@
// Joystick definitions //
//////////////////////////
+void readSDL_PADSORDERCONFIG(int* SDL_PADSORDERCONFIG) {
+ char* env;
+ char val[16];
+ int pos = 0, pos_start = 0, n = 0;
+
+ for(int i=0; i<32; i++) SDL_PADSORDERCONFIG[i] = i;
+
+ env = getenv("SDL_PADSORDERCONFIG");
+ if(env != NULL) {
+ while(env[pos] != '\0') {
+ if(env[pos] == ';') {
+ if(pos-pos_start > 15) return;
+ strncpy(val, env+pos_start, pos-pos_start);
+ val[pos-pos_start] = '\0';
+ SDL_PADSORDERCONFIG[n++] = atoi(val);
+ pos_start = pos+1;
+ }
+ pos++;
+ }
+ if(pos-pos_start > 15) return;
+ strncpy(val, env+pos_start, pos-pos_start);
+ val[pos-pos_start] = '\0';
+ SDL_PADSORDERCONFIG[n] = atoi(val);
+ }
+}
+
// opens handles to all possible joysticks
void JoystickInfo::EnumerateJoysticks(std::vector<std::unique_ptr<Device>>& vjoysticks)
{
@@ -64,9 +90,12 @@ void JoystickInfo::EnumerateJoysticks(std::vector<std::unique_ptr<Device>>& vjoy
vjoysticks.clear();
+ int SDL_PADSORDERCONFIG[32];
+ readSDL_PADSORDERCONFIG(SDL_PADSORDERCONFIG);
+
for (int i = 0; i < SDL_NumJoysticks(); ++i)
{
- vjoysticks.push_back(std::unique_ptr<Device>(new JoystickInfo(i)));
+ vjoysticks.push_back(std::unique_ptr<Device>(new JoystickInfo(SDL_PADSORDERCONFIG[i])));
// Something goes wrong in the init, let's drop it
if (!vjoysticks.back()->IsProperlyInitialized())
vjoysticks.pop_back();

View file

@ -0,0 +1,90 @@
diff --git a/pcsx2/PAD/Linux/Global.h b/pcsx2/PAD/Linux/Global.h
index af8859c..d09f7c4 100644
--- a/pcsx2/PAD/Linux/Global.h
+++ b/pcsx2/PAD/Linux/Global.h
@@ -15,7 +15,7 @@
#pragma once
-static const int GAMEPAD_NUMBER = 2;
+static const int GAMEPAD_NUMBER = 8;
static const int MAX_KEYS = 24;
#include <stdio.h>
diff --git a/pcsx2/PAD/Linux/state_management.cpp b/pcsx2/PAD/Linux/state_management.cpp
index 37a0867..80aea50 100644
--- a/pcsx2/PAD/Linux/state_management.cpp
+++ b/pcsx2/PAD/Linux/state_management.cpp
@@ -178,6 +178,17 @@ u8 pad_poll(u8 value)
Pad* pad = &pads[query.port][query.slot];
+ int padNum = -1;
+ if(query.port == 0 && query.slot == 0 && device_manager.devices.size() > 0) padNum = 0;
+ if(query.port == 0 && query.slot == 1 && device_manager.devices.size() > 2) padNum = 2;
+ if(query.port == 0 && query.slot == 2 && device_manager.devices.size() > 3) padNum = 3;
+ if(query.port == 0 && query.slot == 3 && device_manager.devices.size() > 4) padNum = 4;
+ if(query.port == 1 && query.slot == 0 && device_manager.devices.size() > 1) padNum = 1;
+ if(query.port == 1 && query.slot == 1 && device_manager.devices.size() > 5) padNum = 5;
+ if(query.port == 1 && query.slot == 2 && device_manager.devices.size() > 6) padNum = 6;
+ if(query.port == 1 && query.slot == 3 && device_manager.devices.size() > 7) padNum = 7;
+ if(padNum == -1) return 0;
+
if (query.lastByte == 0)
{
query.lastByte++;
@@ -233,7 +244,7 @@ u8 pad_poll(u8 value)
b1=b1 & 0x1f;
#endif
- uint16_t buttons = g_key_status.get(query.port);
+ uint16_t buttons = g_key_status.get(padNum);
query.numBytes = 5;
@@ -244,28 +255,28 @@ u8 pad_poll(u8 value)
{ // ANALOG || DS2 native
query.numBytes = 9;
- query.response[5] = g_key_status.get(query.port, PAD_R_RIGHT);
- query.response[6] = g_key_status.get(query.port, PAD_R_UP);
- query.response[7] = g_key_status.get(query.port, PAD_L_RIGHT);
- query.response[8] = g_key_status.get(query.port, PAD_L_UP);
+ query.response[5] = g_key_status.get(padNum, PAD_R_RIGHT);
+ query.response[6] = g_key_status.get(padNum, PAD_R_UP);
+ query.response[7] = g_key_status.get(padNum, PAD_L_RIGHT);
+ query.response[8] = g_key_status.get(padNum, PAD_L_UP);
if (pad->mode != MODE_ANALOG)
{ // DS2 native
query.numBytes = 21;
- query.response[9] = !test_bit(buttons, 13) ? g_key_status.get(query.port, PAD_RIGHT) : 0;
- query.response[10] = !test_bit(buttons, 15) ? g_key_status.get(query.port, PAD_LEFT) : 0;
- query.response[11] = !test_bit(buttons, 12) ? g_key_status.get(query.port, PAD_UP) : 0;
- query.response[12] = !test_bit(buttons, 14) ? g_key_status.get(query.port, PAD_DOWN) : 0;
-
- query.response[13] = !test_bit(buttons, 4) ? g_key_status.get(query.port, PAD_TRIANGLE) : 0;
- query.response[14] = !test_bit(buttons, 5) ? g_key_status.get(query.port, PAD_CIRCLE) : 0;
- query.response[15] = !test_bit(buttons, 6) ? g_key_status.get(query.port, PAD_CROSS) : 0;
- query.response[16] = !test_bit(buttons, 7) ? g_key_status.get(query.port, PAD_SQUARE) : 0;
- query.response[17] = !test_bit(buttons, 2) ? g_key_status.get(query.port, PAD_L1) : 0;
- query.response[18] = !test_bit(buttons, 3) ? g_key_status.get(query.port, PAD_R1) : 0;
- query.response[19] = !test_bit(buttons, 0) ? g_key_status.get(query.port, PAD_L2) : 0;
- query.response[20] = !test_bit(buttons, 1) ? g_key_status.get(query.port, PAD_R2) : 0;
+ query.response[9] = !test_bit(buttons, 13) ? g_key_status.get(padNum, PAD_RIGHT) : 0;
+ query.response[10] = !test_bit(buttons, 15) ? g_key_status.get(padNum, PAD_LEFT) : 0;
+ query.response[11] = !test_bit(buttons, 12) ? g_key_status.get(padNum, PAD_UP) : 0;
+ query.response[12] = !test_bit(buttons, 14) ? g_key_status.get(padNum, PAD_DOWN) : 0;
+
+ query.response[13] = !test_bit(buttons, 4) ? g_key_status.get(padNum, PAD_TRIANGLE) : 0;
+ query.response[14] = !test_bit(buttons, 5) ? g_key_status.get(padNum, PAD_CIRCLE) : 0;
+ query.response[15] = !test_bit(buttons, 6) ? g_key_status.get(padNum, PAD_CROSS) : 0;
+ query.response[16] = !test_bit(buttons, 7) ? g_key_status.get(padNum, PAD_SQUARE) : 0;
+ query.response[17] = !test_bit(buttons, 2) ? g_key_status.get(padNum, PAD_L1) : 0;
+ query.response[18] = !test_bit(buttons, 3) ? g_key_status.get(padNum, PAD_R1) : 0;
+ query.response[19] = !test_bit(buttons, 0) ? g_key_status.get(padNum, PAD_L2) : 0;
+ query.response[20] = !test_bit(buttons, 1) ? g_key_status.get(padNum, PAD_R2) : 0;
}
}

View file

@ -0,0 +1,18 @@
diff --git a/pcsx2/gui/Panels/MemoryCardListView.cpp b/pcsx2/gui/Panels/MemoryCardListView.cpp
index 5280d71..4c79324 100644
--- a/pcsx2/gui/Panels/MemoryCardListView.cpp
+++ b/pcsx2/gui/Panels/MemoryCardListView.cpp
@@ -52,10 +52,10 @@ void BaseMcdListView::LoadSaveColumns( IniInterface& ini )
int width = GetColumnWidth(col);
- ini.Entry( label, width, cinfo.width );
+ //ini.Entry( label, width, cinfo.width );
- if (ini.IsLoading())
- SetColumnWidth(col, width);
+ //if (ini.IsLoading())
+ // SetColumnWidth(col, width);
}
}

View file

@ -0,0 +1,26 @@
diff --git a/pcsx2/SaveState.cpp b/pcsx2/SaveState.cpp
index e7981ac..00bd6bd 100644
--- a/pcsx2/SaveState.cpp
+++ b/pcsx2/SaveState.cpp
@@ -117,20 +117,7 @@ std::string SaveStateBase::GetSavestateFolder(int slot, bool isSavingOrLoading)
CRCvalue = "None";
}
- const std::string dir(StringUtil::StdStringFromFormat("%s" FS_OSPATH_SEPARATOR_STR "%s - (%s)",
- g_Conf->Folders.Savestates.ToUTF8().data(), serialName.c_str(), CRCvalue.c_str()));
-
- if (isSavingOrLoading)
- {
- if (!FileSystem::DirectoryExists(dir.c_str()))
- {
- // sstates should exist, no need to create it
- FileSystem::CreateDirectoryPath(dir.c_str(), false);
- }
- }
-
- return Path::Combine(dir, StringUtil::StdStringFromFormat("%s (%s).%02d.p2s",
- serialName.c_str(), CRCvalue.c_str(), slot));
+ return (g_Conf->Folders.Savestates + Path::GetFilename(g_Conf->CurrentIso)).GetFullPath().ToUTF8().data() + StringUtil::StdStringFromFormat(".%d", slot);
}
#endif

View file

@ -0,0 +1,9 @@
#!/bin/sh
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present - Fewtarius
. /etc/profile
ARG=${1//[\\]/}
export SDL_AUDIODRIVER=alsa
${FAST_CORES} pcsx2 "$ARG"

View file

@ -0,0 +1,32 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gdk-pixbuf"
PKG_VERSION="2.42.8"
PKG_SHA256="84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/${PKG_VERSION:0:4}/gdk-pixbuf-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain glib libjpeg-turbo libpng jasper shared-mime-info tiff"
PKG_DEPENDS_CONFIG="shared-mime-info"
PKG_LONGDESC="GdkPixbuf is a a GNOME library for image loading and manipulation."
configure_package() {
if [ "${DISPLAYSERVER}" = "wl" ]; then
PKG_DEPENDS_TARGET+=" libX11 wayland"
fi
}
pre_configure_target() {
PKG_MESON_OPTS_TARGET="-Dgtk_doc=false \
-Ddocs=false \
-Dintrospection=disabled \
-Dman=false \
-Drelocatable=false \
-Dinstalled_tests=false"
if [ "${DISPLAYSERVER}" != "wl" ]; then
PKG_MESON_OPTS_TARGET+=" -Dbuiltin_loaders=all"
fi
}

View file

@ -0,0 +1,4 @@
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Liberation Sans 12

View file

@ -0,0 +1,37 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2017 Escalade
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="gtk3"
PKG_VERSION="3.24.34"
PKG_SHA256="dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec"
PKG_LICENSE="LGPL"
PKG_SITE="http://www.gtk.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/gtk+/${PKG_VERSION:0:4}/gtk+-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain at-spi2-atk atk cairo gdk-pixbuf glib libX11 libXi libXrandr libepoxy pango libxkbcommon wayland libepoxy"
PKG_DEPENDS_CONFIG="libXft pango gdk-pixbuf shared-mime-info"
PKG_LONGDESC="A library for creating graphical user interfaces for the X Window System."
PKG_BUILD_FLAGS="-sysroot"
PKG_MESON_OPTS_TARGET="-Dbroadway_backend=false \
-Dcloudproviders=false \
-Dcolord=no \
-Ddemos=false \
-Dexamples=false \
-Dgtk_doc=false \
-Dintrospection=false \
-Dman=false \
-Dprint_backends=file,lpr \
-Dquartz_backend=false \
-Dtests=false \
-Dwayland_backend=true \
-Dwin32_backend=false \
-Dxinerama=no \
-Dbuiltin_immodules=yes \
-Dx11_backend=true"
pre_configure_target() {
# ${TOOLCHAIN}/bin/glib-compile-resources requires ${TOOLCHAIN}/lib/libffi.so.6
export LD_LIBRARY_PATH="${TOOLCHAIN}/lib:${LD_LIBRARY_PATH}"
export GLIB_COMPILE_RESOURCES=glib-compile-resources GLIB_MKENUMS=glib-mkenums GLIB_GENMARSHAL=glib-genmarshal
}

View file

@ -0,0 +1,26 @@
--- a/gtk/gen-gtk-gresources-xml.py 2021-02-24 19:13:19.000000000 +0000
+++ b/gtk/gen-gtk-gresources-xml.py 2021-04-03 23:52:35.000000000 +0000
@@ -23,11 +23,6 @@
<file>theme/Adwaita/gtk-contained-dark.css</file>
'''
-for f in get_files('theme/Adwaita/assets', '.png'):
- xml += ' <file preprocess=\'to-pixdata\'>theme/Adwaita/assets/{0}</file>\n'.format(f)
-
-xml += '\n'
-
for f in get_files('theme/Adwaita/assets', '.svg'):
xml += ' <file>theme/Adwaita/assets/{0}</file>\n'.format(f)
@@ -38,11 +33,6 @@
<file>theme/HighContrast/gtk-contained-inverse.css</file>
'''
-for f in get_files('theme/HighContrast/assets', '.png'):
- xml += ' <file preprocess=\'to-pixdata\'>theme/HighContrast/assets/{0}</file>\n'.format(f)
-
-xml += '\n'
-
for f in get_files('theme/HighContrast/assets', '.svg'):
xml += ' <file>theme/HighContrast/assets/{0}</file>\n'.format(f)

View file

@ -0,0 +1,22 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="jasper"
PKG_VERSION="3.0.6"
PKG_SHA256="c79961bc00158f5b5dc5f5fcfa792fde9bebb024432689d0f9e3f95a097d0ec3"
PKG_LICENSE="OpenSource"
PKG_SITE="http://www.ece.uvic.ca/~mdadams/jasper/"
PKG_URL="https://github.com/jasper-software/jasper/archive/refs/tags/version-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo"
PKG_LONGDESC="A implementation of the ISO/IEC 15444-1 also known as JPEG-2000 standard for image compression."
PKG_BUILD_FLAGS="+pic"
PKG_CMAKE_OPTS_TARGET="-DJAS_ENABLE_DOC=false \
-DJAS_ENABLE_PROGRAMS=false \
-DJAS_ENABLE_SHARED=false \
-DJAS_STDC_VERSION=201710L"
pre_configure_target() {
export CFLAGS="${CFLAGS} -std=gnu17"
}

View file

@ -13,23 +13,24 @@ PKG_VERSION="1.5.3"
PKG_SHA256="002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/anholt/libepoxy"
PKG_URL="https://github.com/anholt/libepoxy/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_URL="https://github.com/anholt/libepoxy/releases/download/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Epoxy is a library for handling OpenGL function pointer management for you."
PKG_TOOLCHAIN="autotools"
if [ "$OPENGL" != "no" ]; then
PKG_DEPENDS_TARGET+=" $OPENGL"
if [ "${OPENGL}" != "no" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL}"
fi
if [ "$OPENGLES" != "no" ]; then
PKG_DEPENDS_TARGET+=" $OPENGLES"
if [ "${OPENGLES}" != "no" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "$DISPLAYSERVER" != "x11" ]; then
if [ "${DISPLAYSERVER}" != "x11" ] && \
[ "${DISPLAYSERVER}" != "wl" ]; then
PKG_CONFIGURE_OPTS_TARGET="--disable-glx"
fi
if [ "$PROJECT" == "Amlogic" -o "$PROJECT" == "Amlogic-ng" ]; then
if [ "${PROJECT}" == "Amlogic" -o "${PROJECT}" == "Amlogic-ng" ]; then
PKG_CONFIGURE_OPTS_TARGET+=" --disable-egl"
fi

View file

@ -0,0 +1,23 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2020-present Fewtarius
PKG_NAME="wxwidgets"
PKG_VERSION="7ad1bffa875f7a38db58b6069ea3ff0c49c211d2"
PKG_LICENSE="wxWindows Library Licence"
PKG_SITE="https://github.com/wxWidgets/wxWidgets"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain zlib libpng libjpeg-turbo gdk-pixbuf gtk3"
PKG_LONGDESC="wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
PKG_BUILD_FLAGS="+pic"
PKG_CMAKE_OPTS_TARGET+=" -DwxUSE_X11=off"
#PKG_GIT_CLONE_BRANCH="3.2"
pre_configure_target() {
LDFLAGS="${LDFLAGS} -fPIC"
CXXFLAGS="${CXXFLAGS} -fPIC"
}
post_install() {
sed -i 's#^prefix=.*#prefix='${SYSROOT_PREFIX}/usr'#' ${SYSROOT_PREFIX}/usr/bin/wx-config
sed -i 's#^exec_prefix=.*#exec_prefix='${SYSROOT_PREFIX}/usr'#' ${SYSROOT_PREFIX}/usr/bin/wx-config
}

View file

@ -74,6 +74,7 @@ d /storage/roms/pcfx 0755 root root - -
d /storage/roms/pet 0755 root root - -
d /storage/roms/pico-8 0755 root root - -
d /storage/roms/pokemini 0755 root root - -
d /storage/roms/ps2 0755 root root - -
d /storage/roms/psp 0755 root root - -
d /storage/roms/pspminis 0755 root root - -
d /storage/roms/psx 0755 root root - -

View file

@ -0,0 +1,30 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="shared-mime-info"
PKG_VERSION="2.1"
PKG_SHA256="37df6475da31a8b5fc63a54ba0770a3eefa0a708b778cb6366dccee96393cb60"
PKG_LICENSE="GPL2"
PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/"
PKG_URL="https://gitlab.freedesktop.org/xdg/${PKG_NAME}/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="toolchain:host glib:host libxml2:host gettext:host itstool:host"
PKG_DEPENDS_TARGET="toolchain glib libxml2 gettext shared-mime-info:host"
PKG_LONGDESC="The shared-mime-info package contains the core database of common types."
PKG_BUILD_FLAGS="-parallel"
configure_package() {
# Sway Support
if [ ! "${WINDOWMANAGER}" = "sway" ]; then
PKG_BUILD_FLAGS+=" -sysroot"
fi
}
PKG_MESON_OPTS_HOST="-Dupdate-mimedb=false"
PKG_MESON_OPTS_TARGET="-Dupdate-mimedb=false"
post_makeinstall_target() {
# Create /usr/share/mime/mime.cache
if [ "${WINDOWMANAGER}" = "sway" ]; then
${TOOLCHAIN}/bin/update-mime-database ${INSTALL}/usr/share/mime
fi
}

View file

@ -0,0 +1,71 @@
From 0944c4d73819fd93a7857d56a967c638beb01141 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@archlinux.org>
Date: Mon, 8 Nov 2021 18:22:47 -0500
Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating
translated XML
gettext upstream has supported this for a very long time, and using it
means we don't need to jump through hoops to run ninja inside ninja in
order to generate the .mo files for itstool.
Although meson 0.60.0 added support for real targets for the built .mo
files, this changed the rules for output filenames, breaking the script.
But msgfmt does not care, and anyways comes with builtin meson functions
for convenient use.
Fixes #170
---
data/freedesktop_generate.sh | 12 ------------
data/meson.build | 16 +++++-----------
2 files changed, 5 insertions(+), 23 deletions(-)
delete mode 100755 data/freedesktop_generate.sh
diff --git a/data/freedesktop_generate.sh b/data/freedesktop_generate.sh
deleted file mode 100755
index 62ccffa..0000000
--- a/data/freedesktop_generate.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh -e
-
-src_root="$1"
-build_root="$2"
-
-ninja -C "${build_root}" shared-mime-info-gmo
-
-itstool \
- --its "${src_root}/data/its/shared-mime-info.its" \
- --join "${src_root}/data/freedesktop.org.xml.in" \
- -o "${build_root}/data/freedesktop.org.xml" \
- "${build_root}/po/"*".gmo"
diff --git a/data/meson.build b/data/meson.build
index 24361c9..09ed7a9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,18 +1,12 @@
install_man('update-mime-database.1')
-freedesktop_org_xml = custom_target('freedesktop.org.xml',
- input : files(
- 'freedesktop.org.xml.in',
- 'its/shared-mime-info.its',
- 'its/shared-mime-info.loc',
- ),
+freedesktop_org_xml = i18n.merge_file(
+ input: 'freedesktop.org.xml.in',
output: 'freedesktop.org.xml',
- command: [
- find_program('freedesktop_generate.sh'),
- meson.source_root(),
- meson.build_root()
- ],
+ data_dirs: '.',
+ po_dir: '../po',
+ type: 'xml',
install: true,
install_dir: get_option('datadir') / 'mime' / 'packages',
)
--
GitLab

View file

@ -0,0 +1,58 @@
From baeb49e36bc162bcbd243e733d2a9f1eb9abfefb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
Date: Sun, 24 Jan 2021 11:45:52 +0200
Subject: [PATCH] meson: make xmlto optional, build spec only if found
Refs https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/150
---
data/meson.build | 22 ++++++++++++----------
meson.build | 2 +-
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index 263567d..24361c9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -22,14 +22,16 @@ install_data(
install_dir : get_option('datadir') / 'gettext/its'
)
-custom_target('shared-mime-info-spec-html',
- input : 'shared-mime-info-spec.xml',
- output: 'shared-mime-info-spec-html',
- command: [
- xmlto,
- '-o', '@OUTPUT@',
- 'html-nochunks',
- '@INPUT@',
- ],
- build_by_default: true,
+if xmlto.found()
+ custom_target('shared-mime-info-spec-html',
+ input : 'shared-mime-info-spec.xml',
+ output: 'shared-mime-info-spec-html',
+ command: [
+ xmlto,
+ '-o', '@OUTPUT@',
+ 'html-nochunks',
+ '@INPUT@',
+ ],
+ build_by_default: true,
)
+endif
diff --git a/meson.build b/meson.build
index 9a28573..0d08c8a 100644
--- a/meson.build
+++ b/meson.build
@@ -22,7 +22,7 @@ config.set_quoted('VERSION', meson.project_version())
itstool = find_program('itstool')
xmllint = find_program('xmllint')
-xmlto = find_program('xmlto')
+xmlto = find_program('xmlto', required: false)
###############################################################################
# Find xdgmime
--
GitLab

View file

@ -0,0 +1,33 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libpcap"
PKG_VERSION="1.10.1"
PKG_SHA256="ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4"
PKG_LICENSE="GPL"
PKG_SITE="http://www.tcpdump.org/"
PKG_URL="http://www.tcpdump.org/release/libpcap-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A portable framework for low-level network monitoring."
# use configure, not cmake. review cmake in future release.
PKG_TOOLCHAIN="configure"
PKG_CONFIGURE_OPTS_TARGET="LIBS=-lpthread \
ac_cv_header_libusb_1_0_libusb_h=no \
--disable-shared \
--with-pcap=linux \
--disable-bluetooth \
--disable-can \
--without-libnl \
--disable-dbus \
--disable-canusb"
pre_configure_target() {
# When cross-compiling, configure can't set linux version
# forcing it
sed -i -e 's/ac_cv_linux_vers=unknown/ac_cv_linux_vers=2/' ../configure
}
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
}

View file

@ -0,0 +1,73 @@
--- libpcap-1.10.0/CMakeLists.txt 2020-12-29 21:16:30.000000000 +0000
+++ libpcap-1.10.0/CMakeLists.txt 2021-01-02 04:34:31.834695073 +0000
@@ -2689,70 +2689,6 @@
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig)
- #
- # Man pages.
- #
- # For each section of the manual for which we have man pages
- # that require macro expansion, do the expansion.
- #
- # If this is MinGW, maybe we have a UN*X-style ln command and
- # maybe we don't. (No, we do *NOT* require MSYS!) If we don't
- # have it, don't do the man pages.
- #
- if(MINGW)
- find_program(LINK_EXECUTABLE ln)
- endif(MINGW)
- if(UNIX OR (MINGW AND LINK_EXECUTABLE))
- set(MAN1 "")
- foreach(MANPAGE ${MAN1_NOEXPAND})
- set(MAN1 ${MAN1} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- install(FILES ${MAN1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
-
- set(MAN3PCAP "")
- foreach(MANPAGE ${MAN3PCAP_NOEXPAND})
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- foreach(TEMPLATE_MANPAGE ${MAN3PCAP_EXPAND})
- string(REPLACE ".in" "" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MAN3PCAP} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description_or_dlt.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_dump_open.3pcap pcap_dump_fopen.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_findalldevs.3pcap pcap_freealldevs.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_geterr.3pcap pcap_perror.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_inject.3pcap pcap_sendpacket.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_datalinks.3pcap pcap_free_datalinks.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_tstamp_types.3pcap pcap_free_tstamp_types.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_loop.3pcap pcap_dispatch.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_major_version.3pcap pcap_minor_version.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_next_ex.3pcap pcap_next.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_dead.3pcap pcap_open_dead_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_open_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_tstamp_type_val_to_name.3pcap pcap_tstamp_type_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_setnonblock.3pcap pcap_getnonblock.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
-
- set(MANFILE "")
- foreach(TEMPLATE_MANPAGE ${MANFILE_EXPAND})
- string(REPLACE ".manfile.in" ".${MAN_FILE_FORMATS}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANFILE ${MANFILE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANFILE} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_FILE_FORMATS})
-
- set(MANMISC "")
- foreach(TEMPLATE_MANPAGE ${MANMISC_EXPAND})
- string(REPLACE ".manmisc.in" ".${MAN_MISC_INFO}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANMISC ${MANMISC} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANMISC} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_MISC_INFO})
- endif(UNIX OR (MINGW AND LINK_EXECUTABLE))
endif(NOT MSVC)
# uninstall target

View file

@ -2,12 +2,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="lm_sensors"
PKG_VERSION="e8afbda10fba571c816abddcb5c8180afc435bba"
PKG_SHA256="255b9a9b30c7969b3df0460392a807239c18b15baac1ff33ff5fef3b1cc1169d"
PKG_VERSION="42f240d"
PKG_ARCH="arm x86_64"
PKG_LICENSE="GPL"
PKG_SITE="http://secure.netroedge.com/~lm78/"
PKG_URL="https://github.com/groeck/lm-sensors/archive/${PKG_VERSION}.tar.gz"
PKG_URL="https://github.com/lm-sensors/lm-sensors.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Provides user-space support for the hardware monitoring drivers."

View file

@ -3,31 +3,35 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libxml2"
PKG_VERSION="2.9.10"
#PKG_SHA256=""
PKG_VERSION="2.10.2"
PKG_SHA256="d50e8a55b2797501929d3411b81d5d37ec44e9a4aa58eae9052572977c632d7a"
PKG_LICENSE="MIT"
PKG_SITE="http://xmlsoft.org"
PKG_URL="ftp://xmlsoft.org/libxml2/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_HOST="zlib:host"
PKG_URL="https://gitlab.gnome.org/GNOME/${PKG_NAME}/-/archive/v${PKG_VERSION}/${PKG_NAME}-v${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="zlib:host Python3:host"
PKG_DEPENDS_TARGET="toolchain zlib"
PKG_LONGDESC="The libxml package contains an XML library, which allows you to manipulate XML files."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_ALL="ac_cv_header_ansidecl_h=no \
--enable-static \
--enable-shared \
--disable-silent-rules \
--enable-ipv6 \
--without-python \
--with-zlib=$TOOLCHAIN \
--without-lzma"
--enable-static \
--enable-shared \
--disable-silent-rules \
--enable-ipv6 \
--without-lzma"
PKG_CONFIGURE_OPTS_HOST="$PKG_CONFIGURE_OPTS_ALL --with-zlib=$TOOLCHAIN"
PKG_CONFIGURE_OPTS_HOST="${PKG_CONFIGURE_OPTS_ALL} \
--with-zlib=${TOOLCHAIN} \
--with-python"
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_ALL --with-zlib=$SYSROOT_PREFIX/usr --with-sysroot=$SYSROOT_PREFIX"
PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_ALL} \
--with-zlib=${SYSROOT_PREFIX}/usr \
--without-python \
--with-sysroot=${SYSROOT_PREFIX}"
post_makeinstall_target() {
sed -e "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" -i $SYSROOT_PREFIX/usr/bin/xml2-config
sed -e "s:\(['= ]\)/usr:\\1${SYSROOT_PREFIX}/usr:g" -i ${SYSROOT_PREFIX}/usr/bin/xml2-config
rm -rf $INSTALL/usr/bin/xml2-config
rm -rf $INSTALL/usr/lib/xml2Conf.sh
rm -rf ${INSTALL}/usr/bin
rm -rf ${INSTALL}/usr/lib/xml2Conf.sh
}

View file

@ -0,0 +1,13 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2020-present Fewtarius
PKG_NAME="yamlcpp"
PKG_VERSION="c73ee34"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/jbeder/yaml-cpp"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A C++ library for YAML."
PKG_TOOLCHAIN="cmake"
PKG_BUILD_FLAGS="+pic"

View file

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2017 Escalade
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-atk"
PKG_VERSION="2.38.0"
PKG_SHA256="cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/${PKG_VERSION:0:4}/at-spi2-atk-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain at-spi2-core atk libX11 libxml2"
PKG_LONGDESC="A GTK+ module that bridges ATK to D-Bus at-spi."

View file

@ -0,0 +1,20 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2017 Escalade
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="at-spi2-core"
PKG_VERSION="2.45.1"
PKG_SHA256="ba95f346e93108fbb3462c62437081d582154db279b4052dedc52a706828b192"
PKG_LICENSE="OSS"
PKG_SITE="http://www.gnome.org/"
PKG_URL="https://download.gnome.org/sources/at-spi2-core/${PKG_VERSION:0:4}/at-spi2-core-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain atk dbus glib libXtst libXext libXi"
PKG_LONGDESC="Protocol definitions and daemon for D-Bus at-spi."
PKG_MESON_OPTS_TARGET="-Ddocs=false \
-Dintrospection=no \
-Ddbus_daemon=/usr/bin/dbus-daemon"
pre_configure_target() {
LDFLAGS="${LDFLAGS} -lXi -lXext"
}

View file

@ -0,0 +1,16 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="atk"
PKG_VERSION="2.38.0"
PKG_SHA256="ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36"
PKG_LICENSE="GPL"
PKG_SITE="http://library.gnome.org/devel/atk/"
PKG_URL="https://ftp.gnome.org/pub/gnome/sources/atk/${PKG_VERSION:0:4}/atk-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain glib glib:host"
PKG_LONGDESC="Provides the set of accessibility interfaces that are implemented by other applications."
PKG_BUILD_FLAGS="+pic"
PKG_MESON_OPTS_TARGET="-Ddocs=false \
-Dintrospection=false"

View file

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="itstool"
PKG_VERSION="2.0.7"
PKG_SHA256="6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca"
PKG_LICENSE="GPLv3"
PKG_SITE="http://itstool.org"
PKG_URL="http://files.itstool.org/itstool/itstool-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="toolchain libxml2:host libxml2"
PKG_LONGDESC="ITS Tool allows you to translate your XML documents with PO files."
PKG_TOOLCHAIN="autotools"

View file

@ -1450,6 +1450,25 @@
</cores>
</emulator>
</emulators>
</system>
<name>ps2</name>
<fullname>PlayStation 2</fullname>
<manufacturer>Sony</manufacturer>
<release>2000</release>
<hardware>console</hardware>
<path>/storage/roms/ps2</path>
<extension>iso ISO mdf MDF nrg NRG bin BIN img IMG dump DUMP gz GZ cso CSO chd CHD</extens
ion>
<command>/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers="%CONTROLLERSCONFIG%"</command>
<platform>psx</platform>
<theme>psx</theme>
<emulators>
<emulator name="pcsx2">
<cores>
<core default="true">pcsx2</core>
</cores>
</emulator>
</emulators>
</system>
<system>
<name>psp</name>

View file

@ -9,7 +9,7 @@ PKG_SECTION="virtual"
PKG_LONGDESC="Root package used to build and create complete image"
# Architecture specific tools
[ "${ARCH}" = "x86_64" ] && PKG_DEPENDS_TARGET+=" ryzenadj"
[ "${ARCH}" = "x86_64" ] && PKG_DEPENDS_TARGET+=" ryzenadj lm_sensors"
# Sound support
[ "${ALSA_SUPPORT}" = "yes" ] && PKG_DEPENDS_TARGET+=" alsa"

View file

@ -3,13 +3,13 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libXext"
PKG_VERSION="1.3.4"
PKG_SHA256="59ad6fcce98deaecc14d39a672cf218ca37aba617c9a0f691cac3bcd28edf82b"
PKG_VERSION="c6eded76e212419518bd955cad58c96b8653840e"
PKG_LICENSE="OSS"
PKG_SITE="http://www.X.org"
PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_SITE="https://gitlab.freedesktop.org/xorg/lib/libxext"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain util-macros libX11"
PKG_LONGDESC="LibXext provides an X Window System client interface to several extensions to the X protocol."
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--enable-malloc0returnsnull --without-xmlto"

View file

@ -23,6 +23,10 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \
--without-asciidoc \
--with-gnu-ld"
pre_configure_target() {
TARGET_LDFLAGS="${LDFLAGS} -lXext"
}
post_configure_target() {
libtool_remove_rpath libtool
}

View file

@ -3,16 +3,20 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libXtst"
PKG_VERSION="1.2.3"
PKG_SHA256="4655498a1b8e844e3d6f21f3b2c4e2b571effb5fd83199d428a6ba7ea4bf5204"
PKG_VERSION="14a44d0e3e6c3d9e757e2fdd143587efe532f1e9"
PKG_LICENSE="OSS"
PKG_SITE="http://www.X.org"
PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_SITE="https://gitlab.freedesktop.org/xorg/lib/libxtst"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain util-macros libXext libXi libX11"
PKG_LONGDESC="The Xtst Library"
PKG_TOOLCHAIN="autotools"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --with-gnu-ld --without-xmlto"
pre_configure_target() {
CFLAGS="${CFLAGS} -fPIC"
}
post_configure_target() {
libtool_remove_rpath libtool
}