p5-dbd-mysql: Fix variant conflicts issues and update perl versions

Fix issue where multiple variant conflicts were being set as a single
  conflict. Fixing this also allowed for the removal of the
  active_vartiants workaround.

  - fix variant conflicts
  - remove active variants workaround
  - fix typos

Closes: https://trac.macports.org/ticket/60517
Closes: https://trac.macports.org/ticket/71360
Closes: https://trac.macports.org/ticket/71381
This commit is contained in:
jhoyt4
2024-11-24 08:50:42 -05:00
committed by Ryan Carsten Schmidt
parent 3403301aea
commit da1205ed6f
+6 -26
View File
@@ -13,7 +13,7 @@ long_description {*}${description}
###############################################################################
# Create an array of DBD:MYSQL versions
###############################################################################
# "DBD:MYSQL Major Verion" {
# "DBD:MYSQL Major Version" {
# version DBD:MYSQL version
# rmd160 value
# sha256 value
@@ -85,9 +85,9 @@ perl5.setup DBD-mysql [lindex [array get $install_version versio
checksums rmd160 [lindex [array get $install_version rmd160] 1] \
sha256 [lindex [array get $install_version sha256] 1] \
size [lindex [array get $install_version size] 1]
# version gets set to the "current version" values to prevenet constant upgraing by port upgrade
# version gets set to the "current version" values to prevent constant upgrading by port upgrade
version [perl5_convert_version [lindex [array get version_current version] 1]]
revision 0
revision 1
if {${perl5.major} != ""} {
depends_build-append \
@@ -99,17 +99,12 @@ if {${perl5.major} != ""} {
port:p${perl5.major}-dbi
# loop over the array creating the specified variants
# with the multiple versioning change, the conflicts lists no longer apepears
# to be enforced, so this will be handled later in the pre-fetch stage with
# active_vaiants. The conflicts list is left here so the user gets the approprate
# warning when running port variant
# the {*} is necessary to break out the conflict_list into multiple variants vs.
# one single incorrectly formatted conflict
foreach variant_name [array names db_variants] {
set idx [lsearch [array names db_variants] $variant_name]
set conflict_list [lreplace [array names db_variants] $idx $idx]
variant $variant_name conflicts $conflict_list description "build with $variant_name" {}
if {[variant_isset $variant_name]} {
set active_conflicts $conflict_list
}
variant $variant_name conflicts {*}$conflict_list description "build with $variant_name" {}
}
# add the build dependencies, this must be done outside the variant call to work
@@ -125,21 +120,6 @@ if {${perl5.major} != ""} {
}
}
# Use active_variants to enforce that only one variant can be installed at any given time
pre-fetch {
if {![catch {set result [active_variants p${perl5.major}-dbd-mysql $active_conflicts ""]}]} {
ui_error "
****
**** p${perl5.major}-dbd-mysql can only have one active variant installed
**** If you need this vaiant, deactivate the previously installed one with
**** port deactivate p${perl5.major}-dbd-mysql
**** or uninstall is with
**** sudo port uninstall p${perl5.major}-dbd-mysql
****"
error "Error: p${perl5.major}-dbd-mysql variant already installed"
}
}
# livecheck workaround due to MetaCPAN indexing failure
livecheck.type regex
livecheck.url https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN