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

ubuntu

Энтузиасты создали оригинальный Linux-клон Windows 10

Разработчики из Бразилии представили новую версию Linux-дистрибутива Linuxfx, ключевой особенностью которого стал оригинальный интерфейс, практически неотличимый от стиля оформления актуальной операционки Microsoft. Кроме того, энтузиасты реализовали многие функции «прародителя», включая возможность установки приложений для Windows.

Дистрибутив Linuxfx 10.3 построен на базе Ubuntu Linux версии 20.04 LTS, представленной в апреле этого года. На достоверном копировании дизайна Windows 10 разработчики не остановились: помимо меню «Пуск», панели задач, приложения «Проводник» и функции виртуальных рабочих столов, в образ включён и офисный пакет LibreOffice, замаскированный под фирменный набор приложений Microsoft.

В дистрибутив входят браузеры Chrome и Firefox, графический редактор GIMP, плеер VLC, а также Skype, Microsoft Teams, TeamViewer и клиент Steam. Не забыли энтузиасты и о голосовом ассистенте Helloa с поддержкой португальского, английского и испанского языков, который был стилизован под Microsoft Cortana. В стандартный пакет установки также входит эмулятор Wine, благодаря которому можно устанавливать Windows-совместимые приложения.

Одной из особенностей Linuxfx стала возможность установки даже на слабые ПК с 2 ГБ оперативной памяти и двумя вычислительными ядрами. Дистрибутив уже доступен для скачивания на официальном сайте разработчиков http://linuxfx.org/

 136   2020   AMD   gimp   Intel   linux   Linuxfx   nvidia   opensource   radeon   steam   ubuntu   vlc   windows10   клон   новости

Google и Canonical реализовали во Flutter возможность создания десктоп-приложений для Linux

Компании Google и Canonical выступили с совместной инициативой по обеспечению поддержки разработки графических приложений на основе фреймворка Flutter для настольных Linux-систем. Фреймворк построения интерфейса пользователя Flutter написан на языке Dart (runtime-движок для выполнения приложений написан на C++), позволяет создавать универсальные приложения, работающие на разных платформах, и рассматривается как альтернатива React Native.

Несмотря на наличие Flutter SDK для Linux, он до сих пор применялся только для разработки мобильных приложений и не поддерживал сборку десктоп-приложений для Linux. В прошлом году компания Google объявила о намерении добавить во Flutter возможность разработки полноценных настольных программ и представила альфа-выпуск для разработки таких программ для macOS. Теперь Flutter расширен возможностью разрабатывать десктоп-приложения для Linux. Поддержка разработки приложений для Windows пока находится на стадии начального прототипа.

Для отрисовки интерфейса в Linux используется обвязка на основе библиотеки GTK (поддержку Qt и других тулкитов обещают добавить позднее). Помимо родного для Flutter языка Dart, на котором создаются виджеты, приложения могут использовать интерфейс Dart Foreign Function для вызова кода на C/C++ и обращаться ко всем возможностям платформы Linux.

Поддержка разработки приложений для Linux предложена в свежем альфа-выпуске Flutter SDK, в котором также реализована возможность публикации Linux-приложений в каталоге Snap Store. В формате snap можно найти и сборку самого Flutter SDK. Для разработки приложений на базе Flutter предлагается использовать редактор кода Visual Studio Code или среды разработки IntelliJ и Android Studio.

В качестве примера Linux-программ на базе Flutter предложено приложение Flokk Contacts для работы с адресной книгой Google Contacts. В каталоге pub.dev опубликовано три Flutter-плагина с поддержкой Linux: url_launcher для открытия URL в браузере по умолчанию, shared_preferences для сохранения настроек между сеансами и path_provider для определения типовых каталогов (загрузки, изображения, видео и т. п.)

 203   2020   AMD   canonical   dart   flutter   google   Intel   it   linux   opensource   pc   sdk   ubuntu   новости   разработка

Торвальдс представил первый кандидат в релизы ядра Linux 5.8

Линус Торвальдс представил первый кандидат в релизы ядра Linux 5.8, отметив, что судя по всему это будет самое крупное по числу изменений из всех ядер за всё время существования проекта. В ветку 5.8 принято 14206 наборов изменений, которые затронули примерно 20% всех файлов в репозитории с кодом ядра. Размер патча 5.8-rc1 составил 61 МБ, что примерно на 35% больше, чем результирующий патч от выпуска 5.7. Релиз ядра Linux 5.8 ожидается в конце августа.

Изменения затронули 15234 файлов, добавлено 1026178 строк кода, удалено 480891 строк (для сравнения в ветке 5.7 было добавлено 570560 строк кода, а удалено 297401 строк). Около 37% всех представленных в 5.8 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 10% связано с сетевым стеком, 3% — с файловыми системами и 4% c внутренними подсистемами ядра.

Отмечается, что ядра с большими размерами патча встречались и ранее, но изменения, как правило были сосредоточены в одной подсистеме или были вызваны добавлением большого объёма типовых данных (например, в ядре 4.12 для драйвера AMD GPU было добавлено большое число строк с описанием регистров, а в ядре 2.6.29 добавлена большая порция новых драйверов в раздел staging).

Ядро Linux 5.8 примечательно тем, что изменений в нём много как таковых (по числу коммитов и числу добавленных строк кода) и они размазаны по разным подсистемам. Больше всего изменений охватывают драйверы. Многие изменения касаются фундаментальных изменений и чистки в основных подсистемах, а также развития специфичных для аппаратных архитектур улучшений. Не обошлось и без автоматизированных правок, связанных с корректировкой информации о лицензиях в формате SPDX, но эти правки не являются доминирующими и лишь отражают возросшую активности в разработке.

Апрельские обновления elementaryOS

  1. Плагин «Родительский контроль» переработан и теперь называется «Screen Time & Limits». Ключевые особенности: ограничения по времени для входа в систему, использования интернета, а также отдельных приложений
  1. Меню «Приложения»: медленно но верно превращается в основной элемент взаимодействия с системой: есть возможность поиска и запуска приложений, настроек, а также выполнение конкретных действий.
  1. Параметры системы: переработан интерфейс поиска внутри приложения Switchboard. Некоторые параметры док-панели Plank переехали в плагин «Рабочий стол».
  1. AppCenter: улучшения и фиксы. В частности, теперь обновления проверяются один раз в день и только в момент входа в систему. Добавлен поиск по хоткею Ctrl + F.
  2. Мелкие фиксы получили Gala, Greeter, Фото и Видеоплеер.

Установка Swift на Ubuntu — подводные камни

Руководство по установке Swift на Ubuntu, которое поможет вам обойти стороной неприятные нюансы.

Поскольку разработчики Swift официально поддерживает LTS-версии Ubuntu— большой сложности с установкой нет, но есть пара нюансов.

Первая распространенная ошибка — распаковка архива в корневую директорию. Способ рабочий, но, если потребуется начисто удалить SDK, одной строкой в консоли не обойтись. Кроме того, данный способ установки мешает переключаться между несколькими версиями Toolchain, в чем у вас, как разработчика, может возникнуть потребность.

Посмотрим на разумный способ установки Swift на ваш компьютер с ОС Ubuntu.

Первым делом нужно определиться с директорией, в которой вам удобно держать подкаталоги с несколькими версиями Swift. Для меня наиболее удобным вариантом является /opt, но вы вольны выбрать другой путь.

Забегая вперед, скажу, что если планируете работать с приложениями, написанными на Swift, лучше
устанавливать Toolchain за пределами домашней директории пользователя. О причине читайте далее в статье.

Итак, следуя руководству официального сайта устанавливаем необходимые зависимости:

$ sudo apt update

# Возможны конфликты LLDB 6 со Swift Toolchain,
# удаляем lldb-6.0, если установлен.
$ sudo apt remove lldb-6.0 
$ sudo apt install -y clang libicu-dev wget gpg

Получаем публичный ключ для верификации дистрибутива:

$ wget -q -O - https://swift.org/keys/all-keys.asc | \
  gpg --import -

Страница загрузки Swift (https://swift.org/download/#releases).

Проверяем целостность и источник архива:

$ cd ~/Downloads
$ gpg --verify swift-5.2.1-RELEASE-ubuntu18.04.tar.gz.sig

gpg: assuming signed data in 'swift-5.2.1-RELEASE-ubuntu18.04.tar.gz'
gpg: Signature made Пн 30 мар 2020 23:19:13 MSK
gpg:                using RSA key 925CC1CCED3D1561
gpg: Good signature from "Swift 5.x Release Signing Key <swift-infrastructure@swift.org>" [unknown]
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: A62A E125 BBBF BB96 A6E0  42EC 925C C1CC ED3D 1561

Полученный с официального сайта дистрибутив мы распакуем в директорию /opt:

$ cd /opt
$ sudo tar -xzf swift-5.2.1-RELEASE-ubuntu18.04.tar.gz

# Создаем символическую ссылку на текущую версию Toolchain:
$ sudo ln -s swift-5.2.1-RELEASE-ubuntu18.04 swift

В итоге мы должны получить следующее содержимое в /opt:

lrwxrwxrwx  1 root root   31 апр 13 21:40 swift -> swift-5.2.1-RELEASE-ubuntu18.04
drwxr-xr-x  3 root root 4096 апр 13 21:38 swift-5.2.1-RELEASE-ubuntu18.04

Как вы уже догадались, мы сможем перебрасывать символическую ссылку /opt/swift между несколькими релизами Toolchain.

Осталось всего два шага и мы у цели. Добавляем путь /opt/swift/usr/bin в PATH, если вы работаете с bash:

$ echo 'PATH="$PATH:/opt/swift/usr/bin"' >> ~/.profile

Чтобы обеспечить работу приложений, написанных на Swift, пропишем путь к Swift Runtime в ldconfig:

$ sudo bash -c "echo '/opt/swift/usr/lib' > /etc/ld.so.conf.d/swift.conf"
$ sudo ldconfig

# Проверим:
$ ldconfig -p | grep swift
	libswiftDemangle.so (libc6,x86-64) => /opt/swift/usr/lib/libswiftDemangle.so
	libsourcekitdInProc.so (libc6,x86-64) => /opt/swift/usr/lib/libsourcekitdInProc.so
	liblldb.so.7svn (libc6,x86-64) => /opt/swift/usr/lib/liblldb.so.7svn
	liblldb.so (libc6,x86-64) => /opt/swift/usr/lib/liblldb.so
	libdispatch.so (libc6,x86-64) => /opt/swift/usr/lib/libdispatch.so
	libIndexStore.so.7svn (libc6,x86-64) => /opt/swift/usr/lib/libIndexStore.so.7svn
	libIndexStore.so (libc6,x86-64) => /opt/swift/usr/lib/libIndexStore.so
	libBlocksRuntime.so (libc6,x86-64) => /opt/swift/usr/lib/libBlocksRuntime.so

$ swift --version
Swift version 5.2.1 (swift-5.2.1-RELEASE)
Target: x86_64-unknown-linux-gnu

Именно для обеспечения доступности Swift Runtime в самом начале я рекомендовал устанавливать Swift за пределами домашней директории пользователя.

На этом все, хорошего кода!

оригинал статьи https://engineering.lit.group/swift-installation-on-ubuntu/

Состоялся релиз Ubuntu 20.04 LTS

оригинал статьи https://www.opennet.ru/opennews/art.shtml?num=52791

Состоялся релиз дистрибутива Ubuntu 20.04 «Focal Fossa», который отнесён к категории выпусков с длительным сроком поддержки (LTS), обновления для которых формируются в течение 5 лет до апреля 2025 года. Установочные и загрузочные образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Budgie, Ubuntu Studio, Xubuntu и UbuntuKylin (редакция для Китая).

Основные изменения:

  1. Рабочий стол обновлён до выпуска GNOME 3.36, в котором появился режим «не беспокоить» для временного скрытия новых уведомлений, добавлено отдельное приложение для управления дополнениями к GNOME Shell, модернизировано оформление интерфейсов входа в систему и разблокирования экрана, переработано большинство системных диалогов, появилась функция запуска приложений с использованием дискретного GPU на системах с гибридной графикой, в обзорном режиме реализована возможность переименования каталогов с приложениями, в мастер начальной настройки добавлена опция включения системы родительского контроля и т. п.
  1. Переработана предлагаемая по умолчанию тема оформления Yaru, в которой помимо ранее доступных тёмного (тёмные заголовки, тёмный фон и тёмные элементы управления) и светлого (тёмные заголовки, светлый фон и светлые элементы управления) режимов, появится третий полностью светлый вариант. Предложено новое оформление системного меню и меню приложений. Добавлены новые пиктограммы каталогов, которые оптимизированы для отображении на светлом и тёмном фоне.
  1. Реализован новый интерфейс для смены вариантов темы оформления.
  1. Проведена оптимизация производительности GNOME Shell и оконного менеджера. Снижена нагрузка на процессор и сокращены задержки во время отрисовки анимации при манипуляции с окнами, при перемещении мыши и при открытии обзорного режима.
  1. Добавлена поддержка 10-разрядной глубины цвета.
  1. Для X11 реализована поддержка дробного масштабирования, которая ранее была доступна только при использовании Wayland. Указанная возможность позволяет подобрать оптимальный размер элементов на экранах с высокой плотностью пикселей (HiDPI), например, можно увеличить выводимые элементы интерфейса не в 2 раза, а в 1.5.
  1. Добавлена новая заставка, показываемая при загрузке.
  1. Убрана пиктограмма для быстрой навигации по интернет-магазину Amazon.
  1. Ядро Linux обновлено до выпуска 5.4. Как и в осеннем выпуске для сжатия ядра и начального загрузочного образа initramfs применяется алгоритм LZ4, позволивший сократить время загрузки за счёт более быстрой распаковки данных. Из заметных изменений по сравнению с ядром 4.15, использованным в Ubuntu 18.04 LTS, упоминается поддержка CPU AMD Rome, GPU Radeon RX Vega M и Navi, SoC Qualcomm Snapdragon 845, платформ Intel Cannon Lake, плат Raspberry Pi 2B, 3B, 3A+, 3B+, CM3, CM3+ и 4B, значительные улучшения в области управления энергопотреблением, улучшение поддержки USB 3.2 и Type-C, новый API для монтирования, интерфейс io_uring, pidfd и поддержка AMD SEV (Secure Encrypted Virtualization) в KVM.
  1. Обновлены системные компоненты и средства для разработки: Glibc 2.31, BlueZ 5.53, OpenJDK 11, rustc 1.41, GCC 9.3, Python 3.8.2, ruby 2.7.0, Ruby on Rails 5.2.3, php 7.4, perl 5.30, go 1.13.
  1. Обновлены пользовательские и графические приложения: Mesa 20.0, Qt 5.12.8, PulseAudio 14.0-pre, Firefox 75.0, Thunderbird 68.7.0, LibreOffice 6.4.2, GIMP 2.10.18, VLC 3.0.9.
  1. Обновлены приложения для серверов и виртуализации: QEMU 4.2, libvirt 6.0, Bind 9.16, HAProxy 2.0, OpenSSH 8.2 (c поддержкой токенов двухфакторной аутентификации FIDO/U2F и возможностью размещения настроек в /etc/ssh/sshd_config.d/*.conf). В Apache httpd активирована поддержка TLSv1.3.
  1. Добавлена поддержка VPN WireGuard.
  1. Демон синхронизации точного времени chrony обновлён до версии 3.5 и дополнительно изолирован от системы через подключение фильтра системных вызовов.
  1. Продолжено развитие экспериментальной возможности установки на корневой раздел с ZFS. Реализация ZFSonLinux обновлена до выпуска 0.8.3 с поддержкой шифрования, горячего извлечения устройств, командой «zpool trim», ускорением работы команд «scrub» и «resilver». Для управления ZFS развивается демон zsys, позволяющий запускать несколько параллельных систем с ZFS на одном компьютере, автоматизирующий создание снапшотов и управляющий разнесением системных и изменяемых в процессе пользовательского сеанса данных. В разных снапшотах можно содержать разные состояния системы и переключаться между ними. Например, в случае проблем после установки обновлений можно будет вернуться к старому стабильному состоянию, выбрав прошлый снапшот. Снапшоты также могут быть использованы для прозрачного автоматического создания резервных копий пользовательских данных.
  1. По сравнению с прошлым LTS-релизом Snap Store заменил собой Ubuntu Software в качестве интерфейса, применяемого по умолчанию для поиска и установки обычных и snap пакетов.
  1. Прекращена сборка пакетов для архитектуры i386. Для продолжения работы устаревших программ, остающихся только в 32-разрядном виде или требующих 32-разрядных библиотек, предусмотрена сборка и поставка отдельного набора 32-разрядных пакетов с библиотеками.
  1. В системе netplan.io, применяемой для хранения настроек сетевых интерфейсов, добавлена поддержка настройки виртуальных сетевых устройств SR-IOV, GSM-модемов (через бэкенд NetworkManager), параметров WiFi (bssid/band/channel). Также появилась возможность установки опции ipv6-address-generation для NetworkManager и emit-lldp для networkd.
  1. В базовую поставку добавлен Python 3.8, а пакеты с Python 2.7 перемещены в репозиторий universe и не поставляются по умолчанию. Остающиеся в дистрибутиве пакеты, завязанные на Python 2.7, переделаны для использования интерпретатора /usr/bin/python2. Файл /usr/bin/python теперь не устанавливается по умолчанию (для создания /usr/bin/python, привязанного к Python 3, требуется установить пакет python-is-python3).
  1. По умолчанию для всех поддерживаемых архитектур предложен iso-образ Ubuntu Server с инсталлятором Subiquity, выполняющим установку в Live-режиме. Subiquity поддерживает такие операции, как разбивка дисков, выбор языка и раскладки клавиатуры, создание пользователей, настройку сетевого соединения, настройку RAID, LVM, VLAN и агрегирование сетевых интерфейсов. Из новых возможностей отмечается режим автоматизированной установки по JSON-профилю и возможность установки загрузчика сразу на несколько дисков (чтобы можно было загрузиться с любого в случае повреждения загрузчика). Кроме того, внесены исправления для упрощения использования шифрования, установки на multipath-диски, повышения надёжности использования дисков с уже установленными другими системами.
  1. В Kubuntu предложен рабочий стол KDE Plasma 5.18, набор приложений KDE Applications 19.12.3 и фреймворк Qt 5.12.5. По умолчанию задействован музыкальный проигрыватель Elisa 19.12.3, который заменил собой Cantata. Обновлены latte-dock 0.9.10, KDEConnect 1.4.0, Krita 4.2.9, Kdevelop 5.5.0. Прекращена поддержка приложений KDE4 и Qt4. Из базовой поставки исключён KDE PIM, который теперь следует устанавливать из репозитория. Предложен экспериментальный сеанс на базе Wayland (после установки пакета plasma-workspace-wayland появляется опциональный пункт «Plasma (Wayland)» на экране входа).
  1. Ubuntu MATE 20.04: Рабочий стол MATE обновлён до версии 1.24. Добавлен интерфейс для обновления прошивок, использующий fwupd. Из поставки удалены Compiz и Compton. Обеспечен показ эскизов окон в панели, интерфейсе переключения задач (Alt-Tab) и переключателе рабочих столов. Предложен новый апплет для вывода уведомлений. В качестве почтового клиента вместо Thunderbird задействован Evolution. При установке проприетарных драйверов NVIDIA, которые можно выбрать в инсталляторе, предложен апплет для переключения между разными GPU в системах с гибридной графикой (NVIDIA Optimus).
  1. Ubuntu Budgie: По умолчанию задействован апплет с меню приложений Stylish и собственный апплет для управления сетевыми настройками. Добавлен интерфейс для быстрого переключения раскладок рабочего стола (Budgie, Classic Ubuntu Budgie, Ubuntu Budgie, Cupertino, The One и Redmond). В основной состав включены приложения GNOME Firmware и GNOME Drawing. Улучшена интеграция с GNOME 3.36. Рабочий стол Budgie обновлён до версии 10.5.1. Добавлены настройки сглаживания и хинтинга шрифтов. По умолчанию отключён апплет с системным лотком (из-за проблем при работе). Апплеты адаптированы для экранов HiDPI.
  1. Ubuntu Studio: В Ubuntu Studio Controls разделены настройки Jack Master, дополнительных устройств и прослоек к PulseAudio. Обновлены RaySession 0.8.3, Audacity 2.3.3, Hydrogen 1.0.0-beta2, Carla 2.1-RC2, Blender 2.82, KDEnlive 19.12.3, Krita 4.2.9, GIMP 2.10.18, Ardour 5.12.0, Scribus 1.5.5, Darktable 2.6.3, Pitivi 0.999, Inkscape 0.92.4, OBS Studio 25.0.3, MyPaint 2.0.0, Rawtherapee 5.8.
  1. В Xubuntu отмечено появление тёмной темы оформления. Проведена унификация оформления интерфейсов приложений, установленных из deb-пакетов, snap и flatpak. Из базового состава исключён пакет apt-offline, требующий для работы Python 2, а также пакет pidgin-libnotify. Обновлены версии приложений Xfce 4.14.
  1. Lubuntu 20.04 стал первым LTS-релизом, предлагающим по умолчанию графическое окружение LXQt (поставляется выпуск 0.14.1) вместо LXDE. Для управления установокой приложений задействован Discover Software Center 5.18.4.
  1. Сформирована сборка Ubuntu с рабочим столом Deepin. Проект пока является неофициальной редакцией Ubuntu, но разработчики дистрибутива ведут переговоры с компанией Canonical о включение UbuntuDDE в состав официальных дистрибутивов Ubuntu.

Состоялся релиз Ubuntu 19.10 Eoan Ermine

Вот и состоялся релиз Ubuntu 19.10 Eoan Ermine. Что нового в ней появилось?

Экспериментальная поддержка ZFS
В Ubuntu 19.10 добавлена экспериментальная поддержка файловой системы ZFS. Файловая система ZFS в свое время была разработана специалистами компании Sun для использования в ОС Solaris. Особенность ZFS — это полный контроль над размещением данных, логическими и физическими дисками. Это приводит к снижению фрагментации, ускорению доступа и лучшим контролем за целостностью данных.

Интегрированы драйвера NVIDIA
В установочный образ Ubuntu 19.10 теперь входят проприетарные драйвера для видеокарт от NVIDIA, для их установки более не требуется доступ в интернет.

GNOME 3.34
В комплект поставки Ubuntu 19.10 входит обновленный GNOME версии 3.34. В связи с этим появилось множество визуальных улучшений, о которых ниже.

Улучшения производительности
Проделана основательная работа над улучшением производительности. К примеру, уменьшены задержки при скроллинге с тачпада, также уменьшены задержки в сессии Xorg. На оборудовании NVIDIA улучшен рендеринг Xorg и работа курсора.

Тема стала светлее
Стандартная тема Yaru теперь более светлая. Это произошло по многочисленным просьбам пользователей.
При желании можно переключиться на темную версию Yaru, однако это придется делать из GNOME Tweak Tool.

Отключение сменных накопителей из дока
Флешки и другие сменные накопители, в том числе и сетевые, теперь можно размонтировать прямо из дока.

Папки приложений
В меню приложений теперь можно создавать папки при помощи перетаскивания элементов.

Улучшения менеджера обоев
Переработан диалог выбора обоев, теперь стало удобнее их пролистывать, также можно поставить картинку на фон рабочего экрана и экрана блокировки всего в один клик.

Ночная подсветка в отдельной вкладке
На «Ночную подсветку» теперь выделена целая вкладка, куда можно перейти из диалога настройки дисплея.

Порядок результатов поиска
Результаты поиска можно тонко настроить: не только выбрать источники, но и порядок появления результатов.

Под капотом
Ubuntu 19.10 основана на следующих компонентах:

Linux 5.3,
glibc 2.30,
GCC 8.3 и опционально 9,
Python 3.7,
OpenJDK 11,
Golang 1.12,
Mesa 19.2,
PulseAudio 13.0,
Firefox 69,
LibreOffice 6.3.

Ubuntu 19.10 будет поддерживаться в течение 9 месяцев, до июля 2020 года.

Как собрать 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» в названии, мелкий недочёт сборочного скрипта).

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

 Нет комментариев    127   2019   apple   it   linux   manual   osx   pc   swift   ubuntu   инструкция

Xfce 4.16 ожидается в следующем году

Разработчики Xfce подвели итоги подготовки ветки Xfce 4.14, на разработку которой ушло более 4 лет, и выразили желание придерживаться изначально принятого проектом более короткого шестимесячного цикла разработки. В Xfce 4.16 не ожидается столь кардинальных изменений, как переход на GTK3 в Xfce 4.14, поэтому намерение выглядит вполне реалистичным и ожидается, что с учётом того, что на стадии планирования и тестирования уйдёт ещё шесть месяцев, новый значительный релиз может быть сформирован примерно через год.

Никаких конкретных целей на Xfce 4.16 пока не определено, но переход на Wayland и GTK4 в следующей ветке не будет входить в число приоритетных задач. Из инфраструктурных изменений отмечается желание следом за GNOME и freedesktop.org перейти на использование Gitlab для поддержания репозиториев и разбора сообщений о проблемах.

Авторы elementary OS представили браузер Ephemeral

Один из основателей проекта elementary OS представил новый web-браузер Ephemeral, развиваемый командой разработчиков elementary OS специально для данного дистрибутива Linux. Для разработки использован язык Vala, GTK3+ и движок WebKitGTK+ (проект написан с нуля и не является ответвлением от Epiphany). Код распространяется под лицензией GPLv3. Готовые сборки подготовлены только для elementary OS, но при желании браузер может быть собран и для других дистрибутивов.

По умолчанию браузер запускается в режиме инкогнито, в котором блокируются все внешние Cookie, выставляемые рекламными блоками, виджетами социальных сетей и любым внешним JavaScript-кодом. Установленные текущим сайтом Cookie, содержимое локального хранилища и история просмотра сохраняются до закрытия окна, после чего они автоматически очищаются. В интерфейсе также доступна кнопка для быстрой очистки Cookie и другой связанной с сайтом информации. В качестве поисковой системы по предлагается DuckDuckGo.

Ранее Ctrl + ↓