rpms/wannier90/F-10 wannier90-1.1-shlib.patch, NONE, 1.1 wannier90.spec, NONE, 1.1 sources, 1.1, 1.2

Jussi Lehtola jussilehtola at fedoraproject.org
Sat May 16 07:54:08 UTC 2009


Author: jussilehtola

Update of /cvs/pkgs/rpms/wannier90/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20970/F-10

Modified Files:
	sources 
Added Files:
	wannier90-1.1-shlib.patch wannier90.spec 
Log Message:
Imported in Fedora

wannier90-1.1-shlib.patch:

--- NEW FILE wannier90-1.1-shlib.patch ---
diff -up wannier90-1.1/src/Makefile.orig wannier90-1.1/src/Makefile
--- wannier90-1.1/src/Makefile.orig	2007-08-22 19:22:27.000000000 +0300
+++ wannier90-1.1/src/Makefile	2009-05-15 15:36:00.000000000 +0300
@@ -8,16 +8,15 @@ OBJS  =  constants.o io.o utility.o para
 
 OBJS2  =  wannier_lib.o
 
-LIBRARY = ../libwannier.a
+LIBRARY = ../libwannier.so
 
-prog: $(OBJS) 
-	$(F90) wannier_prog.F90 $(LDOPTS) $(OBJS) $(LIBS) -o ../wannier90.x
+prog: $(LIBRARY) 
+	$(F90) wannier_prog.F90 $(LDOPTS) -L.. -lwannier $(LIBS) -o ../wannier90.x
 
 libs:     $(LIBRARY)
 
-$(LIBRARY): $(OBJS) $(OBJS2) 
-	$(AR) $(ARFLAGS) $(LIBRARY) $(OBJS2) $(OBJS)
-
+$(LIBRARY): $(OBJS) $(OBJS2)
+	$(F90) $(FCOPTS) -shared -o $(LIBRARY) $(OBJS2) $(OBJS)
 
 
 clean:


--- NEW FILE wannier90.spec ---
Name:		wannier90
Version:	1.1
Release:	3%{?dist}
Summary:	Maximally-localised Wannier functions 
Group:		Applications/Engineering
License:	GPLv2+
URL:		http://wannier.org/
Source0:	http://quasiamore.mit.edu/wannier/code/wannier90-%{version}.tar.gz
# Patch to enable building of shared library
Patch0:		wannier90-1.1-shlib.patch
BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:	gcc-gfortran
BuildRequires:	lapack-devel
# For test phase
BuildRequires:	perl(Cwd)

%description
Wannier90 is a program for calculating maximally-localised Wannier functions
(MLWF) from a set of Bloch energy bands that may or may not be attached to or
mixed with other bands. The formalism works by minimising the total spread of
the MLWF in real space. This is done in the space of unitary matrices that
describe rotations of the Bloch bands at each k-point. As a result, wannier90
is independent of the basis set used in the underlying calculation to obtain
the Bloch states. Therefore, it may be interfaced straightforwardly to any
electronic structure code. The locality of MLWF can be exploited to compute
band-structure, density of states and Fermi surfaces at modest computational
cost.

Furthermore, wannier90 is able to output MLWF for visualisation and other
post-processing purposes. Wannier functions are already used in a wide variety
of applications. These include analysis of chemical bonding in real space;
calculation of dielectric properties via the modern theory of polarisation;
and as an accurate and minimal basis set in the construction of model
Hamiltonians for large-scale systems, in linear-scaling quantum Monte Carlo
calculations, and for efficient computation of material properties, such as
the anomalous Hall coefficient.

%package devel
Summary:	Development modules for Wannier90
Group:		Development/Languages
Requires:	%{name} = %{version}-%{release}

%description devel
This package contains Fortran modules for Wannier90.

%prep
%setup -q
%patch0 -p1

# Remove executable flag from utility that is included in doc
chmod 644 utility/kmesh.pl

%build
# Generate make.sys
echo "F90 = gfortran" > make.sys
echo "FCOPTS = %{optflags} -fPIC" >> make.sys
echo "LDOPTS = %{optflags} -fPIC" >> make.sys
echo "LIBS = -lblas -llapack" >> make.sys

make -C src %{?_smp_mflags} prog

%install
rm -rf %{buildroot}
# Binary & library
install -D -p -m 755 wannier90.x %{buildroot}%{_bindir}/wannier90.x
# Must install as executable so that find-debuginfo catches this
install -D -p -m 755 libwannier.so %{buildroot}%{_libdir}/libwannier.so

# Fortran module files
mkdir -p %{buildroot}%{_includedir}/%{name}
install -p -m 644 src/*.mod %{buildroot}%{_includedir}/%{name}/


%clean
rm -rf %{buildroot} 

%check
make test

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc CHANGE.log LICENCE README utility/ doc/*.pdf examples/ 
%{_bindir}/wannier90.x
%{_libdir}/libwannier.so

%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}/


%changelog
* Tue Apr 21 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 1.1-3
- Link binary against shared library.
- Put library back into main package.

* Tue Apr 21 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 1.1-2
- Break libs into own package.

* Tue Apr 21 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 1.1-1
- First release.


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/wannier90/F-10/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	15 May 2009 23:51:55 -0000	1.1
+++ sources	16 May 2009 07:53:38 -0000	1.2
@@ -0,0 +1 @@
+2a547276e25d2345480ec3717c6c2f3f  wannier90-1.1.tar.gz




More information about the fedora-extras-commits mailing list