From 03d5abef50645c99d09ca6f8f48ddf096f6e87dd Mon Sep 17 00:00:00 2001 From: Nicola Vitale Date: Sun, 18 Dec 2011 21:58:21 +0000 Subject: [PATCH] API Extractor library to build PySide The API Extractor library is used by the binding generator to parse headers of a given library and merge this data with information provided by typesystem (XML) files, resulting in a representation of how the API should be exported to the chosen target language. The generation of source code for the bindings is performed by specific generators using the API Extractor library. The API Extractor is based on QtScriptGenerator WWW: http://www.pyside.org/docs/apiextractor/ --- devel/Makefile | 1 + devel/apiextractor/Makefile | 34 +++++++++++++++++++ devel/apiextractor/distinfo | 2 ++ devel/apiextractor/files/patch-CMakeLists.txt | 12 +++++++ .../files/patch-data__CMakeLists.txt | 12 +++++++ devel/apiextractor/pkg-descr | 11 ++++++ devel/apiextractor/pkg-plist | 22 ++++++++++++ 7 files changed, 94 insertions(+) create mode 100644 devel/apiextractor/Makefile create mode 100644 devel/apiextractor/distinfo create mode 100644 devel/apiextractor/files/patch-CMakeLists.txt create mode 100644 devel/apiextractor/files/patch-data__CMakeLists.txt create mode 100644 devel/apiextractor/pkg-descr create mode 100644 devel/apiextractor/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index b0d735d2cdd4..babbce2bad29 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -43,6 +43,7 @@ SUBDIR += antlrworks SUBDIR += apache-ant SUBDIR += api-sanity-autotest + SUBDIR += apiextractor SUBDIR += apr0 SUBDIR += apr1 SUBDIR += apr2 diff --git a/devel/apiextractor/Makefile b/devel/apiextractor/Makefile new file mode 100644 index 000000000000..b0a4def08a18 --- /dev/null +++ b/devel/apiextractor/Makefile @@ -0,0 +1,34 @@ +# New ports collection makefile for: apiextractor +# Date created: 2011-03-21 +# Whom: Nicola Vitale +# +# $FreeBSD$ +# + +PORTNAME= apiextractor +PORTVERSION= 0.10.9 +#PORTREVISION= 0 +CATEGORIES= devel +MASTER_SITES= http://www.pyside.org/files/ \ + http://nivi.interfree.it/distfiles/${PORTNAME}/ + +MAINTAINER= nivit@FreeBSD.org +COMMENT= API Extractor library to build PySide + +LICENSE= GPLv2 + +BUILD_DEPENDS= sphinx-build:${PORTSDIR}/textproc/py-sphinx +LIB_DEPENDS= xml2.5:${PORTSDIR}/textproc/libxml2 \ + xslt.2:${PORTSDIR}/textproc/libxslt + +PLIST_SUB= PORTVERSION=${PORTVERSION} + +QT_COMPONENTS= gui moc_build qmake_build qtestlib_build \ + rcc_build uic_build xml xmlpatterns + +USE_BZIP2= yes +USE_CMAKE= yes +USE_LDCONFIG= yes +USE_QT_VER= 4 + +.include diff --git a/devel/apiextractor/distinfo b/devel/apiextractor/distinfo new file mode 100644 index 000000000000..e5434459caa3 --- /dev/null +++ b/devel/apiextractor/distinfo @@ -0,0 +1,2 @@ +SHA256 (apiextractor-0.10.9.tar.bz2) = 2d9fe46e4240ca4e6ba941835950284c5996f1b9c22cad94d95e823429b04659 +SIZE (apiextractor-0.10.9.tar.bz2) = 272694 diff --git a/devel/apiextractor/files/patch-CMakeLists.txt b/devel/apiextractor/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..57b4783d518e --- /dev/null +++ b/devel/apiextractor/files/patch-CMakeLists.txt @@ -0,0 +1,12 @@ +$FreeBSD$ +--- ./CMakeLists.txt.orig 2011-12-15 22:30:24.000000000 +0100 ++++ ./CMakeLists.txt 2011-12-15 22:35:29.000000000 +0100 +@@ -53,7 +53,7 @@ + set(apiextractor_MICRO_VERSION 9) + set(apiextractor_VERSION "${apiextractor_MAJOR_VERSION}.${apiextractor_MINOR_VERSION}.${apiextractor_MICRO_VERSION}") + configure_file(apiextractorversion.h.in ${CMAKE_CURRENT_BINARY_DIR}/apiextractorversion.h @ONLY) +-set(apiextractor_SOVERSION ${apiextractor_MAJOR_VERSION}.${apiextractor_MINOR_VERSION}) ++set(apiextractor_SOVERSION ${apiextractor_MAJOR_VERSION}) + set(QT_USE_QTCORE 1) + set(QT_USE_QTXML 1) + include(${QT_USE_FILE}) diff --git a/devel/apiextractor/files/patch-data__CMakeLists.txt b/devel/apiextractor/files/patch-data__CMakeLists.txt new file mode 100644 index 000000000000..13e1a7b72d76 --- /dev/null +++ b/devel/apiextractor/files/patch-data__CMakeLists.txt @@ -0,0 +1,12 @@ +$FreeBSD$ +--- ./data/CMakeLists.txt.orig 2011-11-18 19:10:10.000000000 +0100 ++++ ./data/CMakeLists.txt 2011-12-15 22:29:55.000000000 +0100 +@@ -11,7 +11,7 @@ + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ApiExtractorConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfig.cmake" @ONLY) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ApiExtractorConfigVersion.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfigVersion.cmake" @ONLY) + +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/apiextractor${apiextractor_SUFFIX}.pc" DESTINATION "${LIB_INSTALL_DIR}/pkgconfig") ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/apiextractor${apiextractor_SUFFIX}.pc" DESTINATION "${LIB_INSTALL_DIR}data/pkgconfig") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfig.cmake" + DESTINATION "${LIB_INSTALL_DIR}/cmake/ApiExtractor-${apiextractor_VERSION}") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ApiExtractorConfigVersion.cmake" diff --git a/devel/apiextractor/pkg-descr b/devel/apiextractor/pkg-descr new file mode 100644 index 000000000000..64c7fe31b612 --- /dev/null +++ b/devel/apiextractor/pkg-descr @@ -0,0 +1,11 @@ +API Extractor library to build PySide + +The API Extractor library is used by the binding generator to parse headers +of a given library and merge this data with information provided by +typesystem (XML) files, resulting in a representation of how the API should be +exported to the chosen target language. The generation of source code for the +bindings is performed by specific generators using the API Extractor library. + +The API Extractor is based on QtScriptGenerator + +WWW: http://www.pyside.org/docs/apiextractor/ diff --git a/devel/apiextractor/pkg-plist b/devel/apiextractor/pkg-plist new file mode 100644 index 000000000000..134a03fdf948 --- /dev/null +++ b/devel/apiextractor/pkg-plist @@ -0,0 +1,22 @@ +@comment $FreeBSD$ +include/apiextractor/abstractmetalang.h +include/apiextractor/apiextractor.h +include/apiextractor/apiextractormacros.h +include/apiextractor/docparser.h +include/apiextractor/doxygenparser.h +include/apiextractor/fileout.h +include/apiextractor/graph.h +include/apiextractor/include.h +include/apiextractor/qtdocparser.h +include/apiextractor/reporthandler.h +include/apiextractor/typedatabase.h +include/apiextractor/typesystem.h +lib/cmake/ApiExtractor-%%PORTVERSION%%/ApiExtractorConfig.cmake +lib/cmake/ApiExtractor-%%PORTVERSION%%/ApiExtractorConfigVersion.cmake +lib/libapiextractor.so +lib/libapiextractor.so.0 +lib/libapiextractor.so.%%PORTVERSION%% +libdata/pkgconfig/apiextractor.pc +@dirrm lib/cmake/ApiExtractor-%%PORTVERSION%% +@dirrmtry lib/cmake +@dirrm include/apiextractor