im, remove static libraries, cleanup (#8305)

This commit is contained in:
Schrijvers Luc
2023-04-07 13:56:54 +02:00
committed by GitHub
parent 3b2cda598a
commit 4234eeb672
3 changed files with 6 additions and 279 deletions

View File

@@ -22,13 +22,13 @@ IM is free software, can be used for public and commercial applications."
HOMEPAGE="https://www.tecgraf.puc-rio.br/im/"
COPYRIGHT="1994-2019 Tecgraf, PUC-Rio."
LICENSE="MIT"
REVISION="2"
REVISION="3"
SOURCE_URI="http://freefr.dl.sourceforge.net/project/imtoolkit/$portVersion/Docs%20and%20Sources/im-${portVersion}_Sources.tar.gz"
CHECKSUM_SHA256="d303de96ea104f8d1bfc82e1bb4b061a6617a6f0082e37fe69950b7d2dcea3cd"
SOURCE_DIR="im"
PATCHES="im-$portVersion.patchset"
ARCHITECTURES="all ?x86"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
@@ -81,7 +81,7 @@ REQUIRES_devel="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:liblua5.1$secondaryArchSuffix
devel:liblua$secondaryArchSuffix >= 5.1
devel:libpng16$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
@@ -111,6 +111,9 @@ INSTALL()
cp include/* $includeDir
# remove static libraries
rm -f $libDir/libim*.a
prepareInstalledDevelLibs libim libim_fftw libim_jp2 libim_process \
libim_process_omp libim_lzo libimlua51 libimlua_fftw51 libimlua_jp251 \
libimlua_process51 libimlua_process_omp51

View File

@@ -1,127 +0,0 @@
SUMMARY="A toolkit for digital imaging"
DESCRIPTION="IM is a toolkit for Digital Imaging. IM is based on 4 concepts: \
Image Representation, Storage, Processing and Capture. Image Visualization is \
a task that it is left for a graphics library.
It provides support for image capture, several image file formats and many \
image processing operations. The most popular file formats are supported: \
TIFF, BMP, PNG, JPEG, GIF and AVI.
Image representation includes scientific data types (like IEEE floating point \
data) and attributes (or metadata like GeoTIFF and Exif tags). Animation, \
video and volumes are supported as image sequences, but there is no digital \
audio support.
The main goal of the library is to provide a simple API and abstraction of \
images for scientific applications.
The toolkit API is written in C. The core library source code is implemented \
in C++ and it is very portable, it can be compiled in Windows and UNIX with no \
modifications. New image processing operations can be implemented in C or in \
C++.
IM is free software, can be used for public and commercial applications."
HOMEPAGE="https://www.tecgraf.puc-rio.br/im/"
COPYRIGHT="1994-2012 Tecgraf, PUC-Rio."
LICENSE="MIT"
REVISION="1"
SOURCE_URI="http://freefr.dl.sourceforge.net/project/imtoolkit/3.8.1/Docs%20and%20Sources/im-3.8.1_Sources.tar.gz"
CHECKSUM_SHA256="bf005ec22d240382dacd047ac4ed82110cfb702f8dc4ce3607059ecec60a78c8"
SOURCE_DIR="im"
PATCHES="im-3.8.patchset"
ARCHITECTURES="x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
im$secondaryArchSuffix = $portVersion
lib:libim$secondaryArchSuffix = $portVersion
lib:libim_fftw$secondaryArchSuffix = $portVersion
lib:libim_jp2$secondaryArchSuffix = $portVersion
lib:libim_process$secondaryArchSuffix = $portVersion
lib:libim_process_omp$secondaryArchSuffix = $portVersion
lib:libimlua51$secondaryArchSuffix = $portVersion
lib:libimlua52$secondaryArchSuffix = $portVersion
lib:libimlua_fftw51$secondaryArchSuffix = $portVersion
lib:libimlua_fftw52$secondaryArchSuffix = $portVersion
lib:libimlua_jp251$secondaryArchSuffix = $portVersion
lib:libimlua_jp252$secondaryArchSuffix = $portVersion
lib:libimlua_process51$secondaryArchSuffix = $portVersion
lib:libimlua_process52$secondaryArchSuffix = $portVersion
lib:libimlua_process_omp51$secondaryArchSuffix = $portVersion
lib:libimlua_process_omp52$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
im${secondaryArchSuffix}_devel = $portVersion
devel:libim$secondaryArchSuffix = $portVersion
devel:libim_fftw$secondaryArchSuffix = $portVersion
devel:libim_jp2$secondaryArchSuffix = $portVersion
devel:libim_process$secondaryArchSuffix = $portVersion
devel:libim_process_omp$secondaryArchSuffix = $portVersion
devel:libimlua51$secondaryArchSuffix = $portVersion
devel:libimlua52$secondaryArchSuffix = $portVersion
devel:libimlua_fftw51$secondaryArchSuffix = $portVersion
devel:libimlua_fftw52$secondaryArchSuffix = $portVersion
devel:libimlua_jp251$secondaryArchSuffix = $portVersion
devel:libimlua_jp252$secondaryArchSuffix = $portVersion
devel:libimlua_process51$secondaryArchSuffix = $portVersion
devel:libimlua_process52$secondaryArchSuffix = $portVersion
devel:libimlua_process_omp51$secondaryArchSuffix = $portVersion
devel:libimlua_process_omp52$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
im$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
devel:liblua$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:as$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:which
"
BUILD()
{
cd src
make
}
INSTALL()
{
mkdir -p $developLibDir
mkdir -p $libDir
mkdir -p $includeDir
cp lib/Haiku11/* $libDir
cp include/* $includeDir
prepareInstalledDevelLibs libim libim_fftw libim_jp2 libim_process \
libim_process_omp libimlua51 libimlua_fftw51 libimlua_jp251 \
libimlua_process51 libimlua_process_omp51 libimlua52 libimlua_fftw52 \
libimlua_jp252 libimlua_process52 libimlua_process_omp52
packageEntries devel $developDir
}
TEST()
{
ln -s ../../lib/Haiku11 bin/Haiku11/lib
cd test
make -f ../tecmake.mak MF=im_info
! ../bin/Haiku11/im_info `finddir B_SYSTEM_DEVELOP_DIRECTORY`/sample-code/pdflib/data/nesrin.jpg
make -f ../tecmake.mak MF=im_copy
! ../bin/Haiku11/im_copy `finddir B_SYSTEM_DEVELOP_DIRECTORY`/sample-code/pdflib/data/nesrin.jpg nesrin.jpg
# Requires cd and iup.
# make -f ../tecmake.mak MF=im_view
# ../bin/Haiku11/im_view
}

View File

@@ -1,149 +0,0 @@
From 40fa92950357dfe54b1daf2306dda354110f26ef Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Thu, 14 Nov 2013 21:46:53 +0100
Subject: Make tecmake aware of Haiku and the lack of libm.
diff --git a/tec_uname b/tec_uname
index cc89349..fc982e0 100755
--- a/tec_uname
+++ b/tec_uname
@@ -148,6 +148,11 @@ ComputeSystemPaths()
TEC_SYSTEM_INC=/usr/include
+ if [ $TEC_SYSNAME == Haiku ]; then
+ TEC_SYSTEM_LIB=`finddir B_SYSTEM_LIB_DIRECTORY`
+ TEC_SYSTEM_INC=`finddir B_SYSTEM_HEADERS_DIRECTORY`
+ fi
+
TEC_LUA_LIB=$TEC_SYSTEM_LIB/lua/$LUA_VER
}
diff --git a/tecmake.mak b/tecmake.mak
index f799a07..c955869 100755
--- a/tecmake.mak
+++ b/tecmake.mak
@@ -26,6 +26,9 @@ ifndef TEC_UNAME
TEC_SYSARCH:=$(shell uname -m)
# Fixes
+ ifeq ($(TEC_SYSNAME), Haiku)
+ TEC_SYSARCH:=$(shell uname -p)
+ endif
ifeq ($(TEC_SYSNAME), SunOS)
TEC_SYSARCH:=$(shell uname -p)
endif
@@ -526,6 +529,11 @@ ifneq ($(findstring Linux, $(TEC_UNAME)), )
endif
endif
+ifneq ($(findstring Haiku, $(TEC_UNAME)), )
+ UNIX_POSIX = Yes
+ STDLDFLAGS := -shared -Wl,-soname=lib$(TARGETNAME).so
+endif
+
ifneq ($(findstring IRIX, $(TEC_UNAME)), )
UNIX_POSIX = Yes
ifndef NO_LOCAL_LD
@@ -1177,7 +1185,9 @@ ifdef USE_X11
STDINCS += $(X11_INC)
endif
-LIBS += m
+ifneq "$(TEC_SYSNAME)" "Haiku"
+ LIBS += m
+endif
ifneq ($(findstring cygw, $(TEC_UNAME)), )
WIN_OTHER := Yes
--
1.8.3.4
From 42565b425877585c937807201a9a0766f4286977 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 17 Nov 2013 13:11:00 +0100
Subject: im: do not build zlib and use system one.
Also adjust the tests to look for the system zlib.
diff --git a/src/Makefile b/src/Makefile
index 12153b5..11d90ed 100755
--- a/src/Makefile
+++ b/src/Makefile
@@ -7,7 +7,7 @@ endif
.PHONY: do_all im_zlib im im_jp2 im_process im_fftw imlua3 imlua5 imlua_jp2 imlua_process5 imlua_fftw5 $(WINLIBS)
#do_all: im im_jp2 im_process im_fftw imlua3 imlua5 imlua_jp2 imlua_process5 imlua_fftw5
-do_all: im_zlib im im_jp2 im_process im_process_omp im_fftw imlua5 imlua_jp2 imlua_process5 imlua_process_omp5 imlua_fftw5 $(WINLIBS)
+do_all: im im_jp2 im_process im_process_omp im_fftw imlua5 imlua_jp2 imlua_process5 imlua_process_omp5 imlua_fftw5 $(WINLIBS)
im_zlib:
@$(TECMAKE_CMD) MF=im_zlib
diff --git a/test/im_copy.mak b/test/im_copy.mak
index 15867ee..fe4bbb5 100755
--- a/test/im_copy.mak
+++ b/test/im_copy.mak
@@ -8,8 +8,6 @@ USE_IM = Yes
IM = ..
-USE_STATIC = Yes
-
ifneq ($(findstring Win, $(TEC_SYSNAME)), )
LIBS = im_wmv im_avi vfw32 wmvcore
endif
diff --git a/test/im_info.mak b/test/im_info.mak
index 211e7af..32aeabb 100755
--- a/test/im_info.mak
+++ b/test/im_info.mak
@@ -7,5 +7,3 @@ SRC = im_info.cpp
USE_IM = Yes
IM = ..
-
-USE_STATIC = Yes
diff --git a/test/im_view.mak b/test/im_view.mak
index 45e4363..66699c7 100644
--- a/test/im_view.mak
+++ b/test/im_view.mak
@@ -10,5 +10,3 @@ USE_IUP3 = Yes
USE_IM = Yes
IM = ..
-
-USE_STATIC = Yes
--
1.8.3.4
From 7345811a3dc6a7f47efb0c47df974ca2f8ede0d8 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 17 Nov 2013 14:19:01 +0100
Subject: Fix off-by-one error in im_copy test.
diff --git a/test/im_copy.cpp b/test/im_copy.cpp
old mode 100755
new mode 100644
index f664ad2..c6d70d6
--- a/test/im_copy.cpp
+++ b/test/im_copy.cpp
@@ -74,11 +74,11 @@ int main(int argc, char* argv[])
int image_count;
imFileGetInfo(ifile, format, compression, &image_count);
- ofile = imFileNew(argv[2], (argc < 3)? format: argv[3], &error);
+ ofile = imFileNew(argv[2], (argc < 4)? format: argv[3], &error);
if (!ofile)
goto man_error;
- if (argc < 4)
+ if (argc < 5)
imFileSetInfo(ofile, compression);
else
imFileSetInfo(ofile, argv[4]);
--
1.8.3.4