88 lines
2.6 KiB
Python
88 lines
2.6 KiB
Python
import shutil
|
|
|
|
from .base import Dependency, ReleaseDownload, MakeBuilder, QMakeBuilder
|
|
|
|
from kiwixbuild.utils import Remotefile, pj, SkipCommand
|
|
|
|
|
|
class Qt(Dependency):
|
|
name = "qt"
|
|
|
|
class Source(ReleaseDownload):
|
|
name = "qt"
|
|
source_dir = "qt-5.10.1"
|
|
archive = Remotefile(
|
|
"qt-everywhere-src-5.10.1.tar.xz",
|
|
"",
|
|
"http://ftp.oregonstate.edu/.1/blfs/conglomeration/qt5/qt-everywhere-src-5.10.1.tar.xz",
|
|
)
|
|
|
|
class Builder(MakeBuilder):
|
|
dependencies = ["icu4c", "zlib"]
|
|
dynamic_configure_options = ["-shared"]
|
|
static_configure_options = ["-static"]
|
|
|
|
@property
|
|
def all_configure_options(self):
|
|
yield from self.configure_options
|
|
if self.buildEnv.configInfo.static:
|
|
yield from self.static_configure_options
|
|
else:
|
|
yield from self.dynamic_configure_options
|
|
if not self.target.force_native_build:
|
|
yield from self.buildEnv.configInfo.configure_options
|
|
yield from ("-prefix", self.buildEnv.install_dir)
|
|
yield from (
|
|
"-libdir",
|
|
pj(self.buildEnv.install_dir, self.buildEnv.libprefix),
|
|
)
|
|
|
|
@property
|
|
def configure_options(self):
|
|
skip_modules = [
|
|
"qt3d",
|
|
"qtcanvas3d",
|
|
"qtcharts",
|
|
"qtconnectivity",
|
|
"qtdatavis3d",
|
|
# 'qtdeclarative',
|
|
"qtdoc",
|
|
"qtgamepad",
|
|
"qtgraphicaleffects",
|
|
"qtlocation",
|
|
"qtmultimedia",
|
|
"qtnetworkauth",
|
|
"qtpurchasing",
|
|
# 'qtquickcontrols',
|
|
"qtquickcontrols2",
|
|
"qtremoteobjects",
|
|
"qtscript",
|
|
"qtscxml",
|
|
"qtsensors",
|
|
"qtserialbus",
|
|
"qtserialport",
|
|
"qtspeech",
|
|
"qtvirtualkeyboard",
|
|
"qtwayland",
|
|
"qtwebglplugin",
|
|
"qtwebsockets",
|
|
# 'qtwebview',
|
|
]
|
|
yield "-recheck"
|
|
yield "-opensource"
|
|
yield "-confirm-license"
|
|
yield "-ccache"
|
|
yield from ("-make", "libs")
|
|
for module in skip_modules:
|
|
yield from ("-skip", module)
|
|
|
|
|
|
class QtWebEngine(Dependency):
|
|
name = "qtwebengine"
|
|
|
|
Source = Qt.Source
|
|
|
|
class Builder(QMakeBuilder):
|
|
dependencies = ["qt"]
|
|
subsource_dir = "qtwebengine"
|