diff --git a/licenses/7zip.txt b/licenses/7zip.txt index 56f6574..47fc237 100644 --- a/licenses/7zip.txt +++ b/licenses/7zip.txt @@ -1,27 +1,28 @@ - 7-Zip - ~~~~~ + 7-Zip source code + ~~~~~~~~~~~~~~~~~ License for use and distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 7-Zip Copyright (C) 1999-2023 Igor Pavlov. + 7-Zip Copyright (C) 1999-2024 Igor Pavlov. The licenses for files are: - 1) 7z.dll: - - The "GNU LGPL" as main license for most of the code - - The "GNU LGPL" with "unRAR license restriction" for some code - - The "BSD 3-clause License" for some code - 2) All other files: the "GNU LGPL". + - CPP/7zip/Compress/Rar* files: the "GNU LGPL" with "unRAR license restriction" + - CPP/7zip/Compress/LzfseDecoder.cpp: the "BSD 3-clause License" + - C/ZstdDec.c: the "BSD 3-clause License" + - C/Xxh64.c: the "BSD 2-clause License" + - Some files are "public domain" files, if "public domain" status is stated in source file. + - the "GNU LGPL" for all other files. If there is no license information in + some source file, that file is under the "GNU LGPL". - Redistributions in binary form must reproduce related license information from this file. - - Note: - You can use 7-Zip on any computer, including a computer in a commercial - organization. You don't need to register or pay for 7-Zip. + The "GNU LGPL" with "unRAR license restriction" means that you must follow both + "GNU LGPL" rules and "unRAR license restriction" rules. - GNU LGPL information - -------------------- + + +GNU LGPL information +-------------------- This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -33,58 +34,118 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You can receive a copy of the GNU Lesser General Public License from + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, + you can get a copy of the GNU Lesser General Public License from http://www.gnu.org/ - BSD 3-clause License - -------------------- +BSD 3-clause License in 7-Zip code +---------------------------------- - The "BSD 3-clause License" is used for the code in 7z.dll that implements LZFSE data decompression. - That code was derived from the code in the "LZFSE compression library" developed by Apple Inc, - that also uses the "BSD 3-clause License": + The "BSD 3-clause License" is used for the following code in 7z.dll + 1) LZFSE data decompression. + CPP/7zip/Compress/LzfseDecoder.cpp. + That code was derived from the code in the "LZFSE compression library" developed by Apple Inc, + that also uses the "BSD 3-clause License". + 2) ZSTD data decompression. + C/ZstdDec.c + that code was developed using original zstd decoder code as reference code. + The original zstd decoder code was developed by Facebook Inc, + that also uses the "BSD 3-clause License". - ---- - Copyright (c) 2015-2016, Apple Inc. All rights reserved. + Copyright (c) 2015-2016, Apple Inc. All rights reserved. + Copyright (c) Facebook, Inc. All rights reserved. + Copyright (c) 2023-2024 Igor Pavlov. - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Text of the "BSD 3-clause License" +---------------------------------- - 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: - 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the distribution. +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. - 3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- +3. Neither the name of the copyright holder nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- - unRAR license restriction - ------------------------- +BSD 2-clause License in 7-Zip code +---------------------------------- - The decompression engine for RAR archives was developed using source - code of unRAR program. - All copyrights to original unRAR code are owned by Alexander Roshal. + The "BSD 2-clause License" is used for the XXH64 code in 7-Zip. + C/Xxh64.c - The license for original unRAR code has the following restriction: + XXH64 code in 7-Zip was derived from the original XXH64 code developed by Yann Collet. - The unRAR sources cannot be used to re-create the RAR compression algorithm, - which is proprietary. Distribution of modified unRAR sources in separate form - or as a part of other software is permitted, provided that it is clearly - stated in the documentation and source comments that the code may - not be used to develop a RAR (WinRAR) compatible archiver. + Copyright (c) 2012-2021 Yann Collet. + Copyright (c) 2023-2024 Igor Pavlov. + +Text of the "BSD 2-clause License" +---------------------------------- + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- - -- - Igor Pavlov + + +unRAR license restriction +------------------------- + +The decompression engine for RAR archives was developed using source +code of unRAR program. +All copyrights to original unRAR code are owned by Alexander Roshal. + +The license for original unRAR code has the following restriction: + + The unRAR sources cannot be used to re-create the RAR compression algorithm, + which is proprietary. Distribution of modified unRAR sources in separate form + or as a part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + +-- diff --git a/licenses/fmt.txt b/licenses/fmt.txt index f0ec3db..1cd1ef9 100644 --- a/licenses/fmt.txt +++ b/licenses/fmt.txt @@ -1,4 +1,4 @@ -Copyright (c) 2012 - present, Victor Zverovich +Copyright (c) 2012 - present, Victor Zverovich and {fmt} contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/licenses/python.txt b/licenses/python.txt index f42f8ad..f26bcf4 100644 --- a/licenses/python.txt +++ b/licenses/python.txt @@ -2,12 +2,12 @@ A. HISTORY OF THE SOFTWARE ========================== Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands +Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) +National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software. @@ -19,7 +19,7 @@ https://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation was a sponsoring member of the PSF. -All Python releases are Open Source (see http://www.opensource.org for +All Python releases are Open Source (see https://opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases. @@ -84,7 +84,7 @@ analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation; +2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. @@ -191,9 +191,9 @@ version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following +Python 1.6.1 may be located on the internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet +Agreement may also be obtained from a proxy server on the internet using the following URL: http://hdl.handle.net/1895.22/1013". 3. In the event Licensee prepares a derivative work that is based on diff --git a/licenses/sip.txt b/licenses/sip.txt index 9406c30..0e4caa6 100644 --- a/licenses/sip.txt +++ b/licenses/sip.txt @@ -1,49 +1,22 @@ -RIVERBANK COMPUTING LIMITED LICENSE AGREEMENT FOR SIP +Copyright 2024 Phil Thompson -1. This LICENSE AGREEMENT ("the SIP License") is between Riverbank Computing -Limited ("Riverbank"), and the Individual or Organization ("Licensee") -accessing and otherwise using SIP software in source or binary form and its -associated documentation. SIP comprises a software tool for generating Python -bindings for software C and C++ libraries, and a Python extension module used -at runtime by those generated bindings. This License Agreement may also be -applied to other software packages written by Riverbank. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -2. Subject to the terms and conditions of this License Agreement, Riverbank -hereby grants Licensee a nonexclusive, royalty-free, world-wide license to -reproduce, analyze, test, perform and/or display publicly, prepare derivative -works, distribute, and otherwise use SIP alone or in any derivative version, -provided, however, that Riverbank's License Agreement and Riverbank's notice of -copyright, e.g., "Copyright (c) 2015 Riverbank Computing Limited; All Rights -Reserved" are retained in SIP alone or in any derivative version prepared by -Licensee. +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. -3. In the event Licensee prepares a derivative work that is based on or -incorporates SIP or any part thereof, and wants to make the derivative work -available to others as provided herein, then Licensee hereby agrees to include -in any such work a brief summary of the changes made to SIP. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. -4. Licensee may not use SIP to generate Python bindings for any C or C++ -library for which bindings are already provided by Riverbank. - -5. Riverbank is making SIP available to Licensee on an "AS IS" basis. -RIVERBANK MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY -OF EXAMPLE, BUT NOT LIMITATION, RIVERBANK MAKES NO AND DISCLAIMS ANY -REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR -PURPOSE OR THAT THE USE OF SIP WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -6. RIVERBANK SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF SIP FOR ANY -INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, -DISTRIBUTING, OR OTHERWISE USING SIP, OR ANY DERIVATIVE THEREOF, EVEN IF -ADVISED OF THE POSSIBILITY THEREOF. - -7. This License Agreement will automatically terminate upon a material breach -of its terms and conditions. - -8. Nothing in this License Agreement shall be deemed to create any relationship -of agency, partnership, or joint venture between Riverbank and Licensee. This -License Agreement does not grant permission to use Riverbank trademarks or -trade name in a trademark sense to endorse or promote products or services of -Licensee, or any third party. - -9. By copying, installing or otherwise using SIP, Licensee agrees to be bound -by the terms and conditions of this License Agreement. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/spdlog.txt b/licenses/spdlog.txt index c15941b..6546da0 100644 --- a/licenses/spdlog.txt +++ b/licenses/spdlog.txt @@ -22,5 +22,5 @@ THE SOFTWARE. -- NOTE: Third party dependency used by this software -- This software depends on the fmt lib (MIT License), -and users must comply to its license: https://github.com/fmtlib/fmt/blob/master/LICENSE.rst +and users must comply to its license: https://raw.githubusercontent.com/fmtlib/fmt/master/LICENSE diff --git a/licenses/zlib.txt b/licenses/zlib.txt index 51c2378..ab8ee6f 100644 --- a/licenses/zlib.txt +++ b/licenses/zlib.txt @@ -1,4 +1,6 @@ - (C) 1995-2017 Jean-loup Gailly and Mark Adler +Copyright notice: + + (C) 1995-2022 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/mob.ini b/mob.ini index b32c74d..406cb63 100644 --- a/mob.ini +++ b/mob.ini @@ -95,27 +95,27 @@ python = true vs = 17 vs_year = 2022 vs_toolset = 14.3 -sdk = 10.0.22621.0 -sevenz = 24.05 -boost = 1.85.0 +sdk = 10.0.26100.0 +sevenz = 24.09 +boost = 1.88.0 boost_vs = 14.3 -fmt = 10.2.1 +fmt = 11.1.4 gtest = main directxtex = main -libloot = 0.23.0 -lz4 = v1.9.4 +libloot = 0.26.1 +lz4 = v1.10.0 nmm = 0.71.2 -openssl = 3.3.0 +openssl = 3.5.0 pyqt = 6.7.1 pyqt_builder = 1.16.4 pyqt_sip = 13.8.0 -python = v3.12.3 -pybind11 = v2.12.0 +python = v3.12.10 +pybind11 = v2.12.1 bzip2 = 1.0.8 sip = 6.8.6 -spdlog = v1.14.1 -qt = 6.7.1 -qt_vs = 2019 +spdlog = v1.15.2 +qt = 6.7.3 +qt_vs = 2022 zlib = v1.3.1 libbsarch = 0.0.12 usvfs = master diff --git a/src/tasks/boost.cpp b/src/tasks/boost.cpp index f64038e..3289d22 100644 --- a/src/tasks/boost.cpp +++ b/src/tasks/boost.cpp @@ -18,6 +18,19 @@ namespace mob::tasks { return s; } + std::string boost_version_dash() + { + const auto v = boost::parsed_version(); + + // boost_1_72[_0[_b1_rc1]] + std::string s = "Boost-" + v.major + "." + v.minor; + + if (v.patch != "") + s += "." + v.patch; + + return s; + } + std::string boost_version_no_tags_underscores() { return replace_all(boost_version_no_tags(), ".", "_"); @@ -67,9 +80,8 @@ namespace mob::tasks { url source_url() { - return "https://boostorg.jfrog.io/artifactory/main/release/" + - boost_version_no_tags() + "/source/" + - boost_version_all_underscores() + ".7z"; + return "https://archives.boost.io/release/" + boost_version_no_tags() + + "/source/" + boost_version_all_underscores() + ".7z"; } fs::path b2_exe() @@ -102,6 +114,11 @@ namespace mob::tasks { return conf().path().build() / ("boost_" + boost_version_no_tags_underscores()); } + fs::path boost::cmake_path(arch a) + { + return lib_path(a) / "cmake" / boost_version_dash(); + } + fs::path boost::lib_path(arch a) { // ex: build/boost_1_74_0/lib64-msvc-14.2/lib diff --git a/src/tasks/modorganizer.cpp b/src/tasks/modorganizer.cpp index 2ad8f9d..c7947c7 100644 --- a/src/tasks/modorganizer.cpp +++ b/src/tasks/modorganizer.cpp @@ -212,6 +212,7 @@ namespace mob::tasks { .def("DEPENDENCIES_DIR", conf().path().build()) .def("BOOST_ROOT", boost::source_path()) .def("BOOST_LIBRARYDIR", boost::lib_path(arch::x64)) + .def("Boost_DIR", boost::cmake_path(arch::x64)) .def("SPDLOG_ROOT", spdlog::source_path()) .def("LOOT_PATH", libloot::source_path()) .def("LZ4_ROOT", lz4::source_path()) diff --git a/src/tasks/pyqt.cpp b/src/tasks/pyqt.cpp index d27d592..fd62421 100644 --- a/src/tasks/pyqt.cpp +++ b/src/tasks/pyqt.cpp @@ -38,11 +38,11 @@ namespace mob::tasks { url source_url() { const auto version = pyqt::version(); - std::string base = "https://pypi.io/packages/source/P/PyQt6/"; + std::string base = "https://pypi.io/packages/source/p/pyqt6/"; if (version.find("dev") != std::string::npos) { base = "https://riverbankcomputing.com/pypi/packages/PyQt6/"; } - return base + "PyQt6-" + pyqt::version() + ".tar.gz"; + return base + "pyqt6-" + pyqt::version() + ".tar.gz"; } url prebuilt_url() @@ -80,7 +80,7 @@ namespace mob::tasks { fs::path pyqt::source_path() { - return conf().path().build() / ("PyQt6-" + version()); + return conf().path().build() / ("pyqt6-" + version()); } fs::path pyqt::build_path() diff --git a/src/tasks/tasks.h b/src/tasks/tasks.h index 8b9b116..b175a98 100644 --- a/src/tasks/tasks.h +++ b/src/tasks/tasks.h @@ -25,6 +25,7 @@ namespace mob::tasks { static bool prebuilt(); static fs::path source_path(); + static fs::path cmake_path(arch a); static fs::path lib_path(arch a); static fs::path root_lib_path(arch a);