Ticket #40139: Portfile.9

File Portfile.9, 4.4 KB (added by dliessi (Davide Liessi), 11 years ago)

add -devel subport

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$
3
4PortSystem          1.0
5PortGroup           python 1.0
6PortGroup           github 1.0
7
8github.setup        wbsoft frescobaldi 2.0.11 v
9conflicts           frescobaldi-devel
10categories          editors python
11maintainers         gmail.com:davide.liessi openmaintainer
12description         A LilyPond sheet music text editor
13long_description    Frescobaldi is a LilyPond sheet music text editor. \
14                    It aims to be powerful, yet lightweight and easy to use.
15homepage            http://www.frescobaldi.org/
16platforms           darwin
17supported_archs     noarch
18license             GPL-2+
19
20checksums           rmd160  5033eef310d5b68de3951cf07517416436f47cb7 \
21                    sha256  478177a1292e1232df7fb11cae3a28e67af2186191ad1f976e390029e331139c
22
23subport frescobaldi-devel {
24    github.setup        wbsoft frescobaldi 48648463dc86195cb0245b99117f9352b50e1581
25
26    # github.setup also sets 'name frescobaldi', overriding the subport name.
27    # With 'name ${subport}', `port lint frescobaldi-devel` gives the following error:
28    # 'Error: Portfile directory frescobaldi does not match port name frescobaldi-devel'.
29    # With 'set PortInfo(name) ${subport}' (see the definition of 'proc subport' in
30    # portutil.tcl) the Portfile works correctly and the error disappears.
31    global PortInfo
32    set PortInfo(name) ${subport}
33
34    conflicts           frescobaldi
35    version             20131021
36
37    checksums           rmd160  d493a23f5c506d9631b8bb2533b5e125fec0f2b0 \
38                        sha256  09cc193476e6995066fa87a5deffa5e1285d78a5d6929a7925be44ed929f3aa6
39}
40
41build {}
42
43depends_run-append  port:portmidi
44
45variant python26 conflicts python27 description {Use Python 2.6} {
46    python.default_version  26
47    depends_run-append      port:py${python.default_version}-pyqt4 \
48                            port:py${python.default_version}-python-poppler-qt4
49}
50variant python27 conflicts python26 description {Use Python 2.7} {
51    python.default_version  27
52    depends_run-append      port:py${python.default_version}-pyqt4 \
53                            port:py${python.default_version}-python-poppler-qt4
54}
55if {![variant_isset python26]} {
56    default_variants        +python27
57}
58
59variant app description {Make application bundle} {
60    depends_build-append    port:py${python.default_version}-cx_Freeze
61}
62default_variants    +app
63
64post-destroot {
65    set share_destroot ${destroot}${prefix}/share
66    set share_python ${python.prefix}/share
67
68    set man_dir /man/man1
69    xinstall -d ${share_destroot}${man_dir}
70    ln -s ${share_python}${man_dir}/frescobaldi.1 ${share_destroot}${man_dir}
71
72    set desktop_dir /applications
73    xinstall -d ${share_destroot}${desktop_dir}
74    ln -s ${share_python}${desktop_dir}/frescobaldi.desktop ${share_destroot}${desktop_dir}
75
76    set icons_dir /icons/hicolor/scalable/apps
77    xinstall -d ${share_destroot}${icons_dir}
78    ln -s ${share_python}${icons_dir}/frescobaldi.svg ${share_destroot}${icons_dir}
79
80    set doc_dir ${share_destroot}/doc/${subport}
81    xinstall -d ${doc_dir}
82    xinstall -m 644 -W ${worksrcpath} \
83        COPYING \
84        ChangeLog \
85        README \
86        THANKS \
87        ${doc_dir}
88
89    if {[variant_isset app]} {
90        set app_contents    ${destroot}${applications_dir}/Frescobaldi.app/Contents
91        set app_macos       ${app_contents}/MacOS
92        set app_resources   ${app_contents}/Resources
93
94        foreach l {cs de en es fr gl it nl pl pt ru tr uk} {
95            set app_lproj ${app_resources}/${l}.lproj
96            xinstall -d ${app_lproj}
97            xinstall -m 644 -W ${filespath} InfoPlist.strings ${app_lproj}
98        }
99
100        xinstall -m 644 -W ${filespath} Info.plist ${app_contents}
101        reinplace "s|%VERSION%|${version}|g" ${app_contents}/Info.plist
102
103        xinstall -d ${app_macos}
104        exec ${prefix}/bin/cxfreeze-${python.branch} \
105            ${destroot}${python.prefix}/bin/frescobaldi \
106            --target-dir ${app_macos} --no-copy-deps --target-name Frescobaldi
107
108        xinstall -m 644 -W ${filespath} frescobaldi.icns ${app_resources}
109    }
110}
111
112python.link_binaries_suffix
113
114notes \
115"You may want to install FluidSynth and obtain a SoundFont
116in order to have audio output from Frescobaldi's MIDI output.
117
118You will need to select FluidSynth's MIDI input port
119in Frescobaldi's MIDI settings (in Preferences)
120while FluidSynth is running."