LINUX.ORG.RU

Дистрибутив


0

1

Здравствуйте. Дописал проект свой и задумался как перенести его на другой комп. Нашел статейки по этой теме но так особенно ничего не понял. Я вижу три варианта.

1. Самый тупой это поставить на новой машине SBCl,либы,прописать Path вручную поставить емакс, и тупо копипастом запускать. Естественно это не подходит так как это верх тупости. 2. Это перезаписать (если ошибся в термине то поправьте) ядро sbcl что бы сразу запускался SBCL с уже вшитым внутрь кодом (другими словами сделать образ лисп машины). (require 'ASDF)

(load «C:\\.....»)

(save-lisp-and-die «test.exe» :executable t)

есть косяк в этой схеме он почему то отказывается загружать мой файл. возможно из за того что у меня присутствует там кирилица. Понять что именно не так не могу. Либы он прогружает а вот определение пакета походу не хочет делать. 3. Я слышал что можно сделать всё как то с .bat файлом но я даже не представляю что там и как.

Платформа как вы уже наверное поняли Windows. Помогите сделать нормальный дистрибутив который смог бы установить «виндузятник». Заранее благодарен, но прозьба помочь а не посылать учить мануал SBCL.



Последнее исправление: RusNekromant (всего исправлений: 1)

по первому пункту - а зачем ставить емакс? поставить сбцл, установить PATH, а запускать через батник.

anonymous
()

а что за проект кстати?

anonymous
()
Ответ на: комментарий от anonymous

Эммммм я же написал что не знаю как через батник, ща поищу ещё в нигме может найду. А программка чисто в познавательных целях графический редактор простенький на 1000 строк кода через библу cl-gtk2+. Количество строк наверное можно уменьшить в двое или ещё больше но я пока не приступил к оптимизации, да и не знаю всех тонкостей лиспа.

Кстати переменную среду можно как то во время установки сменить наверное так что ручками вообще ничего не нада будет делать.

RusNekromant
() автор топика
Ответ на: комментарий от anonymous

Кстати вот цитату нашел

«это такой самоисполняемый файл с расширением *.bat. Создай текстовый докмент (блокнотом), далее впиши в него что там требуется по мануалу и сохрани его любым именем, но с расширением bat. И, тем самым, запустив его, у тебя будет выполняться та команда, которая прописана в теле»

тоесть вся моя прога будет открытым текстом прописана получается? Мне так не подходит, так как слишком много соблазна будет у пользователя. нет ну я конечно понимаю что если сделаю новое ядро SBCL с вшитым кодом, то там тоже можно будет изменить если захотеть, но это уже достаточно большой уровень подготовки нужен будет. Карочь желательно что бы пользователь как можно труднее добирался до самого кода.

RusNekromant
() автор топика

виндузятнику не нужны сорцы, поэтому делай «ядро» и отдавай ему в бинарном виде

Reset ★★★★★
()
Ответ на: комментарий от Reset

Ну ядро сделать у меня не получалось, потому что файл с кодом был в кодировке :utf-8 а по умолчанию кодировка в SBCL :cp1251

Строка (setf sb-impl::*default-external-format* :UTF-8) найденная на лисперточкару помогла.

потом написал (save-lisp-and-die «Оно.exe» :executable t)

и о чудо всё получилось

но есть проблема которая наверное решится как раз батником. Когда запускаешь «Оно.exe» то открывается по умолчанию в пакете Cl-user потому как функция save-lisp-and-die нельзя запустить с моего пакета хотя я и использовал

(defpackage :пакет.главный
  (:shadowing-import-from #:cairo #:scale #:rectangle #:pointer)
  (:use #:cl #:gtk #:gdk #:gobject #:cl-gtk2-cairo #:cairo))


там есть #:cl я думал и все функции будут доступны. Но это мелочи.

Итак что бы запустить на выполнение программу нужно две строки вводить, сначала перейти в пакет 
(in-package :пакет.главный)
потом запустить главную функцию
(главное-окно)
так вот как это прописать в батнике? Прошу помочь примером или ссылкой на нормальную статью по бат файлам, хотя конечно лучше готовый вариант с коментами если не затруднит.
RusNekromant
() автор топика
Ответ на: комментарий от RusNekromant

Тут ща вылезла ещё одна проблемка. Я хочу сделать установочный файл с помощью smart install maker. Там можно просто запихнуть моё новое ядро потом оригинальный установщик SBCl и всё это поочереди запустить и даже бат файлы он умеет делать помоиму(но ещё не разбирался). Только проблема в том что устанавливая SBCL я не смогу передать директорию установки инсталятору для ядра, что бы он заменил его. Тоесть получается нужно или клепать свой УстановщикSBCL.exe, и в этом нет проблем в принципе кроме одной... Так как Sbcl мультиплатформенный наверное он всё что ему нада хранит в своих дирректориях или нет? Тоесть в system32 он ничего не прописывает? А если прописывает то как узнать что и где?

RusNekromant
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.