<div dir="ltr">Hi everyone!<div><br></div><div>ICU 62 just landed in Fedora&#39;s Rawhide, which means that I&#39;ve been forced to deal with the failure of the library to build against ICU 61+ that others have addressed. I have worked up a patch to the CMake system that detects when ICU is higher than version 61 and handles that condition appropriately. In doing so, I rely on the much newer FindICU.cmake file included in upstream CMake. This bumps the minimum version of CMake needed up to version 3.7. This is fine everywhere in the RHEL/CentOS/Fedora world. It will run into some issues on the oldest LTS versions of Ubuntu still hanging around. I&#39;m not sure anyone is building for that ancient system anyway. If you are, be forewarned you&#39;ll have issues. Here is my proposed diff that&#39;s landing in Fedora for now and I&#39;ll land it into SVN if no one crows about it: <a href="https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-icu61.diff">https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-icu61.diff</a></div><div><br></div><div>Also, Fedora is getting ready to make the switch away from having Python 2 installed by default (Fedora 29) and is planning to deprecate all Python 2 versions sometime thereafter (Fedora 30? 31?). In the meantime, we&#39;re dealing with dual stack Python 2 and 3 versions in parallel, and we have been for a long time. I&#39;ve been ignoring this since it started, only shipping Python 2 bindings. I&#39;m now getting ready to ship Python 2 AND 3 bindings as options in Fedora 28+. As such, I&#39;ve worked up a patch that revamps how Python bindings are compiled in the CMake version of the library. Most of what happens was just down to parameterizing out a few places where the executable name was hard-coded and allowing two copies to be built in parallel. However, I also re-worked the CLI options. Previously, if you wanted to build Python bindings you had to pass -DSWORD_BINDINGS=&quot;Python&quot; to the CMake call. Similarly, if you wanted to build Perl bindings, you would do -DSWORD_BINDINGS=&quot;Perl&quot;. You would do =&quot;Python Perl&quot; if you wanted both. With this new patch, the options are now boolean flags, and there are separate ones for Python 2, 3, and Perl. So building for all three Swig targets would look like</div><div>-DSWORD_PYTHON_2:BOOL=TRUE -DSWORD_PYTHON_3:BOOL=TRUE -DSWORD_PERL:BOOL=TRUE</div><div>The changes for that live here: <a href="https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-swig.diff">https://src.fedoraproject.org/rpms/sword/blob/master/f/sword-1.8.1-swig.diff</a>.</div><div><br></div><div>I&#39;m still working on the finishing touches to both patches, but please weigh in if you have concerns, advice, or issues with my proposed changes.</div><div><br></div><div>--Greg</div></div>