Skip to content

Commit

Permalink
Add deb and rpm build files and packpack auto build script
Browse files Browse the repository at this point in the history
  • Loading branch information
gdevenyi committed Nov 25, 2016
1 parent 6a4a11c commit 6e05dda
Show file tree
Hide file tree
Showing 7 changed files with 196 additions and 0 deletions.
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
minc-toolkit-v2 (1.9.xx) development; urgency=low

* Initial Release.

-- Vladimir FONOV <vladimir.fonov@gmail.com> Tue, 08 Nov 2016 13:27:57 -0400

1 change: 1 addition & 0 deletions debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
11 changes: 11 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Source: minc-toolkit-v2
Priority: optional
Maintainer: Vladimir S. FONOV <vladimir.fonov@gmail.com>
Build-Depends: debhelper (>= 4.1.16), bison, flex, libxi-dev, libxmu-dev, libxmu-headers, cmake (>= 3.1), git, libgl1-mesa-dev, libjpeg-dev, libglu1-mesa-dev
Homepage: https://bic-mni.github.io/

Package: minc-toolkit-v2
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
Description: MINC toolkit v2
MINC toolkit version 2
33 changes: 33 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

#Include debian config
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/cmake.mk

DEB_CMAKE_INSTALL_PREFIX = /opt/minc/$(DEB_UPSTREAM_VERSION)

DEB_CMAKE_EXTRA_FLAGS = \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DMT_BUILD_ABC:BOOL=ON \
-DMT_BUILD_ANTS:BOOL=ON \
-DMT_BUILD_C3D:BOOL=ON \
-DMT_BUILD_ELASTIX:BOOL=ON \
-DMT_BUILD_IM:BOOL=OFF \
-DMT_BUILD_ITK_TOOLS:BOOL=ON \
-DMT_BUILD_LITE:BOOL=OFF \
-DMT_BUILD_SHARED_LIBS:BOOL=ON \
-DMT_BUILD_VISUAL_TOOLS:BOOL=ON \
-DMT_BUILD_QUIET:BOOL=ON \
-DMT_USE_OPENMP:BOOL=ON \
-DUSE_SYSTEM_FFTW3D:BOOL=OFF \
-DUSE_SYSTEM_FFTW3F:BOOL=OFF \
-DUSE_SYSTEM_GLUT:BOOL=OFF \
-DUSE_SYSTEM_GSL:BOOL=OFF \
-DUSE_SYSTEM_HDF5:BOOL=OFF \
-DUSE_SYSTEM_ITK:BOOL=OFF \
-DUSE_SYSTEM_NETCDF:BOOL=OFF \
-DUSE_SYSTEM_NIFTI:BOOL=OFF \
-DUSE_SYSTEM_PCRE:BOOL=OFF \
-DUSE_SYSTEM_ZLIB:BOOL=OFF
1 change: 1 addition & 0 deletions debian/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (quilt)
27 changes: 27 additions & 0 deletions packpack-build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash
set -euo pipefail

export PACKAGECLOUD_TOKEN=fillme
export PACKAGECLOUD_USER=username
export PACKAGECLOUD_REPO=minc-toolkit-v2

export VERSION=$(grep -o -E 'MINC_TOOLKIT_PACKAGE_VERSION_MAJOR.*[0-9]+' CMakeLists.txt | grep -o -E '[0-9]+').$(grep -o -E 'MINC_TOOLKIT_PACKAGE_VERSION_MINOR.*[0-9]+' CMakeLists.txt | grep -o -E '[0-9]+').$(grep -o -E 'MINC_TOOLKIT_PACKAGE_VERSION_PATCH.*[0-9]+' CMakeLists.txt | grep -o -E '[0-9]+')

#Build currently fails for el-6 and debian-wheezy due to old cmake
for BUILD_NAME in el-6 el-7 fedora-23 fedora-24 fedora-25 ubuntu-trusty ubuntu-precise ubuntu-xenial ubuntu-yakkety debian-jessie debian-wheezy debian-stretch
do

export OS=$(echo $BUILD_NAME | grep -o -E '^.*\-' | tr -d '-' || true)
export DIST=$(echo $BUILD_NAME | grep -o -E '\-.*$' | tr -d '-' || true)

echo "Building OS=${OS}, DIST=${DIST}"
./packpack/packpack || true

shopt -s nullglob

for file in build/*.deb build/*.rpm
do
package_cloud push ${PACKAGECLOUD_USER}/${PACKAGECLOUD_REPO}/${OS}/${DIST} $file || true
done

done
117 changes: 117 additions & 0 deletions rpm/minc-toolkit-v2.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
#
# spec file for minc-toolkit-v2
#
Summary: minc toolkit version 2
Name: minc-toolkit-v2
Version: 1.9.11
Release: 1%{?dist}
Source0: https://github.com/BIC-MNI/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
URL: http://bic-mni.github.io
Packager: Vladimir Fonov <vladimir.fonov@gmail.com>
License: GPL-2.0
Provides: minc-toolkit-v2 = %{version}

%if 0%{?el6} || 0%{?el7}
BuildRequires: cmake3 >= 3.1
%else
BuildRequires: cmake >= 3.1
%endif
BuildRequires: bison
BuildRequires: flex
BuildRequires: libXi-devel
BuildRequires: libXmu-devel
#BuildRequires: libxmu-headers
BuildRequires: bzip2
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: libjpeg-turbo-devel

Prefix: /opt/minc/%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build

%define debug_package %{nil}
%define _prefix /opt/minc/%{version}

%description
This is to be filled...


%prep
%setup -q -n minc-toolkit-v2-%{version}


%build
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"

mkdir -p build
cd build
%if 0%{?el6} || 0%{?el7}
cmake3 .. \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DMT_BUILD_ABC:BOOL=ON \
-DMT_BUILD_ANTS:BOOL=ON \
-DMT_BUILD_C3D:BOOL=ON \
-DMT_BUILD_ELASTIX:BOOL=ON \
-DMT_BUILD_IM:BOOL=OFF \
-DMT_BUILD_ITK_TOOLS:BOOL=ON \
-DMT_BUILD_LITE:BOOL=OFF \
-DMT_BUILD_SHARED_LIBS:BOOL=ON \
-DMT_BUILD_VISUAL_TOOLS:BOOL=ON \
-DMT_BUILD_QUIET:BOOL=ON \
-DMT_USE_OPENMP:BOOL=ON \
-DUSE_SYSTEM_FFTW3D:BOOL=OFF \
-DUSE_SYSTEM_FFTW3F:BOOL=OFF \
-DUSE_SYSTEM_GLUT:BOOL=OFF \
-DUSE_SYSTEM_GSL:BOOL=OFF \
-DUSE_SYSTEM_HDF5:BOOL=OFF \
-DUSE_SYSTEM_ITK:BOOL=OFF \
-DUSE_SYSTEM_NETCDF:BOOL=OFF \
-DUSE_SYSTEM_NIFTI:BOOL=OFF \
-DUSE_SYSTEM_PCRE:BOOL=OFF \
-DUSE_SYSTEM_ZLIB:BOOL=OFF
%else
cmake .. \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DMT_BUILD_ABC:BOOL=ON \
-DMT_BUILD_ANTS:BOOL=ON \
-DMT_BUILD_C3D:BOOL=ON \
-DMT_BUILD_ELASTIX:BOOL=ON \
-DMT_BUILD_IM:BOOL=OFF \
-DMT_BUILD_ITK_TOOLS:BOOL=ON \
-DMT_BUILD_LITE:BOOL=OFF \
-DMT_BUILD_SHARED_LIBS:BOOL=ON \
-DMT_BUILD_VISUAL_TOOLS:BOOL=ON \
-DMT_BUILD_QUIET:BOOL=ON \
-DMT_USE_OPENMP:BOOL=ON \
-DUSE_SYSTEM_FFTW3D:BOOL=OFF \
-DUSE_SYSTEM_FFTW3F:BOOL=OFF \
-DUSE_SYSTEM_GLUT:BOOL=OFF \
-DUSE_SYSTEM_GSL:BOOL=OFF \
-DUSE_SYSTEM_HDF5:BOOL=OFF \
-DUSE_SYSTEM_ITK:BOOL=OFF \
-DUSE_SYSTEM_NETCDF:BOOL=OFF \
-DUSE_SYSTEM_NIFTI:BOOL=OFF \
-DUSE_SYSTEM_PCRE:BOOL=OFF \
-DUSE_SYSTEM_ZLIB:BOOL=OFF
%endif

make %{?_smp_mflags}


%install
cd build
make install DESTDIR=%{buildroot} %{?_smp_mflags}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%{_prefix}/*

%changelog

0 comments on commit 6e05dda

Please sign in to comment.