source: trunk/dports/lang/ruby19/Portfile

Last change on this file was 146513, checked in by kimuraw@…, 18 months ago

lang/ruby23, ruby22, ruby21, ruby20, ruby19: revbump for openssl (#50834)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 5.2 KB
Line 
1# -*- 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 146513 2016-03-10 13:37:25Z ryandesign@macports.org $
3
4PortSystem                      1.0
5PortGroup                       select 1.0
6
7name                            ruby19
8version                         1.9.3-p551
9revision                        3
10
11categories                      lang ruby
12maintainers                     kimuraw openmaintainer
13platforms                       darwin
14
15description                     Powerful and clean object-oriented scripting language
16long_description        Ruby is the interpreted scripting language for quick \
17                                        and easy object-oriented programming. It has many \
18                                        features to process text files and to do system \
19                                        management tasks (as in Perl). It is simple, \
20                                        straight-forward, extensible, and portable. \
21                                        Version 1.9 contains a new VM called YARV, is faster \
22                                        and slightly incompatible from version 1.8.
23
24homepage                        http://www.ruby-lang.org/
25license                         {Ruby BSD}
26
27master_sites            ruby:1.9
28use_bzip2                       yes
29distname                        ruby-${version}
30
31checksums                       md5 0d8b272b05c3449dc848bb7570f65bfe \
32                                        rmd160 59cfcaf4e02957f53bf83557962b0d428156bc01 \
33                                        sha1 35600f4e2ac98653fa8a634104cb6ab3d47a1535 \
34                                        sha256 b0c5e37e3431d58613a160504b39542ec687d473de1d4da983dabcf3c5de771e
35use_parallel_build      no
36
37depends_lib                     port:libiconv \
38                                        port:readline \
39                                        path:lib/libssl.dylib:openssl \
40                                        port:zlib \
41                                        port:ncurses \
42                                        port:libyaml \
43                                        port:libffi \
44                                        port:gdbm
45depends_run                     port:ruby_select
46
47select.group            ruby
48select.file                     ${filespath}/ruby19
49
50default_variants        +doc
51
52# lib-rubygems-specification.rb: fix 'Invalid gemspec in [... json-1.6.1.gemspec]: invalid date
53#     format in specification: "2011-09-18 00:00:00.000000000Z"'
54#     https://github.com/rubygems/rubygems/pull/196
55patchfiles                      patch-lib-rubygems-specification.rb.diff
56
57# ruby-1.9.3 supports Xcode-4.2 clang and gcc-4.2.
58# ruby built with llvm-gcc will be broken.
59# http://svn.ruby-lang.org/repos/ruby/tags/v1_9_3_0/NEWS
60# http://redmine.ruby-lang.org/projects/ruby-trunk/wiki/SupportedPlatforms
61compiler.blacklist-append llvm-gcc-4.2 macports-llvm-gcc-4.2
62
63configure.args          --enable-shared \
64                                        --disable-install-doc \
65                                        --mandir="${prefix}/share/man" \
66                                        --enable-pthread \
67                                        --without-tk \
68                                        --with-opt-dir="${prefix}" \
69                                        --program-suffix=1.9 \
70                                        --with-rubylibprefix=${prefix}/lib/ruby1.9
71
72# Ignore minor version for archdir, like i686-darwin9.
73# Port "ruby" does the same.
74configure.env-append UNAME_RELEASE=${os.major}
75
76# Add the architecture flag as required
77if {[info exists build_arch] && ${build_arch} ne ""} {
78        configure.args-append "--with-arch=${build_arch}"
79}
80
81post-destroot {
82        foreach type {site vendor} {
83                        set libdir ${destroot}${prefix}/lib/ruby1.9/${type}_ruby/1.9.1
84                        xinstall -m 0755 -d ${libdir}
85                        xinstall -m 0644 ${filespath}/${type}-specific.rb ${libdir}
86        }
87
88        foreach subdir [exec find ${libdir} -type d -empty] {
89                        destroot.keepdirs-append ${subdir}
90        }
91
92        # install destination of commands from port:rb-*
93        xinstall -m 0755 -d ${destroot}${prefix}/libexec/ruby1.9
94        destroot.keepdirs-append ${destroot}${prefix}/libexec/ruby1.9
95
96    # error at activate, for these case sensitive files
97        foreach rdoc {Exception2MessageMapper/fail-i.yaml \
98                                  REXML/Parsers/XPathParser/predicate-i.yaml} {
99                if {[file exists ${destroot}${prefix}/share/ri1.9/1.9.1/system/${rdoc}]} {
100                        delete ${destroot}${prefix}/share/ri1.9/1.9.1/system/${rdoc}
101                }
102        }
103}
104
105pre-activate {
106        # Bug #3805 [ruby-core:32165]
107        # http://redmine.ruby-lang.org/issues/show/3805
108        #
109        # the two gems of "rake", contained in ruby-1.9.2 and installed via gem
110        # command, might be installed.
111        # `port activate' fails when the two rake are installed.
112        set rake_dup_gemspec ${prefix}/lib/ruby1.9/gems/1.9.1/specifications/rake-0.8.7.gemspec
113        if {[file exists ${rake_dup_gemspec}]} {
114                delete ${rake_dup_gemspec}
115        }
116}
117
118variant c_api_docs description "Generate documentation for Ruby C API" {
119        depends_build-append port:doxygen
120
121        post-build {
122                file mkdir ${workpath}/c_api
123                set doxygen_conf ${name}-doxygen.conf
124                file copy -force ${filespath}/${doxygen_conf} ${workpath}
125                set doxygen_conf_path ${workpath}/${name}-doxygen.conf
126                reinplace "s|%WORKPATH%|${workpath}|" ${doxygen_conf_path}
127                reinplace "s|%WORKSRCPATH%|${worksrcpath}|" ${doxygen_conf_path}
128                system "doxygen ${doxygen_conf_path}"
129        }
130
131        post-destroot {
132                set api_docs ${destroot}${prefix}/share/doc/${name}-${version}/html/c_api
133                xinstall -m 755 -d ${api_docs}
134                eval xinstall -m 640 [glob ${workpath}/c_api/html/*] ${api_docs}
135        }
136}
137
138variant doc description "Install rdoc indexes and C API documents" {
139                configure.args-delete   --disable-install-doc
140}
141
142variant tk conflicts mactk description "Build using MacPorts Tk" {
143                configure.args-delete   --without-tk
144                configure.args-append   --with-tk --disable-tcltk-framework
145                depends_lib-append      port:tcl \
146                                                                port:tk
147}
148
149variant mactk conflicts tk description "Build using Mac OS X Tk Framework" {
150                configure.args-delete   --without-tk
151                configure.args-append   --enable-tcltk-framework
152}
153
154variant universal {
155                # use ruby built-in universal mechanism.
156                configure.args-append   --with-arch=[join ${universal_archs} ,]
157                # clear macports' universal flags
158                configure.universal_cflags
159                configure.universal_cppflags
160                configure.universal_cxxflags
161                configure.universal_ldflags
162}
163
164livecheck.type  regex
165livecheck.url   http://ftp.ruby-lang.org/pub/ruby/1.9/
166livecheck.regex ruby-(${version})${extract.suffix}
167
Note: See TracBrowser for help on using the repository browser.