From nobody Thu Aug 22 21:02:49 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WqbJB0jVYz5Tf1D; Thu, 22 Aug 2024 21:02:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WqbJ95FY2z4Z81; Thu, 22 Aug 2024 21:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724360569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=grE4CYbEW+RPGQjXh4M4tXV+NkfcYpg8fzzHv7dSUMg=; b=gf2EBhEutnAs/mnFUuxnZthFe9kmaI2Ultsoc/rNn/hmutt0aJvTQsOKYKV0eY8eIKZxQB XL0QCx0P69QErf9CyOT5HiN2xiLWRj4vj0wCvvqA/lyrdoHFyBOJwZAPnkmnGtx6iJLbcL ekb9w/L1IK96XxKgRAVdp+ZDB/6jfNnjUrZEb0lLDkeMRvqoVRqWh8zIMztaC7zQAP3PNn mfiJzPownRnQ0Ku9IuBipcv2ihItQErmNLk7O1S4YzR/XYQtV+2I0hGxWVBsXnJNZ2awnc cGifxCWpoI9shx0LrJtETvtTwpe1vuWdew/VKdVZdpoQceWvfXVbWgHO8Hyejw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1724360569; a=rsa-sha256; cv=none; b=jVXn4Dl39hs1jP0L3JhYPqm4w7+fwT5geJO/L8XU95PYyG6JRPgdzzLbQxUB5qBenYmS0/ iSTNaiZTknsfZ1YzsrvOVDopM5kP+2Zz6iVaYrzMYf1Oe/82H8m/F4pC+J23Z6G0WpGVOb +FBqZ0nWV2JE8tuNjuPlkBh4tkn7vMSlFYOYUvtKfMmmmY6KNkritAlARXCNbZQMpU1Hmz gmYZPyI65SrU5xBuS+jhSEOlzkA+CJHITGPaJ9AF1MDQCk2gy0Q+yTyhhe82cfTZ73llQi 8WkuVWNcHWhQup2KhlOmIl2KGvMEntuNEBeDWixIHy5gfTG1QamxVR21174Eog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724360569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=grE4CYbEW+RPGQjXh4M4tXV+NkfcYpg8fzzHv7dSUMg=; b=cBoBEaSw5jYlUTsM6K7CqKsZZP47MTR22LzwvO66liPRE2jIc7YQ8IMUt1aj0tlpCy1rec swtGxuF2P0dhblZC9sLiQg/z77vUeG7ApJlGQKdyc+eErRiL3hQI8v1JYs8OEjVP6duqmn y5b/tGDpZ1vkyRucVY1N6zw2g1S3AvpAe7IfXvBcuJdGKX2mVXQ0HXkea1s28egsRk962B JlRvZSs7JYg5j9SYuZvqOQkslbqMIlwzoqpCWbkWwPuxEAGYjWARLMRTGW6CzrvvcDukgW I7x73NRQsVI7O2PLuUKV7nkFQttlsJXMf43OTcyI3eyfXrx1TecgzRg5G20mJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WqbJ94rjSzjjY; Thu, 22 Aug 2024 21:02:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 47ML2nSj087625; Thu, 22 Aug 2024 21:02:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 47ML2nvp087622; Thu, 22 Aug 2024 21:02:49 GMT (envelope-from git) Date: Thu, 22 Aug 2024 21:02:49 GMT Message-Id: <202408222102.47ML2nvp087622@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 10398afad004 - main - emulators/es-de: New Port: frontend for browsing and launching games from your multi-platform collection List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10398afad0044dba67be17a6a87605ff63708781 Auto-Submitted: auto-generated The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=10398afad0044dba67be17a6a87605ff63708781 commit 10398afad0044dba67be17a6a87605ff63708781 Author: Stefan Schlosser AuthorDate: 2024-08-22 20:55:24 +0000 Commit: Vladimir Druzenko CommitDate: 2024-08-22 21:02:02 +0000 emulators/es-de: New Port: frontend for browsing and launching games from your multi-platform collection ES-DE (formerly known as EmulationStation Desktop Edition) is a frontend for browsing and launching games from your multi-platform collection. It comes preconfigured for use with a large selection of emulators, game engines, game managers and gaming services. It can also run locally installed games and applications. It's fully customizable, so you can easily expand it with support for additional systems and applications. It features a modern and attractive user interface, full controller navigation support, supports over 150 different game systems, highly customizable setup, a built-in scraper for downloading game info and game media, full theme support with lots of high-quality themes. https://es-de.org https://gitlab.com/es-de/emulationstation-de PR: 280891 --- emulators/Makefile | 1 + emulators/es-de/Makefile | 56 + emulators/es-de/distinfo | 9 + emulators/es-de/files/patch-CMakeLists.txt | 83 + emulators/es-de/files/patch-es-app_CMakeLists.txt | 13 + .../es-de/files/patch-external_CMakeLists.txt | 23 + emulators/es-de/pkg-descr | 11 + emulators/es-de/pkg-message | 13 + emulators/es-de/pkg-plist | 2310 ++++++++++++++++++++ 9 files changed, 2519 insertions(+) diff --git a/emulators/Makefile b/emulators/Makefile index 0f8fa6defe8d..fa362858e180 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -32,6 +32,7 @@ SUBDIR += elliott-803 SUBDIR += emu64 SUBDIR += emulationstation + SUBDIR += es-de SUBDIR += fceux SUBDIR += flexemu SUBDIR += fmsx diff --git a/emulators/es-de/Makefile b/emulators/es-de/Makefile new file mode 100644 index 000000000000..d7995e8c54b5 --- /dev/null +++ b/emulators/es-de/Makefile @@ -0,0 +1,56 @@ +PORTNAME= es-de +DISTVERSIONPREFIX= v +DISTVERSION= 3.0.3 +CATEGORIES= emulators + +# committed upstream, remove with next version update +# * Provide DEINIT_ON_LAUNCH +# https://gitlab.com/es-de/emulationstation-de/-/issues/1818 +# * Use getPathToBinary(argv[0]) fallback in setExePath +# https://gitlab.com/es-de/emulationstation-de/-/issues/1819 +# * Fix runRebootCommand() and runPoweroffCommand() +# https://gitlab.com/es-de/emulationstation-de/-/issues/1820 +PATCH_SITES= https://gitlab.com/${PORTNAME}/${GL_PROJECT}/-/commit/ +PATCHFILES= 330f36ee14525d59879a36005fa08734b21cf8fc.patch:-p1 \ + bd6956d52ffc950102613b7425eb30f668206888.patch:-p1 \ + 338843ce46ee8ab78a1b3c60dcae0ec79a30aa28.patch:-p1 + +MAINTAINER= bsdcode@disroot.org +COMMENT= Frontend for browsing and launching games +WWW= https://es-de.org + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${LOCALBASE}/include/CImg.h:graphics/cimg \ + ${LOCALBASE}/include/glm/glm.hpp:math/glm \ + ${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson +LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ + libcurl.so:ftp/curl \ + libfreeimage.so:graphics/freeimage \ + libfreetype.so:print/freetype2 \ + libgit2.so:devel/libgit2 \ + libpoppler.so:graphics/poppler \ + libpugixml.so:textproc/pugixml \ + librlottie.so:graphics/rlottie + +USES= cmake compiler:c++17-lang gl localbase pkgconfig sdl +USE_GITLAB= yes +GL_PROJECT= emulationstation-de +USE_GL= opengl +USE_SDL= sdl2 + +CMAKE_ON= VIDEO_HW_DECODING + +OPTIONS_DEFINE= DEINIT DOCS +OPTIONS_DEFAULT= DEINIT + +DEINIT_DESC= Deinit frontend on emulator launch + +DEINIT_CMAKE_BOOL= DEINIT_ON_LAUNCH + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/*.md ${STAGEDIR}${DOCSDIR} + +.include diff --git a/emulators/es-de/distinfo b/emulators/es-de/distinfo new file mode 100644 index 000000000000..91e06dd04985 --- /dev/null +++ b/emulators/es-de/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1724345621 +SHA256 (emulationstation-de-v3.0.3.tar.bz2) = b33b7b6540f17136095d594349e9d6d359cf47be660108cd2b1cabf61434276f +SIZE (emulationstation-de-v3.0.3.tar.bz2) = 69857580 +SHA256 (330f36ee14525d59879a36005fa08734b21cf8fc.patch) = d3f919f50bd869bc712e7caba778b05e8d576450ceb4fb9b8c51fbe2f37b0dd1 +SIZE (330f36ee14525d59879a36005fa08734b21cf8fc.patch) = 988 +SHA256 (bd6956d52ffc950102613b7425eb30f668206888.patch) = c2429a98357b53203431bd6328b2a4fd7541ecef4e02835e88e87ab6e0364525 +SIZE (bd6956d52ffc950102613b7425eb30f668206888.patch) = 1102 +SHA256 (338843ce46ee8ab78a1b3c60dcae0ec79a30aa28.patch) = 8434bf8c0757f1fca69980f01f9097a2728798f0f4d4be34791b77e023a4c7bc +SIZE (338843ce46ee8ab78a1b3c60dcae0ec79a30aa28.patch) = 1392 diff --git a/emulators/es-de/files/patch-CMakeLists.txt b/emulators/es-de/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..cc6224d26519 --- /dev/null +++ b/emulators/es-de/files/patch-CMakeLists.txt @@ -0,0 +1,83 @@ +--- CMakeLists.txt.orig 2024-08-22 16:55:26 UTC ++++ CMakeLists.txt +@@ -139,6 +139,8 @@ elseif(NOT EMSCRIPTEN AND NOT ANDROID) + find_package(Libgit2 REQUIRED) + find_package(Pugixml REQUIRED) + find_package(SDL2 REQUIRED) ++ pkg_check_modules(rapidjson REQUIRED RapidJSON) ++ pkg_check_modules(rlottie REQUIRED rlottie) + endif() + + # Add libCEC support. +@@ -180,8 +182,7 @@ if(CMAKE_BUILD_TYPE MATCHES Debug) + if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17 /Od /DEBUG:FULL") + else() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O0 -g3 -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros") +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O0") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros") + endif() + # If using Clang, then add additional debug data needed by GDB. + # Comment this out if you're using LLDB for debugging as this flag makes the binary +@@ -204,11 +205,11 @@ else() + if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNDEBUG /std:c++17 /O2 /DEBUG:NONE") + else() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -O2 -DNDEBUG -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -DNDEBUG -Wall -Wpedantic -Wsign-compare -Wnarrowing -Wmissing-field-initializers -Wunused-macros") + if(APPLE) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O2") + else() +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -O2 -s") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s") + endif() + endif() + endif() +@@ -449,11 +450,7 @@ set(COMMON_INCLUDE_DIRS ${CURL_INCLUDE_DIR} + # Include files. + + set(COMMON_INCLUDE_DIRS ${CURL_INCLUDE_DIR} +- ${CMAKE_CURRENT_SOURCE_DIR}/external/CImg +- ${CMAKE_CURRENT_SOURCE_DIR}/external/glm + ${CMAKE_CURRENT_SOURCE_DIR}/external/lunasvg/include +- ${CMAKE_CURRENT_SOURCE_DIR}/external/rapidjson/include +- ${CMAKE_CURRENT_SOURCE_DIR}/external/rlottie/inc + ${CMAKE_CURRENT_SOURCE_DIR}/external/utfcpp/source + ${CMAKE_CURRENT_SOURCE_DIR}/es-core/src + ${CMAKE_CURRENT_SOURCE_DIR}/es-pdf-converter/src) +@@ -499,7 +496,9 @@ else() + ${FREETYPE_INCLUDE_DIRS} + ${GIT2_INCLUDE_PATH} + ${PUGIXML_INCLUDE_DIRS} +- ${SDL2_INCLUDE_DIR}) ++ ${SDL2_INCLUDE_DIR} ++ ${rapidjson_INCLUDE_DIRS} ++ ${rlottie_INCLUDE_DIRS}) + endif() + + # Add libCEC include directory. +@@ -614,7 +613,8 @@ else() + ${FREETYPE_LIBRARIES} + ${GIT2_LIBRARY} + ${PUGIXML_LIBRARIES} +- ${SDL2_LIBRARY}) ++ ${SDL2_LIBRARY} ++ ${rlottie_LINK_LIBRARIES}) + endif() + + if(NOT WIN32) +@@ -624,7 +624,6 @@ if(NOT WIN32) + set(COMMON_LIBRARIES ${COMMON_LIBRARIES} ${PROJECT_SOURCE_DIR}/android_${ANDROID_ABI}/librlottie.a) + else() + set(COMMON_LIBRARIES ${COMMON_LIBRARIES} ${PROJECT_SOURCE_DIR}/liblunasvg.a) +- set(COMMON_LIBRARIES ${COMMON_LIBRARIES} ${PROJECT_SOURCE_DIR}/librlottie.a) + endif() + endif() + +@@ -682,6 +681,3 @@ add_dependencies(lunasvg es-pdf-convert) + # Make sure that es-pdf-convert is built first, and then that rlottie is built before es-core. + # Also set lottie2gif to not be built. + add_dependencies(lunasvg es-pdf-convert) +- +-add_dependencies(es-core rlottie) +-set_target_properties(lottie2gif PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1) diff --git a/emulators/es-de/files/patch-es-app_CMakeLists.txt b/emulators/es-de/files/patch-es-app_CMakeLists.txt new file mode 100644 index 000000000000..3781b9fbfeac --- /dev/null +++ b/emulators/es-de/files/patch-es-app_CMakeLists.txt @@ -0,0 +1,13 @@ +https://gitlab.com/es-de/emulationstation-de/-/issues/1817 + +--- es-app/CMakeLists.txt.orig 2024-08-17 09:21:08 UTC ++++ es-app/CMakeLists.txt +@@ -258,7 +258,7 @@ elseif(NOT ANDROID) + elseif(NOT ANDROID) + install(TARGETS es-de RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) + install(TARGETS es-pdf-convert RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) +- if(CMAKE_SYSTEM_NAME MATCHES Linux) ++ if(CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME MATCHES FreeBSD) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/es-de.6.gz + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man6) + else() diff --git a/emulators/es-de/files/patch-external_CMakeLists.txt b/emulators/es-de/files/patch-external_CMakeLists.txt new file mode 100644 index 000000000000..f52abcddae79 --- /dev/null +++ b/emulators/es-de/files/patch-external_CMakeLists.txt @@ -0,0 +1,23 @@ +--- external/CMakeLists.txt.orig 2024-06-14 15:36:56 UTC ++++ external/CMakeLists.txt +@@ -61,13 +61,9 @@ endif() + set(CMAKE_CXX_FLAGS -pthread) + endif() + +-add_subdirectory(rlottie EXCLUDE_FROM_ALL) +- + # rlottie generates a lot of annoying compiler warnings that we don't need to show. + if(CMAKE_CXX_COMPILER_ID MATCHES MSVC) + target_compile_options(rlottie PRIVATE "/wd4244" "/wd4251" "/wd4263" "/wd4334" "/wd4267" "/wd4530" "/wd4996") +-else() +- target_compile_options(rlottie PRIVATE "-w") + endif() + + if(ANDROID) +@@ -79,6 +75,3 @@ endif() + ${PROJECT_SOURCE_DIR}/android_${ANDROID_ABI}) + endif() + endif() +- +-# Build LunaSVG before rlottie. +-add_dependencies(rlottie lunasvg) diff --git a/emulators/es-de/pkg-descr b/emulators/es-de/pkg-descr new file mode 100644 index 000000000000..f7faf87932f7 --- /dev/null +++ b/emulators/es-de/pkg-descr @@ -0,0 +1,11 @@ +ES-DE (formerly known as EmulationStation Desktop Edition) is a frontend for +browsing and launching games from your multi-platform collection. It comes +preconfigured for use with a large selection of emulators, game engines, game +managers and gaming services. It can also run locally installed games and +applications. It's fully customizable, so you can easily expand it with support +for additional systems and applications. + +It features a modern and attractive user interface, full controller navigation +support, supports over 150 different game systems, highly customizable setup, a +built-in scraper for downloading game info and game media, full theme support +with lots of high-quality themes. diff --git a/emulators/es-de/pkg-message b/emulators/es-de/pkg-message new file mode 100644 index 000000000000..baf5be9228ad --- /dev/null +++ b/emulators/es-de/pkg-message @@ -0,0 +1,13 @@ +[ +{ type: install + message: <