diff options
author | Alexandre Bouvier | 2022-03-16 01:54:47 +0100 |
---|---|---|
committer | Alexandre Bouvier | 2022-03-16 02:11:26 +0100 |
commit | 20c3bca8f52a52ace609bea90642876b9485e9fa (patch) | |
tree | cf8b1294263d20eb376a78ae5d0c2ae4e3690571 | |
parent | 7ded5de5bdadfa6e8332254258250369786cafe8 (diff) | |
download | aur-20c3bca8f52a52ace609bea90642876b9485e9fa.tar.gz |
update to 1.2.r245.g514eedbc
* use upstream repo
* unbundle glm
* unbundle libchdr
* unbundle libzip
* unbundle miniupnpc
* unbundle xbyak
* unbundle xxhash
* unbundle zlib
* remove ccache
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 65 | ||||
-rw-r--r-- | libretro-flycast-unbundle-libs.patch | 101 |
3 files changed, 165 insertions, 26 deletions
@@ -1,24 +1,35 @@ pkgbase = libretro-flycast-git pkgdesc = Sega Dreamcast core - pkgver = r4464.4a913e06 + pkgver = 1.2.r245.g514eedbc pkgrel = 1 - url = https://github.com/libretro/flycast + url = https://github.com/flyinghead/flycast arch = i686 arch = x86_64 groups = libretro license = GPL2 + makedepends = cmake makedepends = git + makedepends = glm + makedepends = libchdr makedepends = libglvnd + makedepends = libzip + makedepends = miniupnpc + makedepends = xbyak + makedepends = xxhash makedepends = zlib - depends = libchdr depends = libgl depends = libretro-core-info - depends = libzip - depends = xxhash provides = libretro-flycast conflicts = libretro-flycast - options = !lto - source = libretro-flycast::git+https://github.com/libretro/flycast.git + source = git+https://github.com/flyinghead/flycast.git + source = libretro-flycast-unbundle-libs.patch b2sums = SKIP + b2sums = 602341ffaabf36382565ce780b88419feb6bf46ec7e2600631ead6a65c6d07edbdfbaea8c99ae9e53b85d260370eda0c06142b8b3149468508c4ad592a247a8d pkgname = libretro-flycast-git + depends = libgl + depends = libretro-core-info + depends = libchdr.so + depends = libminiupnpc.so + depends = libxxhash.so + depends = libzip.so @@ -1,41 +1,68 @@ # Maintainer: Alexandre Bouvier <contact@amb.tf> # Contributor: Maxime Gauduin <alucryd@archlinux.org> -_pkgname=libretro-flycast +_reponame=flycast +_pkgname=libretro-$_reponame pkgname=$_pkgname-git -pkgver=r4464.4a913e06 +pkgver=1.2.r245.g514eedbc pkgrel=1 -pkgdesc='Sega Dreamcast core' +pkgdesc="Sega Dreamcast core" arch=('i686' 'x86_64') -url="https://github.com/libretro/flycast" +url="https://github.com/flyinghead/$_reponame" license=('GPL2') groups=('libretro') -depends=('libchdr' 'libgl' 'libretro-core-info' 'libzip' 'xxhash') -makedepends=('git' 'libglvnd' 'zlib') +depends=('libgl' 'libretro-core-info') +makedepends=( + 'cmake' + 'git' + 'glm' + 'libchdr' + 'libglvnd' + 'libzip' + 'miniupnpc' + 'xbyak' + 'xxhash' + 'zlib' +) provides=("$_pkgname") conflicts=("$_pkgname") -options=('!lto') # https://github.com/libretro/flycast/issues/892 -source=("$_pkgname::git+$url.git") -b2sums=('SKIP') +source=( + "git+$url.git" + "$_pkgname-unbundle-libs.patch" +) +b2sums=( + 'SKIP' + '602341ffaabf36382565ce780b88419feb6bf46ec7e2600631ead6a65c6d07edbdfbaea8c99ae9e53b85d260370eda0c06142b8b3149468508c4ad592a247a8d' +) pkgver() { - cd $_pkgname - printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + cd $_reponame + git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' } prepare() { - sed -E 's/^(\s*(CFLAGS|CXXFLAGS|LDFLAGS)\s*):=/\1+=/' -i $_pkgname/Makefile + cd $_reponame + patch -Np1 < ../$_pkgname-unbundle-libs.patch + rm -r core/deps/libretro-common/include/libchdr } build() { - make -C $_pkgname \ - HAVE_OIT=1 \ - SYSTEM_LIBCHDR=1 \ - SYSTEM_LIBZIP=1 \ - SYSTEM_XXHASH=1 \ - SYSTEM_ZLIB=1 + cd $_reponame + cmake -B ../build \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_BINDIR=lib/libretro \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIBRETRO=ON \ + -Wno-dev + cmake --build ../build } package() { + depends+=( + 'libchdr.so' + 'libminiupnpc.so' + 'libxxhash.so' + 'libzip.so' + ) # shellcheck disable=SC2154 - install -Dm644 -t "$pkgdir"/usr/lib/libretro $_pkgname/flycast_libretro.so + DESTDIR="$pkgdir" cmake --install build } diff --git a/libretro-flycast-unbundle-libs.patch b/libretro-flycast-unbundle-libs.patch new file mode 100644 index 000000000000..486be91eff75 --- /dev/null +++ b/libretro-flycast-unbundle-libs.patch @@ -0,0 +1,101 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,11 +1,5 @@ + cmake_minimum_required(VERSION 3.10.2) + +-find_program(CCACHE_FOUND ccache) +-if(CCACHE_FOUND) +- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) +- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) +-endif() +- + option(ENABLE_CTEST "Enables unit tests" OFF) + option(ENABLE_OPROFILE "Enable OProfile" OFF) + option(TEST_AUTOMATION "Enable test automation" OFF) +@@ -217,14 +211,12 @@ else() + target_compile_definitions(${PROJECT_NAME} PRIVATE TARGET_NO_OPENMP) + endif() + +-option(BUILD_SHARED_LIBS "Build shared library" OFF) +-set(XXHASH_BUILD_XXHSUM OFF CACHE BOOL "Build the xxhsum binary") +-add_subdirectory(core/deps/xxHash/cmake_unofficial) +-target_link_libraries(${PROJECT_NAME} PRIVATE xxHash::xxhash) ++find_package(PkgConfig) ++pkg_check_modules(xxhash IMPORTED_TARGET libxxhash) ++target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::xxhash) + +-option(BUILD_SHARED_LIBS "Build shared library" OFF) +-add_subdirectory(core/deps/glm) +-target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm) ++find_package(glm) ++target_link_libraries(${PROJECT_NAME} PRIVATE glm) + + if(USE_VULKAN) + option(BUILD_EXTERNAL "Build external dependencies in /External" OFF) +@@ -272,13 +264,13 @@ if(NOT LIBRETRO) + target_compile_definitions(${PROJECT_NAME} PRIVATE USE_SDL USE_SDL_AUDIO) + target_sources(${PROJECT_NAME} PRIVATE core/sdl/sdl.cpp core/sdl/sdl.h core/sdl/sdl_gamepad.h core/sdl/sdl_keyboard.h) + endif() +- ++endif() + find_package(ZLIB) + if(TARGET ZLIB::ZLIB AND NOT ANDROID AND (NOT WIN32 OR WINDOWS_STORE)) + set(WITH_SYSTEM_ZLIB ON CACHE BOOL "Use system provided zlib library") + target_link_libraries(${PROJECT_NAME} PRIVATE ZLIB::ZLIB) + endif() +- ++if(NOT LIBRETRO) + find_package(Lua) + if(NOT APPLE AND LUA_FOUND) + target_compile_definitions(${PROJECT_NAME} PRIVATE USE_LUA) +@@ -288,9 +280,9 @@ if(NOT LIBRETRO) + endif() + endif() + +-add_subdirectory(core/deps/libchdr EXCLUDE_FROM_ALL) +-target_link_libraries(${PROJECT_NAME} PRIVATE chdr-static) +-target_include_directories(${PROJECT_NAME} PRIVATE core/deps/libchdr/include) ++find_package(PkgConfig) ++pkg_check_modules(chdr IMPORTED_TARGET libchdr) ++target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::chdr) + + if(NOT WITH_SYSTEM_ZLIB) + target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/core/deps/libchdr/deps/zlib-1.2.11") +@@ -329,25 +321,24 @@ if(PKG_CONFIG_FOUND AND NOT ANDROID AND NOT APPLE AND NOT LIBRETRO) + target_compile_definitions(${PROJECT_NAME} PRIVATE USE_PULSEAUDIO) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::LIBPULSE) + endif() +- ++endif() + if(USE_HOST_LIBZIP) + pkg_check_modules(LIBZIP IMPORTED_TARGET libzip) + if(LIBZIP_FOUND) + target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::LIBZIP) + endif() + endif() +- ++if(PKG_CONFIG_FOUND AND NOT ANDROID AND NOT APPLE AND NOT LIBRETRO) + if(ENABLE_OPROFILE) + target_compile_definitions(${PROJECT_NAME} PRIVATE DYNA_OPROF) + target_link_libraries(${PROJECT_NAME} PRIVATE opagent) + endif() +- ++endif() + find_package(MiniUPnPc) + if (MINIUPNP_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${MINIUPNP_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${MINIUPNP_LIBRARIES}) + endif() +-endif() + + if(NINTENDO_SWITCH AND USE_GLES) + pkg_check_modules(GLESV2 IMPORTED_TARGET glesv2) +@@ -1167,7 +1158,7 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*|arm64.*)" OR CMAKE_OSX_ + set(KNOWN_ARCHITECTURE_DETECTED ON) + endif() + if(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|x86_64.*|AMD64.*" OR CMAKE_OSX_ARCHITECTURES MATCHES "x86_64") +- add_subdirectory(core/deps/xbyak EXCLUDE_FROM_ALL) ++ find_package(xbyak) + target_link_libraries(${PROJECT_NAME} PRIVATE xbyak::xbyak) + if(CMAKE_SIZEOF_VOID_P EQUAL 4) + target_sources(${PROJECT_NAME} PRIVATE |