Странно, конечно, что без предупреждения и обновления достаточно известной (наверно) книжки произошло такое изменение, потому что раньше этот код вроде бы работал. Сейчас нужно использовать easy-acceptor вместо acceptor.
А есть в Lisp-e средства управления зависимостями с поддержкой версий? Ну скажем я 2 года назад написал веб приложение на hunchentoot c acceptor и чтобы сейчас его можно было развернуть с той же версией без танцев с бубном.
Если расскажете что такое bundler и ruby gems, то я отвечу насколько им соответствует quicklisp. Другого ничего нет.
Версии зависимостей, к сожалению, asdf не поддерживает, а quicklisp использует его описания систем. Поэтому эта фича должна быть реализована в двух пакетах сразу, один из которых отличается сильной консервативностью. Вроде разговоры про это были, но asdf не скоро пошевелится.
Это из мира Ruby.
Если вкратце, gem - это библиотека. Можно описать сборку, зависимости, указать версию. В комплекте инструменты для сборки, установки.
bundler - менеджер управление гемами для приложения. Можно указать гем, точную версию или минимальную, группировать их (production, test, ...). И в приложении будут доступны только соответствующие гемы.
Версии зависимостей, к сожалению, asdf не поддерживает
Это было бы малоосмысленно. Загрузить одновременно два пакета одинаковыми именами нельзя.
С другой стороны, никто не мешает скопировать пакет нужной версии и выложить его под именем package-version (например hunchentoot-1.0.0) с соответствующей заменой в defpackage, defsystem и in-package. Тогда можно будет в зависимостях указывать типа (:depends-on :hunchentoot-1.0.0)
Это было бы малоосмысленно. Загрузить одновременно два пакета одинаковыми именами нельзя.
Для ещё не обновлённого кода было бы полезно выкачивать репозиторий квиклиспа по состоянию на какой-то месяц. Пакеты в квиклиспе то друг с другом все проверяются и там даже практического смысла в версиях нет, но им одним мир не ограничивается. :)
А разве можно у квиклиспа за какой-то месяц выкачать? Там вроде на сервере только последние хранятся. Или я чего-то не знаю?
А если брать последний срез, так почти с тем же успехом можно из гитхаба брать. Используемых бибилиотек в проекте немного, протестировать на совместимость и самому можно. А вот дальше всё равно или отслеживать upstream или копировать нужную версию к себе.
С другой стороны, для живого продукта есть смысл привязываться к древней версии? Вот напишу я программу на C и укажу, что для неё требуется glibc 2.1.1. Это кому-то позволит её собрать на современном линуксе?
Так изначальный вопрос как раз о древней версии. Я бы себе поставил hunchentoot нужной версии и не ломал себе голову о том, растут руки из нужного места или с Лиспом что-то не так.
Промышленный вариант. Некто Вася Скобкин написал сайт на лиспе 2 года назад. Но hunchentoot в репозиторий не положил, дал ссылку где скачать. Я взял его исходники и у меня ничего не работает.