Support static-compat package variant

This commit is contained in:
Martchus 2022-05-01 21:02:04 +02:00
parent 5c2f007589
commit 0294bc241e
2 changed files with 7 additions and 3 deletions

View File

@ -1027,9 +1027,9 @@ bool PackageNameData::isVcsPackage() const
PackageNameData PackageNameData::decompose(std::string_view packageName)
{
static const auto packageNameRegex = std::regex(
"((lib32|mingw-w64|android-aarch64|android-x86-64|android-x86|android-armv7a-eabi|arm-none-eabi|aarch64-linux-"
"gnu|riscv64-linux|avr|psp)-)?(.*?)((-(cvs|svn|hg|darcs|bzr|git|custom|compat|static|qt\\d+|doc|cli|gui))*)");
static const auto packageNameRegex
= std::regex("((lib32|mingw-w64|android-aarch64|android-x86-64|android-x86|android-armv7a-eabi|arm-none-eabi|aarch64-linux-"
"gnu|static-compat|riscv64-linux|avr|psp)-)?(.*?)((-(cvs|svn|hg|darcs|bzr|git|custom|compat|static|qt\\d+|doc|cli|gui))*)");
auto data = PackageNameData{};
auto match = std::cmatch{};
if (!regex_match(packageName.cbegin(), packageName.cend(), match, packageNameRegex)) {

View File

@ -119,6 +119,10 @@ void ParserTests::testParsingPackageName()
CPPUNIT_ASSERT_EQUAL("gcc"sv, mingwGCC.actualName);
CPPUNIT_ASSERT_EQUAL("mingw-w64"sv, mingwGCC.targetPrefix);
CPPUNIT_ASSERT_EQUAL(""sv, mingwGCC.vcsSuffix);
const auto staticCompatQt6 = PackageNameData::decompose("static-compat-qt6-base");
CPPUNIT_ASSERT_EQUAL("qt6-base"sv, staticCompatQt6.actualName);
CPPUNIT_ASSERT_EQUAL("static-compat"sv, staticCompatQt6.targetPrefix);
CPPUNIT_ASSERT_EQUAL(""sv, staticCompatQt6.vcsSuffix);
const auto armGCC = PackageNameData::decompose("aarch64-linux-gnu-gcc");
CPPUNIT_ASSERT_EQUAL("gcc"sv, armGCC.actualName);
CPPUNIT_ASSERT_EQUAL("aarch64-linux-gnu"sv, armGCC.targetPrefix);