There's no need for a new release at the moment, but I'm attaching the cygport 
file I would use if there were.  It differs in only very minor ways from the 
current cygport file (also attached).

I've tested that the upstream git repo builds and passes all tests.

Ken
NAME="doxygen"
VERSION=1.8.15
RELEASE=0.1

HOMEPAGE="http://www.doxygen.org/";

GIT_URI="https://github.com/doxygen/doxygen.git";
inherit qt4-cmake git

# SRC_URI="http://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz";
SRC_URI+=" 
http://pkgs.fedoraproject.org/repo/pkgs/doxygen/doxywizard.png/1a84da877450422c5fc49e525c546cd4/doxywizard.png";

SUMMARY="A documentation system for C++ and other languages"
DESCRIPTION="Doxygen is a documentation system for C++, C, Java, Objective-C, 
IDL
(Corba and Microsoft flavours) and to some extent PHP, C#, and D."
CATEGORY="Devel"

DEPEND="libQtCore4-devel libxapian-devel libclang-devel clang 
libllvm-devel-static texlive-collection-fontutils"

PKG_NAMES="doxygen doxygen-doxywizard"

doxygen_SUMMARY="${SUMMARY}"
doxygen_DESCRIPTION="${DESCRIPTION}"
doxygen_CATEGORY="Devel"
doxygen_CONTENTS="usr/share/doc"
for prog_name in doxygen doxyindexer doxysearch.cgi
do
        doxygen_CONTENTS+=" usr/bin/${prog_name}.exe"
        doxygen_CONTENTS+=" usr/share/man/man1/${prog_name/.cgi/}.1.gz"
done

doxygen_doxywizard_SUMMARY="Doxywizard is a graphical front-end to 
read/edit/write doxygen configuration files and to launch doxygen"
doxygen_doxywizard_DESCRIPTION="Doxywizard is a graphical front-end to 
read/edit/write doxygen configuration files and to launch doxygen."
doxygen_doxywizard_CATEGORY="Devel"
doxygen_doxywizard_REQUIRES="doxygen"
doxygen_doxywizard_CONTENTS='usr/bin/doxywizard.exe 
usr/share/man/man1/doxywizard.1.gz usr/share/applications usr/share/pixmaps'

src_compile() {
        # Starting with version 1.8.5, doxygen can store data gathered in a
        # sqlite3 database. This is an experimental feature and so is
        # disabled here. If you wish to enable this feature then set the
        # 'use_sqlite' variable to "ON".
        local use_sqlite="OFF"

        # Enable clang-assisted parsing.
        local use_libclang="ON"

        # We can enable 'doxyindexer' and 'doxysearch' since we have
        # libxapian-devel as a build dependency.
        local build_search="ON"

        # Doxygen fails to compile under 64-bit Cygwin if the cygport values
        # of CFLAGS and CXXFLAGS are passed through (the assembler generates
        # the error 'too many sections'). This means that we don't generate a
        # debuginfo package for 64-bit builds. The error is not given if -O0
        # is used (i.e. disable compiler optimisation), but an optimised
        # build is probably more important than a debuginfo package.
        local build_type="RelWithDebInfo"
        if [ "${ARCH}" == "x86_64" ]; then
                CFLAGS="-pipe -Wall -Werror=format-security 
-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4"
                CXXFLAGS="${CFLAGS}"
                build_type="Release"
        fi

        # Ensure that strdup(3) and killpg(2) are visible.
        CFLAGS+=" -D_DEFAULT_SOURCE"
        CXXFLAGS+=" -D_DEFAULT_SOURCE"

        cd "${B}"
        qt4_cmake_compile                         \
                -Dbuild_wizard=ON                 \
                -Dbuild_doc=ON                    \
                -Dbuild_xmlparser=ON              \
                -Dbuild_search=${build_search}    \
                -Duse_sqlite3=${use_sqlite}       \
                -Duse_libclang=${use_libclang}    \
                -DCMAKE_BUILD_TYPE=${build_type}  \
                -DCMAKE_VERBOSE_MAKEFILE=ON       \
                -DDOC_INSTALL_DIR="/share/doc/doxygen"

        make docs
}

src_install() {
        cd "${B}"
        cyginstall

        # Add a desktop menu entry.
        newicon "${S}/doxywizard.png" doxywizard.png
        make_desktop_entry doxywizard "Doxygen Wizard" doxywizard "Development"
}

src_test() {
        cd "${B}"
        make tests
}
# doxygen.cygport
inherit qt4-cmake
NAME="doxygen"
VERSION=1.8.14
RELEASE=2
SUMMARY="A documentation system for C++, C, Java, Objective-C, IDL (Corba and 
Microsoft flavours) and to some extent PHP, C#, and D"
DESCRIPTION="Doxygen is a documentation system for C++, C, Java, Objective-C, 
IDL (Corba and Microsoft flavours) and to some extent PHP, C#, and D."
CATEGORY="Devel"

#############################################################################
# This cygport file produces two packages, the main 'doxygen' package and
# 'doxygen-doxywizard' containing the GUI. The naming convention is borrowed
# from the Fedora packages, but is consistent with other Cygwin packages,
# e.g. subversion.
PKG_NAMES="doxygen doxygen-doxywizard"
#############################################################################


#############################################################################
# The main 'doxygen' package contains the main executable, its man page and
# the documentation in HTML and PDF formats.
doxygen_SUMMARY="${SUMMARY}"
doxygen_DESCRIPTION="${DESCRIPTION}"
doxygen_CATEGORY="Devel"
doxygen_CONTENTS="usr/share/doc"
for prog_name in doxygen doxyindexer doxysearch.cgi
do
        doxygen_CONTENTS+=" usr/bin/${prog_name}.exe"
        doxygen_CONTENTS+=" usr/share/man/man1/${prog_name/.cgi/}.1.gz"
done
#############################################################################


#############################################################################
# The 'doxygen-doxywizard' package contains only the doxywizard executable
# and its man page.
doxygen_doxywizard_SUMMARY="Doxywizard is a graphical front-end to 
read/edit/write doxygen configuration files and to launch doxygen"
doxygen_doxywizard_DESCRIPTION="Doxywizard is a graphical front-end to 
read/edit/write doxygen configuration files and to launch doxygen."
doxygen_doxywizard_CATEGORY="Devel"
doxygen_doxywizard_REQUIRES="doxygen"
doxygen_doxywizard_CONTENTS='usr/bin/doxywizard.exe 
usr/share/man/man1/doxywizard.1.gz usr/share/applications usr/share/pixmaps'
#############################################################################


HOMEPAGE="http://www.doxygen.org/";
SRC_URI="http://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz
http://pkgs.fedoraproject.org/repo/pkgs/doxygen/doxywizard.png/1a84da877450422c5fc49e525c546cd4/doxywizard.png";
SRC_DIR="${NAME}-${VERSION}"

src_compile() {
        # Starting with version 1.8.5, doxygen can store data gathered in a
        # sqlite3 database. This is an experimental feature and so is
        # disabled here. If you wish to enable this feature then set the
        # 'use_sqlite' variable to "ON".
        local use_sqlite="OFF"
        # if [ -f /usr/include/sqlite3.h ]; then
        #   use_sqlite="ON"
        # fi

        # If clang is present then enable clang-assisted parsing.
        local use_libclang="OFF"
        if [ -f /usr/include/clang-c/index.h ]; then
                use_libclang="ON"
        fi

        # 'doxyindexer' and 'doxysearch' require libxapian-devel.
        local build_search="OFF"
        if [ -f /usr/include/xapian.h ]; then
                build_search="ON"
        fi

        # Doxygen fails to compile under 64-bit Cygwin if the cygport values
        # of CFLAGS and CXXFLAGS are passed through (the assembler generates
        # the error 'too many sections'). This means that we don't generate a
        # debuginfo package for 64-bit builds. The error is not given if -O0
        # is used (i.e. disable compiler optimisation), but an optimised
        # build is probably more important than a debuginfo package.
        local build_type="RelWithDebInfo"
        if [ "$(uname -m)" == "x86_64" ]; then
                CFLAGS="-pipe -fsigned-char -D_LARGEFILE_SOURCE -Wall -W"
                CXXFLAGS="${CFLAGS}"
                build_type="Release"
        fi

        # Ensure that strdup(3) and killpg(2) are visible.
        CFLAGS+=" -D_XOPEN_SOURCE=500"
        CXXFLAGS+=" -D_XOPEN_SOURCE=500"

        cd "${B}"
        qt4_cmake_compile                         \
                -Dbuild_wizard=ON                 \
                -Dbuild_doc=ON                    \
                -Dbuild_xmlparser=ON              \
                -Dbuild_search=${build_search}    \
                -Duse_sqlite3=${use_sqlite}       \
                -Duse_libclang=${use_libclang}    \
                -DCMAKE_BUILD_TYPE=${build_type}  \
                -DCMAKE_VERBOSE_MAKEFILE=ON       \
                -DDOC_INSTALL_DIR="/share/doc/doxygen"

        make docs
}

src_install() {
        cd "${B}"
        cyginstall

        # Add a desktop menu entry.
        newicon "${S}/doxywizard.png" doxywizard.png
        make_desktop_entry doxywizard "Doxygen Wizard" doxywizard "Development"
}

src_test() {
        cd "${B}"
        make tests
}

Reply via email to