Обо мне
1 заметка с тегом

manual

Как собрать Swift 5 на Ubuntu 19.04

Привет всем эту статью про сборку Swift 5 на Ubuntu 19.04 написал мой друг, ссылка на его
блог

Разработчики Swift обещают совместимость с последней версией Ubuntu, однако бинарные пакеты на сайте swift.org можно скачать только для LTS-версий ОС. В этой статье мы пройдёмся по сборке Swift 5.0.2 под Ubuntu 19.04 из исходного кода.

Поехали
Устанавливаем зависимости

sudo apt update && \
sudo apt install -y \
    git cmake ninja-build clang python \
    uuid-dev libicu-dev icu-devtools \
    libedit-dev libxml2-dev libsqlite3-dev \
    swig libpython-dev libncurses5-dev \
    pkg-config libcurl4-openssl-dev \
    systemtap-sdt-dev tzdata rsync

Получаем исходники
Сперва создаем пустую директорию, в нее будут склонированы несколько репозиториев, необходимых для сборки Swift Toolchain:

mkdir swift-source
cd swift-source

Теперь, находясь в каталоге swift-source, клонируем основной репозиторий:

git clone https://github.com/apple/swift.git

Нас интересует релиз 5.0.2, так что переключимся на тег swift-5.0.2-RELEASE:

cd swift
git checkout tags/swift-5.0.2-RELEASE
cd ..

Обратите внимание, что мы снова вернулись в директорию swift-source! Далее команды будут выполняться в
контексте данной директории.

Получаем репозитории с зависимостями и переключаем их на нужную версию:

./swift/utils/update-checkout --clone
./swift/utils/update-checkout --tag swift-5.0.2-RELEASE
./
../
clang/
clang-tools-extra/
cmark/
compiler-rt/
icu/
libcxx/
llbuild/
lldb/
llvm/
ninja/
swift/
swift-corelibs-foundation/
swift-corelibs-libdispatch/
swift-corelibs-xctest/
swift-integration-tests/
swift-stress-tester/
swift-syntax/
swift-xcode-playground-support/
swiftpm/

Содержимое swift-source после команды ./swift/utils/update-checkout —clone

Собираем и тестируем

./swift/utils/build-toolchain $BUNDLE_PREFIX --test

Вместо $BUNDLE_PREFIX подставьте любой идентификатор сборки, например com.example или обратную запись домена вашей компании

Пока PC работает, можно сварить кофе ☕️...

Готово!
В директории swift-source вы найдёте архив вида swift-LOCAL-YYYY-MM-DD-a-osx.tar.gz, содержащий Swift Toolchain (не обращайте внимание на суффикс «osx» в названии, мелкий недочёт сборочного скрипта).

Всем хорошего кода!

23 сентября   apple   it   linux   manual   osx   pc   swift   ubuntu   инструкция