<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Релиз Scriptisto - shebang для скриптом на компилируемых языках</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html</link>
    <description>Выложил в open-source свою первую утилиту на Rust (сама утилита работает для любых ЯП). Посмотрите, может кому пригодится, рад советам и пожеланиям.&lt;br&gt;&lt;br&gt;https://github.com/igor-petruk/scriptisto&lt;br&gt;&lt;br&gt;Почему это полезно тут - https://github.com/igor-petruk/scriptisto/wiki&lt;br&gt;&lt;br&gt;Если кратко, создаем файл на любом компилируемом языке, в комментарии пишем иструкции по сборке. Например С с зависимостью на glib:&lt;br&gt;&lt;br&gt;#!/usr/bin/env scriptisto&lt;br&gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;glib.h&amp;gt;&lt;br&gt;&lt;br&gt;// scriptisto-begin&lt;br&gt;// script_src: main.c&lt;br&gt;// build_cmd: clang -O2 main.c &#096;pkg-config --libs --cflags glib-2.0&#096; -o ./script&lt;br&gt;// scriptisto-end&lt;br&gt;&lt;br&gt;int main(int argc, char *argv&#091;&#093;) &#123;&lt;br&gt;  gchar* user = g_getenv(&quot;USER&quot;);&lt;br&gt;  printf(&quot;Hello, C! Current user: &#037;s&#092;n&quot;, user);&lt;br&gt;  return 0;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Потом&lt;br&gt;&lt;br&gt;$ chmod +x ./script.c&lt;br&gt;$ ./script.c&lt;br&gt;Hello, C! Current user: username&lt;br&gt;&lt;br&gt;Последующие запуски будут очень быстрые, так как исполняемый файл кеширован.&lt;br&gt;&lt;br&gt;С утилитой доступно множество шаблонов для разных ЯП.&lt;br&gt;&lt;br&gt;На новость не тянет, потому что утилита неб</description>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (IgorPetruk)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#7</link>
    <pubDate>Mon, 28 Oct 2019 23:31:48 GMT</pubDate>
    <description>Добавил сборку статических исполняемых файлов внутри Docker, без компиляторов в хостовой системе&lt;br&gt;</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (Igor Petruk)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#6</link>
    <pubDate>Sat, 26 Oct 2019 01:59:21 GMT</pubDate>
    <description>Добавил deb, rpm пакеты для основных дистрибутивов, а также просто релиз со статически линкованым исполняемым файлом. Тоже собираются автоматически&lt;br&gt;&lt;br&gt;https://github.com/igor-petruk/scriptisto/wiki/Installation&lt;br&gt;</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (IgorPetruk)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#5</link>
    <pubDate>Fri, 25 Oct 2019 20:21:26 GMT</pubDate>
    <description>&amp;gt;&amp;gt;В рамках вот этой Issue я хочу сделать трансформирование скрипта в реальный проект &lt;br&gt;&amp;gt; т.е. если я захочу поделиться своим &quot;скриптом&quot;, то я либо должен не &lt;br&gt;&amp;gt; забыть вытереть shebang, либо распространять его вместе в бинарником, либо убедить &lt;br&gt;&amp;gt; человека поставить раст (и все это чтобы меня не обматерили).&lt;br&gt;&lt;br&gt;Все, я исправил ситуацию. Теперь каждый релиз собирает статический бинарник на общественном сервере и выкладывает на Github.&lt;br&gt;&lt;br&gt;В логах CI можно увидеть контрольную сумму бинарного файла чтобы быть уверенным что он оттуда.&lt;br&gt;&lt;br&gt;Сборщик https://cloud.drone.io/igor-petruk/scriptisto&lt;br&gt;Релизы https://github.com/igor-petruk/scriptisto/releases&lt;br&gt;</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (IgorPetruk)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#4</link>
    <pubDate>Fri, 25 Oct 2019 17:26:53 GMT</pubDate>
    <description>&amp;gt;&amp;gt;В рамках вот этой Issue я хочу сделать трансформирование скрипта в реальный проект &lt;br&gt;&amp;gt; т.е. если я захочу поделиться своим &quot;скриптом&quot;, то я либо должен не &lt;br&gt;&amp;gt; забыть вытереть shebang, либо распространять его вместе в бинарником, &lt;br&gt;&lt;br&gt;Ну смотря что значит распространять. Если вы распространяете среди ваших машин где установлен scriptisto, тогда достаточно одного файла.&lt;br&gt;&lt;br&gt;Я больше говорил о фиче, когда вам надоело это держать в форме скрипта И я реализую ту фичу, то можно будет условно говоря выполнить scriptisto export и он создаст нормальный проект, без себя, без shebang, но с обычным Makefile. Уже от этого сможете дальше развивать ваше приложение.&lt;br&gt;&lt;br&gt;А пока это просто удобная штука для локалхоста чтобы не возиться с системами сборки для простых скриптов.&lt;br&gt;&lt;br&gt;&amp;gt; либо убедить человека поставить раст (и все это чтобы меня не обматерили).&lt;br&gt;&lt;br&gt;Ну я утилиту выпустил всего вчера. Потому легче всего мне ее распространять через crates.io. Но если ее опакетить для дистрибутивов, то бинарнику не нужен Rust. Я разберусь ка</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#3</link>
    <pubDate>Fri, 25 Oct 2019 16:39:16 GMT</pubDate>
    <description>&amp;gt;В рамках вот этой Issue я хочу сделать трансформирование скрипта в реальный проект&lt;br&gt;&lt;br&gt;т.е. если я захочу поделиться своим &quot;скриптом&quot;, то я либо должен не забыть вытереть shebang, либо распространять его вместе в бинарником, либо убедить человека поставить раст (и все это чтобы меня не обматерили).&lt;br&gt;&lt;br&gt;&amp;gt;Насчет этих статей - нужно чуть больше строк&lt;br&gt;&lt;br&gt;bash/dash у меня уже есть, а вот раста нет. Да и строк у вас достаточно.&lt;br&gt;&amp;gt;scriptisto по дефолту вытирает shebang в пустую строку перед тем как компилировать.&lt;br&gt;&lt;br&gt;Можно/лучше было вообще сделать что-то вроде генератора run-файлов (или типа распаковщиков от gog)&lt;br&gt;</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (IgorPetruk)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#2</link>
    <pubDate>Fri, 25 Oct 2019 14:28:43 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Если кратко, создаем файл на любом компилируемом языке, в комментарии пишем иструкции по сборке.&lt;br&gt;&amp;gt;&amp;gt;#!/usr/bin/env scriptisto &lt;br&gt;&amp;gt; хороший пример, а если я захочу его с помощью gcc скомпилировать, то &lt;br&gt;&amp;gt; он не обидится на такой shebang?&lt;br&gt;&lt;br&gt;scriptisto по дефолту вытирает shebang в пустую строку перед тем как компилировать. Не удаляет, чтобы номера строк в сообщениях об ошибке не поплыли, а просто делает ее пустой. Это не очень хорошо только в Go, есть опция чтобы заменять на что-то другое, совместимое с яп, например на комментариий // как в Go.&lt;br&gt;&lt;br&gt;В рамках вот этой Issue я хочу сделать трансформирование скрипта в реальный проект если вам это нужно (например потом, скрипт становится все больше и больше) - https://github.com/igor-petruk/scriptisto/issues/10&lt;br&gt;&lt;br&gt;&amp;gt; тут https://hackaday.com/2019/09/17/linux-fu-shell-scripts-in-c-c-and-others/ &lt;br&gt;&amp;gt; и тут https://coderwall.com/p/e1htcg/self-compiling-source-code это хотя бы учитывают &lt;br&gt;&amp;gt; и обходятся без раста &lt;br&gt;&lt;br&gt;Насчет &quot;//&quot; - если у вас работает такой shebang, нету про</description>
</item>

<item>
    <title>Релиз Scriptisto - shebang для скриптом на компилируемых языках (Аноним)</title>
    <link>https://opennet.dev/openforum/vsluhforumID9/10285.html#1</link>
    <pubDate>Fri, 25 Oct 2019 14:19:19 GMT</pubDate>
    <description>&amp;gt;Если кратко, создаем файл на любом компилируемом языке, в комментарии пишем иструкции по сборке. &lt;br&gt;&amp;gt;#!/usr/bin/env scriptisto&lt;br&gt;&lt;br&gt;хороший пример, а если я захочу его с помощью gcc скомпилировать, то он не обидится на такой shebang?&lt;br&gt;&lt;br&gt;тут https://hackaday.com/2019/09/17/linux-fu-shell-scripts-in-c-c-and-others/ и тут https://coderwall.com/p/e1htcg/self-compiling-source-code это хотя бы учитывают и обходятся без раста&lt;br&gt;</description>
</item>

</channel>
</rss>
