500개의 Haskell 패키지를 가진 배포판은?

atie의 이미지

아치리눅스 입니다.

우선, kldp에는 좋은 Haskell 문서가 있다는 것을 상기해 보는 것으로 시작합니다.
http://kldp.org/node/89458

아치리눅스 메일링에 재미있는 소식이 올라왔습니다. AUR을 자주 살펴야 무슨 일인지 짐작을 할 만한 이런 소식은 널리 알려지지 않을테지만 알아두면 도움이 될 수도 있는 좋은 소식인 듯 합니다.
http://cgi.cse.unsw.edu.au/~dons/blog/2008/08/21#the_500

하스켈 아치 팀의 cabal2arch 자동화로 타 배포판에 비해 우선적으로 500개의 하스켈 라이브러리 패키지를 아치리눅스의 AUR에 올려놓은 소식을 전하고 있습니다. 그리고 글쓴이는 그 500개 패키지 중 본인이 생각하는 10개의 멋진 패키지를 선정, 설명을 하였습니다. 또한 다음 대상의 배포판은 데비안/우분투일 것이라는 것이 cabal-debian 힌트로 이미 짐작할 수 있습니다.

그럼 왜 이렇게 배포판을 위한 패키징을 할까요?

http://www.cse.unsw.edu.au/~dons/papers/CPJS08.html

관심있는 분은 이 페이지의 pdf를 읽어 보세요. Haskell 커뮤니티의 이런 실천은 정말 멋있습니다.

댓글

atie의 이미지

우분투 ruby gem 패키지 관련해서 이런 소란이 있는 것을 보면, 언어 관련 패키징은 어렵다는 것을 느끼게 되고 그런 의미에서 위의 하스켈 패키지 건은 더욱 수고의 댓가가 큰 듯 합니다.

https://bugs.launchpad.net/ubuntu/+source/libgems-ruby/+bug/145267
https://lists.ubuntu.com/archives/ubuntu-motu/2008-August/004605.html

각설하고, (오늘 잘 한 일을 일기 쓰는 마음으로...)

잘 된 것은 써보자 하는 마음에서, 하스켈에서 DB는 어떻게 처리하나 싶어 sqlite을 쓰는 하스켈 프로그램을 찾던 중에 hpodder라는 podcast 다운로드 프로그램이 있다는 것을 알게 되었습니다. 그리고 희한하게도 아치리눅스에는 패키지가 없고 데비안에는 있더군요. 그래서 소스도 볼 겸 아치용 hpodder-git 패키지를 만들었습니다.

우선 hpodder 소스 파일 중에 INSTALL 파일을 살펴서 무슨 패키지에 의존이 있는지를 보고 다른 하스켈 패키지의 PKGBUILD를 참조해서 PKGBUILD를 뚝딱 만들어서 몇 번의 빌드... HaXML의 패키지 버전이 높아 sed로 cabal을 건드리는 꼼수 그러나 빌드 실패... HaXML 패키지를 낮은 버전으로 재 빌드해서 성공. 한 30분 만에 hpodder 패키지를 만들 수 있었습니다. PKGBUILD 보면 눈치채듯이 다른 하스켈 패키지가 없었다면 이렇게 빨리 패키지를 만들 수는 없었겠다 싶어 기분이 좋더군요.

패키지 설치하고, hpodder 실행... 간단히 두 질문을 합니다. 다시 hpodder 실행... 샘플로 들어있는 사이트에서 podcast mp3 파일을 다운받습니다. 들어보고 있습니다. 듣기용 파일을 손쉽게 구할 수 있겠구나 생각이 들고 음악 사이트를 찾아볼까 하는 생각이 드는 중입니다. ^^;; (소스 봐야 하는데...)
----
I paint objects as I think them, not as I see them.
atie's minipage

댓글 첨부 파일: 
첨부파일 크기
Plain text icon PKGBUILD-hpodder.txt1.21 KB
Plain text icon PKGBUILD-haxml.txt1.06 KB

----
I paint objects as I think them, not as I see them.
atie's minipage

atie의 이미지

hpodder에 대한 것은 Real World Haskell22장 웹 클라이언트 프로그래밍에서 설명을 하네요.

----
I paint objects as I think them, not as I see them.
atie's minipage

----
I paint objects as I think them, not as I see them.
atie's minipage

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.