From e13eaa11481ffe55e61cdca71fd107a0a56d05f0 Mon Sep 17 00:00:00 2001 From: Shahzad Malik Muzaffar Date: Tue, 17 Jan 2017 10:09:47 +0100 Subject: [PATCH 1/6] New lightweight classes to apply a trained neural net (lwtnn) --- cmssw-tool-conf.spec | 1 + eigen-toolfile.spec | 2 +- eigen.spec | 11 +++++++++-- lwtnn-1.0-boost-fix.patch | 16 ++++++++++++++++ lwtnn-toolfile.spec | 25 +++++++++++++++++++++++++ lwtnn.spec | 17 +++++++++++++++++ 6 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 lwtnn-1.0-boost-fix.patch create mode 100644 lwtnn-toolfile.spec create mode 100644 lwtnn.spec diff --git a/cmssw-tool-conf.spec b/cmssw-tool-conf.spec index 1acbebb9434..2ce2f805ee8 100644 --- a/cmssw-tool-conf.spec +++ b/cmssw-tool-conf.spec @@ -52,6 +52,7 @@ Requires: libpng-toolfile Requires: libtiff-toolfile Requires: libungif-toolfile Requires: libxml2-toolfile +Requires: lwtnn-toolfile Requires: mcdb-toolfile Requires: meschach-toolfile Requires: openssl-toolfile diff --git a/eigen-toolfile.spec b/eigen-toolfile.spec index 50d3806d34e..7301882199b 100644 --- a/eigen-toolfile.spec +++ b/eigen-toolfile.spec @@ -11,7 +11,7 @@ cat << \EOF_TOOLFILE >%i/etc/scram.d/eigen.xml - + diff --git a/eigen.spec b/eigen.spec index af831eda785..6f35ac9ad0f 100644 --- a/eigen.spec +++ b/eigen.spec @@ -5,12 +5,19 @@ %define github_user cms-externals Source: git+https://github.com/%github_user/eigen.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz +BuildRequires: cmake + %prep %setup -n %n-%{realversion} %build -mkdir -p %i/include +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=%{i} ../ %install -cp -r Eigen %i/include +cd build +make install +%post +%{relocateConfig}share/pkgconfig/eigen3.pc diff --git a/lwtnn-1.0-boost-fix.patch b/lwtnn-1.0-boost-fix.patch new file mode 100644 index 00000000000..ca583e8648a --- /dev/null +++ b/lwtnn-1.0-boost-fix.patch @@ -0,0 +1,16 @@ +diff --git a/makefile b/makefile +index 8e7e65a..53270ac 100644 +--- a/makefile ++++ b/makefile +@@ -24,9 +24,9 @@ + + # --- set compiler and flags (roll c options and include paths together) + CXX ?= g++ +-CXXFLAGS := -O2 -Wall -fPIC -I$(INC) -g -std=c++11 -pedantic +-LIBS := # blank, more will be added below +-LDFLAGS := # blank, more will be added below ++CXXFLAGS := -O2 -Wall -fPIC -I$(INC) -I$(BOOST_ROOT)/include -DBOOST_SPIRIT_THREADSAFE -DPHOENIX_THREADSAFE -g -std=c++11 -pedantic ++LIBS := -lboost_thread -lboost_system # blank, more will be added below ++LDFLAGS := -L$(BOOST_ROOT)/lib # blank, more will be added below + # add eigen + CXXFLAGS += $(shell pkg-config eigen3 --cflags) diff --git a/lwtnn-toolfile.spec b/lwtnn-toolfile.spec new file mode 100644 index 00000000000..c49bd8f047c --- /dev/null +++ b/lwtnn-toolfile.spec @@ -0,0 +1,25 @@ +### RPM external lwtnn-toolfile 1.0 +Requires: lwtnn +%prep + +%build + +%install + +mkdir -p %i/etc/scram.d +cat << \EOF_TOOLFILE >%i/etc/scram.d/lwtnn.xml + + + + + + + + + + + + +EOF_TOOLFILE + +## IMPORT scram-tools-post diff --git a/lwtnn.spec b/lwtnn.spec new file mode 100644 index 00000000000..15166a5cbba --- /dev/null +++ b/lwtnn.spec @@ -0,0 +1,17 @@ +### RPM external lwtnn 1.0 +Source: https://github.com/lwtnn/lwtnn/archive/v%{realversion}.tar.gz +BuildRequires: py2-pkgconfig +Requires: eigen boost +Patch0: lwtnn-1.0-boost-fix +%prep +%setup -n %{n}-%{realversion} +%patch0 -p1 + +%build + +export BOOST_ROOT +make all + +%install +cp -r {lib,bin,include} %{i}/ + From 5e2b4c504ab3bad1a33f4d0a1016a43557378027 Mon Sep 17 00:00:00 2001 From: Malik Shahzad Muzaffar Date: Sat, 15 Oct 2016 07:35:57 +0200 Subject: [PATCH 2/6] Update py2-pkgconfig.spec --- py2-pkgconfig.spec | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 py2-pkgconfig.spec diff --git a/py2-pkgconfig.spec b/py2-pkgconfig.spec new file mode 100644 index 00000000000..4de0467c6a6 --- /dev/null +++ b/py2-pkgconfig.spec @@ -0,0 +1,16 @@ +### RPM external py2-pkgconfig 1.1.0 +## INITENV +PATH PYTHONPATH %{i}/$PYTHON_LIB_SITE_PACKAGES + +Source: https://pypi.python.org/packages/87/35/4af9634270c00e3411cf951b7e0ea796c262922357cfc7609a86d31f072b/pkgconfig-1.1.0.tar.gz +BuildRequires: py2-setuptools +Requires: python py2-nose + +%prep +%setup -n pkgconfig-%{realversion} + +%build +python setup.py build + +%install +python setup.py install --single-version-externally-managed --record=/dev/null --skip-build --prefix=%{i} + From 098cc92613184a8b3433c8f2f3dc5057ea42f341 Mon Sep 17 00:00:00 2001 From: ijaz Date: Fri, 14 Oct 2016 16:07:33 +0200 Subject: [PATCH 3/6] fixes pkgconfig dependencies (cherry picked from commit 3f81aac3fe6af13b167f2b98fd83f7f115bbeeaa) --- py2-nose-toolfile.spec | 24 ++++++++++++++++++++++++ py2-nose.spec | 17 +++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 py2-nose-toolfile.spec create mode 100644 py2-nose.spec diff --git a/py2-nose-toolfile.spec b/py2-nose-toolfile.spec new file mode 100644 index 00000000000..c7f4c60ae86 --- /dev/null +++ b/py2-nose-toolfile.spec @@ -0,0 +1,24 @@ +### RPM external py2-nose-toolfile 1.0 +Requires: py2-nose +%prep + +%build + +%install + +mkdir -p %{i}/etc/scram.d +cat << \EOF_TOOLFILE >%{i}/etc/scram.d/py2-nose.xml + + + + + + + + +EOF_TOOLFILE + +export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.) + +## IMPORT scram-tools-post + diff --git a/py2-nose.spec b/py2-nose.spec new file mode 100644 index 00000000000..d61da60452d --- /dev/null +++ b/py2-nose.spec @@ -0,0 +1,17 @@ +### RPM external py2-nose 1.3.7 +## INITENV +PATH PYTHONPATH %{i}/$PYTHON_LIB_SITE_PACKAGES +%define my_name %(echo %n | cut -f2 -d-) +Source: https://pypi.python.org/packages/58/a5/0dc93c3ec33f4e281849523a5a913fa1eea9a3068acfa754d44d88107a44/nose-%{realversion}.tar.gz +Requires: python +BuildRequires: py2-setuptools + +%prep +%setup -n %{my_name}-%{realversion} + +%build +python setup.py build + +%install +python setup.py install --single-version-externally-managed --record=/dev/null --skip-build --prefix=%{i} +perl -p -i -e "s|^#!.*python|#!/usr/bin/env python|" %{i}/bin/nosetests-2.7 %{i}/bin/nosetests + From 9b3f68471a9eaada5765206a2ef6bb7125994ffc Mon Sep 17 00:00:00 2001 From: ijaz ahmad Date: Thu, 12 Jan 2017 15:54:16 +0100 Subject: [PATCH 4/6] updates lwtnn-toolfile to add eigen --- lwtnn-toolfile.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/lwtnn-toolfile.spec b/lwtnn-toolfile.spec index c49bd8f047c..a936870d069 100644 --- a/lwtnn-toolfile.spec +++ b/lwtnn-toolfile.spec @@ -18,7 +18,6 @@ cat << \EOF_TOOLFILE >%i/etc/scram.d/lwtnn.xml - EOF_TOOLFILE From 5fc2f353614dde831c4396a86c8ead74d676a5c7 Mon Sep 17 00:00:00 2001 From: ijaz ahmad Date: Thu, 12 Jan 2017 16:18:59 +0100 Subject: [PATCH 5/6] fixes eigen pkgconfig path for lwtnn --- lwtnn.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/lwtnn.spec b/lwtnn.spec index 15166a5cbba..485cfab5311 100644 --- a/lwtnn.spec +++ b/lwtnn.spec @@ -9,6 +9,7 @@ Patch0: lwtnn-1.0-boost-fix %build +export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$EIGEN_ROOT/share/pkgconfig export BOOST_ROOT make all From 614239cf2ddaf981e5560a5f27ebdce60615c458 Mon Sep 17 00:00:00 2001 From: ijaz ahmad Date: Fri, 10 Feb 2017 18:35:43 +0100 Subject: [PATCH 6/6] backports lwtnn to 80x --- eigen.spec | 1 + lwtnn.spec | 1 - py2-pkgconfig-toolfile.spec | 24 ++++++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 py2-pkgconfig-toolfile.spec diff --git a/eigen.spec b/eigen.spec index 6f35ac9ad0f..dc019e15aaa 100644 --- a/eigen.spec +++ b/eigen.spec @@ -1,4 +1,5 @@ ### RPM external eigen 3.2.2 +## INITENV +PATH PKG_CONFIG_PATH %{i}/share/pkgconfig ## NOCOMPILER %define tag 87b069eefbf748ee3aba16fe5f84b4ccd6227082 %define branch cms/3.2.2 diff --git a/lwtnn.spec b/lwtnn.spec index 485cfab5311..15166a5cbba 100644 --- a/lwtnn.spec +++ b/lwtnn.spec @@ -9,7 +9,6 @@ Patch0: lwtnn-1.0-boost-fix %build -export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$EIGEN_ROOT/share/pkgconfig export BOOST_ROOT make all diff --git a/py2-pkgconfig-toolfile.spec b/py2-pkgconfig-toolfile.spec new file mode 100644 index 00000000000..b650d8c5aeb --- /dev/null +++ b/py2-pkgconfig-toolfile.spec @@ -0,0 +1,24 @@ +### RPM external py2-pkgconfig-toolfile 1.0 +Requires: py2-pkgconfig +%prep + +%build + +%install + +mkdir -p %i/etc/scram.d +cat << \EOF_TOOLFILE >%i/etc/scram.d/py2-pkgconfig.xml + + + + + + + +EOF_TOOLFILE + +export PYTHONV=$(echo $PYTHON_VERSION | cut -f1,2 -d.) + +## IMPORT scram-tools-post + +