chore: initial commit (extracted from Launchers monorepo)

Plugin: ns7zip v2.0.0
Architectures: x86-ansi, x86-unicode, amd64-unicode
License: LGPL-2.1-or-later
This commit is contained in:
Simone
2026-04-29 14:07:51 +02:00
commit d074cc7c07
3848 changed files with 1076682 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
<#
.SYNOPSIS
Rebuilds the 7zip-19.00 directory from original sources.
.DESCRIPTION
This script downloads 7-Zip 19.00 source code from 7-zip.org and merges it
with the Nsis7z plugin files from the local archive to recreate the complete
7zip-19.00 directory structure.
.NOTES
Author: Simone
Date: 2025-12-08
Sources:
- 7-Zip 19.00 source: https://7-zip.org/a/7z1900-src.7z
- Nsis7z plugin: docs\plugins\original\ns7zip\Nsis7z_19.00.7z
#>
param(
[switch]$Force,
[string]$OutputPath = "$PSScriptRoot\7zip-19.00"
)
$ErrorActionPreference = "Stop"
# Paths
$ScriptDir = $PSScriptRoot
$TempDir = Join-Path $env:TEMP "nsis7z_rebuild_$(Get-Random)"
$SevenZipSrcUrl = "https://7-zip.org/a/7z1900-src.7z"
$Nsis7zArchive = Join-Path $ScriptDir "..\docs\plugins\original\ns7zip\Nsis7z_19.00.7z"
# Check if output already exists
if (Test-Path $OutputPath) {
if ($Force) {
Write-Host "Removing existing directory: $OutputPath" -ForegroundColor Yellow
Remove-Item -Path $OutputPath -Recurse -Force
} else {
Write-Error "Output directory already exists: $OutputPath. Use -Force to overwrite."
exit 1
}
}
# Check if Nsis7z archive exists
if (-not (Test-Path $Nsis7zArchive)) {
Write-Error "Nsis7z plugin archive not found: $Nsis7zArchive"
exit 1
}
# Create temp directory
Write-Host "Creating temp directory: $TempDir" -ForegroundColor Cyan
New-Item -ItemType Directory -Path $TempDir -Force | Out-Null
try {
# Download 7-Zip source
$SevenZipSrcFile = Join-Path $TempDir "7z1900-src.7z"
Write-Host "Downloading 7-Zip 19.00 source from $SevenZipSrcUrl..." -ForegroundColor Cyan
Invoke-WebRequest -Uri $SevenZipSrcUrl -OutFile $SevenZipSrcFile -UseBasicParsing
if (-not (Test-Path $SevenZipSrcFile)) {
Write-Error "Failed to download 7-Zip source"
exit 1
}
Write-Host "Download complete: $((Get-Item $SevenZipSrcFile).Length / 1KB) KB" -ForegroundColor Green
# Extract 7-Zip source
Write-Host "Extracting 7-Zip source..." -ForegroundColor Cyan
$ExtractDir = Join-Path $TempDir "extracted"
& 7z x $SevenZipSrcFile -o"$ExtractDir" -y | Out-Null
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to extract 7-Zip source"
exit 1
}
# Extract Nsis7z plugin
Write-Host "Extracting Nsis7z plugin..." -ForegroundColor Cyan
$PluginDir = Join-Path $TempDir "plugin"
& 7z x $Nsis7zArchive -o"$PluginDir" -y | Out-Null
if ($LASTEXITCODE -ne 0) {
Write-Error "Failed to extract Nsis7z plugin"
exit 1
}
# Merge: Copy plugin files into 7-Zip source tree
Write-Host "Merging plugin files into 7-Zip source tree..." -ForegroundColor Cyan
$PluginContrib = Join-Path $PluginDir "Contrib\nsis7z"
Copy-Item -Path "$PluginContrib\*" -Destination $ExtractDir -Recurse -Force
# Move to final destination
Write-Host "Moving to output directory: $OutputPath" -ForegroundColor Cyan
Move-Item -Path $ExtractDir -Destination $OutputPath
# Verify
$FileCount = (Get-ChildItem -Path $OutputPath -Recurse -File).Count
Write-Host "`nSuccess! Rebuilt nsis7z1900-src with $FileCount files." -ForegroundColor Green
Write-Host "Output: $OutputPath" -ForegroundColor Green
} finally {
# Cleanup temp directory
if (Test-Path $TempDir) {
Write-Host "`nCleaning up temp files..." -ForegroundColor Cyan
Remove-Item -Path $TempDir -Recurse -Force -ErrorAction SilentlyContinue
}
}