Swift 5.5.1 Release
The repository has been updated with the new swift-5.5.1-RELEASE
Update of the package was aborted (ubuntu 21.10) because it tried to overwrite "/usr/lib/python3/dist-packages/six.py" that's also present in package python3-six 1.16.0-2
Python3-six is installed because I have Caffeine installed, it seems.
$ aptitude why python3-six
i caffeine Beroende av python3-xlib
i A python3-xlib Beroende av python3-six (>= 1.10.0)
@Andreas thanks for the info.
There is a bug in the swift 5.5 build system that includes an old six.py
file for some unknown reason.
This is normally removed when building the debian packages but it got missed in this update.
I have just uploaded an updated package so it should all be fixed now.
Works great
Your efforts are most appreciated and I don't want to sound harsh, but I would rather have a list of GPG keys and repo URLs than running a script off the internet with sudo.
@futurejones First off, THANKS for this repository. I can't praise you enough for that, in particular because you're doing what – in my opinion – should be the job of the Swift/Server group.
I don't want to put additional burden on you, but I have some suggestions which would tremendously improve the desolate packaging situation for Swift tools on Linux.
I'm developing a bunch of platform independent command line tools written in Swift.
Since static linking is pretty much broken on Linux, it looks like we have to deal with our tools depending on the Swift libraries for the time being. I'm pondering about doing Debian packaging for my tools and requiring your swiftlang
package. That said, two things come to my mind:
Since a typical command line tool does not need the swift compiler, but only the runtime libraries, would you consider splitting up swiftlang
into two package? One, say, swift-runtime
or, e.g., libswift5.5.2
, for the runtime libraries (which other packages could depend on) and one for the "rest" of the compiler (which, in turn, depends on its runtime library package).
Would it perhaps make sense to work together on a "larger" repository, so to allow .deb
hosting for tools that depend on your swift package in the same repository as the language runtime packages?
I think changes like these could make a huge impact on the availability of swift-based tools for Linux, and, in return, attract more people working on such tools.
What do you think?
@mickeyl thanks for the appreciation and feedback.
I have already been working on making a swift-runtime
deb package available.
Rather than split the existing package I have taken the same approach and naming convention as the swift-docker
images.
With swift-docker
there is the main swift
image and a swift-slim
image that just contains the swift-runtime
.
I have added swiftlang-slim
(swift-runtime) for 5.5.2 packages to the main
repository for the following distributions -
These are just for arm64
at the moment. I will add slim packages for amd64
as well soon.
They can be installed with sudo apt install swiftlang-slim
or added to any swift application deb package as a dependency.
I think it would be a great idea to extend the repository to include all types of swift-based tools for Linux. It would be fairly straight forward to add a dev-tools
section to the repository and get started.
Let me know when you have something you want to upload and test.
The six.py issue previously fixed may have resurfaced with the 5.5.2 release.
Selecting previously unselected package swiftlang.
Preparing to unpack .../35-swiftlang_5.5.2-01-debian-buster_amd64.deb ...
Unpacking swiftlang (5.5.2-01-debian-buster) ...
**dpkg:** error processing archive /tmp/apt-dpkg-install-JLmvj2/35-swiftlang_5.5.2-01-debian-buster_amd64.deb (--unpack):
trying to overwrite '/usr/lib/python3/dist-packages/six.py', which is also in package python3-six 1.12.0-1
**dpkg-deb:** **error:** paste subprocess was killed by signal (Broken pipe)
Selecting previously unselected package xdg-user-dirs.
Preparing to unpack .../36-xdg-user-dirs_0.17-2_amd64.deb ...
Unpacking xdg-user-dirs (0.17-2) ...
Errors were encountered while processing:
/tmp/apt-dpkg-install-JLmvj2/35-swiftlang_5.5.2-01-debian-buster_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
@agenna thanks for the info,
looks like six.py issue fix got missed for the swiftlang_5.5.2-01-debian-buster_amd64.deb
package.
I have uploaded a new package swiftlang_5.5.2-02-debian-buster_amd64.deb
with the fix.
Should be good to go now.
The repository has been updated with the new swift-5.5.3-RELEASE
swiftlang-slim
(swift-runtime) packages have been added for all the Ubuntu
and Debian
releases.
Ubuntu
22.04 jammy
which will be the next LTS
version of Ubuntu has been added to the repository.
Raspberry Pi has released a 64bit Raspberry Pi OS compatible with all raspberry pi devices from RPi3/RPi4 onwards including the new Raspberry Pi Zero 2 W.
The OS is based on Debian Bullseye so swift toolchains built for Debian Bullseye arm64 will install and run perfectly on this new OS.
The repository fully supports this new OS and the quick install script
will auto detect Raspberry Pi OS as Debian Bullseye compatible.
You can now run the latest Swift releases on all your compatible Raspberry Pi devices.
For those that do not want to use the quick install script
I have added manual installation instructions to the Repository User Guide
- About | Swift Community Repository
Thanks a lot for the repo.
Today I tried to install it on Ubuntu 20.04 x64 and got this error:
$ sudo apt install swiftlang
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
swiftlang : Depends: libgcc-5-dev but it is not installable
Depends: libstdc++-5-dev but it is not installable
E: Unable to correct problems, you have held broken packages.
Hi, @livid
From that error it looks like you are trying to install the 18.04 swift version.
Please check the /etc/apt/sources.list.d/swiftlang-release.list
.
It should read as follows.
cat /etc/apt/sources.list.d/swiftlang-release.list
deb https://archive.swiftlang.xyz/ubuntu/ focal main
Any chance of using (or leveraging) swiftlang.xyz
for an ARMv7 Debian/Ubuntu Single Board Computer which is not a Raspberry Pi? … and, for the more recently released Swift 5.5?
Consider ARMv7 BeagleBone Black and BeagleBone AI boards with Debian 10.3 as example candidate alternates to a Raspberry Pi.
@_marc,
The repository supports Debian 10 buster for ARMv7 with Swift 5.1.5. This is the latest version of Swift currently available for 32bit devices.
As soon as later versions are available I will add them to the repository.
Thanks for all your work on this, @futurejones! I’ve been working on a Vapor project with Xcode and today tried deploying it to Raspbian for the first time. Things seemed to be going along well until I ran into a mismatch between the Xcode version of Swift (5.6) and the one I installed on Debian (5.5.3). I figured if I went back to install the dev version, I'd be able to pick up 5.6. Unfortunately, it thinks I have the latest:
$ curl -s https://archive.swiftlang.xyz/install.sh | sudo bash
running update... done.
scanning sources... done.
system detected is compatible with debian/bullseye
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Installing debian-archive-keyring which is needed for installing
apt-transport-https on many Debian systems.
Installing apt-transport-https... done.
Importing swiftlang gpg key... done.
--------------- Choose Swift Release Version ---------------
If you always want to have the latest release/stable version of Swift available choose [1], if not, choose the version most suitable for your project.
The latest release/stable version of Swift is currently 5.5
---------------------------------------------------------
1) latest/main - This will update to the latest/stable release of Swift available
2) developer - Swift developer builds - this will update to the latest developer build available
3) Swift version 5.4.* - this will update to the latest point/patch release of Swift 5.4
4) Swift version 5.5.* - this will update to the latest point/patch release of Swift 5.5
---------------------------------------------------------
Enter number [1/2/3/...] : 2
Installing the Swift developer repository
Installing /etc/apt/sources.list.d/swiftlang-release.list... done.
Running apt-get update... done.
The repository is setup!
You can now install swift using 'sudo apt install swiftlang'
pi@furnace:~/furnace-controller $ sudo apt install swiftlang
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
swiftlang is already the newest version (5.5.3-01-debian-bullseye).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I tried sudo apt remove swiftlang
and going through the script again, but it installs 5.5-01-debian-bullseye, which is even older than the 5.5.3 that was installed before.
The issue I’m running into is that the latest Xcode13.3b3 calls it @preconcurrency
, but it was called @_preconcurrency
before that.
Edit: Oh, I see, there aren't bullseye versions of 5.6-dev. Is that what you were talking about in the previous couple of posts?
@JetForMe, the previous posts are a different issue about armv7 versions.
Debian Bullseye was only added to the repository recently and I hadn't added any dev versions yet.
As there is no official Swift support for Debian I have to build these versions myself for the source code.
I have just built and uploaded the latest dev version for Debian Bullseye arm64 - swiftlang_5.6-2022-03-02-a-debian-bullseye_arm64.deb
This should be available when you run sudo apt update
.
Let me know if there are any issues.
Once again, thanks a lot for your efforts.
@futurejones Thank you so much for that!
Cool. But how reliable is it? archive.swiftlang.xyz is producing timeouts most of the time.