aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/cran/registration.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-10-12 18:33:48 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-10-12 18:33:48 +0100
commitf6b265538d15fe0d0b3e7906e0a2ffcd98fec4d5 (patch)
tree1b61a86ee5b9eaf13b2fbf2fda1b3c2febc1c471 /paludis/repositories/cran/registration.cc
parent15792dbb2affa34cb6a9790a53f20ca9a024e72e (diff)
downloadpaludis-f6b265538d15fe0d0b3e7906e0a2ffcd98fec4d5.tar.gz
paludis-f6b265538d15fe0d0b3e7906e0a2ffcd98fec4d5.tar.xz
Don't load repositories from .sos
Diffstat (limited to 'paludis/repositories/cran/registration.cc')
-rw-r--r--paludis/repositories/cran/registration.cc54
1 files changed, 31 insertions, 23 deletions
diff --git a/paludis/repositories/cran/registration.cc b/paludis/repositories/cran/registration.cc
index 8cfe3449c..d1edb4421 100644
--- a/paludis/repositories/cran/registration.cc
+++ b/paludis/repositories/cran/registration.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009 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
@@ -22,11 +22,10 @@
#include <paludis/repositories/cran/cran_installed_repository.hh>
#include <paludis/util/set.hh>
#include <paludis/util/destringify.hh>
+#include "config.h"
using namespace paludis;
-extern "C" void paludis_initialise_repository_so(RepositoryFactory * const factory) PALUDIS_VISIBLE;
-
namespace
{
int generic_importance(const Environment * const, const std::tr1::function<std::string (const std::string &)> & f)
@@ -38,29 +37,38 @@ namespace
}
}
-void paludis_initialise_repository_so(RepositoryFactory * const factory)
+namespace paludis
{
- std::tr1::shared_ptr<Set<std::string> > cran_formats(new Set<std::string>);
- cran_formats->insert("cran");
+ namespace repository_groups
+ {
+ REPOSITORY_GROUPS_DECLS;
+ }
- factory->add_repository_format(
- cran_formats,
- &CRANRepository::repository_factory_name,
- &generic_importance,
- &CRANRepository::repository_factory_create,
- &CRANRepository::repository_factory_dependencies
- );
+ template <>
+ void register_repositories<repository_groups::cran>(RepositoryFactory * const factory)
+ {
+ std::tr1::shared_ptr<Set<std::string> > cran_formats(new Set<std::string>);
+ cran_formats->insert("cran");
+
+ factory->add_repository_format(
+ cran_formats,
+ &CRANRepository::repository_factory_name,
+ &generic_importance,
+ &CRANRepository::repository_factory_create,
+ &CRANRepository::repository_factory_dependencies
+ );
- std::tr1::shared_ptr<Set<std::string> > installed_cran_formats(new Set<std::string>);
- installed_cran_formats->insert("installed_cran");
- installed_cran_formats->insert("installed-cran");
+ std::tr1::shared_ptr<Set<std::string> > installed_cran_formats(new Set<std::string>);
+ installed_cran_formats->insert("installed_cran");
+ installed_cran_formats->insert("installed-cran");
- factory->add_repository_format(
- installed_cran_formats,
- &CRANInstalledRepository::repository_factory_name,
- &generic_importance,
- &CRANInstalledRepository::repository_factory_create,
- &CRANInstalledRepository::repository_factory_dependencies
- );
+ factory->add_repository_format(
+ installed_cran_formats,
+ &CRANInstalledRepository::repository_factory_name,
+ &generic_importance,
+ &CRANInstalledRepository::repository_factory_create,
+ &CRANInstalledRepository::repository_factory_dependencies
+ );
+ }
}