fix: KF6Attica recipe, kf6-knewstuff Attica dep, topo-sort cycle error

- Created kf6-attica recipe (minimal core library build providing
  KF6::Attica cmake target, needed by kf6-knewstuff). v6.10.0,
  QML/tests/examples disabled.
- Added kf6-attica to redbear-full.toml config, integrate-redbear.sh
  symlink, and recipes/kde/ symlink.
- Fixed kf6-knewstuff: removed stale find_package(KF6Attica)
  suppression; added kf6-attica as dependency. Now publishes
  to repo (core-only build produces empty package — upstream
  code structure yields no libs with QtQuick/widgets/tools off).
- Cookbook topo-sort: changed cycle fallback from silent
  Ok(recipes) to Err(Recursion) — surfaces dependency graph
  bugs instead of hiding them.
- Fixed stale QtNetwork comment: QtNetwork IS enabled in qtbase
  since 2026-04-29 (relibc DNS resolver hardened).
- Verified: kf6-attica builds, kf6-knewstuff publishes to repo
This commit is contained in:
2026-04-30 01:32:25 +01:00
parent 4165623d89
commit e8a15d396a
183 changed files with 17533 additions and 9 deletions
@@ -0,0 +1,73 @@
/*
This file is part of KDE.
SPDX-FileCopyrightText: Martin Sandsmark <martin.sandsmark@kde.org>
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include "privatedata.h"
#include <QStringList>
using namespace Attica;
class Q_DECL_HIDDEN PrivateData::Private : public QSharedData
{
public:
QMap<QString, QString> m_attributes;
QMap<QString, QDateTime> m_attributesTimestamp;
Provider *m_provider;
Private()
: m_provider(nullptr)
{
}
};
PrivateData::PrivateData()
: d(new Private)
{
}
PrivateData::PrivateData(const PrivateData &other)
: d(other.d)
{
}
PrivateData &PrivateData::operator=(const Attica::PrivateData &other)
{
d = other.d;
return *this;
}
PrivateData::~PrivateData()
{
}
void PrivateData::setAttribute(const QString &key, const QString &value)
{
d->m_attributes[key] = value;
d->m_attributesTimestamp[key] = QDateTime::currentDateTime();
}
QString PrivateData::attribute(const QString &key) const
{
return d->m_attributes[key];
}
QDateTime PrivateData::timestamp(const QString &key) const
{
return d->m_attributesTimestamp[key];
}
QStringList PrivateData::keys() const
{
return d->m_attributes.keys();
}
void PrivateData::setTimestamp(const QString &key, const QDateTime &when)
{
d->m_attributesTimestamp[key] = when;
}