Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

tags

  • Loading branch information...
commit 73b0dd8b0a29498708eef19f06be7e01c78c6ec3 1 parent a98de8c
@qnikst authored
View
2  index.html
@@ -72,7 +72,7 @@
</ul>
-<p>Browse: <a href="./tags/cgroups.html">cgroups (1)</a>, <a href="./tags/hakyll.html">hakyll (1)</a>, <a href="./tags/haskell.html">haskell (4)</a>, <a href="./tags/latex.html">latex (1)</a>, <a href="./tags/linux.html">linux (1)</a>, <a href="./tags/pam.html">pam (1)</a>, <a href="./tags/phys.html">phys (1)</a>, <a href="./tags/resourcet.html">resourcet (1)</a>, <a href="./tags/univ.html">univ (1)</a>, <a href="./tags/web.html">web (1)</a></p>
+<p>Browse: <a href="./tags/cgroups.html">cgroups (1)</a>, <a href="./tags/gentoo.html">gentoo (1)</a>, <a href="./tags/hakyll.html">hakyll (1)</a>, <a href="./tags/haskell.html">haskell (5)</a>, <a href="./tags/latex.html">latex (1)</a>, <a href="./tags/linux.html">linux (1)</a>, <a href="./tags/pam.html">pam (1)</a>, <a href="./tags/phys.html">phys (1)</a>, <a href="./tags/resourcet.html">resourcet (1)</a>, <a href="./tags/univ.html">univ (1)</a>, <a href="./tags/web.html">web (1)</a></p>
<footer>
Site generated using <a href="http://jaspervdj.be/hakyll">Hakyll</a> using <a href="http://johnmacfarlane.net/pandoc/">pandoc</a>
View
56 tags/gentoo.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>Qnikst blog - gentoo</title>
+ <!-- Bootstrap -->
+ <link href="../css/bootstrap.min.css" rel="stylesheet" media="screen">
+ <style>
+ body {
+ padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
+ }
+ </style>
+ <script src="http://code.jquery.com/jquery-latest.js"></script>
+ <script src="../js/bootstrap.min.js"></script>
+
+</head>
+<body>
+ <div class="navbar navbar-fixed-top navbar-inverse">
+ <div class="navbar-inner">
+ <a class="brand" href="../">Qnikst blog</a>
+ <ul class="nav ">
+ <li class="active"><a href="../">Home</a></li>
+ <li><a href="../posts.html">Blog</a></li>
+ <li><a href="../projects.html">Projects</a></li>
+ <li><a href="../contact.html">Contacts</a></li>
+ </ul>
+ </div>
+ </div>
+ <div class="container">
+ <h1>All posts</h1>
+<ul>
+ <li>
+ <a href="../posts/2013-03-31-gentoo-haskell.html">Немного о gentoo-haskell</a>
+ - <em>March 31, 2013</em> - by <em>Alexander Vershilov</em>
+</li>
+
+</ul>
+
+ <footer>
+ Site generated using <a href="http://jaspervdj.be/hakyll">Hakyll</a> using <a href="http://johnmacfarlane.net/pandoc/">pandoc</a>
+ </footer>
+ </div>
+<script type="text/javascript">
+ // <noscript> я очень хочу вас посчитать, напишите комментарий хотя бы, пожааалуйста </noscript>
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-38941774-1']);
+_gaq.push(['_trackPageview']);
+
+(function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+</body>
+</html>
View
50 tags/gentoo.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <title>Qnikst blog RSS feed - Post tagged gentoo</title>
+ <link href="http://qnikst.github.com/tags/gentoo.xml" rel="self" />
+ <link href="http://qnikst.github.com" />
+ <id>http://qnikst.github.com/tags/gentoo.xml</id>
+ <author>
+ <name>Alexander Vershilov</name>
+ <email>alexander.vershilov@gmail.com</email>
+ </author>
+ <updated>2013-03-31T00:00:00Z</updated>
+ <entry>
+ <title>Немного о gentoo-haskell</title>
+ <link href="http://qnikst.github.com/posts/2013-03-31-gentoo-haskell.html" />
+ <id>http://qnikst.github.com/posts/2013-03-31-gentoo-haskell.html</id>
+ <published>2013-03-31T00:00:00Z</published>
+ <updated>2013-03-31T00:00:00Z</updated>
+ <summary type="html"><![CDATA[<p>Как всем известно у haskell пакетов существует прекрасная система с сборки с центральным репозиторием, в котором хранятся пакеты, однако у этой проблемы существует ряд минусов:</p>
+<ul>
+<li>далеко не все пакеты собираются друг с другом даже если эти версии разрешены в cabal файле.</li>
+<li>далеко не все пакеты протестированы</li>
+<li>часть пакетов нацелены на работу под конкретной платформой и обновлять их до выхода следующей платформы не собираются</li>
+<li>при обновлении пакета нужно пересобирать все обратные зависимости</li>
+<li>в случае если нужны профилировочные библиотеки, то нужно пересобирать все зависимости с опциями профилировки.</li>
+<li>полное отстуствие верификации исходников, которые вы качаете.</li>
+</ul>
+<p>Все эти пункты делают использование haskell не очень приятным, так же проблема усугубляется тем, что во многих дистрибутивах представлены устаревшие версии пакетов, за которыми не успевают следить (не верите, то можете посмотреть результаты <a href="https://docs.google.com/forms/d/1y5WtrCB7O9-jb-2Mzo1MtkToh4O6oY2oBXGkc_Q-cy0/viewanalytics">haskell survey</a> Обычным решением является использование cabal на пользовательном уровне, или сборка в песочницах. Но иногда бывают способы и лучше.</p>
+<p>Естественно, каждый дистрибутив пытается по своему предложить решение проблем. В посте описана краткая инфрастурктура gentoo-linux и дополнительные пакеты сильно упрощающие работу с haskell, в целом пост может быть интересен, как пользователям Gentoo, так интересующимся пользователям других дистрибутивов, даже в том случае если не они не планируют переход или использование Gentoo Linux.</p>
+<ol style="list-style-type: decimal">
+<li><p>Gentoo работает под многими платформами: (alpha amd64 ia64 ppc ppc64 sparc x86) и под каждую есть поставка ghc и пакетов. Сам пакет ghc можно поставить в бинарном виде, в том случае, если его сборка слишком тяжела для хоста.</p></li>
+<li><p>Для исправления зависимостей существует программа haskell-updater, которая находит все “поломанные” зависимости и пересобирает нужные пакеты. Не так давно для улучшения ситуации добавлен механизм подслотов (subslots) специальная форма зависимостей позволяющая указать, то что программа должна быть обновлена в случае обновления зависимости. В текущий момент этот метод не может решить все проблемы (и даже приводит к некоторым новым), то уже в скором времени подслоты будут <a href="https://bugs.gentoo.org/show_bug.cgi?id=449094">рекурсивными</a> и полностью решат проблему автоматического обновления зависимостей</p></li>
+<li><p>Большая часть пакетов доступных на Hackage может быть установлена из оверлея gentoo-haskell. Это надет дополнительный слой, в котором можно провести дополнительные исправления, такие как фиксация зависимостей и добавление патчей, плюс с каждым пакетом ассоциирована хэш сумма, которая ползволяет автоматически проверять валидность скачанных исходников.</p></li>
+</ol>
+<p>В нашем проекте проводятся следующие политики:</p>
+<ol style="list-style-type: decimal">
+<li>в оверлее держится последняя версия пакета, и она патчится таким образом, чтобы она могла работать с последними версиями других пакетов. Для некоторых пакетов есть исключения по запросам от пользователей или в случае серьезного изменеия апи.</li>
+<li>Во всех пакетах проверяется то, что тесты проходятся (если они есть).</li>
+<li>сделаны утилиты для простого создания новых пакетов <em>действительно простого</em></li>
+</ol>
+<p>Таким образом в gentoo можно спокойно использовать haskell на системном уровне используя песочницы только в исключительных ситуациях.</p>
+<p>Так же в дистрибутив входят допонительные полезные утилиты такие как hoogle с поддержкой локальной базы (т.е. всех установленных пакетов).</p>
+<p>Если кому-то интересны подробности, шаги по быстрой установке или хочется рассказать, как в вашем дистрибутиве решаются подобные проблемы, то добро пожаловать в комментарии.</p>
+<p>P.S. и важно, что gentoo можно поставить под любой вашей осью, данных механизм называется gentoo prefix, и подробности можно найти <a href="http://www.gentoo.org/proj/en/gentoo-alt/prefix/">тут</a>.</p>
+<p>Полезные ссылки:</p>
+<p>[1] Страница на gentoo wiki: <a href="">http://wiki.gentoo.org/wiki/Haskell</a></p>
+<p>[2] Тематический блог: <a href="">http://gentoohaskell.wordpress.com/</a></p>
+<p>[3] Haskell wiki: <a href="">http://www.haskell.org/haskellwiki/Gentoo</a></p>]]></summary>
+</entry>
+
+</feed>
View
4 tags/haskell.html
@@ -30,6 +30,10 @@
<h1>All posts</h1>
<ul>
<li>
+ <a href="../posts/2013-03-31-gentoo-haskell.html">Немного о gentoo-haskell</a>
+ - <em>March 31, 2013</em> - by <em>Alexander Vershilov</em>
+</li>
+<li>
<a href="../posts/2013-02-28-resourcet-usage.html">Resourcet usage</a>
- <em>February 28, 2013</em> - by <em>Alexander Vershilov</em>
</li>
View
39 tags/haskell.xml
@@ -8,8 +8,45 @@
<name>Alexander Vershilov</name>
<email>alexander.vershilov@gmail.com</email>
</author>
- <updated>2013-02-28T00:00:00Z</updated>
+ <updated>2013-03-31T00:00:00Z</updated>
<entry>
+ <title>Немного о gentoo-haskell</title>
+ <link href="http://qnikst.github.com/posts/2013-03-31-gentoo-haskell.html" />
+ <id>http://qnikst.github.com/posts/2013-03-31-gentoo-haskell.html</id>
+ <published>2013-03-31T00:00:00Z</published>
+ <updated>2013-03-31T00:00:00Z</updated>
+ <summary type="html"><![CDATA[<p>Как всем известно у haskell пакетов существует прекрасная система с сборки с центральным репозиторием, в котором хранятся пакеты, однако у этой проблемы существует ряд минусов:</p>
+<ul>
+<li>далеко не все пакеты собираются друг с другом даже если эти версии разрешены в cabal файле.</li>
+<li>далеко не все пакеты протестированы</li>
+<li>часть пакетов нацелены на работу под конкретной платформой и обновлять их до выхода следующей платформы не собираются</li>
+<li>при обновлении пакета нужно пересобирать все обратные зависимости</li>
+<li>в случае если нужны профилировочные библиотеки, то нужно пересобирать все зависимости с опциями профилировки.</li>
+<li>полное отстуствие верификации исходников, которые вы качаете.</li>
+</ul>
+<p>Все эти пункты делают использование haskell не очень приятным, так же проблема усугубляется тем, что во многих дистрибутивах представлены устаревшие версии пакетов, за которыми не успевают следить (не верите, то можете посмотреть результаты <a href="https://docs.google.com/forms/d/1y5WtrCB7O9-jb-2Mzo1MtkToh4O6oY2oBXGkc_Q-cy0/viewanalytics">haskell survey</a> Обычным решением является использование cabal на пользовательном уровне, или сборка в песочницах. Но иногда бывают способы и лучше.</p>
+<p>Естественно, каждый дистрибутив пытается по своему предложить решение проблем. В посте описана краткая инфрастурктура gentoo-linux и дополнительные пакеты сильно упрощающие работу с haskell, в целом пост может быть интересен, как пользователям Gentoo, так интересующимся пользователям других дистрибутивов, даже в том случае если не они не планируют переход или использование Gentoo Linux.</p>
+<ol style="list-style-type: decimal">
+<li><p>Gentoo работает под многими платформами: (alpha amd64 ia64 ppc ppc64 sparc x86) и под каждую есть поставка ghc и пакетов. Сам пакет ghc можно поставить в бинарном виде, в том случае, если его сборка слишком тяжела для хоста.</p></li>
+<li><p>Для исправления зависимостей существует программа haskell-updater, которая находит все “поломанные” зависимости и пересобирает нужные пакеты. Не так давно для улучшения ситуации добавлен механизм подслотов (subslots) специальная форма зависимостей позволяющая указать, то что программа должна быть обновлена в случае обновления зависимости. В текущий момент этот метод не может решить все проблемы (и даже приводит к некоторым новым), то уже в скором времени подслоты будут <a href="https://bugs.gentoo.org/show_bug.cgi?id=449094">рекурсивными</a> и полностью решат проблему автоматического обновления зависимостей</p></li>
+<li><p>Большая часть пакетов доступных на Hackage может быть установлена из оверлея gentoo-haskell. Это надет дополнительный слой, в котором можно провести дополнительные исправления, такие как фиксация зависимостей и добавление патчей, плюс с каждым пакетом ассоциирована хэш сумма, которая ползволяет автоматически проверять валидность скачанных исходников.</p></li>
+</ol>
+<p>В нашем проекте проводятся следующие политики:</p>
+<ol style="list-style-type: decimal">
+<li>в оверлее держится последняя версия пакета, и она патчится таким образом, чтобы она могла работать с последними версиями других пакетов. Для некоторых пакетов есть исключения по запросам от пользователей или в случае серьезного изменеия апи.</li>
+<li>Во всех пакетах проверяется то, что тесты проходятся (если они есть).</li>
+<li>сделаны утилиты для простого создания новых пакетов <em>действительно простого</em></li>
+</ol>
+<p>Таким образом в gentoo можно спокойно использовать haskell на системном уровне используя песочницы только в исключительных ситуациях.</p>
+<p>Так же в дистрибутив входят допонительные полезные утилиты такие как hoogle с поддержкой локальной базы (т.е. всех установленных пакетов).</p>
+<p>Если кому-то интересны подробности, шаги по быстрой установке или хочется рассказать, как в вашем дистрибутиве решаются подобные проблемы, то добро пожаловать в комментарии.</p>
+<p>P.S. и важно, что gentoo можно поставить под любой вашей осью, данных механизм называется gentoo prefix, и подробности можно найти <a href="http://www.gentoo.org/proj/en/gentoo-alt/prefix/">тут</a>.</p>
+<p>Полезные ссылки:</p>
+<p>[1] Страница на gentoo wiki: <a href="">http://wiki.gentoo.org/wiki/Haskell</a></p>
+<p>[2] Тематический блог: <a href="">http://gentoohaskell.wordpress.com/</a></p>
+<p>[3] Haskell wiki: <a href="">http://www.haskell.org/haskellwiki/Gentoo</a></p>]]></summary>
+</entry>
+<entry>
<title>Resourcet usage</title>
<link href="http://qnikst.github.com/posts/2013-02-28-resourcet-usage.html" />
<id>http://qnikst.github.com/posts/2013-02-28-resourcet-usage.html</id>
Please sign in to comment.
Something went wrong with that request. Please try again.