diff --git a/libftdi-cmake_swig.patch b/libftdi-cmake_swig.patch new file mode 100644 index 0000000..749f12a --- /dev/null +++ b/libftdi-cmake_swig.patch @@ -0,0 +1,21 @@ +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -1,3 +1,7 @@ ++# swig_add_module is depreceated and SWIG_MODULE__REAL_NAME is no ++# longer set by default so set policy to the old behavior. ++cmake_policy(SET CMP0078 OLD) ++ + option ( PYTHON_BINDINGS "Build python bindings via swig" ON ) + option ( LINK_PYTHON_LIBRARY "Link against python libraries" ON ) + +@@ -24,8 +28,9 @@ if ( SWIG_FOUND AND PYTHONLIBS_FOUND AND + + if ( DOCUMENTATION AND DOXYGEN_FOUND ) + set(CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND}) ++ set_property(SOURCE ftdi1.i PROPERTY DEPENDS ftdi1_doc.i) + endif() +- swig_add_module ( ftdi1 python ftdi1.i ) ++ swig_add_library ( ftdi1 LANGUAGE python SOURCES ftdi1.i ) + swig_link_libraries ( ftdi1 ftdi1 ) + + if ( LINK_PYTHON_LIBRARY ) diff --git a/libftdi.spec b/libftdi.spec index 368c659..64a7704 100644 --- a/libftdi.spec +++ b/libftdi.spec @@ -1,21 +1,25 @@ Name: libftdi Version: 1.3 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Library to program and control the FTDI USB controller License: LGPLv2 URL: http://www.intra2net.com/de/produkte/opensource/ftdi/ Source0: http://www.intra2net.com/en/developer/%{name}/download/%{name}1-%{version}.tar.bz2 -BuildRequires: boost-devel -BuildRequires: cmake +# Swig requirements have changed in newer versions of CMake. +# This should be sent upstream. +Patch0: libftdi-cmake_swig.patch + +BuildRequires: cmake gcc-c++ BuildRequires: doxygen +BuildRequires: boost-devel BuildRequires: libconfuse-devel BuildRequires: libusbx-devel BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: swig -BuildRequires: gcc-c++ + Requires: systemd @@ -32,6 +36,7 @@ Requires: pkgconfig %description devel Header files and static libraries for libftdi + %package -n python2-libftdi %{?python_provide:%python_provide python2-libftdi} # Remove before F30 @@ -44,6 +49,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python2-libftdi Libftdi Python Language bindings. + %package -n python3-libftdi %{?python_provide:%python_provide python3-libftdi} Summary: Libftdi library Python 3 binding @@ -52,6 +58,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description -n python3-libftdi Libftdi Python 3 Language bindings. + %package c++ Summary: Libftdi library C++ binding Requires: %{name}%{?_isa} = %{version}-%{release} @@ -59,6 +66,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description c++ Libftdi library C++ language binding. + %package c++-devel Summary: Libftdi library C++ binding development headers and libraries Requires: %{name}-devel = %{version}-%{release} @@ -70,12 +78,13 @@ for building C++ applications with libftdi. %prep -%setup -q -n %{name}1-%{version} +%autosetup -p1 -n %{name}1-%{version} #kernel does not provide usb_device anymore sed -i -e 's/usb_device/usb/g' packages/99-libftdi.rules sed -i -e 's/GROUP="plugdev"/TAG+="uaccess"/g' packages/99-libftdi.rules + %build export CMAKE_PREFIX_PATH=/usr @@ -94,6 +103,7 @@ popd # Fix python sheband lines find python/examples -type f -exec sed -i '1s=^#!/usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} + + %install # Install python2, since we'll prefer python3 with the second install. pushd build-py2 @@ -129,12 +139,12 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/cmake* rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/libftdi1/example.conf + %check #make check %files -%{!?_licensedir:%global license %%doc} %license COPYING.LIB %doc AUTHORS ChangeLog README %{_libdir}/libftdi1.so.2* @@ -171,7 +181,11 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/libftdi1/example.conf %ldconfig_scriptlets c++ + %changelog +* Sun Feb 17 2019 Richard Shaw - 1.3-1 +- Add patch to deal with change in CMake/SWIG behavior. + * Fri Feb 01 2019 Fedora Release Engineering - 1.3-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild