Curl Asynchronous RESolver library for applications which
need to perform DNS queries without blocking, or
need to perform multiple DNS queries in parallel.
Primary applications are servers with multiple clients and GUI programs.

For more information see the project home page:

        https://c-ares.org

License:        MIT

I would like to adopt and update c-ares.

Attached cygport and at:

https://cygwin.com/git/?p=git/cygwin-packages/c-ares.git;f=c-ares.cygport;hb=refs/heads/playground

package job:

        https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=c-ares

log at:

https://github.com/cygwin/scallywag/actions/runs/11544066103/job/32129211570

I am running and building with the updated package in place of current
with no obvious issues, and would like to make this updated release
current for building with other packages, before trying to update to the
latest release which has build issues.

For changes since the previous Cygwin release, see below:

https://c-ares.org/changelog.html#c-ares-version-1161---may-11-2020


2020-05-11      1.16.1

Security:
- Prevent possible use-after-free and double-free in
   ares_getaddrinfo() if ares_destroy() is called prior to
   ares_getaddrinfo() completing.

Changes:
- Allow TXT records on CHAOS qclass. Used for retriving things like
   version.bind, version.server, authoris.bind, hostname.bind, and
   id.server.

Bug fixes:
- Fix Windows Unicode incompatibilities with ares_getaddrinfo()
- Silence false cast-align compiler warnings due to valid casts of
   struct sockaddr to struct sockaddr_in and struct sockaddr_in6.
- MacOS should use libresolv for retrieving DNS servers, like iOS
- CMake build system should populate the INCLUDE_DIRECTORIES property
   of installed targets
- Correct macros in use for the ares_getaddrinfo.3 man page

2020-03-13      1.16.0

Changes:
- Introduction of ares_getaddrinfo() API which provides similar output
  (including proper sorting as per RFC 6724) to the system native API,
  but utilizes different data structures in order to provide additional
  information such as TTLs and all aliases.
  Please reference the respective man pages for usage details.
- Parse SOA records from ns_t_any response
- CMake: Provide c-ares version in package export file
- CMake: Add CPACK functionality for DEB and RPM
- CMake: Generate PDB files during build
- CMake: Support manpage installation

Bug fixes:
- Fix bad expectation in IPv6 localhost test.
- AutoTools: use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS to
  prevent complaints about CPPFLAGS in CFLAGS.
- Fix .onion handling
- Command line usage was out of date for adig and ahost.
- Typos in manpages
- If ares_getenv is defined, it must return a value on all platforms
- If /etc/resolv.conf has invalid lookup values, use the defaults.
- Tests: Separate live tests from SetServers* tests as only live tests
  should require internet access.
- ares_gethostbyname() should return ENODATA if no valid A or AAAA
  record is found, but a CNAME was found.
- CMake: Rework library function checking to prevent unintended linking
  with system libraries that aren’t needed.
- Due to use of inet_addr() it was not possible to return
  255.255.255.255 from ares_gethostbyname().
- CMake: Fix building of tests on Windows

2018-10-23      1.15.0

Changes:
- Add ares_init_options() configurability for path to resolv.conf file
- Ability to exclude building of tools (adig, ahost, acountry) in CMake
- Android: Support for domain search suffix
- Report ARES_ENOTFOUND for .onion domain names as per RFC7686

Bug fixes:
- AIX build fix for trying to include both nameser_compat.h and
  onameser_compat.h
- Windows: Improve DNS suffixes extracting from WinNT registry
- Fix modern GCC warnings
- Apply the IPv6 server blacklist to all nameserver sources, not just
  Windows
- Fix warnings emitted by MSVC when using -W4
- Prevent changing name servers while queries are outstanding
- Harden and rationalize c-ares timeout computation
- Distribute ares_android.h
- ares_set_servers_csv() on failure should not leave channel in a bad
  state
- Add missing docs to distribution
#|/usr/bin/cygport
# c-ares.cygport - c-ares Cygwin package build control script definitions

NAME=c-ares
VERSION=1.16.1
RELEASE=1

CATEGORY="Net Libs"
SUMMARY="Curl Asynchronous RESolver library"
DESCRIPTION="Curl Asynchronous RESolver library for applications which
need to perform DNS queries without blocking, or
need to perform multiple DNS queries in parallel.
Primary applications are servers with multiple clients and GUI programs."

HOMEPAGE=https://$NAME.haxx.se/
SRC_URI=$HOMEPAGE/download/$NAME-$VERSION.tar.gz
HOMEPAGE=https://$NAME.org/
dir=$NAME/releases/download/${NAME/-}-${VERSION//./_}
SRC_URI=https://github.com/$NAME/$dir/$NAME-$VERSION.tar.gz
SRC_URI+=" $SRC_URI.asc"
PATCH_URI=
#FEDORA=https://src.fedoraproject.org/rpms/$NAME/raw/f29/f
#       $FEDORA/0001-Use-RPM-compiler-options.patch
#       1.13.0-cygwin.patch
#FEDORA=http://pkgs.fedoraproject.org/cgit/rpms/$NAME.git/plain

DOCS="AUTHORS CHANGES INSTALL.md LICENSE.md"
DOCS+=" NEWS README.cares README.md RELEASE-NOTES"

LICENSE=MIT
# SPDX-License-Identifier: MIT
LICENSE_SPDX="SPDX-License-Identifier: $LICENSE"
LICENSE_URI=LICENSE.md

DOCS+=" $LICENSE_URI"

DIFF_EXCLUDES="ares_build.h"

BUILD_REQUIRES="gettext-devel libiconv-devel gcc-core gcc-g++
autoconf automake libtool make pkg-config"

CYGCONF_ARGS=--enable-tests
#        --enable-code-coverage         Whether to enable code coverage support
#       --disable-curldebug             Disable curl debug memory tracking
#        --enable-curldebug             Enable curl debug memory tracking
#       --disable-debug                 Disable debug build options
#        --enable-debug                 Enable debug build options
#       --disable-dependency-tracking   speeds up one-time build
#        --enable-dependency-tracking   do not reject slow dependency extractors
#       --disable-expose-statics        Disable exposure of internal static 
functions for testing
#        --enable-expose-statics        Enable exposure of internal static 
functions for testing
#        --enable-fast-install[=PKGS]   optimize for fast installation 
[default=yes]
#       --disable-largefile             omit support for large files
#        --enable-libgcc                use libgcc when linking
#       --disable-libtool-lock          avoid locking (might break parallel 
builds)
#        --enable-maintainer-mode       enable make rules and dependencies not 
useful
#                                       (and sometimes confusing) to the casual 
installer
#       --disable-nonblocking           Disable non-blocking communications
#        --enable-nonblocking           Enable non-blocking communications
#       --disable-optimize              Disable compiler optimizations
#        --enable-optimize(=OPT)        Enable compiler optimizations 
(default=-O2)
#       --disable-option-checking       ignore unrecognized --enable/--with 
options
#        --enable-shared[=PKGS]         build shared libraries [default=yes]
#       --disable-silent-rules          verbose build output (undo: "make V=0")
#        --enable-silent-rules          less verbose build output (undo: "make 
V=1")
#        --enable-static[=PKGS]         build static libraries [default=yes]
#       --disable-symbol-hiding         Disable hiding of library internal 
symbols
#        --enable-symbol-hiding         Enable hiding of library internal 
symbols
#        --enable-tests                 build test suite
#       --disable-warnings              Disable strict compiler warnings
#        --enable-warnings              Enable strict compiler warnings
#       --disable-werror                Disable compiler warnings as errors
#        --enable-werror                Enable compiler warnings as errors
#          --with-aix-soname=aix|svr4|both      shared library versioning (aka 
"SONAME") variant to provide on AIX, [default=aix].
#          --with-gcov=GCOV             use given GCOV for coverage (GCOV=gcov).
#          --with-gnu-ld                assume the C compiler uses GNU ld 
[default=no]
#          --with-pic[=PKGS]            try to use only PIC/non-PIC objects 
[default=use both]
#          --with-random=FILE           read randomness from FILE 
(default=/dev/urandom)
#          --with-sysroot[=DIR]         Search for dependent libraries within 
DIR (or compiler sysroot if not specified).

ABI=2

PKG_NAMES="libcares$ABI libcares-devel"


declare libcares${ABI}_CONTENTS="
        usr/bin/cygcares-$ABI.dll
        usr/share/doc/c-ares/
"


libcares_devel_CONTENTS="
        usr/include/ares*.h
        usr/lib/libcares.dll.a
        usr/lib/pkgconfig/libcares.pc
        usr/share/man/man3/
"


src_compile() {
        cd $S
        cygautoreconf
        cd $B
        cygconf
        cygmake
        cygmake ahost adig acountry
}


CYGWIN_MAINTAINER=Brian%20Inglis
CYGWIN_MAINTAINER_EMAIL=brian.ing...@systematicsw.ab.ca

UPSTREAM_MAINTAINER=C-Ares%20Library
UPSTREAM_MAINTAINER_EMAIL=c-a...@lists.haxx.se

SUBJECT=${OSTYPE^}%20Package%20$NAME%20$VERSION
MAILTO=mailto:$UPSTREAM_MAINTAINER%20%3C$UPSTREAM_MAINTAINER_EMAIL%3E\
?from=$CYGWIN_MAINTAINER%20%3C$CYGWIN_MAINTAINER_EMAIL%3E\
\&subject=$SUBJECT\&body=$SUBJECT

Reply via email to