mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
QCA2: initial recipe.
This commit is contained in:
89
dev-qt/qca2/patches/qca2-2.0.3.patch
Normal file
89
dev-qt/qca2/patches/qca2-2.0.3.patch
Normal file
@@ -0,0 +1,89 @@
|
||||
From 0da2415bc15c2abe6385e2048fecb8d42dc549b7 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Fri, 11 Jul 2014 14:10:37 -0400
|
||||
Subject: [PATCH] QCA2: fix compilation on Haiku/GCC4.
|
||||
|
||||
---
|
||||
src/botantools/botan/botan/secmem.h | 6 +++---
|
||||
src/botantools/botan/ml_unix/mlock.cpp | 4 ++++
|
||||
src/qca_tools.cpp | 2 ++
|
||||
src/support/console.cpp | 2 +-
|
||||
4 files changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/botantools/botan/botan/secmem.h b/src/botantools/botan/botan/secmem.h
|
||||
index f421220..ddbb733 100644
|
||||
--- a/src/botantools/botan/botan/secmem.h
|
||||
+++ b/src/botantools/botan/botan/secmem.h
|
||||
@@ -214,11 +214,11 @@ class SecureVector : public MemoryRegion<T>
|
||||
|
||||
SecureVector(u32bit n = 0) { MemoryRegion<T>::init(true, n); }
|
||||
SecureVector(const T in[], u32bit n)
|
||||
- { MemoryRegion<T>::init(true); set(in, n); }
|
||||
+ { MemoryRegion<T>::init(true); this->set(in, n); }
|
||||
SecureVector(const MemoryRegion<T>& in)
|
||||
- { MemoryRegion<T>::init(true); set(in); }
|
||||
+ { MemoryRegion<T>::init(true); this->set(in); }
|
||||
SecureVector(const MemoryRegion<T>& in1, const MemoryRegion<T>& in2)
|
||||
- { MemoryRegion<T>::init(true); set(in1); append(in2); }
|
||||
+ { MemoryRegion<T>::init(true); this->set(in1); append(in2); }
|
||||
};
|
||||
|
||||
/*************************************************
|
||||
diff --git a/src/botantools/botan/ml_unix/mlock.cpp b/src/botantools/botan/ml_unix/mlock.cpp
|
||||
index 109609c..c88b23b 100644
|
||||
--- a/src/botantools/botan/ml_unix/mlock.cpp
|
||||
+++ b/src/botantools/botan/ml_unix/mlock.cpp
|
||||
@@ -52,7 +52,9 @@ namespace Botan {
|
||||
*************************************************/
|
||||
void lock_mem(void* ptr, u32bit bytes)
|
||||
{
|
||||
+ #ifndef __HAIKU__
|
||||
mlock(ptr, bytes);
|
||||
+ #endif
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
@@ -60,7 +62,9 @@ void lock_mem(void* ptr, u32bit bytes)
|
||||
*************************************************/
|
||||
void unlock_mem(void* ptr, u32bit bytes)
|
||||
{
|
||||
+ #ifndef __HAIKU__
|
||||
munlock(ptr, bytes);
|
||||
+ #endif
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/qca_tools.cpp b/src/qca_tools.cpp
|
||||
index cef2b79..44357c0 100644
|
||||
--- a/src/qca_tools.cpp
|
||||
+++ b/src/qca_tools.cpp
|
||||
@@ -44,11 +44,13 @@ static bool can_lock()
|
||||
#endif
|
||||
|
||||
MLOCK_TYPE d = MLOCK_TYPE_CAST malloc(256);
|
||||
+ #ifndef __HAIKU__
|
||||
if(mlock(d, 256) == 0)
|
||||
{
|
||||
munlock(d, 256);
|
||||
ok = true;
|
||||
}
|
||||
+ #endif
|
||||
free(d);
|
||||
return ok;
|
||||
#else
|
||||
diff --git a/src/support/console.cpp b/src/support/console.cpp
|
||||
index 8cb19dd..b6ffec6 100644
|
||||
--- a/src/support/console.cpp
|
||||
+++ b/src/support/console.cpp
|
||||
@@ -30,7 +30,7 @@
|
||||
#ifdef Q_OS_WIN
|
||||
# include <windows.h>
|
||||
#else
|
||||
-# include <sys/termios.h>
|
||||
+# include <termios.h>
|
||||
# include <unistd.h>
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
87
dev-qt/qca2/qca2-2.0.3.recipe
Normal file
87
dev-qt/qca2/qca2-2.0.3.recipe
Normal file
@@ -0,0 +1,87 @@
|
||||
SUMMARY="Qt Cryptographic Architecture."
|
||||
DESCRIPTION="QCA aims to provide a straightforward and cross-platform \
|
||||
crypto API, using Qt datatypes and conventions. QCA separates the API from \
|
||||
the implementation, using plugins known as Providers. The advantage of this \
|
||||
model is to allow applications to avoid linking to or explicitly depending \
|
||||
on any particular cryptographic library. This allows one to easily change or \
|
||||
upgrade crypto implementations without even needing to recompile the \
|
||||
application!"
|
||||
HOMEPAGE="http://delta.affinix.com/qca/"
|
||||
SRC_URI="https://delta.affinix.com/download/qca/2.0/qca-2.0.3.tar.bz2"
|
||||
CHECKSUM_SHA256="8da20c89f390954fdcfcd3c4deef379213ddb5ae9d6b5e0c917d23f5e474895f"
|
||||
SOURCE_DIR="qca-$portVersion"
|
||||
REVISION="1"
|
||||
LICENSE="GNU LGPL v2.1"
|
||||
COPYRIGHT="2003-2014 Justin Karneges"
|
||||
|
||||
PATCHES="qca2-$portVersion.patch"
|
||||
|
||||
ARCHITECTURES="x86"
|
||||
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
|
||||
# x86_gcc2 is fine as primary target architecture as long as we're building
|
||||
# for a different secondary architecture.
|
||||
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
|
||||
fi
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
PROVIDES="
|
||||
qca2$secondaryArchSuffix = $portVersion
|
||||
cmd:qcatool2$secondaryArchSuffix = $portVersion
|
||||
lib:libqca$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
devel:libqca$secondaryArchSuffix
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix >= $haikuVersion
|
||||
libqt4$secondaryArchSuffix >= 4.8
|
||||
ca_root_certificates
|
||||
"
|
||||
|
||||
REQUIRES_devel="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
libqt4${secondaryArchSuffix}_devel >= 4.8
|
||||
qca2$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:which
|
||||
cmd:qmake$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:g++$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel >= $haikuVersion
|
||||
libqt4${secondaryArchSuffix}_devel >= 4.8
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# not an autotools configure
|
||||
./configure --prefix=$prefix --bindir=$binDir --includedir=$includeDir \
|
||||
--libdir=$libDir --datadir=$dataDir --disable-tests --release \
|
||||
--certstore-path=/system/data/ssl/CARootCertificates.pem
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
rm -f bin/qcatool2.debug
|
||||
rm -f lib/libqca.so.2.0.3.debug
|
||||
|
||||
make install
|
||||
fixPkgconfig
|
||||
|
||||
# manually copy the mkspec since "make install" tries to install it
|
||||
# into a packaged directory and fails
|
||||
mkdir -p $dataDir/Qt/mkspecs/features/
|
||||
cp -f crypto.prf $dataDir/Qt/mkspecs/features/
|
||||
|
||||
prepareInstalledDevelLibs libqca
|
||||
packageEntries devel \
|
||||
$developDir \
|
||||
$dataDir/Qt/mkspecs/
|
||||
}
|
||||
Reference in New Issue
Block a user