rockbox-utility: 1.4.1 -> 1.5.1

This commit is contained in:
Berk Özkütük 2025-04-25 20:23:37 +02:00
parent 9ba8353cf8
commit a753044e5f
No known key found for this signature in database
GPG key ID: BCBF0B394E3A9C7F
2 changed files with 44 additions and 26 deletions

View file

@ -7,23 +7,24 @@
makeWrapper,
pkg-config,
qt5,
cmake,
withEspeak ? false,
espeak ? null,
}:
stdenv.mkDerivation rec {
pname = "rockbox-utility";
version = "1.4.1";
version = "1.5.1";
src = fetchurl {
url = "https://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2";
hash = "sha256-PhlJ+fNY4/Qjoc72zV9WO+kNqF5bZQuwOh4EpAJwqX4=";
hash = "sha256-guNO11a0d30RexPEAAQGIgV9W17zgTjZ/LNz/oUn4HM=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
qt5.qmake
cmake
qt5.wrapQtAppsHook
];
@ -31,30 +32,20 @@ stdenv.mkDerivation rec {
cryptopp
libusb1
qt5.qtbase
qt5.qtmultimedia
qt5.qttools
] ++ lib.optional withEspeak espeak;
postPatch = ''
sed -i rbutil/rbutilqt/rbutilqt.pro \
-e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${lib.getDev qt5.qttools}/bin/lrelease|'
'';
cmakeDir = "../utils";
preConfigure = ''
cd rbutil/rbutilqt
lrelease rbutilqt.pro
'';
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: libmkimxboot.a(elf.c.o):utils/imxtools/sbtools/misc.h:43: multiple definition of `g_nr_keys';
# libmkimxboot.a(mkimxboot.c.o):utils/imxtools/sbtools/misc.h:43: first defined here
# TODO: try to remove with 1.5.1 update.
env.NIX_CFLAGS_COMPILE = "-fcommon";
patches = [
./rockbox-utility-fix-cmake.patch
];
installPhase = ''
runHook preInstall
install -Dm755 RockboxUtility $out/bin/rockboxutility
install -Dm755 rbutilqt/RockboxUtility $out/bin/rockboxutility
ln -s $out/bin/rockboxutility $out/bin/RockboxUtility
wrapProgram $out/bin/rockboxutility \
${lib.optionalString withEspeak ''
@ -64,17 +55,11 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
# `make build/rcc/qrc_rbutilqt-lang.cpp` fails with
# RCC: Error in 'rbutilqt-lang.qrc': Cannot find file 'lang/rbutil_cs.qm'
# Do not add `lrelease rbutilqt.pro` into preConfigure, otherwise `make lrelease`
# may clobber the files read by the parallel `make build/rcc/qrc_rbutilqt-lang.cpp`.
enableParallelBuilding = false;
meta = with lib; {
homepage = "https://www.rockbox.org";
description = "Open source firmware for digital music players";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ ozkutuk ];
mainProgram = "RockboxUtility";
platforms = platforms.linux;
};

View file

@ -0,0 +1,33 @@
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index 55e5b79..0934905 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -358,22 +358,6 @@ add_library(rbtomcrypt
)
target_include_directories(rbtomcrypt PUBLIC ${CMAKE_CURRENT_LIST_DIR}/tomcrypt/src/headers)
-add_library(skin_parser
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_buffer.c
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_buffer.h
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_debug.c
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_debug.h
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_parser.c
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_parser.h
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_scan.c
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/skin_scan.h
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/symbols.h
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/tag_table.c
- ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser/tag_table.h
- )
-target_include_directories(skin_parser PUBLIC ${CMAKE_CURRENT_LIST_DIR}/../lib/skin_parser)
-target_compile_definitions(skin_parser PUBLIC __PCTOOL__)
-
# target will always be build. File is only updated when contents change.
add_custom_target(gitversion.h
COMMENT "Updating gitversion.h"
@@ -391,5 +375,3 @@ target_include_directories(gitversion INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/gitv
include(${CMAKE_CURRENT_LIST_DIR}/cmake/deploy.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/cmake/QtTest.cmake)
add_subdirectory(rbutilqt)
-add_subdirectory(themeeditor)
-