Loading pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch→pkgs/tools/cd-dvd/ventoy-bin/001-add-mips64.diff +0 −0 File moved. View file pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch→pkgs/tools/cd-dvd/ventoy-bin/002-fix-for-read-only-file-system.diff +0 −0 File moved. View file pkgs/tools/cd-dvd/ventoy-bin/default.nix +97 −45 Original line number Diff line number Diff line { lib, stdenv, fetchurl, fetchpatch , autoPatchelfHook, makeWrapper , bash, coreutils, dosfstools, exfat, gawk, gnugrep, gnused, hexdump, parted , procps, util-linux, which, xz , withCryptsetup ? false, cryptsetup , withXfs ? false, xfsprogs , withExt4 ? false, e2fsprogs , withNtfs ? false, ntfs3g , withGtk3 ? false, gtk3 , withQt5 ? false, qt5 { lib , stdenv , fetchurl , fetchpatch , autoPatchelfHook , bash , coreutils , cryptsetup , dosfstools , e2fsprogs , exfat , gawk , gnugrep , gnused , gtk3 , hexdump , makeWrapper , ntfs3g , parted , procps , qt5 , util-linux , which , xfsprogs , xz , defaultGuiType ? "" , withCryptsetup ? false , withXfs ? false , withExt4 ? false , withNtfs ? false , withGtk3 ? false , withQt5 ? false }: assert lib.elem defaultGuiType [ "" "gtk3" "qt5" ]; Loading @@ -21,37 +42,30 @@ let i686-linux = "i386"; aarch64-linux = "aarch64"; mipsel-linux = "mips64el"; }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation rec { pname = "ventoy-bin"; version = "1.0.76"; nativeBuildInputs = [ autoPatchelfHook makeWrapper ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; buildInputs = [ bash coreutils dosfstools exfat gawk gnugrep gnused hexdump parted procps util-linux which xz ] ++ lib.optional withCryptsetup cryptsetup ++ lib.optional withXfs xfsprogs ++ lib.optional withExt4 e2fsprogs ++ lib.optional withNtfs ntfs3g ++ lib.optional withGtk3 gtk3 ++ lib.optional withQt5 qt5.qtbase; version = "1.0.77"; src = fetchurl { url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz"; sha256 = "f13c3c81eafe15ae4b3de3d98d240d94eabba7cda8e3330ff1769502ecfa33c0"; hash = "sha256-DmDWt06gjrAEZ9Qvb7qbKbfJr/u84qmQ44kfDA3HDp0="; }; patches = [ (fetchpatch { name = "sanitize.patch"; url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5"; sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk="; }) ./fix-for-read-only-file-system.patch ./add-mips64.patch ./001-add-mips64.diff ./002-fix-for-read-only-file-system.diff ]; patchFlags = [ "-p0" ]; postPatch = '' # Fix permissions. find -type f -name \*.sh -exec chmod a+x '{}' \; Loading @@ -60,7 +74,38 @@ in stdenv.mkDerivation rec { sed -i 's:log\.txt:/var/log/ventoy\.log:g' \ WebUI/static/js/languages.js tool/languages.json ''; nativeBuildInputs = [ autoPatchelfHook makeWrapper ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; buildInputs = [ bash coreutils dosfstools exfat gawk gnugrep gnused hexdump parted procps util-linux which xz ] ++ lib.optional withCryptsetup cryptsetup ++ lib.optional withExt4 e2fsprogs ++ lib.optional withGtk3 gtk3 ++ lib.optional withNtfs ntfs3g ++ lib.optional withXfs xfsprogs ++ lib.optional withQt5 qt5.qtbase; installPhase = '' runHook preInstall # Setup variables. local VENTOY_PATH="$out"/share/ventoy local ARCH='${arch}' Loading Loading @@ -99,9 +144,10 @@ in stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath buildInputs}" \ --chdir "$VENTOY_PATH" done '' + lib.optionalString (withGtk3 || withQt5) '' '' # VentoGUI uses the `ventoy_gui_type` file to determine the type of GUI. # See <https://github.com/ventoy/Ventoy/blob/471432fc50ffad80bde5de0b22e4c30fa3aac41b/LinuxGUI/Ventoy2Disk/ventoy_gui.c#L1044>. + 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}" \ Loading @@ -109,31 +155,37 @@ in stdenv.mkDerivation rec { mkdir "$out"/share/{applications,pixmaps} ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ cp ${./ventoy-gui.desktop} "$out"/share/applications/ '' + lib.optionalString (!withGtk3) '' '' + lib.optionalString (!withGtk3) '' rm "$VENTOY_PATH"/tool/{"$ARCH"/Ventoy2Disk.gtk3,VentoyGTK.glade} '' + lib.optionalString (!withQt5) '' '' + lib.optionalString (!withQt5) '' rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5" '' + lib.optionalString (!withGtk3 && !withQt5) '' '' + lib.optionalString (!withGtk3 && !withQt5) '' rm "$VENTOY_PATH"/VentoyGUI.* '' + '' runHook postInstall ''; meta = with lib; { description = "An open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files"; description = "A New Bootable USB Solution"; longDescription = '' An open source tool to create bootable USB drive for homepage = "https://www.ventoy.net"; Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don't need to format the disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly. You can copy many files at a time and ventoy will give you a boot menu to select them. You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Most type of OS supported disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly. You can copy many files at a time and ventoy will give you a boot menu to select them. You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Most type of OS supported (Windows/WinPE/Linux/ChromeOS/Unix/VMware/Xen...). With ventoy you can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. 800+ image files are tested. 90%+ distros in <distrowatch.com> supported. 800+ image files are tested. 90%+ distros in DistroWatch supported. ''; homepage = "https://www.ventoy.net"; changelog = "https://www.ventoy.net/doc_news.html"; license = licenses.gpl3Plus; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "mipsel-linux" ]; Loading pkgs/top-level/all-packages.nix +6 −0 Original line number Diff line number Diff line Loading @@ -1244,6 +1244,12 @@ with pkgs; veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { }; ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { }; ventoy-bin-full = ventoy-bin.override { withCryptsetup = true; withXfs = true; withExt4 = true; withNtfs = true; }; voms = callPackage ../tools/networking/voms { }; Loading
pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch→pkgs/tools/cd-dvd/ventoy-bin/001-add-mips64.diff +0 −0 File moved. View file
pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch→pkgs/tools/cd-dvd/ventoy-bin/002-fix-for-read-only-file-system.diff +0 −0 File moved. View file
pkgs/tools/cd-dvd/ventoy-bin/default.nix +97 −45 Original line number Diff line number Diff line { lib, stdenv, fetchurl, fetchpatch , autoPatchelfHook, makeWrapper , bash, coreutils, dosfstools, exfat, gawk, gnugrep, gnused, hexdump, parted , procps, util-linux, which, xz , withCryptsetup ? false, cryptsetup , withXfs ? false, xfsprogs , withExt4 ? false, e2fsprogs , withNtfs ? false, ntfs3g , withGtk3 ? false, gtk3 , withQt5 ? false, qt5 { lib , stdenv , fetchurl , fetchpatch , autoPatchelfHook , bash , coreutils , cryptsetup , dosfstools , e2fsprogs , exfat , gawk , gnugrep , gnused , gtk3 , hexdump , makeWrapper , ntfs3g , parted , procps , qt5 , util-linux , which , xfsprogs , xz , defaultGuiType ? "" , withCryptsetup ? false , withXfs ? false , withExt4 ? false , withNtfs ? false , withGtk3 ? false , withQt5 ? false }: assert lib.elem defaultGuiType [ "" "gtk3" "qt5" ]; Loading @@ -21,37 +42,30 @@ let i686-linux = "i386"; aarch64-linux = "aarch64"; mipsel-linux = "mips64el"; }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}"); in stdenv.mkDerivation rec { pname = "ventoy-bin"; version = "1.0.76"; nativeBuildInputs = [ autoPatchelfHook makeWrapper ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; buildInputs = [ bash coreutils dosfstools exfat gawk gnugrep gnused hexdump parted procps util-linux which xz ] ++ lib.optional withCryptsetup cryptsetup ++ lib.optional withXfs xfsprogs ++ lib.optional withExt4 e2fsprogs ++ lib.optional withNtfs ntfs3g ++ lib.optional withGtk3 gtk3 ++ lib.optional withQt5 qt5.qtbase; version = "1.0.77"; src = fetchurl { url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz"; sha256 = "f13c3c81eafe15ae4b3de3d98d240d94eabba7cda8e3330ff1769502ecfa33c0"; hash = "sha256-DmDWt06gjrAEZ9Qvb7qbKbfJr/u84qmQ44kfDA3HDp0="; }; patches = [ (fetchpatch { name = "sanitize.patch"; url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=057f2d1eb496c7a3aaa8229e99a7f709428fa4c5"; sha256 = "sha256-iAtLtM+Q4OsXDK83eCnPNomeNSEqdRLFfK2x7ybPSpk="; }) ./fix-for-read-only-file-system.patch ./add-mips64.patch ./001-add-mips64.diff ./002-fix-for-read-only-file-system.diff ]; patchFlags = [ "-p0" ]; postPatch = '' # Fix permissions. find -type f -name \*.sh -exec chmod a+x '{}' \; Loading @@ -60,7 +74,38 @@ in stdenv.mkDerivation rec { sed -i 's:log\.txt:/var/log/ventoy\.log:g' \ WebUI/static/js/languages.js tool/languages.json ''; nativeBuildInputs = [ autoPatchelfHook makeWrapper ] ++ lib.optional withQt5 qt5.wrapQtAppsHook; buildInputs = [ bash coreutils dosfstools exfat gawk gnugrep gnused hexdump parted procps util-linux which xz ] ++ lib.optional withCryptsetup cryptsetup ++ lib.optional withExt4 e2fsprogs ++ lib.optional withGtk3 gtk3 ++ lib.optional withNtfs ntfs3g ++ lib.optional withXfs xfsprogs ++ lib.optional withQt5 qt5.qtbase; installPhase = '' runHook preInstall # Setup variables. local VENTOY_PATH="$out"/share/ventoy local ARCH='${arch}' Loading Loading @@ -99,9 +144,10 @@ in stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath buildInputs}" \ --chdir "$VENTOY_PATH" done '' + lib.optionalString (withGtk3 || withQt5) '' '' # VentoGUI uses the `ventoy_gui_type` file to determine the type of GUI. # See <https://github.com/ventoy/Ventoy/blob/471432fc50ffad80bde5de0b22e4c30fa3aac41b/LinuxGUI/Ventoy2Disk/ventoy_gui.c#L1044>. + 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}" \ Loading @@ -109,31 +155,37 @@ in stdenv.mkDerivation rec { mkdir "$out"/share/{applications,pixmaps} ln -s "$VENTOY_PATH"/WebUI/static/img/VentoyLogo.png "$out"/share/pixmaps/ cp ${./ventoy-gui.desktop} "$out"/share/applications/ '' + lib.optionalString (!withGtk3) '' '' + lib.optionalString (!withGtk3) '' rm "$VENTOY_PATH"/tool/{"$ARCH"/Ventoy2Disk.gtk3,VentoyGTK.glade} '' + lib.optionalString (!withQt5) '' '' + lib.optionalString (!withQt5) '' rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5" '' + lib.optionalString (!withGtk3 && !withQt5) '' '' + lib.optionalString (!withGtk3 && !withQt5) '' rm "$VENTOY_PATH"/VentoyGUI.* '' + '' runHook postInstall ''; meta = with lib; { description = "An open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files"; description = "A New Bootable USB Solution"; longDescription = '' An open source tool to create bootable USB drive for homepage = "https://www.ventoy.net"; Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don't need to format the disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly. You can copy many files at a time and ventoy will give you a boot menu to select them. You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Most type of OS supported disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI files to the USB drive and boot them directly. You can copy many files at a time and ventoy will give you a boot menu to select them. You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Most type of OS supported (Windows/WinPE/Linux/ChromeOS/Unix/VMware/Xen...). With ventoy you can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. 800+ image files are tested. 90%+ distros in <distrowatch.com> supported. 800+ image files are tested. 90%+ distros in DistroWatch supported. ''; homepage = "https://www.ventoy.net"; changelog = "https://www.ventoy.net/doc_news.html"; license = licenses.gpl3Plus; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "mipsel-linux" ]; Loading
pkgs/top-level/all-packages.nix +6 −0 Original line number Diff line number Diff line Loading @@ -1244,6 +1244,12 @@ with pkgs; veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { }; ventoy-bin = callPackage ../tools/cd-dvd/ventoy-bin { }; ventoy-bin-full = ventoy-bin.override { withCryptsetup = true; withXfs = true; withExt4 = true; withNtfs = true; }; voms = callPackage ../tools/networking/voms { };