What packages to use to build Swift compiler?

I want to have Swift compiler on Manjaro. I know there's such in AUR repos, but I don't
want to mess with them (thankfully I know that better not).
There sources of Swift on https://github.com/apple/swift
I looked for packages that necessary to install (in the section for Ubuntu) before compiling and there packages that I didn't find in Octopi:

ninja-build
uuid-dev
libicu-dev
icu-devtools
libbsd-dev
libedit-dev
libxml2-dev
libsqlite3-dev
libpython-dev
pkg-config
libblocksruntime-dev
libcurl4-openssl-dev
systemtap-sdt-dev
rsync
pamac build swift-bin

https://aur.archlinux.org/packages/swift-bin/

1 Like

So I install those packages in dependencies column and I'm ready to build?

Can't find icu62:

$ sudo pacman -Syu icu62
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
error: target not found: icu62

The swift-bin package would only have the dependencies needed to run that specific binary.

If you want to build it yourself, you should use the dependencies from this package:
https://aur.archlinux.org/packages/swift/

That being said, why wouldn't you just build it from AUR? You can modify the PKGBUILD if you want custom options.

1 Like

icu62 is an AUR package (see https://aur.archlinux.org/packages/icu62/), so you would not find it with pacman.

Not sure if your would need that one though or if core/icu (https://www.archlinux.org/packages/core/x86_64/icu/) would suffice:

$ pacman -Ss icu
core/icu 64.2-1 [installed]
    International Components for Unicode library
1 Like

No libblocksruntime

If you want to do it from scratch you use the swift package from AUR

The package may have dependencies which - as @dalto points to - only available from AUR.

This essentially means when you cannot find the package in the repo you must look in AUR and build it from there.

Beware of the :dragon: as package like ICU is a vital system package and it you should be prepared for issues as Manjaro - like Arch - uses the latest libraries and is compiled against the latest libraries.

So building and installing earlier versions of ICU smells like potential trouble.