LINUX.ORG.RU

C


343

5

Всего сообщений: 226

AVM 1.0.0

 av2, , , ,

AVM 1.0.0
Группа Мультимедиа

Альянс Open Media (AOMedia), курирующий разработку форматов кодирования видео AV1/AV2, формата объёмного звука IAMF и формата изображений AVIF, опубликовал релиз проекта AVM (github.com) 1.0.0, развивающего официальную эталонную реализацию кодировщика и декодировщика формата кодирования видео AV2. AVM включает оптимизации для процессоров на базе архитектуры ARM64, x86_64 и MIPS, реализованные с использованием расширенных наборов инструкций NEON, AVX2, SSE2/3/4, MSA и DSPr2. Код AVM написан на языке Си и распространяется под лицензией BSD.

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

dataman
()

Nordstjernen 0.6.0

 , , , ,

Группа Интернет

19 мая состоялся первый публичный выпуск 0.6.0 очень минималистичного кроссплатформенного браузера Nordstjernen (норв. «Полярная звезда»).

Проект написан на языке С и распространяется по лицензии Nordstjernen Source v1.0, с переходом каждого выпуска на лицензию MIT через десять лет после публикации.

В браузере используется GTK4 и ряд сторонних библиотек:

  • Lexbor – для разбора HTML, CSS и URL;
  • QuickJS-NG – для выполнения JavaScript;
  • libcurl – для работы с сетью;
  • Wuffs – для декодирования PNG, GIF, BMP и JPEG;
  • другие библиотеки.

>>> План разработки
>>> Исходный код

>>> Подробности на GitHub (github.com)

dataman
()

Ad Nihilum 0.4.3

 , , , ,

Группа Open Source

Состоялся релиз Ad Nihilum 0.4.3 — минималистичного сервиса для обмена зашифрованными сообщениями по принципу «прочитал — сжег», ориентированного в первую очередь на self-hosting.

Cервер выступает лишь в роли глухого хранилища. Шифрование и расшифровка происходят исключительно на стороне клиента, в браузере (через AES-GCM).

Особенности

  • локальное зашифрование и расшифрование, сервер никогда не видит ключа;
  • поддержка дополнительного слоя шифрования паролем, о котором (1) не может узнать сервер, (2) нельзя узнать по передаваемой ссылке;
  • проект содержит порядка 2200 строк серверного кода на Си и 600 строк клиентского кода на JS, что упрощает аудит;
  • Ad Nihilum зависит только от libmicrohttpd. Для генерации кодов QR поставляется модифицированная версия QRCode.js;
  • прилагается инструкция по быстрому поднятию локального сервиса без внешнего IP;
  • Ad Nihilum работает и на Android, приложен соответствующий скрипт для сборки в Termux;
  • однопоточный и синхронный сервер.

( читать дальше... )

>>> Страница проекта на GitHub

>>> Сервис (adnihilum.net)

BruteForce
()

libgit2 1.9.3

 , , , ,

Группа Разработка

5-го мая, после пяти месяцев разработки, состоялся выпуск 1.9.3 кроссплатформенной библиотеки libgit2, реализующей основные методы Git. Библиотека написана на языке C и распространяется по лицензии GNU GPL 2 со специальным исключением для линковки, позволяющим не раскрывать исходный код.

В качестве примеров проектом также предоставляются консольные утилиты lg2 и git2-experimental.

Существует большое количество биндингов к libgit2 для других языков программирования и библиотек: Rust, Objective-C, Python, Perl, Node.js, Go (github.com), Erlang, GObject, Ruby, .Net & Mono, Lua (github.com), Parrot VM, C++ Qt, PHP (github.com), Chicken Scheme, D (github.com) и других.

В этой версии исправлен ряд ошибок и улучшена совместимость. В частности – в поддержке алгоритма SHA256.

>>> Подробности на GitHub (и в первой редакции новости) (github.com)

dataman
()

ToaruOS 2.3 и 2.3.1

 , kuroko,

Группа Open Source

28 апреля и 5 мая состоялись выпуски 2.3 и 2.3.1 Unix-подобной операционной системы ToaruOS, написанной с нуля и поставляемой со своим ядром, загрузчиком, стандартной Си-библиотекой, пакетным менеджером, компонентами пространства пользователя и графическим интерфейсом с композитным оконным менеджером.

Изначально проект развивался в Иллинойсском университете как исследовательская работа в области создания новых композитных графических интерфейсов, но затем трансформировался в отдельную операционную систему. Код проекта написан на языке Си и распространяется под лицензией BSD. Для загрузки подготовлен live-образ (2.3.1), размером 7.4 МБ, который можно протестировать в QEMU, VMware или VirtualBox.

В основе ToaruOS лежит ядро, использующее гибридную модульную архитектуру, сочетающую монолитную основу и средства для использования загружаемых модулей, в виде которых оформлено большинство имеющихся драйверов устройств, таких как драйверы диска (PATA и ATAPI), ФС Ext2 и ISO9660, framebuffer, клавиатуры, мыши, сетевых карт (AMD PCnet FAST, Realtek RTL8139 и Intel PRO/1000), звуковых чипов (Intel AC’97), а также дополнений VirtualBox для гостевых систем. Ядро поддерживает Unix-потоки, TTY, виртуальную ФС, псевдо-ФС /proc, многопоточность, IPC, ramdisk, ptrace, разделяемую память, многозадачность и другие типовые возможности.

( читать дальше... )

>>> Источники: OpenNET и GitHub (opennet.ru)

dataman
()

GCC 16

 , , ,

GCC 16
Группа Разработка

После года разработки опубликован выпуск свободного набора компиляторов GCC 16.1, первый значительный выпуск в новой ветке GCC 16.x. В соответствии со схемой нумерации выпусков, версия 16.0 использовалась в процессе разработки, а незадолго до выхода GCC 16.1 уже ответвилась ветка GCC 17.0, на базе которой будет сформирован следующий значительный релиз GCC 17.1.

( читать дальше... )

>>> Источник: OpenNET (opennet.ru)

dataman
()

curl 8.20.0

 , , , ,

Группа Интернет

29-го апреля, после более месяца разработки, 521 коммита и исправления 282 ошибок, состоялся выпуск 8.20.0 (274-й) кроссплатформенной консольной утилиты и библиотеки curl, написанных на языке C и распространяемых по лицензии curl.

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

Безопасность

Как уже упоминалось ранее («High quality chaos»), в последнее время наблюдается значительный рост числа сообщений о проблемах безопасности. На этот раз опубликована информация о восьми новых уязвимостях в curl:

( читать дальше... )

>>> Полный список изменений на curl.se (и в первой редакции этой новости)

>>> Видеопрезентация 8.20.0 на youtube

>>> Документация

>>> Страница загрузки

>>> Исходный код на GitHub

>>> Новость в блоге Даниэля Стенберга (haxx.se)

dataman
()

GTK2-NG: форк библиотеки GTK2

 , ,

Группа Open Source

Один из разработчиков дистрибутива Devuan представил проект GTK2-NG, который будет развивать форк библиотеки GTK2, нацеленный на продолжение её сопровождения и обеспечение качественной работы в современных дистрибутивах. Поддержание форка позволит продолжить поставку в Devuan приложений, завязанных на GTK2, после прекращения поддержки GTK2 в дистрибутиве Debian 14, релиз которого ожидается летом 2027 года.

Разработчики проекта GTK прекратили сопровождение GTK2 более пяти лет назад, а пакеты с GTK2 уже исключены из официальных репозиториев дистрибутивов Red Hat Enterprise Linux, SUSE Linux Enterprise Server, openSUSE и Arch Linux (доступен через AUR). Из значимых проектов GTK2 продолжает использовать звуковой редактор Ardour, но данный проект не зависит от внешних библиотек и поддерживает собственный форк GTK2 - YTK (opennet.ru). В репозитории Debian остаётся около 150 пакетов, связанных зависимостями с GTK2, среди которых afterstep, Double Commander, fpc, gkrellm, gmpc, hexchat, lazarus, mplayer, navit, pidgin, sane-frontends, scim, sylpheed, tickr, tilem, uim, usermode, xsane, xzgv и z88.

В GTK2-NG добавлено несколько десятков изменений, в основном связанных с переносом исправлений, распространявшихся в форме патчей в пакетах из AUR и Debian, и исправлением предупреждений, выдаваемых компилятором. Из улучшений отмечается модернизация функции сортировки массивов g_sort_array и замена алгоритма масштабирования для повышения чёткости пиктограмм. В виджете выбора файлов (filechooser) решены имевшиеся проблемы и проведена оптимизация отображения в виде иконок содержимого каталогов с большим числом файлов. Протестирована сборка с использованием GCC 14 и Clang 21.

Из планов на будущее отмечается перенос изменений из форка GTK2, развиваемого участником проекта Xlibre - stefan11111, а также бэкпортирование кода из YTK (github.com), форка GTK2 от проекта Ardour. Среди задач также называется проверка сборки в GCC 15 и добавление поддержки использования libppd для вывода на печать на системах с CUPS 3.x. Не исключается задействование лицензии GPLv3 для нового кода и смена названия для исключения претензий от проекта GNOME.

>>> Источник: OpenNET (opennet.ru)

dataman
()

7-Zip 26.01

 , , , ,

Группа Open Source

Состоялся выпуск 26.01 библиотеки и консольной утилиты 7-Zip, предназначенных для работы с архивами в формате 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM и многих других.

Проект написан на языках C и C++ и распространяется по лицензии GNU LGPL.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

MD4C 0.5.3

 , , md4c, ,

Группа Open Source

20-го апреля, после более чем двухлетней паузы, состоялся выпуск 0.5.3 быстрой библиотеки MD4C («Markdown for C»), предназначенной для парсинга данных в формате Markdown и конвертирования их в формат HTML. Поддерживаются спецификации Markdown CommonMark 0.31 и GitHub Flavored Markdown (GFM).

В комплект поставки также входит консольная утилита md2html.

( читать дальше... )

>>> Почему MD4C такой быстрый?

>>> Подробности на GitHub (github.com)

dataman
()

Dillo 3.3.0

 , , ,

Группа Интернет

После более года разработки состоялся выпуск 3.3.0 минималистичного кроссплатформенного браузера Dillo.

Особенности проекта:

  • написан на языках C и C++ с минимальным количеством зависимостей;
  • использует собственный движок рендеринга в реальном времени;
  • низкое потребление памяти и быстрый рендеринг даже при работе с большими страницами;
  • использует быструю и лёгкую библиотеку графического интерфейса FLTK;
  • поддерживает HTTP, HTTPS, FTP и локальные файлы;
  • возможность расширения с помощью плагинов, написанных на любом языке;
  • распространяется по лицензии GNU GPL 3.

( читать дальше... )

>>> Репозитории Git

>>> Баг-трекер

>>> Документация

>>> Подробности на dillo-browser.org (dillo-browser.org)

dataman
()

Profanity 0.18.0

 , ,

Profanity 0.18.0
Группа Интернет

Тихо и незаметно вышла новая версия консольного XMPP клиента Profanity, написанная на языке C.

Новые возможности:

  • Добавлена поддержка подсветки при проверке орфографии (#2132).
  • Реализована поддержка асинхронного вызова внешнего редактора (#2145) и (#1888).

( читать дальше... )

>>> Источник (github.com)

XMPP
()

Kefir 0.5.1

 , c17, ,

Группа Разработка

Вышла новая версия компилятора Kefir для языка программирования Си. Kefir поддерживает стандарты C17 / C23, включая такие возможности, как:

  • комплексные числа _Complex;
  • десятичные числа _Decimal;
  • массивы переменной размерности на стеке VLA;
  • встроенный ассемблер;
  • генерация отладочных символов в формате DWARF5.

На текущий момент компилятор генерирует код под одну аппаратную платформу — System-V AMD64 ABI и реализованные на ней Unix-подобные операционные системы: Linux/glibc, Linux/musl, FreeBSD, OpenBSD, NetBSD и DragonflyBSD. Компилятор использует существующие сторонние компоновщик и ассемблер для целевой платформы. Kefir способен скомпилировать сам себя. Кроме того, он проходит набор тестов для gcc 15 и успешно собирает широкий набор ПО с открытыми исходными кодами. Компилятор поддерживает один уровень оптимизации.

Проект написан полностью «с нуля» в одиночку программистом Евгением Протопоповым и распространяется по лицензии GPL v3.

>>> Объявление о новой версии (protopopov.lv)

r--r--r--
()

jemalloc 5.3.1

 , , аллокатор,

Группа Разработка

После почти четырёхлетней паузы (см. «jemalloc всё») состоялся выпуск 5.3.1 аллокатора jemalloc – реализации malloc(3), в которой особое внимание уделяется предотвращению фрагментации и поддержке масштабируемой параллельности.

Новый выпуск включает в себя более 390 коммитов с исправлением ошибок, новыми функциями, оптимизацией производительности и улучшением переносимости.

Проект написан на языке С и распространяется по лицензии BSD.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

htop 3.5.0

 , , , ,

Группа Open Source

9-го апреля, после года разработки, состоялся выпуск 3.5.0 интерактивной кроссплатформенной консольной утилиты htop, предназначенной для просмотра списка и информации о запущенных процессах и управления ими.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()

Solod — подмножество языка Go, транслируемое в язык Си

 , , , ,

Группа Разработка

Представлен язык программирования Solod (So), предоставляющий подмножество языка Go, транскомпилируемое в представление на языке Си (C11), пригодное для сборки компиляторами GCC, Clang и zig cc. Ключевым отличием Solod от Go является использование ручного управления памятью, работающего без применения сборщика мусора, без автоматического выделения памяти и без подсчёта ссылок. Транспайлер для Solod написан на языке Go и распространяется под лицензией BSD. Поддерживается работа в Linux, macOS и Windows.

Язык поддерживает структуры, методы, интерфейсы, слайсы, возврат функциями нескольких значений (например, результат + код ошибки), дженерики и отложенные вызовы (defer). C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания. При разработке на языке Solod могут использоваться существующие LSP-серверы, линтеры, интегрированные среды разработки и редакторы кода, поддерживающие язык Go, а также инструментарий «go test».

Написанный на Solod код может интегрироваться с приложениями на языке Си (язык Си может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на Си. На язык Си портированы Go-пакеты:

и т. п. Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной Си-библиотекой libc.

По умолчанию вся память выделяется в стеке, но через функции Alloc / Free стандартной библиотеки можно выделять память в куче. Сборка мусора и подсчёт ссылок не используются, но в Solod предоставляются возможности для проверки типов и аварийного завершения при обращении за границу массива. При этом проверки на возвращение висячих указателей dangling pointer и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью упоминается использование AddressSanitizer -fsanitize=address в современных компиляторах.

По производительности скомпилированные программы, написанные на Solod, в большинстве случаев быстрее программ на Go:

  • производительность работы функций из пакета Byte быстрее в полтора раза при идентичном потреблении памяти;
  • работа с байтовыми буферами быстрее в 1.3 раза при чтении и в 2-4 раза при записи;
  • в пакете Map выборка по целочисленному ключу быстрее в 3.4 раза, но модификация ключей медленнее в 1.6 раза;
  • выборка по строковым ключам на одном уровне с языком Go, но модификация медленнее в 1.5 раза;
  • парсинг и форматирование целых чисел быстрее в 2 раза, а с плавающей запятой - в 1.5/1.2 раза;
  • строковые функции быстрее в 1.3 раза, а создание строк быстрее в 2-4 раза при снижении потребления памяти на 10-20%.

>>> Подробности на OpenNET (opennet.ru)

PunkPerson
()

SQLite 3.53.0

 , ,

Группа Open Source

9-го апреля состоялся выпуск 3.53.0 компактной кроссплатформенной встраиваемой СУБД SQLite. Код проекта написан на языке C и распространяется как общественное достояние (public domain).

( читать дальше... )

>>> Подробности на sqlite.org (sqlite.org)

dataman
()

Компилятор Си в виде shell-скрипта

 , ,

Группа Open Source

На Гитхабе выложен компилятор C89 в ELF64 на языке shell (sh, не bash). 7796 строк, лицензия ISC (isc.org) (эквивалентна MIT).

>>> Новость на opennet.ru

>>> Скрипт на GitHub (github.com)

question4
()

Fossil SCM 2.28

 , , , ,

Группа Open Source

После пяти с половиной месяцев разработки состоялся выпуск 2.28 простой и высоконадёжной распределённой кроссплатформенной системы конфигурационного управления Fossil SCM, разрабатываемой автором SQLite, Дуэйном Ричардом Хиппом.

Fossil SCM выделяется среди систем контроля версий радикальной простотой развёртывания: весь проект — это один исполняемый файл без внешних зависимостей, который одновременно является VCS, встроенным веб-сервером, багтрекером, вики, форумом и чатом. Весь репозиторий со всей историей, тикетами и вики хранится в едином файле SQLite — его можно скопировать, забекапить или отправить коллеге одной командой scp. Проект используется самим автором для разработки SQLite — что само по себе говорит о надёжности инструмента. В отличие от Git, Fossil изначально проектировался с упором на целостность данных и простоту самостоятельного хостинга: поднять собственный сервер — это буквально одна команда fossil server. Философия проекта — «всё необходимое для жизни проекта в одном месте», без внешних сервисов и сложной инфраструктуры.

( читать дальше... )

>>> Подробности на fossil-scm.org (fossil-scm.org)

tis
()

ZXC 0.9.0

 , , , ,

Группа Open Source

Состоялся выпуск 0.9.0 библиотеки и кроссплатформенной консольной утилиты ZXC (github.com), реализующих высокопроизводительное многопоточное асимметричное сжатие без потерь и оптимизированное для игровых ресурсов, прошивок и пакетов приложений. Формат разработан по принципу «один раз записать, многократно читать» (WORM).

В отличие от таких кодеков, как LZ4, ZXC жертвует скоростью сжатия ради максимальной пропускной способности при распаковке.

Декларируется скорость распаковки на 40%+ выше, чем у LZ4 на Apple Silicon, на 25%+ выше на Google Axion (ARM64) и на 5%+ выше на x86_64, при этом во всех случаях обеспечивается более высокий коэффициент сжатия.

В этом выпуске представлен API многократно используемого контекста, возможность настройки размера блоков, полное справочное руководство по API и ABI, а также несколько исправлений, связанных с безопасностью, в том числе устранение уязвимости переполнения буфера в куче, обнаруженной в ходе фаззинга модуля сжатия.

Данный релиз содержит изменения, нарушающие ABI, поэтому SOVERSION увеличена до 2.

( читать дальше... )

>>> Подробности на GitHub (github.com)

dataman
()