source: trunk/dports/kde/py-pykde4/Portfile @ 141786

Last change on this file since 141786 was 136060, checked in by nicos@…, 4 years ago

py-pykde4: correct distfiles syntax, correct dependency

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 8.6 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 136060 2015-05-11 15:24:08Z nicos@macports.org $
3
4PortSystem          1.0
5PortGroup           kde4   1.1
6
7name                py-pykde4
8version             4.14.3
9categories          kde kde4 devel
10license             LGPL-2+
11maintainers         gmail.com:rjvbertin openmaintainer
12description         Python bindings for the KDE Development Platform
13long_description    This package contains PyKDE, the Python bindings for the KDE \
14                    libraries, that allow you to write KDE programs using Python instead of \
15                    C++. It contains at least the following modules under the \
16                    PyKDE namespace: \
17                     \n* dnssd \
18                     \n* kdecore \
19                     \n* kdeui \
20                     \n* khtml \
21                     \n* kio \
22                     \n* knewstuff \
23                     \n* kparts \
24                     \n* kterminal \
25                     \n* ktexteditor \
26                     \n* kutils \
27                     \n* plasma \
28                     \n* solid \
29                    \nAnd a few KDE related technologies like: \
30                     \n* akonadi \
31                     \n* phonon \
32                     \n* soprano
33platforms           darwin
34homepage            http://www.riverbankcomputing.co.uk/software/pykde/intro
35master_sites        kde:stable/${version}/src/
36use_xz              yes
37distname            pykde4-${version}
38checksums           rmd160  3ea2492cd31704e559456cb78dd85660fae7e74c \
39                    sha256  7fb9d7b5ed03d531243ebd67939baf30933452dafbdfca866e6653e9a77d80fc
40
41set python.versions         {{27 2.7} {34 3.4}}
42set python.default_version  27
43
44foreach py ${python.versions} {
45    set py_ver [lindex ${py} 0]
46    subport py${py_ver}-pykde4 {
47        depends_build       port:pkgconfig
48        depends_lib-append  port:kdelibs4 \
49                            port:soprano \
50                            port:boost \
51                            port:py${py_ver}-pyqt4 \
52                            port:dbus-python${py_ver}
53        depends_run-append  port:python${py_ver} port:py${py_ver}-pyqt4
54
55        set py_bra              [lindex ${py} 1]
56        set pylibdir            ${frameworks_dir}/Python.framework/Versions/${py_bra}/lib/python${py_bra}
57        configure.args-append   -DPYKDEUIC4_ALTINSTALL=TRUE \
58                                -DDEFAULT_PYTHON_VERSION=false -DPYTHON_EXECUTABLE=${prefix}/bin/python${py_bra} \
59                                -DPYTHON_INCLUDE_PATH=${frameworks_dir}/Python.framework/Versions/${py_bra}/Headers \
60                                -DPYTHON_INCLUDE_DIR2=${frameworks_dir}/Python.framework/Versions/${py_bra}/Headers \
61                                -DPYTHON_LIBRARY=${frameworks_dir}/Python.framework/Versions/${py_bra}/Python \
62                                -DPYTHON_SITE_PACKAGES_INSTALL_DIR=${pylibdir}/site-packages
63        post-configure {
64            reinplace -W ${build.dir} "s|${prefix}/lib/python${py_bra}/|${pylibdir}/|g" cmake_install.cmake pykdeconfig.py tools/pykdeuic4/cmake_install.cmake
65        }
66        post-destroot {
67            foreach module [glob ${destroot}${pylibdir}/site-packages/PyKDE4/*.dylib] {
68                set fname [file rootname ${module}]
69                file rename ${module} "${fname}.so"
70            }
71            xinstall -m 0755 ${build.dir}/pykdeconfig.py ${destroot}${pylibdir}/site-packages/PyKDE4
72            # who will ever need ${prefix}/share/sip/PyKDE4/pykde_config.sip?
73            file delete -force ${destroot}${prefix}/share/sip
74            file delete ${destroot}${prefix}/share/apps/pykde4/examples/kpartsExamples/konsolepart.py
75            file rename ${destroot}${prefix}/share/apps/pykde4 ${destroot}${prefix}/share/apps/${subport}
76            reinplace -W ${destroot}${prefix}/share/apps/${subport}/examples \
77                "s|#\!/usr/bin/env python|#\!${prefix}/bin/python${py_bra}|g" __init__.py default.py \
78                    kdecoreExamples/__init__.py kdecoreExamples/kaboutdata.py kdecoreExamples/kstandarddirs.py \
79                    kdeuiExamples/__init__.py kdeuiExamples/kaboutapplicationdialog.py kdeuiExamples/kaboutkdedialog.py \
80                    kdeuiExamples/kapplication.py kdeuiExamples/kcolorbutton.py kdeuiExamples/kcolorcells.py \
81                    kdeuiExamples/kcolorcombo.py kdeuiExamples/kcolordialog.py kdeuiExamples/kcolorpatch.py \
82                    kdeuiExamples/kcombobox.py kdeuiExamples/kdatepicker.py kdeuiExamples/kdatewidget.py \
83                    kdeuiExamples/kfontdialog.py kdeuiExamples/klistwidget.py kdeuiExamples/kmainwindow.py \
84                    khtmlExamples/__init__.py kioExamples/__init__.py kpartsExamples/__init__.py kpartsExamples/katepart.py \
85                    kutilsExamples/__init__.py polkitqtExamples/PkExampleUi.py \
86                    polkitqtExamples/pkexample.py polkitqtExamples/pkexamplehelper.py solidExamples/__init__.py \
87                    solidExamples/solid_audiointerface.py solidExamples/solid_device.py solidExamples/solid_networkinterface.py \
88                    solidExamples/solid_processor.py solidExamples/solid_storageaccess.py solidExamples/solid_storagedrive.py \
89                    solidExamples/solid_storagevolume.py solid_demo.py
90            reinplace -W ${destroot}${prefix}/share/apps/${subport}/examples \
91                "s|#\!python|#\!${prefix}/bin/python${py_bra}|g" __init__.py default.py \
92                    kdecoreExamples/__init__.py kdecoreExamples/kaboutdata.py kdecoreExamples/kstandarddirs.py \
93                    kdeuiExamples/__init__.py kdeuiExamples/kaboutapplicationdialog.py kdeuiExamples/kaboutkdedialog.py \
94                    kdeuiExamples/kapplication.py kdeuiExamples/kcolorbutton.py kdeuiExamples/kcolorcells.py \
95                    kdeuiExamples/kcolorcombo.py kdeuiExamples/kcolordialog.py kdeuiExamples/kcolorpatch.py \
96                    kdeuiExamples/kcombobox.py kdeuiExamples/kdatepicker.py kdeuiExamples/kdatewidget.py \
97                    kdeuiExamples/kfontdialog.py kdeuiExamples/klistwidget.py kdeuiExamples/kmainwindow.py \
98                    khtmlExamples/__init__.py kioExamples/__init__.py kpartsExamples/__init__.py kpartsExamples/katepart.py \
99                    kutilsExamples/__init__.py polkitqtExamples/PkExampleUi.py \
100                    polkitqtExamples/pkexample.py polkitqtExamples/pkexamplehelper.py solidExamples/__init__.py \
101                    solidExamples/solid_audiointerface.py solidExamples/solid_device.py solidExamples/solid_networkinterface.py \
102                    solidExamples/solid_processor.py solidExamples/solid_storageaccess.py solidExamples/solid_storagedrive.py \
103                    solidExamples/solid_storagevolume.py solid_demo.py
104        }
105    }
106}
107
108subport ${name}-docs {
109    long_description            Python bindings for the KDE Development Platform: the documentation
110    # extract only the docs directory:
111    extract.post_args-append    ${distname}/docs
112    configure.args-append       -DHTML_INSTALL_DIR:PATH=${prefix}/share/doc/HTML
113    configure.post_args         ${configure.post_args}/docs
114    supported_archs             noarch
115}
116
117if {${subport} eq ${name}} {
118    depends_lib-append    port:py${python.default_version}-pykde4
119    distfiles
120    use_configure   no
121    build {}
122    destroot {
123        xinstall -d -m 755 ${destroot}${prefix}/share/doc/kde-installed-packages
124        system "touch ${destroot}${prefix}/share/doc/kde-installed-packages/${name}=py${python.default_version}-pykde4"
125    }
126}
127
128if {${subport} ne "${name}-docs"} {
129    # patches come directly from Kubuntu, after doing a hardcoded -p1
130    #                    python3.3.diff
131    patchfiles-append   add_qt_kde_definitions.diff \
132                        fix_kpythonpluginfactory_build.diff \
133                        make_pykde4_respect_sip_flags.diff \
134                        pythonpluginfactory_use_versioned_python_lib.diff \
135                        optional_install_sip_files.diff \
136                        pythonpluginfactory_python3.diff \
137                        kubuntu_include_dirs.diff \
138                        kubuntu_kpythonpluginfactory_3.2support.diff \
139                        pykde4-macports-adaptations.diff \
140                        pykde4-macports-adaptations2.diff \
141                        pykde4-macports-adaptations-noDLFCN.diff \
142                        pykde4-macports-adaptations-toolongfilename.diff
143}
144
145if {[variant_isset docs]} {
146    depends_run-append  port:${name}-docs
147}
148
149compiler.blacklist  llvm-gcc-4.2 macports-llvm-gcc-4.2
150
151livecheck.url       http://kde.mirrors.hoobly.com/stable/
152livecheck.regex     (\\d+(\\.\\d+)+)
Note: See TracBrowser for help on using the repository browser.