diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/misc/rockbox-utility')
-rw-r--r-- | nixpkgs/pkgs/tools/misc/rockbox-utility/default.nix | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/misc/rockbox-utility/default.nix b/nixpkgs/pkgs/tools/misc/rockbox-utility/default.nix new file mode 100644 index 000000000000..6be32e214784 --- /dev/null +++ b/nixpkgs/pkgs/tools/misc/rockbox-utility/default.nix @@ -0,0 +1,57 @@ +{ stdenv, fetchurl, pkgconfig, cryptopp +, libusb1, qtbase, qttools, makeWrapper +, qmake, withEspeak ? false, espeak ? null +, qt5 }: + +let inherit (stdenv.lib) getDev; in + +stdenv.mkDerivation rec { + pname = "rockbox-utility"; + version = "1.4.1"; + + src = fetchurl { + url = "https://download.rockbox.org/rbutil/source/RockboxUtility-v${version}-src.tar.bz2"; + sha256 = "0zm9f01a810y7aq0nravbsl0vs9vargwvxnfl4iz9qsqygwlj69y"; + }; + + buildInputs = [ cryptopp libusb1 qtbase qttools ] + ++ stdenv.lib.optional withEspeak espeak; + nativeBuildInputs = [ makeWrapper pkgconfig qmake qt5.wrapQtAppsHook ]; + + postPatch = '' + sed -i rbutil/rbutilqt/rbutilqt.pro \ + -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${getDev qttools}/bin/lrelease|' + ''; + + preConfigure = '' + cd rbutil/rbutilqt + lrelease rbutilqt.pro + ''; + + installPhase = '' + runHook preInstall + + install -Dm755 RockboxUtility $out/bin/rockboxutility + ln -s $out/bin/rockboxutility $out/bin/RockboxUtility + wrapProgram $out/bin/rockboxutility \ + ${stdenv.lib.optionalString withEspeak '' + --prefix PATH : ${espeak}/bin + ''} + + 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 stdenv.lib; { + description = "Open source firmware for mp3 players"; + homepage = "https://www.rockbox.org"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ goibhniu ]; + }; +} |