Ticket #44148: freetype+infinality-20150123.diff

File freetype+infinality-20150123.diff, 10.9 KB (added by RJVB (René Bertin), 10 years ago)
  • Portfile

    old new  
    11# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
    2 # $Id: Portfile 131102 2015-01-06 05:43:09Z ryandesign@macports.org $
     2# $Id: Portfile 129404 2014-12-12 19:15:42Z ryandesign@macports.org $
    33
    44PortSystem              1.0
    5 PortGroup               muniversal 1.0
    65
    76name                    freetype
    8 version                 2.5.5
     7
     8subport "${name}-infinality" {
     9    # sadly we need to provide a senseless univ. variant because
     10    # freetype +infinality+universal would require it.
     11    #universal_variant   no
     12    #variant universal description {this is a stub variant for dependency reasons only} {
     13    #}
     14    supported_archs     noarch
     15}
     16
    917categories              print graphics
    10 maintainers             ryandesign
    11 license                 {FreeType GPL-2}
    12 homepage                http://freetype.sourceforge.net/
    13 use_bzip2               yes
    1418platforms               darwin
    15 use_parallel_build      yes
    1619
    17 description \
    18     A software font engine
     20if {${subport} eq "${name}-infinality"} {
     21    # 2014.12.23 is the latest of Bohoomil's Infinality releases that targets
     22    # Freetype 2.5.4 .
     23    version             2014.12.23
     24    maintainers         gmail.com:rjvbertin
     25    license             MIT
     26    homepage            http://bohoomil.com
     27    description         The Freetype Infinality patches
     28    long_description    This is a s(t)ub port providing versioning information \
     29                        for the Infinality patches maintained by Bohoomil and that \
     30                        are available through freetype's +infinality variant.
     31    distfiles
     32    use_configure       no
     33    # this appears to be required despite an empty build block!
     34    build.cmd           echo
     35    fetch {}
     36    checksum {}
     37    extract {
     38        xinstall -m 0755 -d ${worksrcpath}
     39    }
     40    patch {}
     41    post-patch {}
     42    configure {}
     43    build {}
     44    post-destroot {
     45        xinstall -m 0755 -d ${destroot}${prefix}/share/fonts/fontconfig-ultimate
     46        foreach f [glob ${filespath}/infinality-settings*] {
     47            copy ${f} ${destroot}${prefix}/share/fonts/fontconfig-ultimate
     48        }
     49        xinstall -m 0755 ${filespath}/launchctl-infinality-settings.sh ${destroot}${prefix}/share/fonts/fontconfig-ultimate
     50    }
     51    notes-append "freetype must be now be (re)build and (re)installed with the +infinality variant."
     52
     53} else {
     54    PortGroup               muniversal 1.0
    1955
    20 long_description \
    21     FreeType2 is a software font engine that is designed to \
    22     be small, efficient, highly customizable and portable while \
    23     capable of producing high-quality output (glyph images). \
    24     It can be used in graphics libraries, display servers, font \
    25     conversion tools, text image generation tools, and many \
    26     other products as well.
    27 
    28 master_sites            sourceforge:project/freetype/freetype2/${version}:source \
    29                         sourceforge:project/freetype/freetype-docs/${version}:docs \
    30                         http://download.savannah.gnu.org/releases/freetype/
    31 
    32 set docdistname         ${name}-doc-${version}
    33 
    34 distfiles               ${distname}${extract.suffix}:source \
    35                         ${docdistname}${extract.suffix}:docs
    36 
    37 checksums               ${distname}${extract.suffix} \
    38                         rmd160  49093b839e6cc0639383d6baacfb73da80a4ee1a \
    39                         sha256  387bcc4b780b12484aa2ec9f7db1a55d8286eb5639f45fbc0fbba7a4e5a1afb9 \
    40                         ${docdistname}${extract.suffix} \
    41                         rmd160  59309bbd1cced9e982c327b8217329d64b69d649 \
    42                         sha256  68becbae3578a8101e9f3c55f10e435fb75535011d3f7a523719371e86e368e7
    43 
    44 patchfiles \
    45     patch-src_base_ftrfork.c.diff \
    46     patch-modules.cfg.diff
    47 
    48 depends_lib             port:bzip2 \
    49                         port:libpng \
    50                         port:zlib
     56    version             2.5.4
     57    revision            2
     58    maintainers         ryandesign
     59    license             {FreeType GPL-2}
     60    homepage            http://freetype.sourceforge.net/
     61    use_bzip2           yes
     62
     63    description \
     64        A software font engine
     65
     66    long_description \
     67        FreeType2 is a software font engine that is designed to \
     68        be small, efficient, highly customisable and portable while \
     69        capable of producing high-quality output (glyph images). \
     70        It can be used in graphics libraries, display servers, font \
     71        conversion tools, text image generation tools, and many \
     72        other products as well.
     73
     74
     75    use_parallel_build      yes
     76
     77    master_sites            sourceforge:project/freetype/freetype2/${version}:source \
     78                            sourceforge:project/freetype/freetype-docs/${version}:docs \
     79                            http://download.savannah.gnu.org/releases/freetype/
     80
     81    set docdistname         ${name}-doc-${version}
     82
     83    distfiles               ${distname}${extract.suffix}:source \
     84                            ${docdistname}${extract.suffix}:docs
     85
     86    checksums               freetype-${version}.tar.bz2 \
     87                            rmd160  3d59c75cad4f77344d75312ead016af75aefd5f5 \
     88                            sha256  3b4e2c666b33b32ad29ff0fe5c6538e757d3c73368e5dfa88bd59b4bc95cbabb \
     89                            freetype-doc-${version}.tar.bz2 \
     90                            rmd160  85712c53439453bf3a1c64c38fb21dc1948d9608 \
     91                            sha256  9fa6fb39a324d0b6b744d3745509c51d10a68c7a4f440b23fd00c8b49de6c388
     92
     93    patchfiles \
     94        patch-src_base_ftrfork.c.diff \
     95        patch-modules.cfg.diff
     96
     97    depends_lib             port:bzip2 \
     98                            port:libpng \
     99                            port:zlib
    51100
    52101# See http://trac.macports.org/ticket/18232
    53 configure.cppflags-replace  -I${prefix}/include -isystem${prefix}/include
     102    configure.cppflags-replace  -I${prefix}/include -isystem${prefix}/include
    54103
    55 configure.args          --with-bzip2 \
    56                         --with-png \
    57                         --with-zlib \
    58                         --without-harfbuzz
    59 
    60 configure.universal_args-delete --disable-dependency-tracking
    61 
    62 platform macosx {
    63     if {${os.major} < 9} {
    64         configure.args-append \
    65             --with-old-mac-fonts
     104    configure.args          --with-bzip2 \
     105                            --with-png \
     106                            --with-zlib \
     107                            --without-harfbuzz
     108
     109    configure.universal_args-delete --disable-dependency-tracking
     110
     111    platform macosx {
     112        if {${os.major} < 9} {
     113            configure.args-append \
     114                --with-old-mac-fonts
     115        }
    66116    }
    67 }
    68117
    69 set docdir              ${prefix}/share/doc/${name}
     118    set docdir              ${prefix}/share/doc/${name}
    70119
    71 post-destroot {
    72     xinstall -m 0755 -d ${destroot}${docdir}
    73    
    74     xinstall -m 0644 -W ${worksrcpath} \
    75         ChangeLog \
    76         README \
    77         ${destroot}${docdir}
    78     xinstall -m 0644 -W ${worksrcpath}/docs \
    79         CHANGES \
    80         FTL.TXT \
    81         GPLv2.TXT \
    82         LICENSE.TXT \
    83         PROBLEMS \
    84         TODO \
    85         formats.txt \
    86         raster.txt \
    87         ${destroot}${docdir}
    88    
    89     xinstall -m 0755 -d ${destroot}${docdir}/html
    90     xinstall -m 0644 -W ${worksrcpath}/docs ft2faq.html ${destroot}${docdir}/html
    91     foreach dir {design glyphs reference tutorial} {
    92         copy ${worksrcpath}/docs/${dir} ${destroot}${docdir}/html
     120    if {[file exists ${prefix}/share/fonts/fontconfig-ultimate/infinality-settings.sh]} {
     121        default_variants    +infinality
    93122    }
    94 }
    95123
    96 if {${os.arch} eq "i386"} {
    97     if { ${os.major}>=10 } {
    98         set merger_configure_env(ppc) CC_BUILD=${configure.cc}
     124    variant infinality description {patched for improved font rendering, bohoomil ultimate style} {
     125
     126        depends_run-append  port:${name}-infinality
     127
     128        # 20150118: remove the 2nd hunk from freetype-2.5.4-enable-valid.patch because already done by patch-modules-cfg.diff
     129        patchfiles-append   01-freetype-2.5.4-enable-valid.patch \
     130                            02-ftsmooth-2.5.4.patch \
     131                            03-upstream-2014.12.17.patch \
     132                            04-infinality-2.5.4-2014.12.17.patch
     133        pre-patch {
     134            # make -p0 patches
     135            reinplace "s| \[ab\]/| |g" ${filespath}/01-freetype-2.5.4-enable-valid.patch \
     136                                    ${filespath}/02-ftsmooth-2.5.4.patch \
     137                                    ${filespath}/03-upstream-2014.12.17.patch \
     138                                    ${filespath}/04-infinality-2.5.4-2014.12.17.patch
     139        }
     140        configure.args-replace --without-harfbuzz --with-harfbuzz
     141        depends_lib-append    port:harfbuzz
     142
     143        notes-append "Copy ${prefix}/share/fonts/fontconfig-ultimate/infinality-settings.sh (or .csh) to an appropriate location
     144         and make sure it gets read when you log in. See infinality-settings-explained.sh for explanation
     145         of the various settings and variables. Then, use launchctl-infinality-settings.sh to copy the
     146         selected environment variables to those managed by LaunchServices"
     147    }
     148
     149    post-destroot {
     150        xinstall -m 0755 -d ${destroot}${docdir}
     151       
     152        xinstall -m 0644 -W ${worksrcpath} \
     153            ChangeLog \
     154            README \
     155            ${destroot}${docdir}
     156        xinstall -m 0644 -W ${worksrcpath}/docs \
     157            CHANGES \
     158            FTL.TXT \
     159            GPLv2.TXT \
     160            LICENSE.TXT \
     161            PROBLEMS \
     162            TODO \
     163            formats.txt \
     164            raster.txt \
     165            ${destroot}${docdir}
     166       
     167        xinstall -m 0755 -d ${destroot}${docdir}/html
     168        xinstall -m 0644 -W ${worksrcpath}/docs ft2faq.html ${destroot}${docdir}/html
     169        foreach dir {design glyphs reference tutorial} {
     170            copy ${worksrcpath}/docs/${dir} ${destroot}${docdir}/html
     171        }
     172        if {[variant_isset infinality]} {
     173            ln -s ${prefix}/share/fonts/fontconfig-ultimate/launchctl-infinality-settings.sh ${destroot}${prefix}/bin
     174        }
    99175    }
    100     set merger_configure_env(ppc64)   CC_BUILD=${configure.cc}
    101 } else {
    102     set merger_configure_env(i386)    CC_BUILD=${configure.cc}
    103     set merger_configure_env(x86_64)  CC_BUILD=${configure.cc}
    104 }
    105176
    106 livecheck.type          sourceforge
    107 livecheck.regex         {/freetype2/([0-9.]+)/}
     177    if {${os.arch} eq "i386"} {
     178        if { ${os.major}>=10 } {
     179            set merger_configure_env(ppc) CC_BUILD=${configure.cc}
     180        }
     181        set merger_configure_env(ppc64)   CC_BUILD=${configure.cc}
     182    } else {
     183        set merger_configure_env(i386)    CC_BUILD=${configure.cc}
     184        set merger_configure_env(x86_64)  CC_BUILD=${configure.cc}
     185    }
     186
     187    livecheck.type          sourceforge
     188    livecheck.regex         {/freetype2/([0-9.]+)/}
     189
     190}