diff --git a/.cvsignore b/.cvsignore index e69de29..5817d6a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +adime-2.2.1.tar.gz diff --git a/adime-2.2.1-so-fixes.patch b/adime-2.2.1-so-fixes.patch new file mode 100644 index 0000000..948d79e --- /dev/null +++ b/adime-2.2.1-so-fixes.patch @@ -0,0 +1,42 @@ +--- adime-2.2.1/misc/makefile.uni.soname 2004-09-10 21:34:54.000000000 +0200 ++++ adime-2.2.1/misc/makefile.uni 2006-03-12 09:23:54.000000000 +0100 +@@ -53,7 +53,7 @@ + + # link as a shared object + OBJ_DIR = $(OBJ_PLATFORM_ROOT_DIR)/$(PACKAGE5) +-IMPLIB_BASENAME = lib$(PACKAGE5).so ++IMPLIB_BASENAME = lib$(PACKAGE5).so.0 + IMPLIB_NAME = $(LIB_DIR)/$(IMPLIB_BASENAME) + LIB_NAME = $(IMPLIB_NAME) + +@@ -153,7 +153,11 @@ + SFLAGS = $(WFLAGS) + ifndef SYMBOLMODE + LFLAGS += -s +-LIB_FLAGS = `allegro-config --libs release $(ALLEGRO_CONFIG_FLAGS)` ++# allegro-config --libs drags in -lalleg_unshareable, which is non-PIC ++# and thus should only be in the application not a .so file. This means all ++# applications which use adime must be linked with: ++# -Wl,--export-dynamic -lalleg_unsharable (or `allegro-config --libs`) ++LIB_FLAGS= $(shell allegro-config --libs | sed 's/-lalleg_unsharable//') + endif + endif + endif +@@ -236,7 +240,7 @@ + + LINK_LIB_DEPS = + define LINK_LIB +-gcc $(LFLAGS) -shared -o $(IMPLIB_NAME) $(LIB_OBJS) $(LIB_FLAGS) ++gcc $(LFLAGS) -shared -Wl,-soname=$(IMPLIB_BASENAME) -o $(IMPLIB_NAME) $(LIB_OBJS) $(LIB_FLAGS) + endef + + LINK_EXE_DEPS = +@@ -270,7 +274,7 @@ + + $(SYSTEM_LIB_DIR)/$(IMPLIB_BASENAME): $(IMPLIB_NAME) + install -m 755 -d $(SYSTEM_LIB_DIR) +- install -m 644 $< $@ ++ install -m 755 $< $@ + + $(SYSTEM_INCLUDE_DIR)/adime.h: include/adime.h + install -m 755 -d $(SYSTEM_INCLUDE_DIR) diff --git a/adime.spec b/adime.spec new file mode 100644 index 0000000..96a7fd3 --- /dev/null +++ b/adime.spec @@ -0,0 +1,105 @@ +Name: adime +Version: 2.2.1 +Release: 3%{?dist} +Summary: Allegro Dialogs Made Easy + +Group: System Environment/Libraries +License: zlib License +URL: http://adime.sourceforge.net/ +Source0: http://dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.gz +Patch0: adime-2.2.1-so-fixes.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: allegro-devel texinfo +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description +Adime is a portable add-on library for Allegro with functions for generating +Allegro dialogs in a very simple way. Its main purpose is to give as easy an +API as possible to people who want dialogs for editing many kinds of input +data. + + +%package devel +Summary: Development libraries and headers for adime +Group: Development/Libraries +Requires: %{name} = %{version} +Requires: allegro-devel + +%description devel +The developmental files that must be installed in order to compile +applications which use adime. + + +%prep +%setup -q +%patch0 -p1 -z .so-fixes +./fix.sh unix +rm docs/txt/tmpfile.txt +mkdir docs/html docs/rtf + + +%build +make %{?_smp_mflags} lib docs \ + CFLAGS="-fPIC -DPIC $RPM_OPT_FLAGS" \ + CFLAGS_NO_OPTIMIZE="-fPIC -DPIC $RPM_OPT_FLAGS" \ + LFLAGS=-g + + +%install +rm -rf $RPM_BUILD_ROOT +make install install-man install-info \ + SYSTEM_DIR=$RPM_BUILD_ROOT/usr \ + SYSTEM_LIB_DIR=$RPM_BUILD_ROOT%{_libdir} \ + SYSTEM_MAN_DIR=$RPM_BUILD_ROOT%{_mandir} \ + SYSTEM_INFO_DIR=$RPM_BUILD_ROOT%{_infodir} +rm $RPM_BUILD_ROOT%{_infodir}/dir +ln -s libadime.so.0 $RPM_BUILD_ROOT%{_libdir}/libadime.so + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post devel +/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || : + +%preun devel +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : +fi + + +%files +%defattr(-,root,root,-) +%doc license.txt thanks.txt changes.txt +%{_libdir}/libadime.so.0 + +%files devel +%defattr(-,root,root,-) +%doc readme.txt docs/txt/*.txt docs/rtf docs/html +%{_includedir}/adime.h +%{_includedir}/adime +%{_libdir}/libadime.so +%{_mandir}/man3/* +%{_infodir}/adime.info.gz + + +%changelog +* Sun Mar 12 2006 Hans de Goede 2.2.1-3 +- change license to "zlib License" +- modify adime-2.2.1-so-fixes.patch to strip -lalleg_unshareble from + allegro-config --libs output instead of using a hardcoded allegro linkerflag + +* Sun Mar 12 2006 Hans de Goede 2.2.1-2 +- add BR texinfo +- mkdir docs/html and docs/rtf during %%prep to make "make docs" happy, include + the results in %%doc +- don't link liballeg_unsharable.a into our .so.0 file + +* Sat Mar 11 2006 Hans de Goede 2.2.1-1 +- Initial Fedora Extras package diff --git a/sources b/sources index e69de29..51066a6 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +aa71fbe7661e56421cab42e6bca70c7c adime-2.2.1.tar.gz