diff --git a/.gitignore b/.gitignore index 41e5c0cce8..40b3662444 100644 --- a/.gitignore +++ b/.gitignore @@ -172,6 +172,11 @@ BuildLog.htm !/libs/win32/ !/libs/speex/win32/ + +# 7-Zip extraction tool bootstrap (downloaded/extracted by w32/downloadpackage.task) +/libs/win32/7za/ +/libs/win32/7z*-extra.7z + *.suo *.sdf x64/ @@ -245,6 +250,8 @@ libs/libcodec2-*/ libs/libsilk-*/ libs/rabbitmq-c-*/ libs/rabbitmq-c-*.zip +libs/SharpZipLib.*/ +libs/SharpZipLib.*.nupkg libs/ffmpeg-*/ libs/sofia-sip*/ libs/sofia-sip* diff --git a/w32/download_sharpziplib.props b/w32/download_sharpziplib.props index 7a87d49d37..f24533871e 100644 --- a/w32/download_sharpziplib.props +++ b/w32/download_sharpziplib.props @@ -7,6 +7,12 @@ true + + 1.1.0 + $(BaseDir)libs\SharpZipLib.$(SharpZipLibVersion) + $(BaseDir)w32\Setup\CustomActions\Setup.CA.DownloadOpenH264 + + + diff --git a/w32/downloadpackage.task b/w32/downloadpackage.task index fbcf75ee0f..0223e98cb0 100644 --- a/w32/downloadpackage.task +++ b/w32/downloadpackage.task @@ -15,7 +15,8 @@ - + + @@ -57,6 +58,7 @@ using System.Diagnostics; public string extractto { get; set; } public string moveafter { get; set; } public string archivecontains { get; set; } + public string arctool { get; set; } internal static bool FileOrDirectoryExists(string name) { @@ -193,26 +195,31 @@ using System.Diagnostics; private void Extract(string filename, string extracttofolder) { - string arctool = Path.Combine(new string[] { basedir, "libs", "win32", "7za1701.exe" }); + // Use the caller-supplied extraction tool when set (the 7za bootstrap + // passes 7zr.exe to unpack the full 7za.exe out of the "extra" package); + // otherwise fall back to that bootstrapped 7za.exe for every other package. + string tool = (arctool != null && arctool.Trim() != "") + ? arctool + : Path.Combine(new string[] { basedir, "libs", "win32", "7za", "7za.exe" }); string args = " x \"" + filename + "\" -y -o\"" + extracttofolder + "\""; Log.LogMessage(MessageImportance.High, - "arctool : " + arctool); + "arctool : " + tool); Log.LogMessage(MessageImportance.High, "args : " + args); Log.LogMessage(MessageImportance.High, - "WorkingDirectory : " + Path.GetDirectoryName(arctool)); + "WorkingDirectory : " + Path.GetDirectoryName(tool)); var proc = new Process { StartInfo = new ProcessStartInfo { - FileName = arctool, + FileName = tool, Arguments = args, UseShellExecute = false, RedirectStandardOutput = true, CreateNoWindow = true, - WorkingDirectory = Path.GetDirectoryName(arctool) + WorkingDirectory = Path.GetDirectoryName(tool) } }; @@ -274,15 +281,33 @@ using System.Diagnostics; - - + 26.02 + https://github.com/ip7z/7zip/releases/download/$(SevenZipVersion) + 7z$(SevenZipVersion.Replace('.',''))-extra + + + + + - + + + true