Upgrading 7-Zip - The Haskell Tool Stack (2024)

Upgrading 7-Zip - The Haskell Tool Stack (1)

When installing GHC or MSYS2 on Windows, Stack will also install7-Zip. 7-Zip is a file archiver and is used by Stackto extract files from archives. This section explains the steps required toupgrade the 7-Zip version used by Stack. The 7-Zip functionality used by Stackis mature and stable. It is anticipated that the Stack-supplied 7-Zip will notneed to be updated frequently. On 10 September 2022, it was updated from 7-Zip9.20 (released on 18 November 2010) to 7-Zip 22.01 (released on 15 July 2022).

  1. Download the latest installer for 64-bit x64 Windows from 7-Zip's website.

  2. Run the installer and install to the default location (C:\C:\Program Files\7-Zip). The four relevant files from those installed will be:

    7z.exe # 7-Zip Console7z.dll # 7-Zip Enginelicense.txt # 7-Zip Licensereadme.txt # 7-Zip Overview
  3. In the commercialhaskell/stackage-content GitHub repository, create a new draft release tagged and named 7z-XX.YY, where XX.YY is the 7-Zip version number.

  4. Upload the four relevant files in step 2 above into the draft release.

  5. Provide a description for the release. For example:

    7-Zip 22.01 (2022-07-15) for Windows 64-bit x64.
  6. Publish the release.

  7. Changes need to be made to the stackage-content/stack/stack-setup-2.yaml file, to switch over to using the newly uploaded files. For example (extract):

    sevenzexe-info: url: "https://github.com/commercialhaskell/stackage-content/releases/download/7z-22.01/7z.exe" content-length: 545280 sha256: 254cf6411d38903b2440819f7e0a847f0cfee7f8096cfad9e90fea62f42b0c23sevenzdll-info: url: "https://github.com/commercialhaskell/stackage-content/releases/download/7z-22.01/7z.dll" content-length: 1814016 sha256: 73578f14d50f747efa82527a503f1ad542f9db170e2901eddb54d6bce93fc00e

    The content-length: key's value is the size of the file in bytes. It canbe obtained from the Length field of the dir command. The sha256:key's value can be obtained from the commands (in PowerShell):

    (Get-FileHash 7z.exe -Algorithm SHA256).Hash.ToLower()(Get-FileHash 7z.dll -Algorithm SHA256).Hash.ToLower()

    The sha256: key only accepts lowercase hash results as values.

  8. The changed stack-setup-2.yaml file should be tested locally. This can be done by:

    • temporarily disabling the existing local copy of 7-Zip by changing the name of the 7z.exe and 7z.dll files in the stack path --programs directory;

    • identifying a version of GHC not already installed in the stack path --programs directory; and

    • executing the command:

      stack --snapshot <snapshot> setup --setup-info-yaml <path to local copy of stack-setup-2.yaml>

    where <snapshot> requires the missing version of GHC.

    If all is well, the command should proceed to download the missing versionof GHC, download the 7z.exe and 7z.dll files, and use the 7-Zip versionto extract files from the GHC archive.

  9. Raise a pull request on commercialhaskell/stackage-contents for the changes to the locally-tested stack-setup-2.yaml file.

Upgrading 7-Zip - The Haskell Tool Stack (2024)
Top Articles
Target limits self-checkout to 10 items or fewer at most stores
Top 33 Pinterest Statistics of 2023 that you should know about
English Bulldog Puppies For Sale Under 1000 In Florida
Katie Pavlich Bikini Photos
Gamevault Agent
Pieology Nutrition Calculator Mobile
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Compare the Samsung Galaxy S24 - 256GB - Cobalt Violet vs Apple iPhone 16 Pro - 128GB - Desert Titanium | AT&T
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Craigslist Dog Kennels For Sale
Things To Do In Atlanta Tomorrow Night
Non Sequitur
Crossword Nexus Solver
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Hobby Stores Near Me Now
Icivics The Electoral Process Answer Key
Allybearloves
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
Marquette Gas Prices
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Vera Bradley Factory Outlet Sunbury Products
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Where Can I Cash A Huntington National Bank Check
Topos De Bolos Engraçados
Sand Castle Parents Guide
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hello – Cornerstone Chapel
Stoughton Commuter Rail Schedule
Selly Medaline
Latest Posts
Article information

Author: Sen. Emmett Berge

Last Updated:

Views: 6485

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Sen. Emmett Berge

Birthday: 1993-06-17

Address: 787 Elvis Divide, Port Brice, OH 24507-6802

Phone: +9779049645255

Job: Senior Healthcare Specialist

Hobby: Cycling, Model building, Kitesurfing, Origami, Lapidary, Dance, Basketball

Introduction: My name is Sen. Emmett Berge, I am a funny, vast, charming, courageous, enthusiastic, jolly, famous person who loves writing and wants to share my knowledge and understanding with you.