public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITA] doxygen
@ 2018-11-11 22:38 Ken Brown
  2018-11-11 22:42 ` Marco Atzeri
  2020-10-17 13:43 ` Achim Gratz
  0 siblings, 2 replies; 9+ messages in thread
From: Ken Brown @ 2018-11-11 22:38 UTC (permalink / raw)
  To: cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 277 bytes --]

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

[-- Attachment #2: doxygen.cygport --]
[-- Type: text/plain, Size: 3373 bytes --]

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
}

[-- Attachment #3: doxygen.cygport.orig --]
[-- Type: text/plain, Size: 4367 bytes --]

# 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
}

^ permalink raw reply	[flat|nested] 9+ messages in thread
* [ITA] doxygen
@ 2012-09-29  8:33 David Stacey
  2012-09-29 11:00 ` marco atzeri
  2012-09-30  0:02 ` Andrew Schulman
  0 siblings, 2 replies; 9+ messages in thread
From: David Stacey @ 2012-09-29  8:33 UTC (permalink / raw)
  To: cygwin-apps


Hi.

I contacted the doxygen maintainer, Warren Young, privately because I 
had encountered a bug [1] in doxygen 1.7.4. I knew that this bug was 
fixed in later versions of doxygen, and I asked if he could upload a 
more recent version. Warren replied and very kindly offered me the 
maintenance of doxygen for Cygwin.

So I would like to adopt doxygen.

About me: I am a professional software engineer. I have about 10 years 
of Linux experience, and used Solaris for about 6 years prior to that. 
Cygwin has been making my life easier for many years now, so a big thank 
you to all the maintainers who have worked so hard over the years.

Dave.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=658646

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-10-17 16:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-11 22:38 [ITA] doxygen Ken Brown
2018-11-11 22:42 ` Marco Atzeri
2018-11-12 14:12   ` Andrew Schulman
2018-11-12 14:17   ` Andrew Schulman
2020-10-17 13:43 ` Achim Gratz
2020-10-17 16:44   ` Ken Brown
  -- strict thread matches above, loose matches on Subject: below --
2012-09-29  8:33 David Stacey
2012-09-29 11:00 ` marco atzeri
2012-09-30  0:02 ` Andrew Schulman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).