The top were all supposed to be Requires (first was botched), the second set BuildRequires. I merged the if/else statements to make it a little clearer. Also > 19 is (release) 2.0.0, 17-19 are (abi) = 1.9.1. Anything lower is (abi) = 1.8. We could bump it to > 18, since 20 is nearly out and 18 will be unsupported soon anyway, but the logic should work as is.