# Build with --debug (1) or --symbols (0) %global configure_debug 0 # Change API_major if upstream releases an incompatible new version %global API_major 3 %global nameAPI %{name}%{API_major} %global plugindir %{_libdir}/%{nameAPI}/plugins Name: librnd Version: 3.2.0 Release: 1%{?dist} Summary: Modular framework library for 2D CAD applications License: GPLv2+ and LGPLv2+ and BSD URL: http://repo.hu/projects/librnd/index.html Source0: http://repo.hu/projects/librnd/releases/%{name}-%{version}.tar.gz BuildRequires: gcc BuildRequires: motif-devel BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gdlib) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libxml-2.0) %description %{name} is a modular framework library for 2D CAD applications. It provides the following built-in features: - hierarchic configuration files - flexible menu and hotkey system - HID API for CLI/GUI frontend - multi-layer rendering support - interactive drawing tool infrastructure - action infrastructure - polygon clipping - turing complete user scripting Supported via plugins: - CLI/batch frontend - gtk2 frontend with gdk software rendering - gtk2 frontend with gl hardware accelerated rendering - lesstif/motif frontend %package -n %{nameAPI} Summary: Ringdove 2D CAD library framework Suggests: %{nameAPI}-hid-gtk2-gdk%{?_isa} = %{version}-%{release} Provides: bundled(libfungw) = 1.2.1 %description -n %{nameAPI} The Ringdove library (shared objects) contains the basic infrastructure for 2D interactive+batch CAD applications: config, HID, polygon, menu, plugin system. %package -n %{nameAPI}-lib-gui Summary: Support library for building the GUI. Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-lib-gui Provides librnd specific dialog boxes (e.g. fontsel) and top window GUI elements. %package -n %{nameAPI}-lib-gtk Summary: Support library for building the GUI with gtk. BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtkglext-1.0) Requires: %{nameAPI}%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gui%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-lib-gtk Provides the common gtk code (e.g. dialog box engine, input handling) for any gtk based HID plugin. %package -n %{nameAPI}-hid-gtk2-gdk Summary: GUI: gtk2, software render Requires: %{nameAPI}%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gtk%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-hid-gtk2-gdk Software rendering on gtk2, using the gdk API. %package -n %{nameAPI}-lib-gl Summary: Support library for rendering with opengl. Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-lib-gl Provides plugins for driving an opengl output, rendering the drawing on opengl. %package -n %{nameAPI}-hid-gtk4-gl Summary: GUI: gtk4, opengl BuildRequires: pkgconfig(gtk4) Requires: %{nameAPI}%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gtk%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gl%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-hid-gtk4-gl Hardware accelerated (opengl) rendering on gtk4. %package -n %{nameAPI}-hid-gtk2-gl Summary: GUI: gtk2, opengl Requires: %{nameAPI}%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gtk%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gl%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-hid-gtk2-gl Hardware accelerated (opengl) rendering on gtk2. %package -n %{nameAPI}-hid-lesstif Summary: GUI: motif/lesstif, software render Requires: %{nameAPI}%{?_isa} = %{version}-%{release} Requires: %{nameAPI}-lib-gui%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-hid-lesstif Lightweight GUI and software rendering using the motif (lesstif) toolkit. %package -n %{nameAPI}-pixmap Summary: Import and export pixmap images. Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-pixmap Low level support for png/jpeg/gif export plugins, low level import pixmap objects using libgd. %package -n %{nameAPI}-cloud Summary: Networking plugins for accessing remote resources. Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-cloud Support library plugin for 'cloud' footprint/symbol access plugin that integrates remote, web access resources like edakrill or gedasymbols.org. %package -n %{nameAPI}-devel Summary: Ringdove 2D cad library, files for development. Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-devel Headers, templates, scripts for compiling Ringdove applications. %package -n %{nameAPI}-doc Summary: Documentation for %{name} BuildArch: noarch %description -n %{nameAPI}-doc Developer documentation for using librnd. %package -n %{nameAPI}-static Summary: %{name} static libraries Requires: %{nameAPI}%{?_isa} = %{version}-%{release} %description -n %{nameAPI}-static %{name} static libraries for 3rd party applications. # Build section %prep %autosetup #%%setup -q -n librnd-%%{version} %build # This ./configure command refers to scconfig. See http://repo.hu/projects/scconfig/ ./"configure" --CFLAGS="%{build_cflags}" --LDFLAGS="%{build_ldflags} -Wl,--no-as-needed" \ --libarchdir="%{_lib}" \ --all=disable --buildin-script --buildin-diag_rnd --buildin-lib_gensexpr \ --buildin-hid_batch --buildin-lib_portynet --buildin-lib_exp_text \ --buildin-import_pixmap_pnm --plugin-lib_hid_gl \ --plugin-hid_gtk2_gdk --plugin-lib_wget --plugin-lib_gtk4_common \ --plugin-lib_hid_common --plugin-hid_gtk2_gl --plugin-lib_gtk2_common \ --plugin-import_pixmap_gd --plugin-hid_lesstif --plugin-hid_gtk4_gl \ --plugin-irc --plugin-lib_exp_pixmap \ %if %{configure_debug} == 1 prefix=%{_prefix} --debug %else prefix=%{_prefix} --symbols %endif %make_build %install %make_install # Files section %files -n %{nameAPI} %license COPYING %doc README Changelog AUTHORS Release_notes %{_libdir}/*.so.* %files -n %{nameAPI}-lib-gui %{plugindir}/irc.pup %{plugindir}/irc.so %{plugindir}/lib_hid_common.pup %{plugindir}/lib_hid_common.so %files -n %{nameAPI}-lib-gtk %{plugindir}/lib_gtk2_common.pup %{plugindir}/lib_gtk2_common.so %files -n %{nameAPI}-hid-gtk2-gdk %{plugindir}/hid_gtk2_gdk.pup %{plugindir}/hid_gtk2_gdk.so %files -n %{nameAPI}-lib-gl %{plugindir}/lib_hid_gl.pup %{plugindir}/lib_hid_gl.so %files -n %{nameAPI}-hid-gtk4-gl %{plugindir}/hid_gtk4_gl.pup %{plugindir}/hid_gtk4_gl.so %{plugindir}/lib_gtk4_common.pup %{plugindir}/lib_gtk4_common.so %files -n %{nameAPI}-hid-gtk2-gl %{plugindir}/hid_gtk2_gl.pup %{plugindir}/hid_gtk2_gl.so %files -n %{nameAPI}-hid-lesstif %{plugindir}/hid_lesstif.pup %{plugindir}/hid_lesstif.so %files -n %{nameAPI}-pixmap %{plugindir}/import_pixmap_gd.pup %{plugindir}/import_pixmap_gd.so %{plugindir}/lib_exp_pixmap.pup %{plugindir}/lib_exp_pixmap.so %files -n %{nameAPI}-cloud %{plugindir}/lib_wget.pup %{plugindir}/lib_wget.so %files -n %{nameAPI}-devel %{_includedir}/%{name}/* %{_datadir}/%{nameAPI}/librnd.mak %{_datadir}/%{nameAPI}/plugin.state %{_datadir}/%{nameAPI}/librnd_packages.sh %{_libdir}/%{nameAPI}/scconfig %{_libdir}/%{nameAPI}/puplug %{_libdir}/%{nameAPI}/sphash %{_libdir}/%{nameAPI}/plugins/map_plugins.sh %{_libdir}/*.so %files -n %{nameAPI}-static %{_libdir}/librnd-3rd.a %{_libdir}/librnd-hid.a %{_libdir}/librnd-poly.a %files -n %{nameAPI}-doc %doc %{_docdir}/%{nameAPI} %changelog * Tue Jul 05 2022 Alain Vigne 3.2.0-1 - New upstream version 3.2.0 * Mon Jun 28 2021 Alain Vigne 3.0.0-1 - Initial proposal