mirror of
https://github.com/ModOrganizer2/mob.git
synced 2026-07-27 14:07:05 -07:00
Better support for dev PyQt builds
- Add alternate index support to pip - Utilize dev pypi index for PyQt - Use Qt 6.7.1 for testing
This commit is contained in:
@@ -88,7 +88,7 @@ pull = true
|
||||
boost = true
|
||||
lz4 = true
|
||||
openssl = true
|
||||
pyqt = true
|
||||
pyqt = false
|
||||
python = true
|
||||
|
||||
[versions]
|
||||
@@ -106,15 +106,15 @@ libloot = 0.23.0
|
||||
lz4 = v1.9.4
|
||||
nmm = 0.71.2
|
||||
openssl = 3.3.0
|
||||
pyqt = 6.7.0
|
||||
pyqt_builder = 1.16.2
|
||||
pyqt_sip = 13.7.0
|
||||
pyqt = 6.7.1.dev2407071716
|
||||
pyqt_builder = 1.16.4.dev2+g2802761
|
||||
pyqt_sip = 13.8.0
|
||||
python = v3.12.3
|
||||
pybind11 = v2.12.0
|
||||
bzip2 = 1.0.8
|
||||
sip = 6.8.3
|
||||
sip = 6.8.6.dev4+gf624736c
|
||||
spdlog = v1.14.1
|
||||
qt = 6.7.0
|
||||
qt = 6.7.1
|
||||
qt_vs = 2019
|
||||
zlib = v1.3.1
|
||||
libbsarch = 0.0.12
|
||||
|
||||
+3
-1
@@ -173,7 +173,8 @@ namespace mob::tasks {
|
||||
void pyqt::build_and_install_from_source()
|
||||
{
|
||||
// use pip to install the pyqt builder
|
||||
if (python::build_type() == config::debug) {
|
||||
if (python::build_type() == config::debug ||
|
||||
builder_version().find("dev") != std::string::npos) {
|
||||
// PyQt-builder has sip as a dependency, so installing it directly will
|
||||
// replace the sip we have installed manually, but the installed sip will
|
||||
// not work (see comment in sip::build() for details)
|
||||
@@ -184,6 +185,7 @@ namespace mob::tasks {
|
||||
run_tool(pip(pip::install).package("packaging"));
|
||||
run_tool(pip(pip::install)
|
||||
.package("PyQt-builder")
|
||||
.index("https://www.riverbankcomputing.com/pypi/simple")
|
||||
.no_dependencies()
|
||||
.version(builder_version()));
|
||||
}
|
||||
|
||||
+4
-1
@@ -116,7 +116,10 @@ namespace mob::tasks {
|
||||
}
|
||||
else {
|
||||
// download
|
||||
run_tool(pip(pip::download).package("sip").version(version()));
|
||||
run_tool(pip(pip::download)
|
||||
.package("sip")
|
||||
.index("https://www.riverbankcomputing.com/pypi/simple")
|
||||
.version(version()));
|
||||
}
|
||||
|
||||
// extract
|
||||
|
||||
+30
-13
@@ -69,6 +69,12 @@ namespace mob {
|
||||
return *this;
|
||||
}
|
||||
|
||||
pip& pip::index(const std::string& s)
|
||||
{
|
||||
index_ = s;
|
||||
return *this;
|
||||
}
|
||||
|
||||
pip& pip::no_dependencies()
|
||||
{
|
||||
no_deps_ = true;
|
||||
@@ -147,6 +153,10 @@ namespace mob {
|
||||
.arg("--no-warn-script-location")
|
||||
.arg("--disable-pip-version-check");
|
||||
|
||||
if (!index_.empty()) {
|
||||
p.arg("-i", index_).arg("--extra-index-url", "https://pypi.org/simple")
|
||||
}
|
||||
|
||||
if (!package_.empty()) {
|
||||
if (version_.empty()) {
|
||||
p.arg(package_);
|
||||
@@ -169,19 +179,26 @@ namespace mob {
|
||||
|
||||
void pip::do_download()
|
||||
{
|
||||
execute_and_join(process()
|
||||
.binary(tasks::python::python_exe())
|
||||
.chcp(65001)
|
||||
.stdout_encoding(encodings::utf8)
|
||||
.stderr_encoding(encodings::utf8)
|
||||
.arg("-X", "utf8")
|
||||
.arg("-m", "pip")
|
||||
.arg("download")
|
||||
.arg("--no-binary=:all:")
|
||||
.arg("--no-deps")
|
||||
.arg("-d", conf().path().cache())
|
||||
.arg(package_ + "==" + version_)
|
||||
.env(this_env::get().set("PYTHONUTF8", "1")));
|
||||
auto p = process()
|
||||
.binary(tasks::python::python_exe())
|
||||
.chcp(65001)
|
||||
.stdout_encoding(encodings::utf8)
|
||||
.stderr_encoding(encodings::utf8)
|
||||
.arg("-X", "utf8")
|
||||
.arg("-m", "pip")
|
||||
.arg("download");
|
||||
|
||||
if (!index_.empty()) {
|
||||
p.arg("-i", index_).arg("--extra-index-url", "https://pypi.org/simple")
|
||||
}
|
||||
|
||||
p.arg("--no-binary=:all:")
|
||||
.arg("--no-deps")
|
||||
.arg("-d", conf().path().cache())
|
||||
.arg(package_ + "==" + version_)
|
||||
.env(this_env::get().set("PYTHONUTF8", "1"));
|
||||
|
||||
execute_and_join(p);
|
||||
}
|
||||
|
||||
} // namespace mob
|
||||
|
||||
@@ -702,6 +702,7 @@ namespace mob {
|
||||
pip& package(const std::string& s);
|
||||
pip& version(const std::string& s);
|
||||
pip& file(const fs::path& p);
|
||||
pip& index(const std::string& s);
|
||||
|
||||
// do not install dependencies for the package
|
||||
//
|
||||
@@ -720,6 +721,7 @@ namespace mob {
|
||||
std::string package_;
|
||||
std::string version_;
|
||||
fs::path file_;
|
||||
std::string index_;
|
||||
|
||||
// no depndencies
|
||||
bool no_deps_;
|
||||
|
||||
Reference in New Issue
Block a user