commit:     3f7c507a97b62ef814517adf3e9fae935db4ad04
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Wed May 30 05:25:20 2018 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Wed May 30 05:25:20 2018 +0000
URL:        https://gitweb.gentoo.org/proj/R_overlay.git/commit/?id=3f7c507a

Use regex in dep string matches.

  Ignore rules should come later than positive rules.

Closes: https://bugs.gentoo.org/653694

 config/simple-deprules.d/R                     |  66 ++++++------
 config/simple-deprules.d/app                   |   7 +-
 config/simple-deprules.d/app-text              |  29 +-----
 config/simple-deprules.d/compound_deps         |  25 ++---
 config/simple-deprules.d/dev                   |  58 ++---------
 config/simple-deprules.d/dev-libs              |  73 +++-----------
 config/simple-deprules.d/dot_remap             | 134 -------------------------
 config/simple-deprules.d/ignored_text          | 103 ++++++-------------
 config/simple-deprules.d/media                 |  20 +---
 config/simple-deprules.d/media-libs            |  30 ++----
 config/simple-deprules.d/misc                  |   6 +-
 config/simple-deprules.d/net                   |  21 +---
 config/simple-deprules.d/nvidia                |  22 ++--
 config/simple-deprules.d/sci                   |  34 +++----
 config/simple-deprules.d/sci-libs              |  35 ++-----
 config/simple-deprules.d/selfdeps              |  22 ----
 config/simple-deprules.d/selfdeps.d/sci-CRAN   |  23 ++---
 config/simple-deprules.d/sys                   |  32 +++---
 config/simple-deprules.d/system.set            |  39 ++-----
 config/simple-deprules.d/unknown               |   5 +-
 config/simple-deprules.d/x11                   |  12 +--
 roverlay/depres/simpledeprule/abstractrules.py |  10 +-
 roverlay/depres/simpledeprule/rules.py         |   6 +-
 23 files changed, 195 insertions(+), 617 deletions(-)

diff --git a/config/simple-deprules.d/R b/config/simple-deprules.d/R
index 9106deb..8edf111 100644
--- a/config/simple-deprules.d/R
+++ b/config/simple-deprules.d/R
@@ -6,53 +6,43 @@
 #deptype all
 
 # using fuzzy dep matches
-~dev-lang/R :: R
+~dev-lang/R :: ^R$
 
 dev-lang/R[tk] {
-       tcl/tk 8.5
-       Tcl/Tk (>= 8.5)
-       tcltk (but only for the GUI
-}
-
-# base packages that always assumed to be provided by dev-lang/R (taken from 
generate_ebuild)
-% {
-       base
-       compiler
-       datasets
-       graphics
-       grDevices
-       grid
-       methods
-       parallel
-       splines
-       stats
-       stats4
+       tcl/tk
        tcltk
-       tools
-       utils
 }
 
-# FIXME, seems to be provided too
-% {
-       stepfun
-       ts
-       package ts
-       package ts (included in the R release)
-}
 # modreg is in stats, according to 
https://stat.ethz.ch/pipermail/bioconductor/2010-June/034197.html
 ! :: modreg
 
 # R is always compiled with '--enabled-R-shlib'
 ! {
-       R must be compiled with --enable-R-shlib if the server is to be built
-       R must be compiled with --enable-R-shlib if theserver is to be built
-       R must be compiled with --enable-R-shlibif the server is to be built
-       Download regular shlib (420 KB) from externalsource ('xls.getshlib()' 
or manually)
-       R built as a shared object
-       R built as a shared object.
-       R built as a shared or static (R >= 2.7.0) library
-       R built as a shared orstatic library
+        --enable-R-shlib
+        xls.getshlib
+       R built as a shared
        R-0.64 or later
-       Regular shlib must be obtained from an externalsource (use 
'xls.getshlib()' or dl manually).
-       dl regular shlib with 'xls.getshlib()'or manually (~420 KB)
+}
+
+# base packages that always assumed to be provided by dev-lang/R (taken from 
generate_ebuild)
+% {
+       ^base$
+       ^compiler$
+       ^datasets$
+       ^graphics$
+       ^grDevices$
+       ^grid$
+       ^methods$
+       ^parallel$
+       ^splines$
+       ^stats4?
+        ^tools$
+        ^utils$
+}
+
+# FIXME, seems to be provided too
+% {
+       ^stepfun$
+       ^ts$
+       package.*ts
 }

diff --git a/config/simple-deprules.d/app b/config/simple-deprules.d/app
index 99ba3c3..6c086c4 100644
--- a/config/simple-deprules.d/app
+++ b/config/simple-deprules.d/app
@@ -3,10 +3,7 @@
 app-admin/ec2-api-tools :: ec2-api-tools
 
 # FIXME zip or unzip?
-app-arch/zip :: zip
+app-arch/zip :: ^zip$
 
 # FIXME: this is not satisfiable, latest dieharder version in portage is 2.28.1
-app-crypt/dieharder {
-       DieHarder library (>= 2.8.1) 
fromhttp://www.phy.duke.edu/~rgb/General/dieharder.php
-       DieHarder library (>= 3.31.1) 
fromhttp://www.phy.duke.edu/~rgb/General/dieharder.php
-}
+app-crypt/dieharder :: DieHarder
\ No newline at end of file

diff --git a/config/simple-deprules.d/app-text 
b/config/simple-deprules.d/app-text
index 6e4cdd4..810178c 100644
--- a/config/simple-deprules.d/app-text
+++ b/config/simple-deprules.d/app-text
@@ -1,35 +1,16 @@
 #deptype sys
 
-app-text/antiword {
-       Antiword (http://www.winfield.demon.nl/) forreading MS Word files
-       antiword for reading MS Word files
-       Antiword (<http://www.winfield.demon.nl/>) forreading MS Word files
-}
+app-text/antiword :: Antiword
 
 ~app-text/ghostscript-gpl :: ghostscript
 
 app-text/poppler {
-       pdfinfo andpdftotext for reading PDF
-       pdfinfo and pdftotext from Poppler(http://poppler.freedesktop.org/) for 
reading PDF
-       pdftotext from Poppler(http://poppler.freedesktop.org/) for reading PDF
-}
-
-# pdflatex?
-app-text/texlive {
-       (PDF)LaTeX (http://www.latex-project.org/) withpdfpages package for 
studentGrowthPlot option in visualizeSGPto bind together student growth plots 
into school catalogs.
-       (PDF)LaTeX (http://www.latex-project.org/) with'pdfpages' package for 
studentGrowthPlot option in visualizeSGPto bind together student growth plots 
into school catalogs.
-       (PDF)LaTeX for saveLatex()
-}
-
-app-text/poppler {
+       poppler
        pdfinfo
+       pdftotext
 }
 
+# pdflatex?
+app-text/texlive :: LaTeX
 
 ~app-text/pandoc :: pandoc
-app-text/pandoc {
-       pandoc (>= 1.12.3) -http://johnmacfarlane.net/pandoc
-       pandoc with https support
-       Package vignettes based on R Markdown v2 requirePandoc 
(http://pandoc.org). The function rst2pdf() andvignettes based on 
reStructuredText require rst2pdf(https://github.com/rst2pdf/rst2pdf).
-}
-

diff --git a/config/simple-deprules.d/compound_deps 
b/config/simple-deprules.d/compound_deps
index 963ee0f..b0c0133 100644
--- a/config/simple-deprules.d/compound_deps
+++ b/config/simple-deprules.d/compound_deps
@@ -2,50 +2,45 @@
 
 ( media-libs/fontconfig media-fonts/corefonts ) {
        fontconfig and msttcorefonts
-       fontconfig and msttcorefonts recommended)
 }
 
 ( net-libs/liboauth net-misc/curl ) {
-       liboauth (>= 0.9.4) liboauth.sourceforge.net andlibcurl 
http://curl.haxx.se
+       liboauth.*curl
 }
 
 # FIXME
 ( sci-libs/blas-atlas dev-util/nvidia-cuda-toolkit ) {
-       Atlas development build as well as a Nvidia GPU withCUDA support
+       Atlas.*Nvidia GPU.*CUDA
 }
 
 || ( dev-libs/libxml2 dev-libs/expat ) {
-       Daniel Veillard's 
libxml(ftp://ftp.gnome.org/pub/GNOME/sources/libxml/)and/orJim Clark's expat 
(http://www.jclark.com/xml)
-       Daniel Veillard's 
libxml(ftp://ftp.gnome.org/pub/GNOME/stable/sources/libxml/)and/orJim Clark's 
expat (http://www.jclark.com/xml)
+       libxml.*expat
 }
 
 ( media-libs/tiff >=sci-libs/fftw-3  ) {
-       optional libtiff and fftw3
+       libtiff.*fftw3
 }
 
 ( sci-libs/gdal sci-libs/proj ) {
-       for building from source: GDAL >= 1.3.1 && GDAL < 1.6.0 (until tested) 
library and PROJ.4 (proj >= 4.4.9)
-       for building from source: GDAL >= 1.3.1 library and PROJ.4 (proj >= 
4.4.9)
-       for building from source: GDAL >= 1.3.1 library and PROJ.4(proj >= 
4.4.9)
-       for building from source: GDAL >= 1.6.0 library and PROJ.4(proj >= 
4.4.9)
+       GDAL.*PROJ.4
 }
 
 ( dev-libs/mpfr dev-libs/gmp ) {
-       http://mpfr.org/) and GMP (GNU Multiple Precision library
+       mpfr.*GMP
 }
 
 || ( media-gfx/imagemagick media-gfx/graphicsmagick ) {
-       ImageMagick (http://imagemagick.org) orGraphicsMagick 
(http://www.graphicsmagick.org) for saveGIF()
+       ImageMagick.*GraphicsMagick
 }
 
 || ( media-gfx/imagemagick media-gfx/graphicsmagick app-office/lyx ) {
-       ImageMagick (http://imagemagick.org) orGraphicsMagick 
(http://www.graphicsmagick.org) or LyX(http://www.lyx.org) for saveGIF()
+       ImageMagick.*GraphicsMagick.*LyX
 }
 
 || ( media-libs/tiff virtual/jpeg ) {
-       libtiff and/or libjpeg
+       libtiff.*libjpeg
 }
 
 ( virtual/blas virtual/lapack ) {
-       BLAS/LAPACK libraries
+       BLAS.*LAPACK
 }

diff --git a/config/simple-deprules.d/dev b/config/simple-deprules.d/dev
index 89759fc..faa01d9 100644
--- a/config/simple-deprules.d/dev
+++ b/config/simple-deprules.d/dev
@@ -10,74 +10,34 @@ dev-cpp/gtkmm :: gtkmm-2.4
 }
 
 # FIXME
-dev-db/unixODBC {
-       An ODBC driver manager and drivers. See README.
-       An ODBC3 driver manager and drivers.
-       An ODBC3 driver manager and drivers. See README.
-       ODBC support and a back end database
-}
+dev-db/unixODBC :: ODBC
 
-dev-java/ant :: ant
+dev-java/ant :: ^ant$
 dev-java/jdbc-postgresql :: PostgreSQL JDBCdriver
 
-
-# try to slot-match dev-lang/python, but use known slots only
-~dev-lang/python:slotparts=2:restrict=2.7,3.2,3.3,3.4 {
-   python
-   python headers
-}
 # else fall back to fuzzy
 ~dev-lang/python {
-   python
+   ^python
 }
 # lowest python version in portage: 2.7 (2.6 masked)
 dev-lang/python {
-   Python (>= 2.4) to run Asciidoc(http://www.python.org/)
-   Python 2.7.x or Python 3.2.x-3.4.x
+   ^Python
 }
 
-
 dev-lang/lua :: lua version>= 5.1.4
 ~dev-lang/lua :: lua
 
-~dev-tex/pgf {
-       pgf
-}
+~dev-tex/pgf :: ^pgf$
 
->=dev-tex/pgf-2.10 {
-       pgf (>=2.10) (http://sourceforge.net/projects/pgf/)for the vignette
-}
+>=dev-tex/pgf-2.10 :: pgf.*>=2.10
 
-~dev-tcltk/bwidget {
-       bwidget
-       Tcl/Tk extensions BWidget
-}
+~dev-tcltk/bwidget :: bwidget
 
 ~dev-tcltk/tktable :: tktable
 
-dev-util/cmake {
-       cmake
-       cmake (http://www.cmake.org)
-}
-
-~dev-python/numpy {
-       numpy
-}
+dev-util/cmake :: cmake
 
-# FIXME: the jdk rules are not quite correct,
-#         virtual/jdk:1.7 (probably) works for some packages, too
-#
-~virtual/jdk:slotparts=i1.6:restrict=1.6,6.0 {
-       java
-       Java version
-       java runtime
-}
-
-~virtual/jdk:slotparts=i1.7:restrict=1.7,7.0 {
-       java
-       Java version
-       java runtime
-}
+~dev-python/numpy :: numpy
 
 # slot-relative rules take precedence
 #  TODO: slot-restricted rules should get a lower priority

diff --git a/config/simple-deprules.d/dev-libs 
b/config/simple-deprules.d/dev-libs
index b46d2a6..b0faa08 100644
--- a/config/simple-deprules.d/dev-libs
+++ b/config/simple-deprules.d/dev-libs
@@ -1,95 +1,52 @@
 #deptype sys
 
-~dev-libs/atk :: ATK
+~dev-libs/atk :: ^ATK$
 
 ~dev-libs/openssl :: OpenSSL
 
-~dev-libs/boost {
-       boost library
-       boost
-}
-dev-libs/boost {
-       Boost C++ libraries (1.31 or greater)
-       Boost library (>= 1.34.0) from http://www.boost.org
-       Boost library (>= 1.34.0) fromhttp://www.boost.org
-       Boost library from http://www.boost.org
-       Boost libraryfrom http://www.boost.org
-       boost headers for smart pointers
-       The Boost 'program_options' library(http://boost.org) is required.
-       Boost (or the BoostHeaders package)
-}
+~dev-libs/boost :: boost
 
-~dev-libs/glib {
-       glib
-       glib2
-}
+~dev-libs/glib :: glib
 
 ~dev-libs/gmp {
        libgmp
-       gmp
-}
-~dev-libs/gmp {
-       GMP (GNU MP bignum library
-       GMP (GNU MP bignum library)
-       GMP (GNU Multiple Precision library
-       http://gmplib.org/)
+       ^gmp
+        gmplib
 }
 
 ~dev-libs/libffi :: libffi
 
 ~dev-libs/libpcre {
-       libpcre
        pcre
 }
 
 ~dev-libs/libxml2 {
-       xml
-       xml2
-       libxml
-       libxml2
+       ^xml
+       ^libxml
 }
 
 ~dev-libs/libxslt :: libxslt
 
 dev-libs/mpc {
-       and MPC (Multiple Precision ComplexLibrary
-       http://www.multiprecision.org/)
+        ^mpc$
+        multi.*precision
 }
 
-~dev-libs/mpfr {
-       MPFR (MP Floating-Point Reliable Library
-       mpfr
-       http://mpfr.org/)
-}
+~dev-libs/mpfr :: mpfr
+
 # FIXME versions -> fuzzy
-dev-libs/quantlib {
-       QuantLib libraries must be installed
-       QuantLib library (>= 0.8.1) from http://quantlib.org
-       QuantLib library (>= 0.9.0) from http://quantlib.org
-       QuantLib library (>= 0.9.7) from http://quantlib.org
-       QuantLib library (>= 0.9.7) fromhttp://quantlib.org
-       QuantLib library (>= 0.9.9) fromhttp://quantlib.org
-       QuantLib library from http://quantlib.org
-}
+dev-libs/quantlib :: QuantLib
 
 ~dev-libs/quantlib {
        QuantLib library
 }
 
-~dev-libs/xerces-c {
-       xerces-c
-       libxerces-c
-}
+~dev-libs/xerces-c :: xerces-c
 
 ~sys-devel/clang {
        clang
 }
 
-dev-libs/geoip {
-       GeoIP from MaxMinds
-}
+dev-libs/geoip :: GeoIP
 
-dev-libs/icu {
-       ICU4C (>= 50
-       ICU4C (>= 52
-}
+dev-libs/icu :: ICU4C

diff --git a/config/simple-deprules.d/dot_remap 
b/config/simple-deprules.d/dot_remap
deleted file mode 100644
index 03aa2f4..0000000
--- a/config/simple-deprules.d/dot_remap
+++ /dev/null
@@ -1,134 +0,0 @@
-#! NOPARSE
-#
-# !!! This file should no longer be necessary
-# (the dynamic selfdep pool is able to remap dots automatically)
-#
-
-#deptype pkg,selfdep
-
-~sci-R/aroma_affymetrix :: aroma.affymetrix
-~sci-R/aroma_apd :: aroma.apd
-~sci-R/aroma_core :: aroma.core
-~sci-R/aroma_light :: aroma.light
-
-~sci-R/bio_infer :: bio.infer
-
-~sci-R/Ckmeans_1d_dp :: Ckmeans.1d.dp
-~sci-R/clim_pact :: clim.pact
-~sci-R/compute_es :: compute.es
-~sci-R/conf_design :: conf.design
-
-~sci-R/data_table :: data.table
-~sci-R/DoE_base :: DoE.base
-~sci-R/DoE_wrapper :: DoE.wrapper
-
-~sci-R/ergm_userterms :: ergm.userterms
-
-~sci-R/FrF2_catlg128 :: FrF2.catlg128
-~sci-R/FunciSNP :: FunciSNP.data
-~sci-R/futile_any :: futile.any
-~sci-R/futile_logger :: futile.logger
-~sci-R/futile_matrix :: futile.matrix
-~sci-R/futile_options :: futile.options
-~sci-R/futile_paradigm :: futile.paradigm
-
-~sci-R/gamlss_data :: gamlss.data
-~sci-R/gamlss_dist :: gamlss.dist
-~sci-R/gamlss_nl :: gamlss.nl
-~sci-R/gamlss_tr :: gamlss.tr
-~sci-R/gamlss_util :: gamlss.util
-~sci-R/GO_db :: GO.db
-
-~sci-R/haplo_score :: haplo_score
-~sci-R/haplo_stats :: haplo_stats
-~sci-R/heapmap_plus :: heatmap.plus
-
-~sci-R/lava_tobit :: lava.tobit
-
-~sci-R/minpack_lm :: minpack.lm
-
-~sci-R/opencpu_encode :: opencpu.encode
-~sci-R/openNLPmodels_en :: openNLPmodels.en
-~sci-R/openNLPmodels_es :: openNLPmodels.es
-~sci-R/operator_tools :: operator.tools
-~sci-R/orloca_es :: orloca.es
-~sci-R/oro_dicom :: oro.dicom
-~sci-R/oro_nifti :: oro.nifti
-
-~sci-R/org_Ag_eg_db :: org.Ag.eg.db
-~sci-R/org_At_tair_db :: org.At.tair.db
-~sci-R/org_Bt_eg_db :: org.Bt.eg.db
-~sci-R/org_Ce_eg_db :: org.Ce.eg.db
-~sci-R/org_Cf_eg_db :: org.Cf.eg.db
-~sci-R/org_Dm_eg_db :: org.Dm.eg.db
-~sci-R/org_Dr_eg_db :: org.Dr.eg.db
-~sci-R/org_EcK12_eg_db :: org.EcK12.eg.db
-~sci-R/org_EcSakai_eg_db :: org.EcSakai.eg.db
-~sci-R/org_Gg_eg_db :: org.Gg.eg.db
-~sci-R/org_Hs_eg_db :: org.Hs.eg.db
-~sci-R/org_Mm_eg_db :: org.Mm.eg.db
-~sci-R/org_Mmu_eg_db :: org.Mmu.eg.db
-~sci-R/org_Pf_plasmo_db :: org.Pf.plasmo.db
-~sci-R/org_Pt_eg_db :: org.Pt.eg.db
-~sci-R/org_Rn_eg_db :: org.Rn.eg.db
-~sci-R/org_Sc_sgd_db :: org.Sc.sgd.db
-~sci-R/org_Sco_eg_db :: org.Sco.eg.db
-~sci-R/org_Ss_eg_db :: org.Ss.eg.db
-~sci-R/org_Xl_eg_db :: org.Xl.eg.db
-
-~sci-R/R_cache :: R.cache
-~sci-R/RcmdrPlugin_IPSUR :: RcmdrPlugin.IPSUR
-~sci-R/R_devices :: R.devices
-~sci-R/R_filesets :: R.filesets
-~sci-R/R_huge :: R.huge
-~sci-R/R_matlab :: R.matlab
-~sci-R/R_methodsS3 :: R.methodsS3
-~sci-R/ROI_plugin_glpk :: ROI.plugin.glpk
-~sci-R/ROI_plugin_quadprog :: ROI.plugin.quadprog
-~sci-R/ROI_plugin_symphony :: ROI.plugin.symphony
-~sci-R/R_oo :: R.oo
-~sci-R/rpart_plot :: rpart.plot
-~sci-R/R_rsp :: R.rsp
-~sci-R/RSQLite_extfuns :: RSQLite.extfuns
-~sci-R/R_utils :: R.utils
-
-~sci-R/Sim_DiffProc :: Sim.DiffProc
-~sci-R/SNPMaP_cdm :: SNPMaP.cdm
-~sci-R/survJamda_data :: survJamda.data
-
-~sci-R/tawny_types :: tawny.types
-
-~sci-R/DO_db :: DO.db
-~sci-R/IlluminaHumanMethylation27k_db :: IlluminaHumanMethylation27k.db
-~sci-R/IlluminaHumanMethylation450k_db :: IlluminaHumanMethylation450k.db
-~sci-R/KEGG_db :: KEGG.db
-~sci-R/SNPlocs_Hsapiens_dbSNP_20090506 :: SNPlocs.Hsapiens.dbSNP.20090506
-~sci-R/SNPlocs_Hsapiens_dbSNP_20100427 :: SNPlocs.Hsapiens.dbSNP.20100427
-~sci-R/SNPlocs_Hsapiens_dbSNP_20101109 :: SNPlocs.Hsapiens.dbSNP.20101109
-~sci-R/gahgu133plus2_db :: gahgu133plus2.db
-~sci-R/hgfocus_db :: hgfocus.db
-~sci-R/hgu133a_db :: hgu133a.db
-~sci-R/hgu133plus2_db :: hgu133plus2.db
-~sci-R/hgu95a_db :: hgu95a.db
-~sci-R/hgu95av2_db :: hgu95av2.db
-~sci-R/hgug4112a_db :: hgug4112a.db
-~sci-R/hu6800_db :: hu6800.db
-~sci-R/illuminaHumanv1_db :: illuminaHumanv1.db
-~sci-R/nutshell_bbdb :: nutshell.bbdb
-~sci-R/reactome_db :: reactome.db
-
-~sci-R/RmiR_Hs_miRNA :: RmiR.Hs.miRNA
-~sci-R/TxDb_Hsapiens_UCSC_hg18_knownGene :: TxDb.Hsapiens.UCSC.hg18.knownGene
-~sci-R/TxDb_Hsapiens_UCSC_hg19_knownGene :: TxDb.Hsapiens.UCSC.hg19.knownGene
-~sci-R/bigmemory_sri :: bigmemory.sri
-~sci-R/gamlss_add :: gamlss.add
-~sci-R/gemtc_jar :: gemtc.jar
-~sci-R/haplo_stats :: haplo.stats
-~sci-R/nutshell_audioscrobbler :: nutshell.audioscrobbler
-~sci-R/pd_charm_hg18_example :: pd.charm.hg18.example
-~sci-R/pd_mapping250k_nsp :: pd.mapping250k.nsp
-~sci-R/pd_mapping250k_sty :: pd.mapping250k.sty
-~sci-R/pd_mapping50k_hind240 :: pd.mapping50k.hind240
-~sci-R/pd_mapping50k_xba240 :: pd.mapping50k.xba240
-~sci-R/simdat_base :: simdat.base
-

diff --git a/config/simple-deprules.d/ignored_text 
b/config/simple-deprules.d/ignored_text
index 097f004..b05353d 100644
--- a/config/simple-deprules.d/ignored_text
+++ b/config/simple-deprules.d/ignored_text
@@ -2,78 +2,53 @@
 
 # ignored text
 ! {
-       available at <http://csound.sourceforge.net/>. 
See<http://playitbyr.org/csound.html> for more guidance on settingup Csound.
-       available at<http://csound.sourceforge.net/>. This package uses the 
sharedlibrary file
-       becauseBRugs does not support other platforms/OS right now.
-       binary Linux distributions often package thelibrary separately from the 
executible file
-       it is an extension for the R package tcltk that consists of Tclscripts. 
See README file.
-       all other functions are stand alone)
-       see also the topic 'SoPhy' in the documentation
-       see also the topic'SoPhy' in the documentation
-       see file README
-       see README
-       see README.
-       see ./README.
-       see the cloudRmpi manual (vignette)for details.
+       does not support
+       all other functions are stand alone
+        documentation
+        README
+        INSTALL
+        so for instance
+        optional
+        suggested
+        See the
        see topic SoPhy below
-       so for instance onDebian and Ubuntu you would need the 
"libcsound64-dev" package.See the package web site for more guidance on setup 
andconfiguration.
-       so for instance onDebian and Ubuntu you would need the 
"libcsound64-dev" package.See the web site below for more guidance on setup.
        some Windows variants are supported experimentally
-       your mileage may vary)
-       optional)
-       heavily suggested)
-       and Windows
-       hence Windows or Linux
-       $distributions package thelibrary file separately from the executible
-       libraries(See the INSTALL file)
-       or INSTALL.windows under Windows
-       standard unix tools (e.g.
-       rgdal OSX binary packages are also available at the samesite.
-       rgdal OSX binary packages are also available at the same site.
-       probably)
-       Linux and Mac
-       MPICH2 (>= 1.4.1p1) on Windows
+       your mileage may vary
+       Windows
+       distributions package
+       distributions often package
+       probably
        which is included with standard Mac and Windowsinstallations of Csound. 
Some Linux distributions package thelibrary file separately from the executible
-       playitbyr creates sound using the csound package
-       which requires the free and open source software synthesizerCsound
-       A valid copy of the Csound library must present.Csound can be 
downloaded Thelibrary is included in the Windows and Mac OS X binaries
-       A valid copy of the Csound library must present.Csound can be 
downloaded Thelibrary is included in the Windows
        binary Linux distributions often package the library separatelyfrom the 
executible file
-       so for instance on Debian and Ubuntuyou would need the 
"libcsound64-dev" package.
        For the MERLIN wrapper
+        Debian
+        Ubuntu
        Mac
-       Mac OSX
-       Mac OS X
-       Mac OS X binaries
-       Mac.Parallel HDF5
+        OSX
+       OS X
        Linux/64bit
        sources are included for other OSes.
        see readme.txt
-       so for instance on Debian
-       so for instance onDebian
-       Ubuntu you would need the "libcsound64-dev" package.See the package web 
site for more guidance on setup andconfiguration.
-       Ubuntuyou would need the "libcsound64-dev" package.
-       which is included with standard Mac
+       so for instance
+        you would need the
        which requires the free
-       drivers.
+       drivers
        License
        its development files
-       library (version2.2.0 or later)
-       libraries(See README.REQ)
-       Google Chrome for Windows
+       ^library
+       Google Chrome
        for externalization
        writing some graphicformats
-       available athttp://www.monetdb.org
-       it is used in the demos too).
+       available at
+       it is used in the demos too
        headers
-       OpenCSW.
+       OpenCSW
+       Linux
+       precision AMD or Nvidia GPU
+       ^and$
+       in addition
 }
 
-# that's a hardware requirement
-! :: double-precision AMD or Nvidia GPU
-
-% :: Linux
-
 # ignore "Windows" in dependency fields:
 # (a) there's OS_Type for OS restrictions
 # (b) it's a filler word sometimes ("xyz on Solaris, Linux and Windows")
@@ -89,28 +64,12 @@
 ! :: None
 
 ! {
-       Will use djmrgl or rgl packages for rendering ifpresent
-       Will use djmrgl or rgl packages for rendering if present
-       SYMPHONY for Windows (sources included for otherOSes)
+       Will use djmrgl or rgl packages for rendering
        SYMPHONY libraries
 }
 
-# ignore OSX recommendations
-! {
-       GDAL OSX frameworks built by William Kyngesburye at 
http://www.kyngchaos.com/ may be used for source installs on OSX
-       GDAL OSXframeworks built by William Kyngesburye 
athttp://www.kyngchaos.com/ may be used for source installs onOSX
-       GDAL OSXframeworks built by William Kyngesburye 
athttp://www.kyngchaos.com/ may be used for source installs onOSX.
-}
-
-! {
-       GEOS OSX frameworks built byWilliam Kyngesburye at 
http://www.kyngchaos.com/ may be usedfor source installs on OSX.
-}
-
 # SoPhy splits its Depends field into windows and linux
 ! {
-       windows:Tiff for windows
-       windows: Tiff (libtiff3.dll)
-       windows: Tiff(libtiff3.dll)
        zlib1.dll and jpeg62.dll
 }
 

diff --git a/config/simple-deprules.d/media b/config/simple-deprules.d/media
index 41d8a03..3392d87 100644
--- a/config/simple-deprules.d/media
+++ b/config/simple-deprules.d/media
@@ -12,7 +12,7 @@ media-sound/csound {
 
 #deptype all
 media-gfx/imagemagick {
-       Image Magick (for reading non PPM format)
+       Image Magick
 }
 #deptype sys
 
@@ -23,25 +23,15 @@ media-gfx/graphviz :: dot from graphviz
 }
 
 media-gfx/swftools {
-       SWF Tools (http://swftools.org) forsaveSWF()
-       SWF Tools (http://swftools.org) for saveSWF()
+       SWF.*Tools
 }
 
 virtual/ffmpeg {
-       FFmpeg (http://ffmpeg.org) for saveVideo()
-       FFmpeg(http://ffmpeg.org) for saveVideo()
        ffmpeg
 }
 
-media-gfx/dcraw {
-       dcraw(for reading RAW images).
-       dcraw (for readingRAW images).
-}
+media-gfx/dcraw :: dcraw
 
-media-libs/fontconfig {
-       fontconfig
-}
+media-libs/fontconfig :: fontconfig
 
-media-fonts/corefonts {
-       msttcorefonts
-}
+media-fonts/corefonts :: msttcorefonts

diff --git a/config/simple-deprules.d/media-libs 
b/config/simple-deprules.d/media-libs
index 8b7ba10..799335f 100644
--- a/config/simple-deprules.d/media-libs
+++ b/config/simple-deprules.d/media-libs
@@ -3,23 +3,15 @@
 ~media-libs/flac :: flac
 
 # FIXME: some packages write optional deps into SystemRequirements (e.g. rgl 
from CRAN)
-media-libs/freetype :: FreeType (optional)
 ~media-libs/freetype :: freetype
 media-libs/freetype:2 :: recommended: freetype2
 
-media-libs/gd {
-       libgd (>= 2.0.28 http://www.boutell.com/gd/)
-       libgd (>= 2.0.29 http://www.boutell.com/gd/)
-       libgd (freetype2
-}
+media-libs/gd :: libgd
+
+media-libs/libpng :: libpng
 
-media-libs/libpng {
-       libpng(>=1.2.9
-       libpng (optional)
-       libpng(optional)
-}
 ~media-libs/libpng {
-       png
+       png$
        libpng
 }
 
@@ -27,13 +19,9 @@ media-libs/libpng {
 
 ~media-libs/netpbm :: netpbm
 
-media-libs/raptor :: libraptor2 (>= 2.0.0 http://librdf.org/raptor/)
+media-libs/raptor :: libraptor
 
-media-libs/tiff {
-       linux: libtiff (and libtiff-devel)
-       optional libtiff
-       optionally libtiff
-}
+media-libs/tiff :: libtiff
 
 ~media-libs/tiff {
        tiff
@@ -41,8 +29,4 @@ media-libs/tiff {
        libtiff-devel
 }
 
-virtual/jpeg {
-       libjpeg
-       jpeg
-       jpeg libraries
-}
+virtual/jpeg :: jpeg

diff --git a/config/simple-deprules.d/misc b/config/simple-deprules.d/misc
index 9157f64..f403705 100644
--- a/config/simple-deprules.d/misc
+++ b/config/simple-deprules.d/misc
@@ -1,9 +1,7 @@
-dev-vcs/git {
-   git
-}
+dev-vcs/git :: ^git$
 
 >=app-emulation/wine-1.5.26 {
-   wine (>= wine-1.5.26)
+   wine.*1.5.26
 }
 
 

diff --git a/config/simple-deprules.d/net b/config/simple-deprules.d/net
index ab87ea8..a2e6184 100644
--- a/config/simple-deprules.d/net
+++ b/config/simple-deprules.d/net
@@ -1,31 +1,20 @@
 #deptype sys
 
-net-misc/curl {
-       curl (version 7.12.0) http://curl.haxx.se
-       curl (version 7.12.0 or higher)<http://curl.haxx.se>
-       curl (version 7.12.0 or higher) http://curl.haxx.se
-       curl (version 7.12.0 or higher) <http://curl.haxx.se>
-       curl (version 7.14.0 or higher) http://curl.haxx.se
-       you will often have toexplicitly install libcurl-devel to have the 
header files andthe libcurl library.
-       libcurl (version 7.14.0 or higher)http://curl.haxx.se. On Linux systems
-       you will oftenhave to explicitly install libcurl-devel to have 
theheader files
-       libcurl: libcurl-devel (rpm) orlibcurl4-openssl-dev (deb).
-}
+net-misc/curl :: curl
 ~net-misc/curl {
        curl
        libcurl
-       the libcurl library.
+       the libcurl library
 }
 
 # FIXME
 net-libs/czmq :: libzmq
 
-net-libs/zeromq {
-       or ZeroMQ library >=4.0.4. Solaris 10 needs ZeroMQ library 4.0.7
-}
+net-libs/zeromq :: ZeroMQ
 
 net-misc/s3cmd :: s3cmd
 
 virtual/ssh {
-       ssh daemon on the server side only:see the rreval manual (vignette) for 
details.
+       ^ssh
+        ssh$
 }

diff --git a/config/simple-deprules.d/nvidia b/config/simple-deprules.d/nvidia
index ed77098..69a5775 100644
--- a/config/simple-deprules.d/nvidia
+++ b/config/simple-deprules.d/nvidia
@@ -2,34 +2,24 @@
 
 # lowest cuda version in portage is 4.2.9
 dev-util/nvidia-cuda-toolkit {
-       NVIDIA CUDA Toolkit (>= release 3.0)
-       Nvidia CUDAToolkit (>= release 3.0)
-       Nvidia's CUDA toolkit (>= release 2.3)
-       NVIDIA CUDA Toolkit 3.1 or above
-       NVIDIA CUDAtoolkit
-       NVIDIA CUDA Toolkit (>= release 4.0)
+       NVIDIA.*CUDA.*Toolkit
 }
 
 >=dev-util/nvidia-cuda-toolkit-5.0 {
-       Nvidia's CUDA toolkit (>= release 5.0)
+       Nvidia's CUDA toolkit.*5.0
 }
 
 # FIXME cuda-toolkit or sdk?
 dev-util/nvidia-cuda-toolkit {
-       nvcc (>= release 2.1)
-       nvcc (>= release 2.1) nVidia GPU (compute number >=1.3)
-       nvcc (release 2.3) NVIDIA Cuda Compiler driver
-       nvcc (release 3.0) NVIDIA Cuda Compiler driver
-       nvcc (release >= 3.1) (NVIDIA Cuda Compilerdriver)
-       nvcc release 3.1 (NVIDIA Cuda Compiler driver)
+       nvcc
 }
 
 >=dev-util/nvidia-cuda-toolkit-4.1 {
-       Nvidia's CUDA toolkit (release >= 4.1)
+       Nvidia's CUDA toolkit.*4.1
 }
 
 >=dev-util/nvidia-cuda-toolkit-4.5 {
-       Nvidia's CUDA toolkit (>= release 4.5)
+       Nvidia's CUDA toolkit.*4.5
 }
 
 ~dev-util/nvidia-cuda-toolkit {
@@ -37,5 +27,5 @@ dev-util/nvidia-cuda-toolkit {
 }
 
 >=x11-drivers/nvidia-drivers-270 {
-       Nvidia CUDA driver (>= 270.xx.xx)
+       Nvidia CUDA driver.*270
 }

diff --git a/config/simple-deprules.d/sci b/config/simple-deprules.d/sci
index 70521d9..6a93b72 100644
--- a/config/simple-deprules.d/sci
+++ b/config/simple-deprules.d/sci
@@ -2,8 +2,7 @@
 
 # == geo ==
 ~sci-geosciences/gmt {
-       libgmt
-       gmt
+       gmt$
 }
 ~sci-geosciences/grass :: grass
 
@@ -11,44 +10,35 @@
 
 ~sci-mathematics/glpk {
        glpk
-       GLPK library package (e.g.
 }
 
 ~sci-mathematics/jags :: jags
-sci-mathematics/jags :: jags (see http://mcmc-jags.sourceforge.net)
-
-sci-mathematics/jags {
-       JAGS (>= 3.2.0) (or WinBUGS (>= 1.4) or OpenBUGS(>= 3.2.2))
-}
 
 # lowest octave version in portage is 3.4
 sci-mathematics/octave {
-       Octave (>= 3.2.4) and its development files
+       Octave
 }
 
 # lowest version in portage is 2.3.4-r1
 sci-mathematics/pari {
-       PARI/GP >= 2.3.0 [strongly recommended for logkda()]
-       PARI/GP >= 2.3.0 [strongly recommended forlogkda()]
        pari/gp
 }
 
 sci-mathematics/singular {
-       Singular (http://www.singular.uni-kl.de) for exactcalculation of the 
MFR for graphs without splitting edges (onlyfor Unix systems).
+       Singular
 }
 
 ~sci-mathematics/yacas :: yacas
 sci-mathematics/yacas {
-       yacas (= 1.0.63) # instructions on home page
-       yacas (>= 1.0.63) # instructions on home page
+       yacas
 }
 
 sci-mathematics/octave {
-       Octave (>= 3.2.4)
+       Octave
 }
 
 sci-libs/netcdf {
-       NetCDF4 (4.1 or later) libraries.
+       NetCDF4
 }
 
 # there's also sci-biology/clustalw-mpi
@@ -58,8 +48,8 @@ sci-biology/clustalw {
 }
 
 sci-biology/ncbi-tools++ {
-       ncbi-blast+
-       ncbi-tools++
+       ncbi-blast\+
+       ncbi-tools\+\+
 }
 
 sci-biology/kalign {
@@ -67,13 +57,13 @@ sci-biology/kalign {
 }
 
 sci-mathematics/glpk {
-       libglpk-dev onDebian/Ubuntu)
+       libglpk-dev
 }
 
 #deptype all
 
 # some packages have glpk in "pkg" deps
-# (FIXME: does glpk in that context refer to an R package?)
+# FIXME: does glpk in that context refer to an R package?
 ~sci-mathematics/glpk {
        glpk
 }
@@ -94,14 +84,14 @@ sci-mathematics/rstudio {
 
 # lowest sci-physics/root version in portage is 5.32.03
 sci-physics/root {
-       root_v5.32.01 <http://root.cern.ch> - See READMEfile for installation 
instructions.
+       root_v5.32.01
 }
 
 # == visualization ==
 
 ~sci-visualization/ggobi :: ggobi
 
-sci-biology/merlin :: MERLIN(www.sph.umich.edu/csg/abecasis/merlin) must be 
installed andpointed to in the PATH environment variable.
+sci-biology/merlin :: MERLIN
 
 sci-visualization/gnuplot {
        gnuplot

diff --git a/config/simple-deprules.d/sci-libs 
b/config/simple-deprules.d/sci-libs
index 14da6a3..45506a8 100644
--- a/config/simple-deprules.d/sci-libs
+++ b/config/simple-deprules.d/sci-libs
@@ -8,15 +8,13 @@
 # Use slot when the resolver can deal with them properly
 >=sci-libs/fftw-3 {
        fftw3
-       fftw3 (optional)
 }
 ~sci-libs/fftw :: fftw
 # Use slot when the resolver can deal with them properly
 ~sci-libs/fftw :: fftw3
 
 sci-libs/gdal {
-       GDAL library from http://www.gdal.org/download.html
-       GDAL library from http://www.remotesensing.org/gdal/download.html
+       GDAL library
 
 }
 ~sci-libs/gdal {
@@ -30,37 +28,29 @@ sci-libs/gdal {
 }
 
 sci-libs/gsl {
-       gsl. Note: users should have GSL installed. Windowsusers: 'consult the 
README file available in the inst directoryof the source distribution for 
necessary configurationinstructions'.
-       gsl (with development libraries)
+       ^gsl
 }
 ~sci-libs/gsl {
        GNU GSL
-       gsl
+       ^gsl
        libgsl
-       libgslcblas
-       GNU GSL for the GSL random-number generators
-       GNU GSL forthe GSL random-number generators
-       GNU Scientific Library (GSL)
-       GNU Scientific Library version
+       GNU Scientific Library
 }
 
 ~sci-libs/hdf5 :: hdf5
 sci-libs/hdf5[cxx] {
-       libhdf5 (>= 1.8.x) with C++ interface(--enable-cxx=yes)
-       libhdf5 (>= 1.8.12) with C++ interface(--enable-cxx=yes)
+       libhdf5.*C\+\+
 }
 # remnant of hdf5
 ! :: v18 API enabled
 
 ~sci-libs/itpp {
-       itpp
-       libitpp
+       itpp$
 }
 
 # FIXME: dev-lang/R[lapack]?
 virtual/lapack {
-       LAPACK sharedlibrary
-       LAPACKshared library
+       LAPACK
 }
 
 sci-libs/lapack-atlas :: lapack_atlas
@@ -70,19 +60,12 @@ sci-libs/libsvm :: SVMlight
 
 ~sci-libs/mkl :: Intel MKL
 
-sci-libs/netcdf :: netcdf library version 4.1 or later
 ~sci-libs/netcdf :: netcdf
 
-sci-libs/proj :: proj 4.4.6 or higher (http://proj.maptools.org/)
->=sci-libs/proj-4.4.9 :: PROJ.4(proj >= 4.4.9)
-
+sci-libs/proj :: ^proj
 
 # FIXME, portage version is 2.1.21
-sci-libs/udunits :: udunits (>= 1.11.7) or udunits2(>= 2.1.22)
-~sci-libs/udunits {
-       udunits
-       udunits-2
-}
+sci-libs/udunits :: udunits
 
 virtual/blas :: blas
 

diff --git a/config/simple-deprules.d/selfdeps 
b/config/simple-deprules.d/selfdeps
deleted file mode 100644
index 63e49bc..0000000
--- a/config/simple-deprules.d/selfdeps
+++ /dev/null
@@ -1,22 +0,0 @@
-#! NOPARSE
-#! ERROR
-# Replaced by the selfdeps.d directory, which contains per-repo selfdep files.
-#
-# This file lists old rules, which are not yet included there.
-#
-
-#deptype pkg,selfdep
-
-sci-R/chron :: get.hist.quote needs packagechron.
-
-# FIXME: correct?
-~sci-R/CoCo {
-       CoCoCore
-       CoCoObjects
-       CoCoRaw
-}
-sci-R/survival4 :: survival4 if survival models are to be used.
-~sci-R/survival5 :: survival5 for some examples
-sci-R/survival5 :: survival5 if survival models are to be used.
-
-~sci-R/VhayuR :: Vhayu

diff --git a/config/simple-deprules.d/selfdeps.d/sci-CRAN 
b/config/simple-deprules.d/selfdeps.d/sci-CRAN
index 5935939..0994353 100644
--- a/config/simple-deprules.d/selfdeps.d/sci-CRAN
+++ b/config/simple-deprules.d/selfdeps.d/sci-CRAN
@@ -1,30 +1,29 @@
 #deptype pkg,selfdep
 
 sci-CRAN/csound {
-   A valid copy of the Csound library must be present.Csound can be downloaded 
from http://www.csounds.com. Thelibrary is included in the default Windows and 
Mac OS Xdistributions
-   playitbyr creates sound using the csound package
-   which requires the free and open source software synthesizerCsound
+   Csound
 }
 
-~sci-CRAN/mimR :: mim
+# IRKernel has a conflicting named sci-R/repr.
+~sci-CRAN/repr :: ^repr$
+
+~sci-CRAN/mimR :: ^mim$
 
 sci-CRAN/quadprog :: portfolio.optim needs package quadprog
 
 sci-CRAN/rgl :: rgl packages for rendering
 
 sci-CRAN/MVA {
-   white.test needs packagemva
-   white.test needs package mva
+   package.*mva
 }
 
 ~sci-CRAN/sgeostat {
-   sgeostat.
-   geostat.
+   geostat
 }
 
 # the following rule is _not_ correct
-#  (the dependency strings listed here want the "xgobi" program from
-#   http://www.research.att.com/areas/stat/xgobi/, not the R package)
+#  the dependency strings listed here want the "xgobi" program from
+#   http://www.research.att.com/areas/stat/xgobi/, not the R package
 #
 ## sci-CRAN/xgobi {
 ##    xgobi must be installed additionally
@@ -33,8 +32,6 @@ sci-CRAN/MVA {
 
 ~sci-CRAN/BayesFactor :: BayesFactorPCL
 
->=sci-CRAN/adimpro-0.4.2 :: adimpro (>= 0.4.2)The R-package 'adimpro' (for 
reading
-
 sci-CRAN/adimpro {
-   The R-package 'adimpro' (for reading
+   adimpro
 }

diff --git a/config/simple-deprules.d/sys b/config/simple-deprules.d/sys
index b2fa9bd..88ddb06 100644
--- a/config/simple-deprules.d/sys
+++ b/config/simple-deprules.d/sys
@@ -2,25 +2,19 @@
 
 ~sys-libs/db {
        BerkelyDB
-       BerkeleyDB
-       Oracle Berkeley DB 11gR2
+       Berkeley.*DB
 }
 
 ~sys-libs/zlib :: zlib
-sys-libs/zlib :: zlib (optional)
 
 # => sys-cluster/
 virtual/mpi {
-       LamMPI(>= 6.5.9) or MPICH2(>= 1.0.2) or OpenMPI ()
-       LamMpi(>= 6.5.9) or Mpich2(>= 1.0.2)
-       OpenMPI (>= 1.5.4) on Linux
-       OpenMPI or MPICH2
-}
-
-# the "... on Windows" line could probably be ignored
-virtual/mpi {
+       LamMPI
+       Open.*MPI
+        MPICH2
        MPI2
-       MPICH2 (>=1.4.1p1) on Windows
+       MPICH2
+       MPI.*library
 }
 
 ! {
@@ -32,17 +26,15 @@ virtual/mpi {
 ~sci-R/Rcpp :: Rcpp
 
 # Split across multiple lines, next line adds Linux and Mac
->=sys-cluster/openmpi-1.5.4 :: OpenMPI (>= 1.5.4) on Solaris
+>=sys-cluster/openmpi-1.5.4 :: OpenMPI
 
 @selfdep
-sci-R/rJava :: JRI
-
-~app-text/pandoc :: Pandoc (http://johnmacfarlane.net/pandoc) forexporting 
markdown files to other formats.
+sci-R/rJava :: ^JRI$
 
->=dev-tcltk/tktable-2.9 :: Tktable (>= 2.9
+~dev-tcltk/tktable :: Tktable
 
->=app-text/aspell-0.60 :: aspell (>= 0.60
+~app-text/aspell :: aspell
 
-dev-libs/openssl :: OpenSSL library
+dev-libs/openssl :: OpenSSL
 
-~app-crypt/dieharder :: DieHarder library
+~app-crypt/dieharder :: DieHarder

diff --git a/config/simple-deprules.d/system.set 
b/config/simple-deprules.d/system.set
index 54fc6a5..1e9b3e8 100644
--- a/config/simple-deprules.d/system.set
+++ b/config/simple-deprules.d/system.set
@@ -2,43 +2,26 @@
 
 # @system
 ! {
+       bash
+       ^awk$
+       gmake
        GNU make
-       GNU Make
-       GNU Make forexternalization
-       andg++ GNU compiler (a nvcc-compatible version of g++ is needed
-       andg++ GNU compiler version 3.4 (version 4.4 is not yet compatiblewith 
nvcc).
-       chmod)
-}
-
-% :: gcc
-# FIXME: newer gcc versions could work, too
-<sys-devel/gcc-4.4 :: gcc/g++ version 4.4 is not yet compatible with nvcc).
-<=sys-devel/gcc-4.5 :: gcc (release <= 4.5).
-
-#sys-devel/gcc[cxx] :: g++ or Microsoft VC++
-! :: g++ or Microsoft VC++
-! {
-       g++-4.6.* or later should be sufficient
-       g++-4.9.* or lateris preferred.
-       gcc (release >= 4.5).
-       C++11
-       C++11 (supporting at least std=c++0x)
-       A C++11 compiler. Version 4.6.* of g++ (ascurrently in Rtools) is 
insufficient
+       g\+\+ GNU compiler
+       chmod
+        ^gcc
+        ^g\+\+
+        ^C\+\+11
+        C\+\+11.*compiler
 }
 
 # always provided? (except for Gentoo/*BSD)
 ! {
-       Linux operating system
-       Linux operating system.
-       Linuxoperationg system
+       Linux.*operating.*system
 }
 # always provided
 ! {
-       POSIX-compliant OS (essentially anything but Windows)
-       POSIX-compliant OS (essentially anything butWindows
-       POSIX-compliant OS (essentially anything butWindows)
+       POSIX.*OS
        Unix
-       A 64-bit POSIX OS such as Linux or OS X with IANAtime zone data in 
/usr/share/zoneinfo as well as a C++11compiler.
 }
 
 # rpcgen is part of glibc

diff --git a/config/simple-deprules.d/unknown b/config/simple-deprules.d/unknown
index 8d1549d..04d20b6 100644
--- a/config/simple-deprules.d/unknown
+++ b/config/simple-deprules.d/unknown
@@ -2,7 +2,6 @@
 
 # FIXME: which library is meant?
 ! {
-       A C library with the fesetround/fegetroundfunctions.
-       library.
-       library
+       ^C.*library
+       ^library
 }

diff --git a/config/simple-deprules.d/x11 b/config/simple-deprules.d/x11
index 2858ddd..ff93d39 100644
--- a/config/simple-deprules.d/x11
+++ b/config/simple-deprules.d/x11
@@ -1,26 +1,22 @@
 #deptype sys
 
-x11-libs/cairo :: cairo (>= 1.2 http://www.cairographics.org/)
 ~x11-libs/cairo :: cairo
 
-~x11-libs/gtk+ :: gtk+
+~x11-libs/gtk+ :: gtk\+
 
 ~x11-libs/pango :: pango
 
 # qt has its own category now
 dev-qt/qtcore {
-       qt
-       Qt4 libraries and headers (http://qt.nokia.com)
-       Qt4 libraries
+       ^qt$
+       ^Qt4.*libraries
 }
-! :: headers (http://qt.nokia.com)
 
 x11-misc/xclip {
-       xclip (Linux)
+       xclip
 }
 
 virtual/opencl {
-       OpenCL library
        OpenCl
 }
 

diff --git a/roverlay/depres/simpledeprule/abstractrules.py 
b/roverlay/depres/simpledeprule/abstractrules.py
index d31ffbe..a1d8522 100644
--- a/roverlay/depres/simpledeprule/abstractrules.py
+++ b/roverlay/depres/simpledeprule/abstractrules.py
@@ -8,7 +8,7 @@
 
 __all__ = [ 'FuzzySimpleRule', 'SimpleRule', ]
 
-import logging
+import logging, re
 
 from roverlay import config
 from roverlay.depres import deprule
@@ -21,7 +21,7 @@ class SimpleRule ( deprule.DependencyRule ):
    INDENT = 3 * ' '
 
    def __init__ ( self,
-      dep_str=None, priority=50, resolving_package=None,
+      dep_str=None, priority=80, resolving_package=None,
       is_selfdep=0, logger_name='simple_rule',
       selfdep_package_names=None, finalize=False,
    ):
@@ -67,6 +67,10 @@ class SimpleRule ( deprule.DependencyRule ):
       self.dep_alias = frozenset ( self.dep_alias )
       if self.prepare_lowercase_alias:
          self.dep_alias_low = frozenset ( x.lower() for x in self.dep_alias )
+         temp_set = self.dep_alias_low
+         if self.is_selfdep:
+            temp_set = ("^{}$".format(x) for x in self.dep_alias_low)
+         self.dep_regex = re.compile('|'.join(x for x in temp_set))
 
    def add_resolved ( self, dep_str ):
       """Adds an dependency string that should be matched by this rule.
@@ -80,7 +84,7 @@ class SimpleRule ( deprule.DependencyRule ):
    def _find ( self, dep_str, lowercase ):
       if lowercase:
          if hasattr ( self, 'dep_alias_low' ):
-            if dep_str in self.dep_alias_low:
+            if self.dep_regex.search(dep_str):
                return True
 
          elif dep_str in ( alias.lower() for alias in self.dep_alias ):

diff --git a/roverlay/depres/simpledeprule/rules.py 
b/roverlay/depres/simpledeprule/rules.py
index 869c5aa..12c6520 100644
--- a/roverlay/depres/simpledeprule/rules.py
+++ b/roverlay/depres/simpledeprule/rules.py
@@ -151,11 +151,11 @@ class SimpleIgnoreDependencyRule ( SimpleRule ):
 
    RULE_PREFIX = '!'
 
-   def __init__ ( self, priority=50, resolving_package=None, **kw ):
+   def __init__ ( self, priority=80, resolving_package=None, **kw ):
       super ( SimpleIgnoreDependencyRule, self ) . __init__ (
          logger_name = 'IGNORE_DEPS',
          resolving_package=None,
-         priority=50,
+         priority=80,
          **kw
       )
 # --- end of SimpleIgnoreDependencyRule ---
@@ -187,7 +187,7 @@ class SimpleFuzzyIgnoreDependencyRule ( FuzzySimpleRule ):
 
    RULE_PREFIX = '%'
 
-   def __init__ ( self, priority=51, resolving_package=None, **kw ):
+   def __init__ ( self, priority=81, resolving_package=None, **kw ):
       super ( SimpleFuzzyIgnoreDependencyRule, self ) . __init__ (
          priority=priority,
          resolving_package=resolving_package,

Reply via email to