/* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General * Public License version 2, as published by the Free Software Foundation. * * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include #include #include #include using namespace paludis; namespace paludis { template <> struct Imp { std::shared_ptr > package_key; std::shared_ptr > version_key; std::shared_ptr > build_cxxflags_key; std::shared_ptr > build_ldflags_key; std::shared_ptr > build_cxx_key; std::shared_ptr > build_date_key; Imp() : package_key(std::make_shared>("PALUDIS_PACKAGE", "Package Name", mkt_significant, PALUDIS_PACKAGE)), version_key(std::make_shared>("PALUDIS_VERSION", "Package Version", mkt_significant, stringify(PALUDIS_VERSION_MAJOR) + "." + stringify(PALUDIS_VERSION_MINOR) + "." + stringify(PALUDIS_VERSION_MICRO) + PALUDIS_VERSION_SUFFIX + (std::string(PALUDIS_GIT_HEAD).empty() ? "" : " " + stringify(PALUDIS_GIT_HEAD)))), build_cxxflags_key(std::make_shared>("PALUDIS_BUILD_CXXFLAGS", "Built with CXXFLAGS", mkt_normal, PALUDIS_BUILD_CXXFLAGS)), build_ldflags_key(std::make_shared>("PALUDIS_BUILD_LDFLAGS", "Built with LDFLAGS", mkt_normal, PALUDIS_BUILD_LDFLAGS)), build_cxx_key(std::make_shared>("PALUDIS_BUILD_CXX", "Built with CXX", mkt_normal, stringify(PALUDIS_BUILD_CXX) #ifdef __VERSION__ + " " + stringify(__VERSION__) #endif )), build_date_key(std::make_shared>("PALUDIS_BUILD_DATE", "Build Date", mkt_normal, PALUDIS_BUILD_DATE)) { } }; } AboutMetadata::AboutMetadata() : _imp() { add_metadata_key(_imp->package_key); add_metadata_key(_imp->version_key); add_metadata_key(_imp->build_cxxflags_key); add_metadata_key(_imp->build_ldflags_key); add_metadata_key(_imp->build_cxx_key); add_metadata_key(_imp->build_date_key); } AboutMetadata::~AboutMetadata() { } void AboutMetadata::need_keys_added() const { } namespace paludis { template class Pimp; template class Singleton; }