[undertaker] Initial import.
Jerry James
jjames at fedoraproject.org
Tue Oct 18 03:30:16 UTC 2011
commit 3af91cfea2c5b9117386531e20ab6818552a2ee6
Author: Jerry James <loganjerry at gmail.com>
Date: Mon Oct 17 21:30:08 2011 -0600
Initial import.
.gitignore | 1 +
sources | 1 +
undertaker.spec | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 163 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..067d0f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/undertaker-1.2.tar.gz
diff --git a/sources b/sources
index e69de29..4c612f0 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+455613fb59573a12d5b30abcd87d474b undertaker-1.2.tar.gz
diff --git a/undertaker.spec b/undertaker.spec
new file mode 100644
index 0000000..2af2a2d
--- /dev/null
+++ b/undertaker.spec
@@ -0,0 +1,161 @@
+Name: undertaker
+Version: 1.2
+Release: 1%{?dist}
+Summary: Find always-on and always-off conditional C code
+
+Group: Development/Languages
+License: GPLv2 and GPLv3+
+URL: http://vamos.informatik.uni-erlangen.de/trac/undertaker
+Source0: http://vamos.informatik.uni-erlangen.de/files/%{name}-%{version}.tar.gz
+
+BuildRequires: boost-devel
+BuildRequires: emacs-nox
+BuildRequires: emacs-el
+BuildRequires: ncurses-devel
+BuildRequires: picosat-devel
+BuildRequires: python2-devel
+BuildRequires: xemacs-devel
+BuildRequires: xemacs-packages-extra
+
+# Needed for undertaker-calc-coverage
+Requires: cpp
+Requires: git
+Requires: make
+Requires: sparse
+
+%description
+The undertaker is an implementation of the Vamos project's preprocessor
+and configuration analysis approaches. It can check the structure of
+preprocessor directives against different configuration models to find
+blocks that can't be selected or deselected.
+
+%package emacs
+Summary: Emacs support for %{name}
+Group: Development/Languages
+Requires: emacs(bin) >= %{_emacs_version}
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description emacs
+Emacs support for %{name}.
+
+%package emacs-el
+Summary: Source for Emacs support for %{name}
+Group: Development/Languages
+Requires: %{name}-emacs = %{version}-%{release}
+BuildArch: noarch
+
+%description emacs-el
+Source Elisp code for Emacs support for %{name}.
+
+%package xemacs
+Summary: XEmacs support for %{name}
+Group: Development/Languages
+Requires: xemacs(bin) >= %{_xemacs_version}, xemacs-packages-extra
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description xemacs
+XEmacs support for %{name}.
+
+%package xemacs-el
+Summary: Source for XEmacs support for %{name}
+Group: Development/Languages
+Requires: %{name}-xemacs = %{version}-%{release}
+BuildArch: noarch
+
+%description xemacs-el
+Source Elisp code for XEmacs support for %{name}.
+
+%prep
+%setup -q -n vamos-%{version}
+
+# Fix up one include path
+sed -i 's|picosat/picosat.h|picosat.h|' undertaker/SatChecker.h
+
+# Fix a python path
+sed -i "s|^PYTHONPATH=.*|PYTHONPATH=\""%{_python_sitelib}"\"|" \
+ rsf2model/undertaker-kconfigdump.in
+
+# Use the right flags when building and linking
+sed -e "s|-Wall -Wextra -O2|$RPM_OPT_FLAGS|" \
+ -e "s|^LDFLAGS =.*|LDFLAGS = $RPM_OPT_FLAGS|" \
+ -i undertaker/Makefile
+sed -e "s|^LDXX=.*|LDXX=g++ \$(CXXFLAGS)|" \
+ -e "s|^DEBUG =.*|DEBUG=|" \
+ -e "s|-Wall -Wextra -O2|$RPM_OPT_FLAGS|" \
+ -i ziz/Makefile
+
+# Fix the Makefile so we don't rebuild everything when installing
+sed -e "s|^all:.*|all: \$(PROGS) \$(TEMPLATED) \$(MANPAGES)|" \
+ -e "s|^install: all.*|install:|" \
+ -e "s|check undertaker-lcov|check install undertaker-lcov|" \
+ -i Makefile
+
+# Remove prebuilt objects
+make clean
+rm -f scripts/basic/docproc scripts/basic/fixdep scripts/basic/hash \
+ scripts/kconfig/dumpconf undertaker/test-ConditionalBlock \
+ undertaker/test-SatChecker undertaker/undertaker ziz/zizler
+
+# Fix end-of-line encodings
+for f in DeadAnalysis ElDocumentation Interactive ModelFiles Preconditions; do
+ sed -i.orig 's/\r//' doc/Undertaker$f
+ touch -r doc/Undertaker$f.orig doc/Undertaker$f
+ rm -f doc/Undertaker$f.orig
+done
+
+%build
+# FIXME: building with %%{?_smp_mflags} sometimes fails
+make PREFIX=%{_prefix} LIBDIR=%{_libdir} \
+ HOSTCFLAGS="${RPM_OPT_FLAGS}" HOSTCXXFLAGS="${RPM_OPT_FLAGS}"
+
+# Relink one binary to eliminate an unused shared library dependency
+gcc $RPM_OPT_FLAGS -o scripts/kconfig/dumpconf scripts/kconfig/dumpconf.o \
+ scripts/kconfig/zconf.tab.o
+
+%install
+make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} LIBDIR=%{_libdir}
+
+# The rsf2model script is installed in two places. We only need one.
+rm -f $RPM_BUILD_ROOT%{_bindir}/rsf2model
+
+# Copy the Emacs support to the appropriate XEmacs dir and byte compile
+mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
+cp -a $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name} \
+ $RPM_BUILD_ROOT%{_xemacs_sitelispdir}
+cd $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/%{name}
+%{_xemacs_bytecompile} *.el
+
+# Byte compile the Emacs support file
+cd $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name}
+%{_emacs_bytecompile} *.el
+
+%files
+%doc AUTHORS LICENSE README
+%doc doc/UndertakerDeadAnalysis doc/UndertakerInteractive
+%doc doc/UndertakerModelFiles doc/UndertakerPreconditions
+%{_bindir}/*
+%{_libdir}/undertaker
+%{_mandir}/man1/*
+%{python_sitelib}/undertaker*
+
+%files emacs
+%doc doc/UndertakerElDocumentation
+%dir %{_emacs_sitelispdir}/%{name}
+%{_emacs_sitelispdir}/%{name}/*.elc
+
+%files emacs-el
+%{_emacs_sitelispdir}/%{name}/*.el
+
+%files xemacs
+%doc doc/UndertakerElDocumentation
+%dir %{_xemacs_sitelispdir}/%{name}
+%{_xemacs_sitelispdir}/%{name}/*.elc
+
+%files xemacs-el
+%{_xemacs_sitelispdir}/%{name}/*.el
+
+%changelog
+* Tue Sep 20 2011 Jerry James <loganjerry at gmail.com> - 1.2-1
+- Initial RPM
More information about the scm-commits
mailing list