about summary refs log tree commit diff
path: root/pkgs/tools/cd-dvd
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2022-09-04 20:55:35 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2022-09-04 20:57:25 -0300
commitb48882773a5c0d2b2345996e88417617029df8f5 (patch)
treeb0d3f1ceaec9d3f055c64ca743b716061f1c5ceb /pkgs/tools/cd-dvd
parenteb3d3b2e9049e2fcf812e29c6636830cac3e0733 (diff)
ventoy-bin: 1.0.78 -> 1.0.79
Diffstat (limited to 'pkgs/tools/cd-dvd')
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch214
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/default.nix38
2 files changed, 232 insertions, 20 deletions
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch
new file mode 100644
index 0000000000000..18e837e58c629
--- /dev/null
+++ b/pkgs/tools/cd-dvd/ventoy-bin/000-sanitize.patch
@@ -0,0 +1,214 @@
+Author: DuckSoft <realducksoft@gmail.com>
+
+I just cannot stand such a dirty package. 
+Let me do some optimisations.
+
+If you are interested to improve this patch, welcome to mail me.
+
+diff -rup old/tool/ventoy_lib.sh new/tool/ventoy_lib.sh
+--- tool/ventoy_lib.sh	2021-12-02 16:59:42.148650182 +0100
++++ tool/ventoy_lib.sh	2021-12-02 17:01:17.214720518 +0100
+@@ -29,7 +29,7 @@ vterr() {
+ }
+ 
+ vtdebug() {
+-    echo "$*" >> ./log.txt
++    echo "$*" >>/var/log/ventoy.log
+ }
+ 
+ vtoy_gen_uuid() {
+@@ -52,30 +52,6 @@ vtoy_gen_uuid() {
+ 
+ check_tool_work_ok() {
+     
+-    if echo 1 | hexdump > /dev/null; then
+-        vtdebug "hexdump test ok ..."
+-    else
+-        vtdebug "hexdump test fail ..."
+-        ventoy_false
+-        return
+-    fi
+-   
+-    if mkexfatfs -V > /dev/null; then
+-        vtdebug "mkexfatfs test ok ..."
+-    else
+-        vtdebug "mkexfatfs test fail ..."
+-        ventoy_false
+-        return
+-    fi
+-    
+-    if vtoycli fat -T; then
+-        vtdebug "vtoycli fat test ok ..."
+-    else
+-        vtdebug "vtoycli fat test fail ..."
+-        ventoy_false
+-        return
+-    fi
+-    
+     vtdebug "tool check success ..."
+     ventoy_true
+ }
+@@ -311,7 +287,7 @@ format_ventoy_disk_mbr() {
+     else
+     vtdebug "format disk by fdisk ..."
+     
+-fdisk $DISK >>./log.txt 2>&1 <<EOF
++fdisk $DISK >>/var/log/ventoy.log 2>&1 <<EOF
+ o
+ n
+ p
+diff -rup old/tool/VentoyWorker.sh new/tool/VentoyWorker.sh
+--- tool/VentoyWorker.sh	2021-12-02 16:59:31.485642239 +0100
++++ tool/VentoyWorker.sh	2021-12-02 17:02:00.326752183 +0100
+@@ -105,7 +105,7 @@ vtdebug "MODE=$MODE FORCE=$FORCE RESERVE
+ if check_tool_work_ok; then
+     vtdebug "check tool work ok"
+ else
+-    vterr "Some tools can not run on current system. Please check log.txt for details."
++    vterr "Some tools can not run on current system. Please check /var/log/ventoy.log for details."
+     exit 1
+ fi
+ 
+diff -rup old/Ventoy2Disk.sh new/Ventoy2Disk.sh
+--- Ventoy2Disk.sh	2021-12-02 16:59:05.205622608 +0100
++++ Ventoy2Disk.sh	2021-12-02 17:03:29.037816991 +0100
+@@ -32,48 +32,4 @@ echo "      https://www.ventoy.net"
+ echo '**********************************************'
+ echo ''
+ 
+-
+-if ! [ -f ./boot/boot.img ]; then
+-    if [ -d ./grub ]; then
+-        echo "Don't run Ventoy2Disk.sh here, please download the released install package, and run the script in it."
+-    else
+-        echo "Please run under the correct directory!" 
+-    fi
+-    exit 1
+-fi
+-
+-echo "############# Ventoy2Disk $* [$TOOLDIR] ################" >> ./log.txt
+-date >> ./log.txt
+-
+-#decompress tool
+-echo "decompress tools" >> ./log.txt
+-cd ./tool/$TOOLDIR
+-
+-ls *.xz > /dev/null 2>&1
+-if [ $? -eq 0 ]; then
+-    [ -f ./xzcat ] && chmod +x ./xzcat
+-
+-    for file in $(ls *.xz); do
+-        echo "decompress $file" >> ./log.txt
+-        xzcat $file > ${file%.xz}
+-        [ -f ./${file%.xz} ] && chmod +x ./${file%.xz}
+-        [ -f ./$file ] && rm -f ./$file
+-    done
+-fi
+-
+-cd ../../
+-chmod +x -R ./tool/$TOOLDIR
+-
+-
+-if [ -f /bin/bash ]; then
+-    /bin/bash ./tool/VentoyWorker.sh $*
+-else
+-    ash ./tool/VentoyWorker.sh $*
+-fi
+-
+-if [ -n "$OLDDIR" ]; then 
+-    CURDIR=$(pwd)
+-    if [ "$CURDIR" != "$OLDDIR" ]; then
+-        cd "$OLDDIR"
+-    fi
+-fi
++./tool/VentoyWorker.sh $*
+diff -rup old/VentoyPlugson.sh new/VentoyPlugson.sh
+--- VentoyPlugson.sh	2021-12-02 17:54:36.055868878 +0100
++++ VentoyPlugson.sh	2021-12-02 18:04:40.919633986 +0100
+@@ -25,8 +19,6 @@ if echo $machine | egrep -q 'aarch64|arm
+     TOOLDIR=aarch64
+ elif echo $machine | egrep -q 'x86_64|amd64'; then
+     TOOLDIR=x86_64
+-elif echo $machine | egrep -q 'mips64'; then
+-    TOOLDIR=mips64el
+ elif echo $machine | egrep -q 'i[3-6]86'; then
+     TOOLDIR=i386
+ else
+@@ -35,38 +27,6 @@ else
+ fi
+ 
+ 
+-if ! [ -f "$OLDDIR/tool/plugson.tar.xz" ]; then
+-    echo "Please run under the correct directory!" 
+-    exit 1
+-fi
+-
+-echo "############# VentoyPlugson $* [$TOOLDIR] ################" >> ./VentoyPlugson.log
+-date >> ./VentoyPlugson.log
+-
+-echo "decompress tools" >> ./VentoyPlugson.log
+-cd ./tool/$TOOLDIR
+-
+-ls *.xz > /dev/null 2>&1
+-if [ $? -eq 0 ]; then
+-    [ -f ./xzcat ] && chmod +x ./xzcat
+-
+-    for file in $(ls *.xz); do
+-        echo "decompress $file" >> ./VentoyPlugson.log
+-        xzcat $file > ${file%.xz}
+-        [ -f ./${file%.xz} ] && chmod +x ./${file%.xz}
+-        [ -f ./$file ] && rm -f ./$file
+-    done
+-fi
+-
+-cd ../../
+-chmod +x -R ./tool/$TOOLDIR
+-
+-if ! [ -f "$OLDDIR/tool/$TOOLDIR/Plugson" ]; then
+-    echo "$OLDDIR/tool/$TOOLDIR/Plugson does not exist!" 
+-    exit 1
+-fi
+-
+-
+ PATH=./tool/$TOOLDIR:$PATH
+ 
+ HOST="127.0.0.1"
+@@ -208,11 +168,3 @@ if [ -f /proc/$wID/maps ]; then
+ 
+     wait $wID
+ fi
+-
+-
+-if [ -n "$OLDDIR" ]; then 
+-    CURDIR=$(pwd)
+-    if [ "$CURDIR" != "$OLDDIR" ]; then
+-        cd "$OLDDIR"
+-    fi
+-fi
+diff -rup old/VentoyWeb.sh new/VentoyWeb.sh
+--- VentoyWeb.sh	2021-12-02 16:58:51.885612627 +0100
++++ VentoyWeb.sh	2021-12-02 17:04:43.437871014 +0100
+@@ -15,12 +15,6 @@ print_err() {
+     echo ""
+ }
+ 
+-uid=$(id -u)
+-if [ $uid -ne 0 ]; then
+-    print_err "Please use sudo or run the script as root."
+-    exit 1
+-fi
+-
+ OLDDIR=$(pwd)
+ 
+ if uname -m | egrep -q 'aarch64|arm64'; then
+@@ -85,8 +79,8 @@ if ps -ef | grep "V2DServer.*$HOST.*$POR
+     exit 1
+ fi
+ 
+-LOGFILE=log.txt
+-#delete the log.txt if it's more than 8MB
++LOGFILE=/var/log/ventoy.log
++#delete the ventoy.log if it's more than 8MB
+ if [ -f $LOGFILE ]; then
+     logsize=$(stat -c '%s' $LOGFILE)
+     if [ $logsize -gt 8388608 ]; then
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
index 361739e980e93..978eae33bc940 100644
--- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix
+++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
@@ -4,8 +4,8 @@
 , fetchpatch
 , autoPatchelfHook
 , bash
-, coreutils
 , copyDesktopItems
+, coreutils
 , cryptsetup
 , dosfstools
 , e2fsprogs
@@ -15,14 +15,15 @@
 , gnused
 , gtk3
 , hexdump
-, makeWrapper
 , makeDesktopItem
+, makeWrapper
 , ntfs3g
 , parted
 , procps
-, qt5
+, qtbase
 , util-linux
 , which
+, wrapQtAppsHook
 , xfsprogs
 , xz
 , defaultGuiType ? ""
@@ -47,30 +48,24 @@ let
   }.${stdenv.hostPlatform.system}
     or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation (finalAttrs: {
   pname = "ventoy-bin";
-  version = "1.0.78";
+  version = "1.0.79";
 
   src = fetchurl {
-    url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
-    hash = "sha256-vlSnnExtuh85yGFYUBeE7BRsVwl+kn7nSaIx2d3WICk=";
+    url = "https://github.com/ventoy/Ventoy/releases/download/v${finalAttrs.version}/ventoy-${finalAttrs.version}-linux.tar.gz";
+    hash = "sha256-azkoDquN/i01QHsd1wJG79kdhHhBvXzPXIRnjKHAHNE=";
   };
 
   patches = [
-    (fetchpatch {
-      name = "sanitize.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5";
-      sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk=";
-    })
+    ./000-sanitize.patch
     ./001-add-mips64.diff
     ./002-fix-for-read-only-file-system.diff
   ];
 
   patchFlags = [ "-p0" ];
 
-  dontConfigure = true;
-  dontBuild = true;
-
   postPatch = ''
     # Fix permissions.
     find -type f -name \*.sh -exec chmod a+x '{}' \;
@@ -85,7 +80,7 @@ in stdenv.mkDerivation rec {
     makeWrapper
   ]
   ++ lib.optional (withQt5 || withGtk3) copyDesktopItems
-  ++ lib.optional withQt5 qt5.wrapQtAppsHook;
+  ++ lib.optional withQt5 wrapQtAppsHook;
 
   buildInputs = [
     bash
@@ -107,7 +102,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional withGtk3 gtk3
   ++ lib.optional withNtfs ntfs3g
   ++ lib.optional withXfs xfsprogs
-  ++ lib.optional withQt5 qt5.qtbase;
+  ++ lib.optional withQt5 qtbase;
 
   desktopItems = [
     (makeDesktopItem {
@@ -121,6 +116,9 @@ in stdenv.mkDerivation rec {
       startupNotify = true;
     })];
 
+  dontConfigure = true;
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
 
@@ -159,7 +157,7 @@ in stdenv.mkDerivation rec {
              VentoyPlugson.sh_ventoy-plugson; do
         local bin="''${f%_*}" wrapper="''${f#*_}"
         makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \
-                    --prefix PATH : "${lib.makeBinPath buildInputs}" \
+                    --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \
                     --chdir "$VENTOY_PATH"
     done
   ''
@@ -168,7 +166,7 @@ in stdenv.mkDerivation rec {
   + lib.optionalString (withGtk3 || withQt5) ''
     echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type"
     makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \
-                --prefix PATH : "${lib.makeBinPath buildInputs}" \
+                --prefix PATH : "${lib.makeBinPath finalAttrs.buildInputs}" \
                 --chdir "$VENTOY_PATH"
     mkdir "$out"/share/{applications,pixmaps}
     ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/
@@ -210,4 +208,4 @@ in stdenv.mkDerivation rec {
     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
     mainProgram = "ventoy";
   };
-}
+})