From 3f7c507a97b62ef814517adf3e9fae935db4ad04 Mon Sep 17 00:00:00 2001 From: Benda Xu Date: Wed, 30 May 2018 13:25:20 +0800 Subject: 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(-) delete mode 100644 config/simple-deprules.d/dot_remap delete mode 100644 config/simple-deprules.d/selfdeps 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 () 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 . See for more guidance on settingup Csound. - available at. 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) - curl (version 7.12.0 or higher) http://curl.haxx.se - curl (version 7.12.0 or higher) - 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 - 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 -= 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, -- cgit v1.2.3-65-gdbad