This is an old revision of the document!
Slackware ARM project web site | Forum | Slackware ARM development documentation | Slackware ARM installation guides
Slackware AArch64 - Additional Software Repositories
Whilst Slackware has a broad set of software applications in the distribution, there are plenty of others that you may wish to use.
SlackBuilds.org caters for this by providing build recipes to compile the software from source.
Example
For this example we will build the package 'pzip' because it requires no dependencies. Other packages may require dependencies, in which case you will need to follow this example for each dependency before you're able to build the application you want to use.
Prepare the build environment on your local machine
Elevate yourself to the root user:
su -
Create a directory to hold the SlackBuilds.org recipes and application source archives:
mkdir -p /usr/src/slackbuilds cd /usr/src/slackbuilds
Import the GPG key for the SlackBuilds.org project
wget https://slackbuilds.org/GPG-KEY gpg --import GPG-KEY
The output from gpg should look similar to this:
gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/secring.gpg' created gpg: keyring `/root/.gnupg/pubring.gpg' created gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 9C7BA3B6: public key "SlackBuilds.org Development Team <slackbuilds-devel@slackbuilds.org>" imported gpg: Total number processed: 1 gpg: imported: 1 gpg: no ultimately trusted keys found
Locate the package you're interested in
Open the SlackBuilds.org web site and enter the name of the package.
Select the version of Slackware you're using from the drop down menu on the right hand side. For Slackware -current (the development trunk), select the latest version of Slackware.
Download the components
The SlackBuild recipe and digital signature:
wget https://slackbuilds.org/slackbuilds/15.0/system/p7zip.tar.gz wget https://slackbuilds.org/slackbuilds/15.0/system/p7zip.tar.gz.asc
gpg --verify p7zip.tar.gz.asc gpg: assuming signed data in `p7zip.tar.gz' gpg: Signature made Sat 28 Jan 2023 01:30:52 AM GMT using DSA key ID 9C7BA3B6 gpg: Good signature from "SlackBuilds.org Development Team <slackbuilds-devel@slackbuilds.org>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: D307 6BC3 E783 EE74 7F09 B8B7 0368 EF57 9C7B A3B6
Unpack the SlackBuilds recipe archive:
tar xf p7zip.tar.gz cd p7zip
Download the software's source archive:
wget https://github.com/p7zip-project/p7zip/archive/v17.04/p7zip-17.04.tar.gz
openssl md5 p7zip-17.04.tar.gz MD5(p7zip-17.04.tar.gz)= 00acfd6be87848231722d2d53f89e4a5
Compare this to the md5sum on the SlackBuilds web site:
[ "$( openssl md5 p7zip-17.04.tar.gz | awk '{print $2}' )" = "00acfd6be87848231722d2d53f89e4a5" ] && echo good
Adjust the SlackBuild
An update to the SlackBuilds templates was made for new additions to
the SlackBuilds.org repository, but at present (April 2023) many packages will require minor changes to handle Slackware AArch64.
Fortunately in 99% of the cases we can use the same compiler flags (-O2 -fPIC
) for x86_64 as AArch64 with this command:
sed -i '/^elif \[ "\$ARCH" = "x86_64" \]; then$/ s/x86_64/aarch64/' p7zip.SlackBuild
= Build failures ==
In some cases -fPIC
may cause a build to fail, and the compiler will inform you to remove it. In such cases, remove -fPIC
from
the SLKFLAGS
line in the build script:
Remove -fPIC
from the flags variable so that it looks like this:
Save the edited build script.
Build the package
Install the package
installpkg /tmp/p7zip-17.04-aarch64-1_SBo.tgz
Feeding back issues to SlackBuilds.org developers
… to be added. Perhaps submit to the mailing list any changes, or contact the developer? to be decided.