Hi! I’m clsung

Hi! I’m clsung

clsung’s blog site, or you can call me AlanSung

Hi! I’m clsung RSS Feed
 
 
 
 

[ports] bsd.port.mk 的重大變革 II

上一篇其實變動的不止是 bsd.port.mk 啦,事實上 ports/Makefile 也有變,不過我懶的改了。

這篇主要想再加上跟 perl 有關的變動,ports/87318,這個 patch 加上了 PERL_RUN_DEPENDS 以及 PERL_BUILD_DEPENDS 兩個令人快樂的變數 :D

看一下 pr 內附的範例:

BUILD_DEPENDS= 
        ${SITE_PERL}/${PERL_ARCH}/Digest/MD5.pm:${PORTSDIR}/security/p5-Digest-MD5
        ${SITE_PERL}/MIME/Tools.pm:${PORTSDIR}/mail/p5-MIME-Tools
        ${SITE_PERL}/Time/Timezone.pm:${PORTSDIR}/devel/p5-Time-modules
        ${SITE_PERL}/${PERL_ARCH}/DBD/SQLite2.pm:${PORTSDIR}/databases/p5-DBD-SQLite2
        ${SITE_PERL}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser
        ${SITE_PERL}/${PERL_ARCH}/Curses.pm:${PORTSDIR}/devel/p5-Curses
        ${SITE_PERL}/Curses/UI.pm:${PORTSDIR}/devel/p5-Curses-UI
        ${SITE_PERL}/Locale/TextDomain.pm:${PORTSDIR}/devel/p5-Locale-libintl

看到沒,裡面有的有 ${PERL_ARCH} ,有的沒有。這裡就先不管為什麼要有 PERL_ARCH 啦!重點是這樣很煩對不對 :p
既然煩,那就要消除它,就像有個好用的 @dirrmtry 一樣, edwin@ 也弄了個 PERL_{BUILD|RUN}_DEPENDS ,專門針對 dependency 裡有 perl module 的 ports 而出現的。

所以上面的可以改成

PERL_BUILD_DEPENDS=     
        Digest::MD5:${PORTSDIR}/security/p5-Digest-MD5
        MIME::Tools:${PORTSDIR}/mail/p5-MIME-Tools
        Time::Timezone:${PORTSDIR}/devel/p5-Time-modules
        DBD::SQLite2:${PORTSDIR}/databases/p5-DBD-SQLite2
        XML::Parser:${PORTSDIR}/textproc/p5-XML-Parser
        Curses:${PORTSDIR}/devel/p5-Curses
        Curses::UI:${PORTSDIR}/devel/p5-Curses-UI
        Locale::TextDomain:${PORTSDIR}/devel/p5-Locale-libintl

這就可以不用管有沒有 PERL_ARCH 了,連 SITE_PERL 也不用寫,簡潔有力,帥!!!不過咧,原來的 {BUILD|RUN}_DEPENDS 裡就是使用 “:” 做項目的分隔,而 perl module 裡又是一堆 “::” ,為了怕眼花撩亂,所以最後的版本就是改用像在 portname 的方式,用 hyphen “-” 來做,最終版本:

PERL_BUILD_DEPENDS=     
                Digest-MD5:${PORTSDIR}/security/p5-Digest-MD5
                MIME-Tools:${PORTSDIR}/mail/p5-MIME-Tools
                Time-Timezone:${PORTSDIR}/devel/p5-Time-modules
                DBD-SQLite2:${PORTSDIR}/databases/p5-DBD-SQLite2
                XML-Parser:${PORTSDIR}/textproc/p5-XML-Parser
                Curses:${PORTSDIR}/devel/p5-Curses
                Curses-UI:${PORTSDIR}/devel/p5-Curses-UI
                Locale-TextDomain:${PORTSDIR}/devel/p5-Locale-libintl

有 maintain p5-* 的你,換了嗎?記得在下次更新時一起更換哦。

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • funp
  • Haohao
  • Hemidemi
  • Live
  • MisterWong
  • TwitThis
  • udn

One Response to “[ports] bsd.port.mk 的重大變革 II”

  1. 1
    gslin:

    這個好 :p

Leave a Reply

噗浪:

分類

Flickr

    clsung. Get yours at bighugelabs.com/flickr
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Taiwan
Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Taiwan