--- buildcore.mk	2012-04-24 10:59:13.000000000 -0300
+++ buildcore.mk.new	2012-04-24 11:04:00.000000000 -0300
@@ -239,19 +239,10 @@
 	@bdep='$(strip $(CDBS_BUILD_DEPENDS))' perl -n \
 		-e 'my $$bd = $$ENV{"bdep"};' \
 		-e '$$bd =~ $(cdbs_re_squash_extended_space);' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.106~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~|0\.4\.85~|0\.4\.90~|0\.4\.91~|0\.4\.93~|0\.4\.97~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.97~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~|0\.4\.85~|0\.4\.90~|0\.4\.91~|0\.4\.93~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.93~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~|0\.4\.85~|0\.4\.90~|0\.4\.91~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.91~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~|0\.4\.85~|0\.4\.90~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.90~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~|0\.4\.85~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.85~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~|0\.4\.78~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.78~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~|0\.4\.75~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.75~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~|0\.4\.73~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.73~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~|0\.4\.72~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.72~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~|0\.4\.70~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.70~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~|0\.4\.69~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.69~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53|0\.4\.67~)\)/, /g;' \
-		-e '$$bd =~ /\bcdbs \(>= 0\.4\.67~\)/ && $$bd =~ s/\bcdbs *\(>= (0\.4\.53)\)/, /g;' \
+		-e 'my @matches = $$bd =~ /\bcdbs \(>= 0\.4\.(\d+~?)\)/g;' \
+		-e 'my $$max = (sort { $$b <=> $$a } @matches)[0];' \
+		-e '$$bd =~ s/\bcdbs \(>= [0-9.~]+\)//g;' \
+		-e '$$bd =~ s/^/cdbs (>= 0.4.$$max), /;' \
 		-e '$$bd =~ $(cdbs_re_pkg_strip_unversioned_before_maybeversioned);' \
 		-e '$$bd =~ $(cdbs_re_pkg_strip_versioned_before_sameversioned);' \
 		-e '$$bd =~ $(cdbs_re_pkg_strip_unversioned_after_versioned);' \
