Интересный взгляд в историю воспроизводимых сборок (https://reproducible-builds.org/) от Джона Гилмора (John Gilmore):
https://lists.reproducible-builds.org/pipermail/rb-general/2017-January/000309.html
#dev #reproducible_builds
https://lists.reproducible-builds.org/pipermail/rb-general/2017-January/000309.html
#dev #reproducible_builds
reproducible-builds.org
Reproducible Builds
Reproducible builds are a set of software development practices that create an independently-verifiable path from source to binary code.
⚡1
Выпустил релиз Guile-PNG 0.4.1:
https://mail.gnu.org/archive/html/guile-user/2023-05/msg00007.html
Список основных изменений:
- Исправление ошибки в процедуре
- Исправление ошибок в процедурах
- Добавлена новая процедура для обработки изображений:
На приложенных изображениях можно видеть в левитирующую антилопу GNU в цвете (изображение взято отсюда) и вариант в оттенах серого, полученный через
#dev #projects #guile #png #scheme #lisp
https://mail.gnu.org/archive/html/guile-user/2023-05/msg00007.html
Список основных изменений:
- Исправление ошибки в процедуре
png-image-clone: теперь происходит полное копирование данных изображения, как и должно.- Исправление ошибок в процедурах
png-chunk-clone для чанков pHYs, tIME, tEXt, tEXT, zTXt.- Добавлена новая процедура для обработки изображений:
png-image-filter-grayscale.На приложенных изображениях можно видеть в левитирующую антилопу GNU в цвете (изображение взято отсюда) и вариант в оттенах серого, полученный через
png-image-filter-grayscale.#dev #projects #guile #png #scheme #lisp
⚡1
Теперь Guile-DSV умеет форматировать таблицы так, чтобы они умещались в указанную ширину; содержимое ячеек делится на строки при необходимости. Ширина таблицы задаётся опцией
Новая функция будет в следующем релизе, пока на свой страх и риск можете пробовать собрать Guile-DSV с ветви
В GNU Guix после клонирования репозитория можно установить Git-версию из
#dev #projects #guile #dsv #csv #lisp
--width (-w.)Новая функция будет в следующем релизе, пока на свой страх и риск можете пробовать собрать Guile-DSV с ветви
master.В GNU Guix после клонирования репозитория можно установить Git-версию из
guix.scm, находящегося в корне репозитория:$ guix package -f guix.scm
#dev #projects #guile #dsv #csv #lisp
⚡2
Улучшил алгоритм форматирования таблиц в Guile-DSV — теперь при вписывании таблицы в указанное количество символов по ширине, ширина столбцов таблицы сглаживается, чтобы место распределялось более равномерно.
UPD: Конечно же указание формата
#dev #projects #guile #dsv
UPD: Конечно же указание формата
-F rfc4180 здесь избыточно и неправильно, т.к. файл /etc/passwd в Unix-формате, с двоеточияи в качестве разделителей. Но Guile-DSV автоматически может определить разделитель в большинстве случаев, поэтому принудительное указание неправильного формата не повлияло на интерпретацию файла.#dev #projects #guile #dsv
Выпустил релиз Guile-DSV 0.6.0.
Анонс:
https://mail.gnu.org/archive/html/guile-user/2023-05/msg00015.html
В утилите
Если же ширину выставтиь в ноль, то тогда никакого изменения размера таблицы и переноса строк выполняться не будет, и потенциально таблица может быть шире терминала, что приведёт к переносу строк в его окне.
Если же заданная ширина таблицы меньше минимальной ширины для вывода её столбцов, будет выдана ошибка.
#dev #projects #guile #dsv
Анонс:
https://mail.gnu.org/archive/html/guile-user/2023-05/msg00015.html
В утилите
dsv через опцию --width (-w) теперь можно задавать желаемую ширину таблицы. Guile-DSV попытается уместить таблицу в указанную ширину, при этом содержимое ячеек будет разбиваться на несколько строк, если это необходимо. Если ширина таблицы выставлена в auto, используется ширина экрана в качестве максимальной ширины (если таблица уже, чем ширина экрана, она не будет "растягиваться" по ширине, а "обтекать" элементы в ней.)Если же ширину выставтиь в ноль, то тогда никакого изменения размера таблицы и переноса строк выполняться не будет, и потенциально таблица может быть шире терминала, что приведёт к переносу строк в его окне.
Если же заданная ширина таблицы меньше минимальной ширины для вывода её столбцов, будет выдана ошибка.
#dev #projects #guile #dsv
This media is not supported in your browser
VIEW IN TELEGRAM
В QMake, если вы хотите установить сгенерированные в процессе сборки файлы вместе с теми, которые были изначально, следует добавить опцию
Допустим, если файл
Если данную настройку не указать, то при установке сгенерированный файл будет просто проигнорирован, вы потратите кучу времени на поиск ошибки.
#qt #qmake #dev
no_check_exist в CONFIG для нужной цели.Допустим, если файл
config.scm генерируется у вас из config.scm.in, тогда ваш *.pro-файл надо будет изменить таким образом:my_sources.files = main.scm config.scm
my_sources.CONFIG += no_check_exist
Если данную настройку не указать, то при установке сгенерированный файл будет просто проигнорирован, вы потратите кучу времени на поиск ошибки.
#qt #qmake #dev
⚡1
memory heap
Выпусти релиз Guile-PNG 0.6.0: https://mail.gnu.org/archive/html/guile-user/2023-06/msg00013.html Основные изменения: - Переименованы процедуры обработки изображений: png-image-filter-grayscale -> png-image-grayscale, png-image-filter-invert-colors -> png…
Guile-PNG обновился до версии 0.6.0 в GNU Guix:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3bea4c0c191e04a37662d2be0ed47ad867b70345
Установить/обновить можно командой:
#dev #projects #gnu #guile
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3bea4c0c191e04a37662d2be0ed47ad867b70345
Установить/обновить можно командой:
guix install guile-png
#dev #projects #gnu #guile
Выпустил релиз Guile-PNG 0.7.0 — библиотеки для работы с форматом PNG (RFC 2083) для GNU Guile, реализованной на чистом Scheme:
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.7.0
В новой версии:
- Реализован авто-подбор фильтров для сохранения строк изображения, индивидуально для каждой строки — согласно эвристике, которая предложена в стандарте RFC 2083. Данная эвристика позволяет улучшить сжатие изображения и следовательно уменьшить его размер.
- Исправлена опечатка в модуле
- Обновлена документация.
UPD: Анонс в списке рассылки Guile Users:
https://mail.gnu.org/archive/html/guile-user/2023-07/msg00017.html
#projects #guile #png #scheme #dev
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.7.0
В новой версии:
- Реализован авто-подбор фильтров для сохранения строк изображения, индивидуально для каждой строки — согласно эвристике, которая предложена в стандарте RFC 2083. Данная эвристика позволяет улучшить сжатие изображения и следовательно уменьшить его размер.
- Исправлена опечатка в модуле
(png core chunk bkgd) — слово "greyscale" заменено на "grayscale".- Обновлена документация.
UPD: Анонс в списке рассылки Guile Users:
https://mail.gnu.org/archive/html/guile-user/2023-07/msg00017.html
#projects #guile #png #scheme #dev
GitHub
Release v0.7.0 · artyom-poptsov/guile-png
Version 0.7.0
⚡1
Выпустил релиз Guile-SMC 0.6.1, компилятора конечных автоматов для GNU Guile:
https://github.com/artyom-poptsov/guile-smc/releases/tag/v0.6.1
В новой версии:
- Добавлена возможность установки глобального источника событий для ДКА в разделе
- Исправлена ошибка в процедуре
- Исправлены ошибки в сериализации/десериализации состояний в модуле
- Обновлена документация.
#dev #projects #guile #smc #fsm
https://github.com/artyom-poptsov/guile-smc/releases/tag/v0.6.1
В новой версии:
- Добавлена возможность установки глобального источника событий для ДКА в разделе
legend внутри PlantUML-файла. Например:legend- Команда
event-source: next-char
endlegend
smc context теперь позволяет установить подтип генерируемого контекста. Если раньше можно было выбрать только из двух вариантов — oop и functional, то сейчас можно использовать такие варианты, как:oopПодобная мера позволила сократить объём генерируемого кода для контекста (не берутся те части контекста из Guile-SMC, которые не используются), и кроме того, это позволило решить проблему с дублированием процедур при использовании функционального (
oop/generic
oop/port
oop/char
oop/u8
functional
functional/generic
functional/char
functional/u8
functional) контекста, где каждый вариант предоставлял свою копию процедур, но все основные процедуры имели одинаковые имена.- Исправлена ошибка в процедуре
fsm-run!, из-за которой при завершении работы ДКА возвращалась не последнаяя версия контекста, а предыдущая — это приводило к ошибкам работы функциональных вариантов контекста, где контекст не изменялся, а создавался новый на основе предыдущего. В этой ситуации если в конце работы ДКА происходило какое-то заключительное действие с контекстом (например, обновление через действие по выходу из состояния), то данные изменения не были видны. В случае использования ООП-контекста такой проблемы не возникало, так как ООП-контекст использует мутабельные структуры.- Исправлены ошибки в сериализации/десериализации состояний в модуле
(smc core state) — теперь exit-action корректно сохраняется при преобразовании состояния в список, а при обратном преобразовании списка в состояние восстанавливается.- Обновлена документация.
#dev #projects #guile #smc #fsm
GitHub
GitHub - artyom-poptsov/guile-smc: GNU Guile State Machine Compiler
GNU Guile State Machine Compiler. Contribute to artyom-poptsov/guile-smc development by creating an account on GitHub.
⚡1