Skip to content

Commit

Permalink
upgraded to 2.1.0, rewritten slackbuild for cmake switch and added tw…
Browse files Browse the repository at this point in the history
…o patches
  • Loading branch information
Ponce committed Apr 23, 2010
1 parent b3541a6 commit 4a0f872
Show file tree
Hide file tree
Showing 6 changed files with 233 additions and 57 deletions.
Binary file modified libraries/opencv.tar.gz
Binary file not shown.
7 changes: 0 additions & 7 deletions libraries/opencv.tar.gz.asc

This file was deleted.

154 changes: 154 additions & 0 deletions libraries/opencv/libopencv-2.1.0-libdir.patch
@@ -0,0 +1,154 @@
diff -Naur OpenCV-2.1.0.orig/3rdparty/flann/CMakeLists.txt OpenCV-2.1.0/3rdparty/flann/CMakeLists.txt
--- OpenCV-2.1.0.orig/3rdparty/flann/CMakeLists.txt 2010-04-11 10:51:39.694283320 +0200
+++ OpenCV-2.1.0/3rdparty/flann/CMakeLists.txt 2010-04-11 10:56:06.674279640 +0200
@@ -89,8 +89,8 @@
INSTALL (
TARGETS flann # flann_s
RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
)

# INSTALL (
diff -Naur OpenCV-2.1.0.orig/CMakeLists.txt OpenCV-2.1.0/CMakeLists.txt
--- OpenCV-2.1.0.orig/CMakeLists.txt 2010-04-11 10:51:39.564279640 +0200
+++ OpenCV-2.1.0/CMakeLists.txt 2010-04-11 10:55:04.824279480 +0200
@@ -467,8 +467,8 @@

string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
if(UNIX)
- set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
- set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
+ set(PYTHON_PLUGIN_INSTALL_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
+ set(PYTHON_PACKAGES_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
endif()
if(WIN32)
get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
@@ -895,7 +895,7 @@
# PROCESS SUBDIRECTORIES:
# ----------------------------------------------------------------------------
# Save libs and executables in the same place
-set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Output directory for libraries" )
+set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib${LIB_SUFFIX} CACHE PATH "Output directory for libraries" )
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Output directory for applications" )

if(WIN32)
@@ -965,19 +965,19 @@
# Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
# prefix=/usr
# exec_prefix=${prefix}
-# libdir=${exec_prefix}/lib
+# libdir=${exec_prefix}/lib${LIB_SUFFIX}
# includedir=${prefix}/include/opencv
# -------------------------------------------------------------------------------------------
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix "\${prefix}")
-set(libdir "\${exec_prefix}/lib")
+set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
set(includedir "\${prefix}/include")
set(VERSION ${OPENCV_VERSION})

configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)

if(UNIX)
- install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
+ install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
endif()


diff -Naur OpenCV-2.1.0.orig/interfaces/ffopencv/CMakeLists.txt OpenCV-2.1.0/interfaces/ffopencv/CMakeLists.txt
--- OpenCV-2.1.0.orig/interfaces/ffopencv/CMakeLists.txt 2010-04-11 10:51:39.634281600 +0200
+++ OpenCV-2.1.0/interfaces/ffopencv/CMakeLists.txt 2010-04-11 10:56:58.114279520 +0200
@@ -40,6 +40,6 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
)
diff -Naur OpenCV-2.1.0.orig/src/cv/CMakeLists.txt OpenCV-2.1.0/src/cv/CMakeLists.txt
--- OpenCV-2.1.0.orig/src/cv/CMakeLists.txt 2010-04-11 10:51:39.644283200 +0200
+++ OpenCV-2.1.0/src/cv/CMakeLists.txt 2010-04-11 10:58:19.664279600 +0200
@@ -71,8 +71,8 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)

install(FILES ${lib_hdrs}
DESTINATION include/opencv
diff -Naur OpenCV-2.1.0.orig/src/cvaux/CMakeLists.txt OpenCV-2.1.0/src/cvaux/CMakeLists.txt
--- OpenCV-2.1.0.orig/src/cvaux/CMakeLists.txt 2010-04-11 10:51:39.634281600 +0200
+++ OpenCV-2.1.0/src/cvaux/CMakeLists.txt 2010-04-11 10:58:43.064279480 +0200
@@ -76,8 +76,8 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)

install(FILES ${aux_hdrs_ext}
DESTINATION include/opencv
diff -Naur OpenCV-2.1.0.orig/src/cxcore/CMakeLists.txt OpenCV-2.1.0/src/cxcore/CMakeLists.txt
--- OpenCV-2.1.0.orig/src/cxcore/CMakeLists.txt 2010-04-11 10:51:39.654284200 +0200
+++ OpenCV-2.1.0/src/cxcore/CMakeLists.txt 2010-04-11 10:59:19.454279800 +0200
@@ -71,8 +71,8 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)

# install each module headers separately
install(FILES ${lib_hdrs}
diff -Naur OpenCV-2.1.0.orig/src/highgui/CMakeLists.txt OpenCV-2.1.0/src/highgui/CMakeLists.txt
--- OpenCV-2.1.0.orig/src/highgui/CMakeLists.txt 2010-04-11 10:51:39.634281600 +0200
+++ OpenCV-2.1.0/src/highgui/CMakeLists.txt 2010-04-11 11:00:25.174279600 +0200
@@ -282,8 +282,8 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)

install(FILES ${highgui_ext_hdrs}
DESTINATION include/opencv
diff -Naur OpenCV-2.1.0.orig/src/ml/CMakeLists.txt OpenCV-2.1.0/src/ml/CMakeLists.txt
--- OpenCV-2.1.0.orig/src/ml/CMakeLists.txt 2010-04-11 10:51:39.654284200 +0200
+++ OpenCV-2.1.0/src/ml/CMakeLists.txt 2010-04-11 11:00:43.714279320 +0200
@@ -61,8 +61,8 @@

install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)

install(FILES ${lib_hdrs}
DESTINATION include/opencv
diff -Naur OpenCV-2.1.0.orig/tests/cxts/CMakeLists.txt OpenCV-2.1.0/tests/cxts/CMakeLists.txt
--- OpenCV-2.1.0.orig/tests/cxts/CMakeLists.txt 2010-04-11 10:51:39.724279600 +0200
+++ OpenCV-2.1.0/tests/cxts/CMakeLists.txt 2010-04-11 11:01:36.324279440 +0200
@@ -63,6 +63,6 @@
if(WIN32)
install(TARGETS ${the_target}
RUNTIME DESTINATION bin COMPONENT main
- LIBRARY DESTINATION lib COMPONENT main
- ARCHIVE DESTINATION lib COMPONENT main)
+ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
endif()
12 changes: 12 additions & 0 deletions libraries/opencv/libpng-1.4.patch
@@ -0,0 +1,12 @@
diff -Naur OpenCV-2.0.0-orig/src/highgui/grfmt_png.cpp
--- OpenCV-2.0.0-orig/src/highgui/grfmt_png.cpp 2010-01-21 01:08:46.000000000 -0500
+++ OpenCV-2.0.0/src/highgui/grfmt_png.cpp 2010-01-21 01:13:11.000000000 -0500
@@ -223,7 +223,7 @@
png_set_palette_to_rgb( png_ptr );

if( m_color_type == PNG_COLOR_TYPE_GRAY && m_bit_depth < 8 )
- png_set_gray_1_2_4_to_8( png_ptr );
+ png_set_expand_gray_1_2_4_to_8( png_ptr );

if( CV_MAT_CN(m_type) > 1 && color )
png_set_bgr( png_ptr ); // convert RGB to BGR
111 changes: 64 additions & 47 deletions libraries/opencv/opencv.SlackBuild 100644 → 100755
@@ -1,30 +1,14 @@
#!/bin/sh
#
# Slackware build script of opencv

# Copyright 2006 Ricardson Williams <ricardsonwilliams at yahoo.com.br>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Slackware build script for opencv

# Written by Ponce <matteo.bernardini@sns.it>
# based on http://slackbuilds.org/templates/

PRGNAM=opencv
VERSION=1.1pre1
ARCH=${ARCH:-i486}
SRCNAM=OpenCV
VERSION=${VERSION:-2.1.0}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

Expand All @@ -36,48 +20,81 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
SLKLDFLAGS="-L/usr/lib -L/lib"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
SLKLDFLAGS="-L/usr/lib -L/lib"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
SLKLDFLAGS="-L/usr/lib64 -L/lib64"
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP || exit 1
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1
mv $PRGNAM-1.1.0 $PRGNAM-$VERSION || exit 1
cd $PRGNAM-$VERSION || exit 1
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2
cd $SRCNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;

# patch for libpng-1.4
patch -p1 < $CWD/libpng-1.4.patch

# Honor LIB_SUFFIX http://sourceforge.net/tracker/index.php?func=detail&aid=2876292&group_id=22870&atid=376679
# rewritten by ponce for 2.1.0
patch -p1 < $CWD/libopencv-2.1.0-libdir.patch

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--build=$ARCH-slackware-linux \
|| exit 1
mkdir -p build
cd build
LDFLAGS=$SLKLDFLAGS cmake \
-DCMAKE_C_FLAGS="$SLKCFLAGS -DNDEBUG" \
-DCMAKE_CXX_FLAGS="$SLKCFLAGS -DNDEBUG" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_MAN_DIR=man \
-DINSTALL_DOC_DIR=doc/$PRGNAM-$VERSION \
-DBUILD_SHARED_LIBS=ON \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DLIB_INSTALL_DIR=/usr/lib$LIBDIRSUFFIX \
-DWITH_PNG=true \
-DWITH_JPEG=true \
-DWITH_JASPER=true \
-DWITH_TIFF=true \
-DWITH_FFMPEG=true \
-DWITH_UNICAP=true \
-DWITH_GTK=true \
-DWITH_GSTREAMER=true \
-DWITH_V4L=false \
-DWITH_XINE=true \
..
make
make install DESTDIR=$PKG

make || exit 1
make install DESTDIR=$PKG || exit 1
cd -

find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
)

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/share/$PRGNAM/doc $PKG/usr/doc/$PRGNAM-$VERSION/
mkdir $PKG/usr/doc
mv $PKG/usr/share/$PRGNAM/doc $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README doc/opencv.pdf $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -c n -l y -p $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
6 changes: 3 additions & 3 deletions libraries/opencv/opencv.info
@@ -1,9 +1,9 @@
PRGNAM="opencv"
VERSION="1.1.0"
VERSION="2.1.0"
HOMEPAGE="http://opencv.willowgarage.com"
DOWNLOAD="http://downloads.sourceforge.net/opencvlibrary/opencv-1.1pre1.tar.gz"
DOWNLOAD="http://downloads.sourceforge.net/opencvlibrary/OpenCV-2.1.0.tar.bz2"
DOWNLOAD_x86_64=""
MD5SUM="b147b7cd3c059831c415c5a2bcecdf95"
MD5SUM="1d71584fb4e04214c0085108f95e24c8"
MD5SUM_x86_64=""
MAINTAINER="Ricardson Williams"
EMAIL="ricardsonwilliams@yahoo.com.br"
Expand Down

0 comments on commit 4a0f872

Please sign in to comment.