AminetAminet
Search:
85689 packages online
• About
• Recent
• Browse
• Search
• Upload
• Setup
• Services

util/arc/7zip.lha

Mirror:Random
Showing: ppc-morphos icongeneric icon
No screenshot available
Short:7-Zip 26.04 archiver, all formats
Author:Igor Pavlov (7-Zip), Matthias Muench (Port)
Uploader:7zip amigaworld de (Matthias Muench)
Type:util/arc
Version:26.04
Architecture:m68k-amigaos >= 3.0.0
Date:2026-10-13
Requires:68020+, AmigaOS 3.0+
Distribution:Aminet
Download:util/arc/7zip.lha - View contents
Readme:util/arc/7zip.readme
Downloads:90

7-Zip for AmigaOS 3.x (m68k)
============================

This is a native port of 7zz, the full command line version of 7-Zip
26.04 by Igor Pavlov, to classic AmigaOS. All archive formats of 7-Zip
are built in. The program is linked against libnix, so no additional
library (no ixemul, no clib2) is needed.

Two versions are included:

  7zz_020   for 68020 and 68030 (runs on any 68020 or better)
  7zz_040   for 68040, 68060 and 68080 (Vampire); also runs on the
            68LC040/68LC060 without FPU

and the module for self-extracting archives:

  7zSFX     the 7-Zip SFX (7z only, unpacking only), see below

Features
--------

  Packing:    7z, zip, tar, gzip, bzip2, xz, wim
  Unpacking:  all formats of 7-Zip, among them 7z, zip, rar, rar5, tar,
              gzip, bzip2, xz, zstd, lzh/lha, arj, cab, iso, udf, wim,
              cpio, rpm, deb, dmg, hfs, ntfs, fat, squashfs, vhd, vmdk
  Methods:    LZMA, LZMA2, PPMd, BZip2, Deflate, Deflate64, BCJ/BCJ2,
              Delta and more
  Encryption: AES-256 for 7z (also encrypted headers) and zip
  Hashes:     CRC32, CRC64, SHA1, SHA256, SHA512, SHA3, BLAKE2sp,
              MD5, XXH64 (command "h")
  Also:       multi volume archives (switch -v), update/delete/rename
              in archives, benchmark (command "b"), self-extracting
              7z archives (module 7zSFX, see below)

Installation
------------

Double-click "Install" in the drawer 7zip. The installer preselects
the version for your CPU, copies it as C:7zz and, if you like, 7zSFX
as C:7zSFX. If a file is already there, it asks with both versions.

By hand: copy the version for your CPU to C: and rename it to 7zz:

  Copy 7zip/7zz_040 C:7zz

For self-extracting archives also copy the SFX module:

  Copy 7zip/7zSFX C:7zSFX

Usage
-----

  7zz a archive.7z drawer        pack a drawer into archive.7z
  7zz x archive.7z               unpack with full paths
  7zz x -oWork:out archive.7z    unpack into Work:out
  7zz x -pSecret archive.7z      unpack an encrypted archive
  7zz l archive.7z               list the contents
  7zz t archive.7z               test the archive
  7zz a -tzip archive.zip files  create a zip archive
  7zz h -scrcSHA256 file         show the SHA256 of a file
  7zz b                          benchmark
  7zz                            show all commands and switches

The full 7-Zip documentation for the command line version applies.

Self-extracting archives
------------------------

7zSFX is the console SFX of 7-Zip for AmigaOS. A self-extracting archive
is this module with a 7z archive inside: a program that unpacks itself,
from the Shell or by double-click on its icon. Nobody needs 7-Zip for
it.

  prog                     unpack into the current directory
  prog x -oWork:out        unpack into Work:out
  prog l                   list the contents
  prog t                   test
  prog x -pSecret          unpack an encrypted archive

Started from the Workbench it opens a console window, unpacks into its
own drawer and keeps the window open until you close it.

On AmigaOS "7zz a -sfx7zSFX ..." does NOT give a working program: it
just appends the archive to the module, and AmigaDOS refuses to load a
program with data behind its last hunk ("file is not executable").
The archive has to go into a debug hunk of the module instead. LumiZip
(a MUI front end for 7zz) does this with its option "Self-extracting".

7zSFX always has the same version as 7zz; use the two from one package.

AmigaOS notes
-------------

  - Amiga paths work as usual: "Work:data", "RAM:test.7z", assigns.
    A volume or assign name is never stored inside an archive.
  - Use quotes for names with spaces: 7zz a test.7z "Work:My Files"
  - 7-Zip uses its own wildcards: '*' and '?', not the AmigaDOS
    pattern '#?'.
  - ':' is not allowed in AmigaOS file names. If an archive contains
    such a name, it is replaced by '_' while unpacking. So an archive
    can't write to other volumes.
  - File names are converted to ISO-8859-1, the character set of
    AmigaOS 3.x. Characters outside of it are replaced by '_'.
  - The protection bits R, W, E and D are kept (as POSIX permissions).
    H, S, P, A and file comments are not stored. When unpacking zip
    archives made on the Amiga (Info-ZIP, host "Amiga"), all
    protection bits and the file comments are restored.
  - zip only, switch -mamiga: store all protection bits and the file
    comments like Info-ZIP on the Amiga (host "Amiga"), e.g.
    7zz a -tzip -mamiga archive.zip drawer
    Other systems then unpack the files without Unix permissions.
  - When overwriting, a file without the D or W bit is replaced as well
    (like a read-only file on Windows).
  - Ctrl-C (Break) stops 7zz within about a second, also in long steps
    without any output.
  - Self-extracting archives (7zSFX) of 2.5 MB and more open as 7z
    archives. Before, 7zz took an Amiga program for a Windows object
    file (COFF) and reported "Headers Error".
  - A file without the R bit can't be read. When packing, 7zz skips it
    with a warning and ends with return code 1, like on other systems.
  - Only the modification date is kept: AmigaOS has no creation or
    access date. Time stamps are stored in UTC like on other systems,
    so set your time zone in the Locale preferences.
  - Temporary files are written to T:.
  - The port is single threaded: switch -mmt has no effect.

Memory
------

With the default settings 7zz packs 7z archives with LZMA2 and a 32 MB
dictionary. For big files this needs about 380 MB of RAM. For small
files 7-Zip lowers the dictionary automatically. With less RAM use:

  7zz a -mx1 archive.7z drawer              (about 12 MB)
  7zz a -m0=LZMA2:d1m archive.7z drawer     (about 20 MB)
  7zz a -tzip archive.zip drawer            (about 12 MB)

Unpacking needs a bit more than the dictionary size of the archive:
about 85 MB for big archives packed with the default settings, and
about 12 MB for small ones. (Values measured with 7-Zip 26.03.)

Speed
-----

Benchmark "7zz b 1 -md18" on a Vampire V4 Standalone (68080, ~77 MHz):

                 Packing     Unpacking    Rating
  7zz_020        61 KB/s     782 KB/s     59 MIPS
  7zz_040        68 KB/s     799 KB/s     63 MIPS

Tests
-----

Both versions were tested under emulation (Amiberry, 68020 and 68040)
and on real hardware (Vampire V4 Standalone, AmigaOS 3.2). Archives
created by the Linux version of 7-Zip were unpacked on the Amiga and
checked with SHA256; archives created on the Amiga were tested and
unpacked with the Linux version. Covered: all formats listed above
for packing, many formats for unpacking, AES encryption, wrong
passwords, unpacking of multi volume archives, Amiga paths, names with
spaces and umlauts, update/delete/rename, time stamps and protection
bits.

Notes on the port
-----------------

The port is built with the GCC 6.5 cross compiler by Stefan "Bebbo"
Franke. Five problems of this toolchain were found and worked around,
so the results are correct also on real hardware:

  - SHA256 was wrong (and different on each run) with -O2, because
    uninitialized memory was read. Emulators don't show this, as
    their memory is zeroed.
  - The BZip2 encoder wrote a wrong block CRC with -O1/-O2.
  - With -m68040 the compiler creates soft float code, but the linker
    specs add hard float libraries, so all floating point results
    were 0.
  - The exception tables of about every second object file were
    misaligned, so some C++ exceptions (e.g. Ctrl-C) ended in abort()
    instead of a clean exit.
  - The register renaming of Bebbo's optimizer (-fbbb, part "r")
    ignores exception edges. A small archive with encrypted headers
    and a wrong password could hang the machine (Guru 81000005).
    The port is built without this part.

Also libnix needed some help: its wide character functions don't work
with the 32-bit wchar_t of GCC (wmemcpy() copies bytes), lseek() can't
move beyond the end of a file, and some POSIX functions are missing.

History
-------

  26.04 (2026-10-08)  update to 7-Zip 26.04 of 2026-10-05 (bug and
                      security fixes by Igor Pavlov)

  26.03 (2026-09-17)  first release of the AmigaOS port, based on
                      7-Zip 26.03 of 2026-09-03: 7zz for 68020 and for
                      68040/060/080, and 7zSFX, the module for
                      self-extracting 7z archives (shell and Workbench)

Licence
-------

7-Zip is free software under the GNU LGPL, some parts under the BSD
3-clause licence. The code for RAR is under the unRAR licence ("You may
not use the code to develop a RAR (WinRAR) compatible archiver").
See License.txt, copying.txt and unRarLicense.txt in the archive.

The source code of 7-Zip is available at https://www.7-zip.org/.


Contents of util/arc/7zip.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwxr-xr-x  1000/1000        0       0 ****** -lhd- 0000 Oct 12 15:31 7zip/
-rwxr-xr-x  1000/1000   256723  526640  48.7% -lh5- 3771 Oct 12 15:31 7zip/7zSFX
-rwxr-xr-x  1000/1000  1349590 2623768  51.4% -lh5- 0030 Oct 12 15:31 7zip/7zz_020
-rwxr-xr-x  1000/1000  1334938 2624208  50.9% -lh5- b0b3 Oct 12 15:31 7zip/7zz_040
-rw-r--r--  1000/1000     2530    8194  30.9% -lh5- fd83 Oct 12 15:31 7zip/Install
-rwxr--r--  1000/1000     1509    1970  76.6% -lh5- e4e6 Oct 12 15:31 7zip/Install.info
-rw-r--r--  1000/1000     1943    6190  31.4% -lh5- ecff Oct 12 15:31 7zip/License.txt
-rw-r--r--  1000/1000     1341    3236  41.4% -lh5- 3fcb Oct 12 15:31 7zip/Methods.txt
-rw-r--r--  1000/1000     3934    9061  43.4% -lh5- d14a Oct 12 15:31 7zip/Readme
-rwxr--r--  1000/1000     1042    1543  67.5% -lh5- 597c Oct 12 15:31 7zip/Readme.info
-rw-r--r--  1000/1000     9646   26530  36.4% -lh5- 7b42 Oct 12 15:31 7zip/copying.txt
-rw-r--r--  1000/1000     3917   10542  37.2% -lh5- b0e3 Oct 12 15:31 7zip/readme.txt
-rw-r--r--  1000/1000      884    1921  46.0% -lh5- 10bf Oct 12 15:31 7zip/unRarLicense.txt
-rwxr--r--  1000/1000     1417    2602  54.5% -lh5- bbf9 Oct 12 15:31 7zip.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        14 files 2969414 5846405  50.8%            Oct 13 00:00
Page generated in 0.03 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>