rpms/healpix/devel healpix-2.11c-shlib.patch, NONE, 1.1 healpix.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Lubomir Rintel lkundrak at fedoraproject.org
Tue Apr 7 07:04:50 UTC 2009


Author: lkundrak

Update of /cvs/pkgs/rpms/healpix/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28582/devel

Modified Files:
	.cvsignore sources 
Added Files:
	healpix-2.11c-shlib.patch healpix.spec 
Log Message:
Import Healpix

healpix-2.11c-shlib.patch:

--- NEW FILE healpix-2.11c-shlib.patch ---
Compile the Fortran library into a shared object instead
of static library.

Lubomir Rintel <lkundrak at v3.sk>

diff -up Healpix_2.11c/src/f90/alteralm/Makefile.shlib Healpix_2.11c/src/f90/alteralm/Makefile
--- Healpix_2.11c/src/f90/alteralm/Makefile.shlib	2005-02-24 11:22:59.000000000 +0100
+++ Healpix_2.11c/src/f90/alteralm/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc	= alt_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/anafast/Makefile.shlib Healpix_2.11c/src/f90/anafast/Makefile
--- Healpix_2.11c/src/f90/anafast/Makefile.shlib	2005-02-16 05:55:38.000000000 +0100
+++ Healpix_2.11c/src/f90/anafast/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc     = ana_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/hotspot/Makefile.shlib Healpix_2.11c/src/f90/hotspot/Makefile
--- Healpix_2.11c/src/f90/hotspot/Makefile.shlib	2009-04-03 13:01:12.000000000 +0200
+++ Healpix_2.11c/src/f90/hotspot/Makefile	2009-04-03 13:01:27.000000000 +0200
@@ -31,5 +31,5 @@ obj 	= maxima_tools.o HotSpots.o
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/lib/Makefile.shlib Healpix_2.11c/src/f90/lib/Makefile
--- Healpix_2.11c/src/f90/lib/Makefile.shlib	2005-01-28 08:33:25.000000000 +0100
+++ Healpix_2.11c/src/f90/lib/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -17,7 +17,7 @@ allobj	= $(libobj) $(gifobj) $(modobj)
 %.o: %.f90
 	$(FC) $(FFLAGS) -c $< -o $@
 
-default: libgif.a
+default: libgif.so
 
 libgif.a: $(allobj)
 	$(AR) libgif.a $(allobj)
@@ -25,3 +25,16 @@ libgif.a: $(allobj)
 	@for p in *.$(MOD); do \
 	cp $$p $(INCDIR)/; \
 	done
+
+# He's sick, he's sick, he's really really sick
+# he's sick, he's sick, he's really really sick
+# he's really really sick, he's really really sick
+# he's sick, he's sick.
+# -- Alice Cooper
+.PHONY: libgif.so
+libgif.so: $(allobj)
+	$(FC) $(FFLAGS) -o $@ -shared $(allobj)
+	cp -p $@ $(LIBDIR)/
+	for p in *.$(MOD); do \
+	cp $$p $(INCDIR)/; \
+	done
diff -up Healpix_2.11c/src/f90/map2gif/Makefile.shlib Healpix_2.11c/src/f90/map2gif/Makefile
--- Healpix_2.11c/src/f90/map2gif/Makefile.shlib	2003-02-17 12:06:10.000000000 +0100
+++ Healpix_2.11c/src/f90/map2gif/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -31,5 +31,5 @@ obj 	= map2gif.o
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a $(LIBDIR)/libgif.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -lgif -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/median_filter/Makefile.shlib Healpix_2.11c/src/f90/median_filter/Makefile
--- Healpix_2.11c/src/f90/median_filter/Makefile.shlib	2005-04-26 03:50:34.000000000 +0200
+++ Healpix_2.11c/src/f90/median_filter/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc     = med_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/mod/Makefile.shlib Healpix_2.11c/src/f90/mod/Makefile
--- Healpix_2.11c/src/f90/mod/Makefile.shlib	2008-01-29 17:39:20.000000000 +0100
+++ Healpix_2.11c/src/f90/mod/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -65,7 +65,7 @@ obj	= healpix_types.o extension.o misc_u
 	esac
 
 
-default: libhealpix.a healpix_fft.o
+default: libhealpix.so healpix_fft.o
 
 libhealpix.a: $(obj) $(incpix) $(incalm) $(incfits) $(incudgrade)
 	$(AR) libhealpix.a $(obj)
@@ -74,6 +74,15 @@ libhealpix.a: $(obj) $(incpix) $(incalm)
 	cp $$p $(INCDIR)/; \
 	done
 
+# Umm, well, the copying. Curse you, crazy-minded scientists!
+.PHONY: libhealpix.so
+libhealpix.so: $(obj) $(incpix) $(incalm) $(incfits) $(incudgrade)
+	$(FC) $(FFLAGS) -lcfitsio -o $@ -shared $(obj)
+	cp -p $@ $(LIBDIR)/
+	for p in *.$(MOD); do \
+	cp $$p $(INCDIR)/; \
+	done
+
 alm_map_ss_inc.f90: alm_map_template.f90 gen_alm_code
 	./gen_alm_code
 
diff -up Healpix_2.11c/src/f90/ngsims_full_sky/Makefile.shlib Healpix_2.11c/src/f90/ngsims_full_sky/Makefile
--- Healpix_2.11c/src/f90/ngsims_full_sky/Makefile.shlib	2009-02-09 21:24:46.000000000 +0100
+++ Healpix_2.11c/src/f90/ngsims_full_sky/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -27,8 +27,8 @@ obj2 	= sky_sub.o  sub_ngpdf_powergauss.
 
 default: $(exec1) $(exec2)
 
-$(exec1): $(obj1) $(LIBDIR)/libhealpix.a
-	$(FC)  $(FFLAGS) -o $(exec1) $(obj1) $(PGLIBS) $(LDFLAGS)
+$(exec1): $(obj1)
+	$(FC)  $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec1) $(obj1) $(PGLIBS) $(LDFLAGS)
 
-$(exec2): $(obj2) $(LIBDIR)/libhealpix.a
-	$(FC)  $(FFLAGS) -o $(exec2) $(obj2) $(PGLIBS) $(LDFLAGS)
+$(exec2): $(obj2)
+	$(FC)  $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec2) $(obj2) $(PGLIBS) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/plmgen/Makefile.shlib Healpix_2.11c/src/f90/plmgen/Makefile
--- Healpix_2.11c/src/f90/plmgen/Makefile.shlib	2004-08-25 03:27:24.000000000 +0200
+++ Healpix_2.11c/src/f90/plmgen/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -10,5 +10,5 @@ obj 	= plmgen.o
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/smoothing/Makefile.shlib Healpix_2.11c/src/f90/smoothing/Makefile
--- Healpix_2.11c/src/f90/smoothing/Makefile.shlib	2005-02-24 11:22:59.000000000 +0100
+++ Healpix_2.11c/src/f90/smoothing/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc 	= smo_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/synfast/Makefile.shlib Healpix_2.11c/src/f90/synfast/Makefile
--- Healpix_2.11c/src/f90/synfast/Makefile.shlib	2005-02-16 05:55:38.000000000 +0100
+++ Healpix_2.11c/src/f90/synfast/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc     = syn_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/ud_grade/Makefile.shlib Healpix_2.11c/src/f90/ud_grade/Makefile
--- Healpix_2.11c/src/f90/ud_grade/Makefile.shlib	2005-06-03 11:44:52.000000000 +0200
+++ Healpix_2.11c/src/f90/ud_grade/Makefile	2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc     = udg_sub_inc.f90
 
 default: $(exec)
 
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
-	$(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+	$(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)


--- NEW FILE healpix.spec ---
Name:           healpix
Version:        2.11c
Release:        3%{?dist}
Summary:        Hierarchical Equal Area isoLatitude Pixelization of a sphere

Group:          Development/Libraries
License:        GPLv2+
URL:            http://healpix.jpl.nasa.gov/
Source0:        http://download.sourceforge.net/healpix/Healpix_2.11c_2009Feb19.tar.gz
Patch0:         healpix-2.11c-shlib.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  cfitsio-devel
BuildRequires:  gcc-gfortran

%description
HEALPix is an acronym for Hierarchical Equal Area isoLatitude Pixelization
of a sphere. As suggested in the name, this pixelization produces a
subdivision of a spherical surface in which each pixel covers the same
surface area as every other pixel.


%package -n c%{name}
Summary:        HEALPix C Bindings Library
Group:          System Environment/Libraries

%description -n c%{name}
Library for tools that use HEALPix C bindings.


%package -n c%{name}-devel
Summary:        HEALPix C Bindings Library development files
Group:          Development/Libraries
Requires:       c%{name} = %{version}

%description -n c%{name}-devel
Include file for development with HEALPix.


%package fortran
Summary:        HEALPix Fortran binaries
Group:          Applications/Engineering

%description fortran
Fortran HEALPix library and binaries.


%package fortran-devel
Summary:        HEALPix Fortran headers and static libraries
Group:          Development/Libraries

%description fortran-devel
Fortran modules used for developing HEALPix applications.


%prep
%setup -q -n Healpix_%{version}
%patch0 -p1 -b .shlib


%build
### C bindings

make %{?_smp_mflags} -C src/C/subs PIC="-fPIC" OPT="%{optflags}" \
        CFITSIO_INCDIR=%{_includedir}/cfitsio shared

### F90 bindings

# Make nonsense
export MOD=mod
export OS=Linux

# Directories for the created include, library and binary files
export BINDIR=$PWD/bin
export INCDIR=$PWD/include
export LIBDIR=$PWD/lib
mkdir $INCDIR $LIBDIR $BINDIR

# Compiler stuff
export FC=gfortran
export CFLAGS="%{optflags} -fPIC"
export FFLAGS="%{optflags} -fPIC -DGFORTRAN -I$INCDIR -ffree-line-length-none"

# SMP make doesn't work
make -C src/f90/mod 
make -C src/f90/lib
for dir in anafast map2gif hotspot smoothing synfast ud_grade plmgen \
        alteralm median_filter ngsims_full_sky
do
        make -C src/f90/$dir
done


%install
rm -rf $RPM_BUILD_ROOT

# Directory structure
install -d $RPM_BUILD_ROOT%{_bindir}
install -d $RPM_BUILD_ROOT%{_libdir}
install -d $RPM_BUILD_ROOT%{_includedir}/healpix

# C bindings
make install -C src/C/subs LIBDIR=$RPM_BUILD_ROOT%{_libdir} \
        INCDIR=$RPM_BUILD_ROOT%{_includedir}

# Fortran stuff
install -p bin/* $RPM_BUILD_ROOT%{_bindir}
install -p lib/* $RPM_BUILD_ROOT%{_libdir}
install -pm 0644 include/* $RPM_BUILD_ROOT%{_includedir}/healpix


%clean
rm -rf $RPM_BUILD_ROOT


%files -n chealpix
%defattr(-,root,root,-)
%{_libdir}/libchealpix.so
%doc COPYING READ_Copyrights_Licenses.txt


%files -n chealpix-devel
%defattr(-,root,root,-)
%{_includedir}/chealpix.h


%files -n healpix-fortran
%defattr(-,root,root,-)
%{_bindir}/*
%{_libdir}/libhealpix.so
%{_libdir}/libgif.so
%doc COPYING READ_Copyrights_Licenses.txt


%files -n healpix-fortran-devel
%defattr(-,root,root,-)
%{_includedir}/healpix


%changelog
* Fri Apr 03 2009 Lubomir Rintel (Fedora Astronomy) <lkundrak at v3.sk> - 2.11c-3
- Build Fortran library as DSO

* Thu Mar 26 2009 Jussi Lehtola <jussi.lehtola at helsinki.fi> - 2.11c-2
- Add Fortran bindings.

* Wed Mar 25 2009 Lubomir Rintel (Fedora Astronomy) <lkundrak at v3.sk> - 2.11c-1
- Initial packaging of the C bindings


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/healpix/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	7 Apr 2009 03:24:20 -0000	1.1
+++ .cvsignore	7 Apr 2009 07:04:19 -0000	1.2
@@ -0,0 +1 @@
+Healpix_2.11c_2009Feb19.tar.gz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/healpix/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	7 Apr 2009 03:24:20 -0000	1.1
+++ sources	7 Apr 2009 07:04:19 -0000	1.2
@@ -0,0 +1 @@
+df220b09bf71b746cee7fdd21c2968e5  Healpix_2.11c_2009Feb19.tar.gz




More information about the scm-commits mailing list