From ac009bccc09c3ccec1863bc84194725ff16e15f0 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 16 Nov 2013 21:51:21 +0100 Subject: [PATCH] im: allow hybrid builds and other cleanups * Fix tecmake to set a soname for the libraries This currenly fails strict-policy checks because the package doesn't depend on libstdc++.so, but this should be in haiku$secondaryArchSuffix. I also had to explicitly depend on the proper version of as, otherwise the one for gcc2 would be picked up. I suspect one of the dependencies is wrong, but attempts to use haikuporter --why have failed. --- media-libs/im/im-3.8.recipe | 26 ++++++++++++++------------ media-libs/im/patches/im-3.8.patchset | 18 +++++++++++++++--- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/media-libs/im/im-3.8.recipe b/media-libs/im/im-3.8.recipe index 3fca99b2d..bbf7e1733 100644 --- a/media-libs/im/im-3.8.recipe +++ b/media-libs/im/im-3.8.recipe @@ -4,6 +4,7 @@ SRC_URI="http://freefr.dl.sourceforge.net/project/imtoolkit/3.8.1/Docs%20and%20S CHECKSUM_MD5="7cb22f5a145463fc943198faf31c76f1" REVISION="1" ARCHITECTURES="x86_gcc2" +SECONDARY_ARCHITECTURES="x86" PROVIDES=" im$secondaryArchSuffix = $portVersion lib:libim$secondaryArchSuffix = $portVersion @@ -24,17 +25,20 @@ PROVIDES=" lib:libimlua_process52$secondaryArchSuffix = $portVersion lib:libimlua_process_omp52$secondaryArchSuffix = $portVersion " + REQUIRES=" - haiku >= $haikuVersion - lib:libz -" + haiku$secondaryArchSuffix >= $haikuVersion + lib:libz$secondaryArchSuffix + " BUILD_REQUIRES=" - haiku_devel$secondaryArchSuffix >= $haikuVersion + haiku${secondaryArchSuffix}_devel >= $haikuVersion cmd:make cmd:gcc$secondaryArchSuffix + cmd:as$secondaryArchSuffix cmd:which - devel:liblua + devel:liblua$secondaryArchSuffix + devel:libz$secondaryArchSuffix " SOURCE_DIR="im" @@ -52,15 +56,13 @@ INSTALL() mkdir -p $includeDir rm lib/Haiku11/libz.* - cp lib/Haiku11/*.so $libDir - cp lib/Haiku11/*.a $developLibDir + cp lib/Haiku11/* $libDir cp include/* $includeDir - # Won't work, the libs have no soname... -# prepareInstalledDevelLib libim -# 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 + 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 } diff --git a/media-libs/im/patches/im-3.8.patchset b/media-libs/im/patches/im-3.8.patchset index 2a03da9ce..cedcef174 100644 --- a/media-libs/im/patches/im-3.8.patchset +++ b/media-libs/im/patches/im-3.8.patchset @@ -1,4 +1,4 @@ -From 6421d3e8c775ddb4477f4418a983d5bfa2b901f0 Mon Sep 17 00:00:00 2001 +From 8fa357e184a5b8892e9355a85368803dde4f7d01 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Thu, 14 Nov 2013 21:46:53 +0100 Subject: Make tecmake aware of Haiku and the lack of libm. @@ -21,7 +21,7 @@ index cc89349..fc982e0 100755 } diff --git a/tecmake.mak b/tecmake.mak -index f799a07..7ee8895 100755 +index f799a07..c955869 100755 --- a/tecmake.mak +++ b/tecmake.mak @@ -26,6 +26,9 @@ ifndef TEC_UNAME @@ -34,7 +34,19 @@ index f799a07..7ee8895 100755 ifeq ($(TEC_SYSNAME), SunOS) TEC_SYSARCH:=$(shell uname -p) endif -@@ -1177,7 +1180,9 @@ ifdef USE_X11 +@@ -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