84 lines
1.7 KiB
Nix
84 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
autoPatchelfHook,
|
|
fetchurl,
|
|
fontconfig,
|
|
freetype,
|
|
glib,
|
|
libgcc,
|
|
libjpeg,
|
|
libpng12,
|
|
libz,
|
|
makeWrapper,
|
|
stdenvNoCC,
|
|
unrar,
|
|
xorg,
|
|
}:
|
|
|
|
let
|
|
rarPassword = "spflashtool.com";
|
|
in
|
|
|
|
stdenvNoCC.mkDerivation (self: {
|
|
pname = "SPFlashTool5";
|
|
version = "5.1916";
|
|
src = fetchurl {
|
|
url = "https://spflashtool.com/files/SP_Flash_Tool-5.1916_Linux.rar";
|
|
hash = "sha256-5lv/uPfUoke0IwjGuV/gTBt4kCbr95mwco3q9cjW/mE=";
|
|
curlOptsList = [
|
|
"--referer" "https://spflashtool.com/download/"
|
|
];
|
|
};
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
fontconfig
|
|
freetype
|
|
glib
|
|
libgcc
|
|
libjpeg
|
|
libpng12
|
|
libz
|
|
makeWrapper
|
|
unrar
|
|
xorg.libSM
|
|
xorg.libX11
|
|
xorg.libXext
|
|
xorg.libXrender
|
|
];
|
|
unpackPhase = ''
|
|
runHook preUnpack
|
|
|
|
unrar x -p${lib.escapeShellArg rarPassword} $src
|
|
cd */
|
|
|
|
runHook postUnpack
|
|
'';
|
|
# remove plugins that have outdated dependencies not available in nixpkgs
|
|
# they are not needed to run the tool anyway
|
|
prePatch = ''
|
|
rm \
|
|
plugins/imageformats/libqsvg.so \
|
|
plugins/imageformats/libqmng.so \
|
|
plugins/imageformats/libqtiff.so
|
|
'';
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
dontCheck = true;
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/SPFlashTool5
|
|
cp -r * $out/share/SPFlashTool5
|
|
chmod +x $out/share/SPFlashTool5/flash_tool
|
|
makeWrapper $out/share/SPFlashTool5/flash_tool $out/bin/SPFlashTool5
|
|
|
|
runHook postInstall
|
|
'';
|
|
meta = {
|
|
description = "Flash tool for MediaTek devices";
|
|
homepage = "https://spflashtool.com/";
|
|
license = lib.licenses.unfree;
|
|
maintainers = with lib.maintainers; [ amozeo ];
|
|
};
|
|
})
|