diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-cdr/cdrdao | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'app-cdr/cdrdao')
-rw-r--r-- | app-cdr/cdrdao/Manifest | 12 | ||||
-rw-r--r-- | app-cdr/cdrdao/cdrdao-1.2.3-r4.ebuild | 64 | ||||
-rw-r--r-- | app-cdr/cdrdao/cdrdao-1.2.4.ebuild | 63 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.3-ax_pthread.patch | 418 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.3-glibc212.patch | 12 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.3-lame-3.100.patch | 24 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch | 42 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.3-wformat-security.patch | 173 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.4-ax_pthread.patch | 418 | ||||
-rw-r--r-- | app-cdr/cdrdao/files/cdrdao-1.2.4-wformat-security.patch | 130 | ||||
-rw-r--r-- | app-cdr/cdrdao/metadata.xml | 12 |
11 files changed, 1368 insertions, 0 deletions
diff --git a/app-cdr/cdrdao/Manifest b/app-cdr/cdrdao/Manifest new file mode 100644 index 000000000000..392b9bd7266a --- /dev/null +++ b/app-cdr/cdrdao/Manifest @@ -0,0 +1,12 @@ +AUX cdrdao-1.2.3-ax_pthread.patch 16862 BLAKE2B 657da0dd5107302c97b2eb2096e61326d4aacfab3c7adf881ae40fde1b6bf0ede3860105f117b2d0b29966aeed3e7002ad8ed12edcc5ae01b663eddd7b7ab5f3 SHA512 ae881b74fbf8ae80ad1f5742bc57034f8edf99bd8972b69202d026a8df5b6645710f7b96fef85469c34a72ee4d0fda3d48abe3dce9585de65a2ba66992195f00 +AUX cdrdao-1.2.3-glibc212.patch 260 BLAKE2B 6f84d32fc4b3e2254c61453f6e0a77c99b6fb5de7622ab1ce444348f9ae9fccde3450023421ef54a55e248b8280b1177373b632abb543908c6d728d2ee66b03b SHA512 3954d77f301beb1063292000f7f0bc07b1f1f8908bbc7dc31717e3ad0afbe51e398157edff943c8679155000e6f494e396527b02419191036bdfcd549f94d04d +AUX cdrdao-1.2.3-lame-3.100.patch 737 BLAKE2B 63765fe4b6a689705bc9eaf08ce823e3b8e0f004d1d5141c65d133e743c58b52bfcd599e950d6114450f12230b3c932a76ae903a54c2d1a77ffe803654af52a8 SHA512 bf6aa3cba34317c87a008c2c6b698be51a7e544a28bb6f7d5d42719a71e78e08903a89e7544ffd54b8d7d9d01d1f996e6d599263f0f10a4f043e33b1b45e8913 +AUX cdrdao-1.2.3-unsigned-char.patch 1119 BLAKE2B e5e52f03541d77740dd4a61f6b275e2f6edf0045c1671539745d42b60c11fda623e3b983801efa6979bdea1fdefad23293d2156ebbce37d7fdf39d20eb7f98f1 SHA512 77227662a86f17a10841e4b3085d9c40067f7a1c46694e188371018e200ec8bd94ae2fdd86143bba9cc345211abfdaf197e4aa2dd8cb1b1749b954ef70055cf2 +AUX cdrdao-1.2.3-wformat-security.patch 6279 BLAKE2B dabab6d2575e24b5bfcf690daa634cfbd795d18930e03fc9acfcf630408fcb6e60af077053a577507725365a23083c273f43f5efea65f8c58189279085a2e472 SHA512 aff829cf227658ac1a11975c818385999ee91582f239bd70ad440021cd08554cf80c29470683f55ca9d50aef05e33b326e853ba022ecfa9e7eae84fb4c51acd3 +AUX cdrdao-1.2.4-ax_pthread.patch 16846 BLAKE2B a76c7c68c53a57731e652325d98f9f2ce434c9c9385e8583fb948fe2e1c120ad564a95bc247993493afbef1163206c30fc8a141d72ee723b3bcabb20a5f9f36a SHA512 83789963569dbaa599294bd79447e3351309675817eef683e2f90974d68fda00c705eca43c015128d6c6e9ec98f14bf7f205f8e3ab46f33c1bf0afaf0f055694 +AUX cdrdao-1.2.4-wformat-security.patch 4864 BLAKE2B fa300eefe5d714de0245a9e745d13f051dcbc14590efb33a367dd113474984618e62e347fc3cdc26a057169ff95bdde25b36d9b7bcb25aa9cdd5fd9b07a42ec1 SHA512 a40fd8c91fa207ad52f3cde9318fc4422f14aeea15bab4d2cd1e04d3f09a2fc2b666397cdbddc89245c97a6a98ac155c0ecf71c1e2993a366a21016bd337a33e +DIST cdrdao-1.2.3.tar.bz2 1428695 BLAKE2B d5d8e9f2f17b4e4a385e226233d219afdf48fa98bade0dad57292ba45fc4f25c3bb146289884c9ad35224c26a826b305c6f8a1e43c22fe7f1cbd812f1a69790a SHA512 36b14180acf476de062f5f31e2b9dece39e3cc7a84552e80a6714931fa35d6090ec90ddfcdbd2651d690be8ce3fc78d483aa13856c3c311bcc2f571f0040adf6 +DIST cdrdao-1.2.4.tar.bz2 1442181 BLAKE2B e1163b25c165a7acd7ec8c53069794724d93f09a486150255a58985e3fd0a222ba7ac5c124cb7a6991cf440ac701651be38754615fd3d0d295affa93595dc388 SHA512 41f20275ca44ec9003d0e3ed280cc98012353005cda6f544ebfa44f3f79f991845c0ef17af74db9456f1bacc342a7fd48c9e942d757927a4a9ff91808f7bbb09 +EBUILD cdrdao-1.2.3-r4.ebuild 1363 BLAKE2B 39976860881ab6c78968cbc03705cc52d693a25f82ca444567d7904ac6c517bc0e68c73279caf7b76cec3c663095435ec3907dbb842c61fb5e87c79fbbac96d8 SHA512 61bf45c88cb48a58375cee24fa82df7d45d2e4f3ca1d9712d087e625b8aee20c014a4954be6e47a2dd1a8d7466e72a7b1b47f39cab5e8821f0beb0ebc5b2786c +EBUILD cdrdao-1.2.4.ebuild 1300 BLAKE2B 1dcec4244516cf139cf47d703d9050f4f18dee304a07b603161ad439f044e3f3915eaed6df8ebfb789dbfba43752b1df471074b49002125c530f502d5caca49d SHA512 a7a8a64be2514108efa4dfb31d9c332b8fcf12dc9c90794a2d01d431ee398872297d98d02e5ec13bf67574a01b8782dd7bc4eff6e95ea9566dc3dd03b2136fe7 +MISC metadata.xml 395 BLAKE2B 271ac8836e1bc4bd8b8405ab9fdfdaaa4046b47bb44b07bdb78d063853a82433117d69d4dd46e89b4f42008b55f10e69d8262340bd29fe396061add32ed9959a SHA512 66d6f12a07e09dd91c828d34941963b1a498e1be14f0cadcb145b47471e148559280fb237a68c1d99ba3c2360e0603a231f124b950b3debde76fe476a5491351 diff --git a/app-cdr/cdrdao/cdrdao-1.2.3-r4.ebuild b/app-cdr/cdrdao/cdrdao-1.2.3-r4.ebuild new file mode 100644 index 000000000000..cc00a1346b4d --- /dev/null +++ b/app-cdr/cdrdao/cdrdao-1.2.3-r4.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic + +DESCRIPTION="Burn CDs in disk-at-once mode -- with optional GUI frontend" +HOMEPAGE="http://cdrdao.sourceforge.net/" +if [[ ${PV/*_rc*} ]] +then + SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +else + SRC_URI="http://www.poolshark.org/src/${P/_}.tar.bz2" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd" +IUSE="encode mad vorbis" + +COMMON_DEPEND=" + virtual/cdrtools + encode? ( >=media-sound/lame-3.99 ) + mad? ( + media-libs/libmad + media-libs/libao + ) + vorbis? ( + media-libs/libvorbis + media-libs/libao + )" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" +RDEPEND="${COMMON_DEPEND} + !app-cdr/cue2toc + !dev-util/pccts" + +PATCHES=( + "${FILESDIR}/${P}-glibc212.patch" + "${FILESDIR}/${P}-unsigned-char.patch" + "${FILESDIR}/${P}-ax_pthread.patch" + "${FILESDIR}/${P}-wformat-security.patch" + "${FILESDIR}/${P}-lame-3.100.patch" +) + +S="${WORKDIR}/${P/_}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Fix building with latest libsigc++ + append-cxxflags -std=c++11 + find -name '*.h' -exec sed -i '/sigc++\/object.h/d' {} + || die + + econf \ + --without-xdao \ + $(use_with vorbis ogg-support) \ + $(use_with mad mp3-support) \ + $(use_with encode lame) +} diff --git a/app-cdr/cdrdao/cdrdao-1.2.4.ebuild b/app-cdr/cdrdao/cdrdao-1.2.4.ebuild new file mode 100644 index 000000000000..f856d437c8c5 --- /dev/null +++ b/app-cdr/cdrdao/cdrdao-1.2.4.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic + +DESCRIPTION="Burn CDs in disk-at-once mode -- with optional GUI frontend" +HOMEPAGE="http://cdrdao.sourceforge.net/" +if [[ ${PV/*_rc*} ]] +then + SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" +else + SRC_URI="http://www.poolshark.org/src/${P/_}.tar.bz2" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="encode mad vorbis" + +COMMON_DEPEND=" + virtual/cdrtools + encode? ( >=media-sound/lame-3.99 ) + mad? ( + media-libs/libmad + media-libs/libao + ) + vorbis? ( + media-libs/libvorbis + media-libs/libao + )" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig" +RDEPEND="${COMMON_DEPEND} + !app-cdr/cue2toc + !dev-util/pccts" + +PATCHES=( + "${FILESDIR}/${P}-ax_pthread.patch" + "${FILESDIR}/${P}-wformat-security.patch" +) + +S="${WORKDIR}/${P/_}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Fix building with latest libsigc++ + append-cxxflags -std=c++11 + find -name '*.h' -exec sed -i '/sigc++\/object.h/d' {} + || die + + local myeconfargs=( + --without-gcdmaster + $(use_with vorbis ogg-support) + $(use_with mad mp3-support) + $(use_with encode lame) + ) + econf "${myeconfargs[@]}" +} diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-ax_pthread.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-ax_pthread.patch new file mode 100644 index 000000000000..c20a73dd64a6 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-ax_pthread.patch @@ -0,0 +1,418 @@ +Use AX_PTHREAD for finding proper pthread flags. Forcibly add these flags +to CFLAGS, CXXFLAGS and LIBS. +Also use AM_PROG_AR to detect proper ar +See also: https://bugs.gentoo.org/show_bug.cgi?id=548004 + +--- cdrdao-1.2.3/configure.ac ++++ cdrdao-1.2.3/configure.ac +@@ -2,6 +2,7 @@ + AC_REVISION($Revision: 1.25 $)dnl + + AC_INIT(cdrdao, 1.2.3) ++AC_CONFIG_MACRO_DIR([m4]) + + AC_CONFIG_SRCDIR(dao/main.cc) + AM_INIT_AUTOMAKE +@@ -32,7 +33,7 @@ + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_RANLIB +-AC_CHECK_PROG(AR,ar,ar) ++AM_PROG_AR + AC_PROG_MAKE_SET + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) + +@@ -113,7 +114,10 @@ + fi + + if test "$use_pthreads" = yes; then +- AC_CHECK_FUNC(pthread_create,have_pthread_std=yes,have_pthread_std=no) ++ AX_PTHREAD([have_pthread_std=yes],[have_pthread_std=no]) ++ LIBS="$PTHREAD_LIBS $PTHREAD_CFLAGS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + if test "$have_pthread_std" = yes; then + AC_DEFINE(USE_POSIX_THREADS,1,"") +--- cdrdao-1.2.3/m4/ax_pthread.m4 ++++ cdrdao-1.2.3/m4/ax_pthread.m4 +@@ -0,0 +1,332 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_pthread.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro figures out how to build C programs using POSIX threads. It ++# sets the PTHREAD_LIBS output variable to the threads library and linker ++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler ++# flags that are needed. (The user can also force certain compiler ++# flags/libs to be tested by setting these environment variables.) ++# ++# Also sets PTHREAD_CC to any special C compiler that is needed for ++# multi-threaded programs (defaults to the value of CC otherwise). (This ++# is necessary on AIX to use the special cc_r compiler alias.) ++# ++# NOTE: You are assumed to not only compile your program with these flags, ++# but also link it with them as well. e.g. you should link with ++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS ++# ++# If you are only building threads programs, you may wish to use these ++# variables in your default LIBS, CFLAGS, and CC: ++# ++# LIBS="$PTHREAD_LIBS $LIBS" ++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++# CC="$PTHREAD_CC" ++# ++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant ++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name ++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). ++# ++# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the ++# PTHREAD_PRIO_INHERIT symbol is defined when compiling with ++# PTHREAD_CFLAGS. ++# ++# ACTION-IF-FOUND is a list of shell commands to run if a threads library ++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it ++# is not found. If ACTION-IF-FOUND is not specified, the default action ++# will define HAVE_PTHREAD. ++# ++# Please let the authors know if this macro fails on any platform, or if ++# you have any other suggestions or comments. This macro was based on work ++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help ++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by ++# Alejandro Forero Cuervo to the autoconf macro repository. We are also ++# grateful for the helpful feedback of numerous users. ++# ++# Updated for Autoconf 2.68 by Daniel Richard G. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> ++# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <http://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 21 ++ ++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) ++AC_DEFUN([AX_PTHREAD], [ ++AC_REQUIRE([AC_CANONICAL_HOST]) ++AC_LANG_PUSH([C]) ++ax_pthread_ok=no ++ ++# We used to check for pthread.h first, but this fails if pthread.h ++# requires special compiler flags (e.g. on True64 or Sequent). ++# It gets checked for in the link test anyway. ++ ++# First of all, check if the user has set any of the PTHREAD_LIBS, ++# etcetera environment variables, and if threads linking works using ++# them: ++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) ++ AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test x"$ax_pthread_ok" = xno; then ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++ fi ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++fi ++ ++# We must check for the threads library under a number of different ++# names; the ordering is very important because some systems ++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the ++# libraries is broken (non-POSIX). ++ ++# Create a list of thread flags to try. Items starting with a "-" are ++# C compiler flags, and other items are library names, except for "none" ++# which indicates that we try without any flags at all, and "pthread-config" ++# which is a program returning the flags for the Pth emulation library. ++ ++ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" ++ ++# The ordering *is* (sometimes) important. Some notes on the ++# individual items follow: ++ ++# pthreads: AIX (must check this before -lpthread) ++# none: in case threads are in libc; should be tried before -Kthread and ++# other compiler flags to prevent continual compiler warnings ++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) ++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) ++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) ++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) ++# -pthreads: Solaris/gcc ++# -mthreads: Mingw32/gcc, Lynx/gcc ++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it ++# doesn't hurt to check since this sometimes defines pthreads too; ++# also defines -D_REENTRANT) ++# ... -mt is also the pthreads flag for HP/aCC ++# pthread: Linux, etcetera ++# --thread-safe: KAI C++ ++# pthread-config: use pthread-config program (for GNU Pth library) ++ ++case ${host_os} in ++ solaris*) ++ ++ # On Solaris (at least, for some versions), libc contains stubbed ++ # (non-functional) versions of the pthreads routines, so link-based ++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/ ++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather ++ # a function called by this macro, so we could check for that, but ++ # who knows whether they'll stub that too in a future libc.) So, ++ # we'll just look for -pthreads and -lpthread first: ++ ++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" ++ ;; ++ ++ darwin*) ++ ax_pthread_flags="-pthread $ax_pthread_flags" ++ ;; ++esac ++ ++# Clang doesn't consider unrecognized options an error unless we specify ++# -Werror. We throw in some extra Clang-specific options to ensure that ++# this doesn't happen for GCC, which also accepts -Werror. ++ ++AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) ++save_CFLAGS="$CFLAGS" ++ax_pthread_extra_flags="-Werror" ++CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], ++ [AC_MSG_RESULT([yes])], ++ [ax_pthread_extra_flags= ++ AC_MSG_RESULT([no])]) ++CFLAGS="$save_CFLAGS" ++ ++if test x"$ax_pthread_ok" = xno; then ++for flag in $ax_pthread_flags; do ++ ++ case $flag in ++ none) ++ AC_MSG_CHECKING([whether pthreads work without any flags]) ++ ;; ++ ++ -*) ++ AC_MSG_CHECKING([whether pthreads work with $flag]) ++ PTHREAD_CFLAGS="$flag" ++ ;; ++ ++ pthread-config) ++ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) ++ if test x"$ax_pthread_config" = xno; then continue; fi ++ PTHREAD_CFLAGS="`pthread-config --cflags`" ++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ++ ;; ++ ++ *) ++ AC_MSG_CHECKING([for the pthreads library -l$flag]) ++ PTHREAD_LIBS="-l$flag" ++ ;; ++ esac ++ ++ save_LIBS="$LIBS" ++ save_CFLAGS="$CFLAGS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" ++ ++ # Check for various functions. We must include pthread.h, ++ # since some functions may be macros. (On the Sequent, we ++ # need a special flag -Kthread to make this header compile.) ++ # We check for pthread_join because it is in -lpthread on IRIX ++ # while pthread_create is in libc. We check for pthread_attr_init ++ # due to DEC craziness with -lpthreads. We check for ++ # pthread_cleanup_push because it is one of the few pthread ++ # functions on Solaris that doesn't have a non-functional libc stub. ++ # We try pthread_create on general principles. ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> ++ static void routine(void *a) { a = 0; } ++ static void *start_routine(void *a) { return a; }], ++ [pthread_t th; pthread_attr_t attr; ++ pthread_create(&th, 0, start_routine, 0); ++ pthread_join(th, 0); ++ pthread_attr_init(&attr); ++ pthread_cleanup_push(routine, 0); ++ pthread_cleanup_pop(0) /* ; */])], ++ [ax_pthread_ok=yes], ++ []) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test "x$ax_pthread_ok" = xyes; then ++ break; ++ fi ++ ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++done ++fi ++ ++# Various other checks: ++if test "x$ax_pthread_ok" = xyes; then ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ ++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. ++ AC_MSG_CHECKING([for joinable pthread attribute]) ++ attr_name=unknown ++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], ++ [int attr = $attr; return attr /* ; */])], ++ [attr_name=$attr; break], ++ []) ++ done ++ AC_MSG_RESULT([$attr_name]) ++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then ++ AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], ++ [Define to necessary symbol if this constant ++ uses a non-standard name on your system.]) ++ fi ++ ++ AC_MSG_CHECKING([if more special flags are required for pthreads]) ++ flag=no ++ case ${host_os} in ++ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; ++ osf* | hpux*) flag="-D_REENTRANT";; ++ solaris*) ++ if test "$GCC" = "yes"; then ++ flag="-D_REENTRANT" ++ else ++ # TODO: What about Clang on Solaris? ++ flag="-mt -D_REENTRANT" ++ fi ++ ;; ++ esac ++ AC_MSG_RESULT([$flag]) ++ if test "x$flag" != xno; then ++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" ++ fi ++ ++ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], ++ [ax_cv_PTHREAD_PRIO_INHERIT], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], ++ [[int i = PTHREAD_PRIO_INHERIT;]])], ++ [ax_cv_PTHREAD_PRIO_INHERIT=yes], ++ [ax_cv_PTHREAD_PRIO_INHERIT=no]) ++ ]) ++ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], ++ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ # More AIX lossage: compile with *_r variant ++ if test "x$GCC" != xyes; then ++ case $host_os in ++ aix*) ++ AS_CASE(["x/$CC"], ++ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], ++ [#handle absolute path differently from PATH based program lookup ++ AS_CASE(["x$CC"], ++ [x/*], ++ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], ++ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) ++ ;; ++ esac ++ fi ++fi ++ ++test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" ++ ++AC_SUBST([PTHREAD_LIBS]) ++AC_SUBST([PTHREAD_CFLAGS]) ++AC_SUBST([PTHREAD_CC]) ++ ++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: ++if test x"$ax_pthread_ok" = xyes; then ++ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) ++ : ++else ++ ax_pthread_ok=no ++ $2 ++fi ++AC_LANG_POP ++])dnl AX_PTHREAD +--- cdrdao-1.2.3/m4/gconf-2.m4 ++++ cdrdao-1.2.3/m4/gconf-2.m4 +@@ -0,0 +1,44 @@ ++dnl AM_GCONF_SOURCE_2 ++dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas ++dnl (i.e. pass to gconftool-2 ++dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where ++dnl you should install foo.schemas files ++dnl ++ ++AC_DEFUN([AM_GCONF_SOURCE_2], ++[ ++ if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then ++ GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` ++ else ++ GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE ++ fi ++ ++ AC_ARG_WITH([gconf-source], ++ AC_HELP_STRING([--with-gconf-source=sourceaddress], ++ [Config database for installing schema files.]), ++ [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],) ++ ++ AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE) ++ AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation]) ++ ++ if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then ++ GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' ++ fi ++ ++ AC_ARG_WITH([gconf-schema-file-dir], ++ AC_HELP_STRING([--with-gconf-schema-file-dir=dir], ++ [Directory for installing schema files.]), ++ [GCONF_SCHEMA_FILE_DIR="$withval"],) ++ ++ AC_SUBST(GCONF_SCHEMA_FILE_DIR) ++ AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files]) ++ ++ AC_ARG_ENABLE(schemas-install, ++ AC_HELP_STRING([--disable-schemas-install], ++ [Disable the schemas installation]), ++ [case ${enableval} in ++ yes|no) ;; ++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;; ++ esac]) ++ AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no]) ++]) diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-glibc212.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-glibc212.patch new file mode 100644 index 000000000000..c37fd5d0c37d --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-glibc212.patch @@ -0,0 +1,12 @@ +http://bugs.gentoo.org/332237 + +--- cdrdao-1.2.3/dao/ScsiIf-linux.cc ++++ cdrdao-1.2.3/dao/ScsiIf-linux.cc +@@ -30,6 +30,7 @@ + #include <asm/param.h> + #include <scsi/scsi.h> + #include <scsi/sg.h> ++#include <sys/stat.h> + + #include "ScsiIf.h" + #include "sg_err.h" diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-lame-3.100.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-lame-3.100.patch new file mode 100644 index 000000000000..c712de2394c7 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-lame-3.100.patch @@ -0,0 +1,24 @@ +--- a/utils/toc2mp3.cc ++++ b/utils/toc2mp3.cc +@@ -143,8 +143,8 @@ + + message(0, "LAME encoder version: %s", get_lame_version()); + message(0, "Supported bit rates: "); +- for (int i = 0; i < 16 && bitrate_table[1][i] >= 0; i++) { +- message(0, "%d ", bitrate_table[1][i]); ++ for (int i = 0; i < 16 && lame_get_bitrate(1, i) >= 0; i++) { ++ message(0, "%d ", lame_get_bitrate(1, i)); + } + message(0, ""); + } +@@ -238,8 +238,8 @@ + lame_global_flags *lf; + int bitrateOk = 0; + +- for (int i = 0; bitrate_table[1][i] >= 0 && !bitrateOk; i++) { +- if (bitrate == bitrate_table[1][i]) ++ for (int i = 0; lame_get_bitrate(1, i) >= 0 && !bitrateOk; i++) { ++ if (bitrate == lame_get_bitrate(1, i)) + bitrateOk = 1; + } + diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch new file mode 100644 index 000000000000..18c60830ba30 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch @@ -0,0 +1,42 @@ +https://bugs.gentoo.org/69344 +https://sourceforge.net/p/cdrdao/patches/26/ + +patch by qbt937@gmail.com + +--- a/dao/CdrDriver.cc ++++ b/dao/CdrDriver.cc +@@ -495,7 +495,7 @@ + 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0 + }; + +-char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 }; ++unsigned char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 }; + + + /* Maps a string to the corresponding driver option value +--- a/dao/CdrDriver.h ++++ b/dao/CdrDriver.h +@@ -440,7 +440,7 @@ + bool fullBurn_; + + static unsigned char syncPattern[12]; +- static char REMOTE_MSG_SYNC_[4]; ++ unsigned static char REMOTE_MSG_SYNC_[4]; + + static int speed2Mult(int); + static int mult2Speed(int); +--- a/xdao/CdDevice.cc ++++ b/xdao/CdDevice.cc +@@ -255,10 +255,10 @@ + + bool CdDevice::updateProgress(Glib::IOCondition cond, int fd) + { +- static char msgSync[4] = { 0xff, 0x00, 0xff, 0x00 }; ++ unsigned static char msgSync[4] = { 0xff, 0x00, 0xff, 0x00 }; + fd_set fds; + int state = 0; +- char buf[10]; ++ unsigned char buf[10]; + struct timeval timeout = { 0, 0 }; + + if (process_ == NULL) diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-wformat-security.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-wformat-security.patch new file mode 100644 index 000000000000..c5cfad840c15 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-wformat-security.patch @@ -0,0 +1,173 @@ +Fix -Werror=format-security errors +Also fix incorrect printf() format specifiers +https://bugs.gentoo.org/show_bug.cgi?id=520988 + +* gen.c: In function 'genHdr': +* gen.c:3869:17: error: format not a string literal and no format arguments [-Werror=format-security] + +--- cdrdao-1.2.3/pccts/antlr/bits.c ++++ cdrdao-1.2.3/pccts/antlr/bits.c +@@ -574,13 +574,13 @@ + else + fprintf(DefFile, "extern SetWordType zzerr%d[];\n", esetnum); + if ( name!=NULL ) { +- fprintf(ErrFile, "SetWordType %s%s[%d] = {", ++ fprintf(ErrFile, "SetWordType %s%s[%lu] = {", + name, + suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + else { +- fprintf(ErrFile, "SetWordType zzerr%d[%d] = {", ++ fprintf(ErrFile, "SetWordType zzerr%d[%lu] = {", + esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); + } +@@ -642,20 +642,20 @@ + esetnum++; + + if ( name!=NULL ) { +- fprintf(Parser_h, "\tstatic SetWordType %s%s[%d];\n", name, suffix, ++ fprintf(Parser_h, "\tstatic SetWordType %s%s[%lu];\n", name, suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); +- fprintf(Parser_c, "SetWordType %s::%s%s[%d] = {", ++ fprintf(Parser_c, "SetWordType %s::%s%s[%lu] = {", + CurrentClassName, + name, + suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + else { +- fprintf(Parser_c, "SetWordType %s::err%d[%d] = {", ++ fprintf(Parser_c, "SetWordType %s::err%d[%lu] = {", + CurrentClassName, + esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); +- fprintf(Parser_h, "\tstatic SetWordType err%d[%d];\n", esetnum, ++ fprintf(Parser_h, "\tstatic SetWordType err%d[%lu];\n", esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + +@@ -788,7 +788,7 @@ + + /* Build constructors */ + fprintf(Parser_c, "\n%s::", CurrentClassName); +- fprintf(Parser_c, "%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%d)\n", ++ fprintf(Parser_c, "%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%lu)\n", + CurrentClassName, + (BaseClassName == NULL ? "ANTLRParser" : BaseClassName), + OutputLL_k, +@@ -913,7 +913,7 @@ + #ifdef DUM + if ( LexGen ) fprintf(ErrFile, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken)); + #endif +- fprintf(ErrFile, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ fprintf(ErrFile, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if ( DemandLookahead ) fprintf(ErrFile, "#define DEMAND_LOOK\n"); + fprintf(ErrFile, "#include \"antlr.h\"\n"); + if ( GenAST ) fprintf(ErrFile, "#include \"ast.h\"\n"); +--- cdrdao-1.2.3/pccts/antlr/fset2.c ++++ cdrdao-1.2.3/pccts/antlr/fset2.c +@@ -2210,7 +2210,7 @@ + if (p->ntype != nToken) continue; + tn=(TokNode *)p; + if (depth != 0) fprintf(stdout," "); +- fprintf(stdout,TerminalString(tn->token)); ++ fprintf(stdout,"%s",TerminalString(tn->token)); + depth++; + if (! MR_AmbAidMultiple) { + if (set_nil(tn->tset)) { +--- cdrdao-1.2.3/pccts/antlr/gen.c ++++ cdrdao-1.2.3/pccts/antlr/gen.c +@@ -159,7 +159,7 @@ + #define gen6(s,a,b,c,d,e,f) {tab(); fprintf(output, s,a,b,c,d,e,f);} + #define gen7(s,a,b,c,d,e,f,g) {tab(); fprintf(output, s,a,b,c,d,e,f,g);} + +-#define _gen(s) {fprintf(output, s);} ++#define _gen(s) {fprintf(output, "%s", s);} + #define _gen1(s,a) {fprintf(output, s,a);} + #define _gen2(s,a,b) {fprintf(output, s,a,b);} + #define _gen3(s,a,b,c) {fprintf(output, s,a,b,c);} +@@ -3911,7 +3911,7 @@ + } + #endif + /* ###WARNING: This will have to change when SetWordSize changes */ +- if ( !GenCC ) _gen1("#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ if ( !GenCC ) _gen1("#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if (TraceGen) { + _gen("#ifndef zzTRACE_RULES\n"); /* MR20 */ + _gen("#define zzTRACE_RULES\n"); /* MR20 */ +@@ -4125,7 +4125,7 @@ + if ( LexGen ) fprintf(f, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken)); + #endif + /* ###WARNING: This will have to change when SetWordSize changes */ +- fprintf(f, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ fprintf(f, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if (TraceGen) { + fprintf(f,"#ifndef zzTRACE_RULES\n"); /* MR20 */ + fprintf(f,"#define zzTRACE_RULES\n"); /* MR20 */ +--- cdrdao-1.2.3/pccts/antlr/lex.c ++++ cdrdao-1.2.3/pccts/antlr/lex.c +@@ -706,7 +706,7 @@ + /* MR26 */ if (! (isalpha(*t) || isdigit(*t) || *t == '_' || *t == '$')) break; + /* MR26 */ } + /* MR26 */ } +-/* MR26 */ fprintf(output,strBetween(pSymbol, t, pSeparator)); ++/* MR26 */ fprintf(output,"%s",strBetween(pSymbol, t, pSeparator)); + + *q = p; + return (*pSeparator == 0); +@@ -771,7 +771,7 @@ + &pValue, + &pSeparator, + &nest); +- fprintf(f,strBetween(pDataType, pSymbol, pSeparator)); ++ fprintf(f,"%s",strBetween(pDataType, pSymbol, pSeparator)); + } + + /* check to see if string e is a word in string s */ +@@ -852,9 +852,9 @@ + &pSeparator, + &nest); + fprintf(f,"\t"); +- fprintf(f,strBetween(pDataType, pSymbol, pSeparator)); ++ fprintf(f,"%s",strBetween(pDataType, pSymbol, pSeparator)); + fprintf(f," "); +- fprintf(f,strBetween(pSymbol, pEqualSign, pSeparator)); ++ fprintf(f,"%s",strBetween(pSymbol, pEqualSign, pSeparator)); + fprintf(f,";\n"); + } + fprintf(f,"};\n"); +--- cdrdao-1.2.3/pccts/antlr/set.c ++++ cdrdao-1.2.3/pccts/antlr/set.c +@@ -263,7 +263,7 @@ + static set a; + + if ( b == nil ) return( empty ); +- set_new(a, b); ++ set_new(a, (long unsigned int) b); + a.setword[DIVWORD(b)] = bitmask[MODWORD(b)]; + + return(a); +--- cdrdao-1.2.3/pccts/dlg/set.c ++++ cdrdao-1.2.3/pccts/dlg/set.c +@@ -263,7 +263,7 @@ + static set a; + + if ( b == nil ) return( empty ); +- set_new(a, b); ++ set_new(a, (long unsigned int) b); + a.setword[DIVWORD(b)] = bitmask[MODWORD(b)]; + + return(a); +--- cdrdao-1.2.3/pccts/h/set.h ++++ cdrdao-1.2.3/pccts/h/set.h +@@ -55,7 +55,7 @@ + /* make arg1 a set big enough to hold max elem # of arg2 */ + #define set_new(a,_max) \ + if (((a).setword=(unsigned *)calloc(NumWords(_max),BytesPerWord))==NULL) \ +- fprintf(stderr, "set_new: Cannot allocate set with max of %d\n", _max); \ ++ fprintf(stderr, "set_new: Cannot allocate set with max of %lu\n", _max); \ + (a).n = NumWords(_max); + + #define set_free(a) \ diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.4-ax_pthread.patch b/app-cdr/cdrdao/files/cdrdao-1.2.4-ax_pthread.patch new file mode 100644 index 000000000000..fe052db02af7 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.4-ax_pthread.patch @@ -0,0 +1,418 @@ +Use AX_PTHREAD for finding proper pthread flags. Forcibly add these flags +to CFLAGS, CXXFLAGS and LIBS. +Also use AM_PROG_AR to detect proper ar +See also: https://bugs.gentoo.org/548004 + +--- cdrdao-1.2.4/configure.ac ++++ cdrdao-1.2.4/configure.ac +@@ -2,6 +2,7 @@ + AC_REVISION($Revision: 1.26 $)dnl + + AC_INIT(cdrdao, 1.2.4) ++AC_CONFIG_MACRO_DIR([m4]) + + AC_CONFIG_SRCDIR(dao/main.cc) + AM_INIT_AUTOMAKE +@@ -32,7 +33,7 @@ + AC_PROG_CPP + AC_PROG_INSTALL + AC_PROG_RANLIB +-AC_CHECK_PROG(AR,ar,ar) ++AM_PROG_AR + AC_PROG_MAKE_SET + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) + +@@ -113,7 +114,10 @@ + fi + + if test "$use_pthreads" = yes; then +- AC_CHECK_FUNC(pthread_create,have_pthread_std=yes,have_pthread_std=no) ++ AX_PTHREAD([have_pthread_std=yes],[have_pthread_std=no]) ++ LIBS="$PTHREAD_LIBS $PTHREAD_CFLAGS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + if test "$have_pthread_std" = yes; then + AC_DEFINE(USE_POSIX_THREADS,1,"") +--- cdrdao-1.2.4/m4/ax_pthread.m4 ++++ cdrdao-1.2.4/m4/ax_pthread.m4 +@@ -0,0 +1,332 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_pthread.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro figures out how to build C programs using POSIX threads. It ++# sets the PTHREAD_LIBS output variable to the threads library and linker ++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler ++# flags that are needed. (The user can also force certain compiler ++# flags/libs to be tested by setting these environment variables.) ++# ++# Also sets PTHREAD_CC to any special C compiler that is needed for ++# multi-threaded programs (defaults to the value of CC otherwise). (This ++# is necessary on AIX to use the special cc_r compiler alias.) ++# ++# NOTE: You are assumed to not only compile your program with these flags, ++# but also link it with them as well. e.g. you should link with ++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS ++# ++# If you are only building threads programs, you may wish to use these ++# variables in your default LIBS, CFLAGS, and CC: ++# ++# LIBS="$PTHREAD_LIBS $LIBS" ++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++# CC="$PTHREAD_CC" ++# ++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant ++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name ++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). ++# ++# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the ++# PTHREAD_PRIO_INHERIT symbol is defined when compiling with ++# PTHREAD_CFLAGS. ++# ++# ACTION-IF-FOUND is a list of shell commands to run if a threads library ++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it ++# is not found. If ACTION-IF-FOUND is not specified, the default action ++# will define HAVE_PTHREAD. ++# ++# Please let the authors know if this macro fails on any platform, or if ++# you have any other suggestions or comments. This macro was based on work ++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help ++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by ++# Alejandro Forero Cuervo to the autoconf macro repository. We are also ++# grateful for the helpful feedback of numerous users. ++# ++# Updated for Autoconf 2.68 by Daniel Richard G. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> ++# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <http://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 21 ++ ++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) ++AC_DEFUN([AX_PTHREAD], [ ++AC_REQUIRE([AC_CANONICAL_HOST]) ++AC_LANG_PUSH([C]) ++ax_pthread_ok=no ++ ++# We used to check for pthread.h first, but this fails if pthread.h ++# requires special compiler flags (e.g. on True64 or Sequent). ++# It gets checked for in the link test anyway. ++ ++# First of all, check if the user has set any of the PTHREAD_LIBS, ++# etcetera environment variables, and if threads linking works using ++# them: ++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) ++ AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test x"$ax_pthread_ok" = xno; then ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++ fi ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++fi ++ ++# We must check for the threads library under a number of different ++# names; the ordering is very important because some systems ++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the ++# libraries is broken (non-POSIX). ++ ++# Create a list of thread flags to try. Items starting with a "-" are ++# C compiler flags, and other items are library names, except for "none" ++# which indicates that we try without any flags at all, and "pthread-config" ++# which is a program returning the flags for the Pth emulation library. ++ ++ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" ++ ++# The ordering *is* (sometimes) important. Some notes on the ++# individual items follow: ++ ++# pthreads: AIX (must check this before -lpthread) ++# none: in case threads are in libc; should be tried before -Kthread and ++# other compiler flags to prevent continual compiler warnings ++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) ++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) ++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) ++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) ++# -pthreads: Solaris/gcc ++# -mthreads: Mingw32/gcc, Lynx/gcc ++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it ++# doesn't hurt to check since this sometimes defines pthreads too; ++# also defines -D_REENTRANT) ++# ... -mt is also the pthreads flag for HP/aCC ++# pthread: Linux, etcetera ++# --thread-safe: KAI C++ ++# pthread-config: use pthread-config program (for GNU Pth library) ++ ++case ${host_os} in ++ solaris*) ++ ++ # On Solaris (at least, for some versions), libc contains stubbed ++ # (non-functional) versions of the pthreads routines, so link-based ++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/ ++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather ++ # a function called by this macro, so we could check for that, but ++ # who knows whether they'll stub that too in a future libc.) So, ++ # we'll just look for -pthreads and -lpthread first: ++ ++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" ++ ;; ++ ++ darwin*) ++ ax_pthread_flags="-pthread $ax_pthread_flags" ++ ;; ++esac ++ ++# Clang doesn't consider unrecognized options an error unless we specify ++# -Werror. We throw in some extra Clang-specific options to ensure that ++# this doesn't happen for GCC, which also accepts -Werror. ++ ++AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) ++save_CFLAGS="$CFLAGS" ++ax_pthread_extra_flags="-Werror" ++CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], ++ [AC_MSG_RESULT([yes])], ++ [ax_pthread_extra_flags= ++ AC_MSG_RESULT([no])]) ++CFLAGS="$save_CFLAGS" ++ ++if test x"$ax_pthread_ok" = xno; then ++for flag in $ax_pthread_flags; do ++ ++ case $flag in ++ none) ++ AC_MSG_CHECKING([whether pthreads work without any flags]) ++ ;; ++ ++ -*) ++ AC_MSG_CHECKING([whether pthreads work with $flag]) ++ PTHREAD_CFLAGS="$flag" ++ ;; ++ ++ pthread-config) ++ AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) ++ if test x"$ax_pthread_config" = xno; then continue; fi ++ PTHREAD_CFLAGS="`pthread-config --cflags`" ++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ++ ;; ++ ++ *) ++ AC_MSG_CHECKING([for the pthreads library -l$flag]) ++ PTHREAD_LIBS="-l$flag" ++ ;; ++ esac ++ ++ save_LIBS="$LIBS" ++ save_CFLAGS="$CFLAGS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" ++ ++ # Check for various functions. We must include pthread.h, ++ # since some functions may be macros. (On the Sequent, we ++ # need a special flag -Kthread to make this header compile.) ++ # We check for pthread_join because it is in -lpthread on IRIX ++ # while pthread_create is in libc. We check for pthread_attr_init ++ # due to DEC craziness with -lpthreads. We check for ++ # pthread_cleanup_push because it is one of the few pthread ++ # functions on Solaris that doesn't have a non-functional libc stub. ++ # We try pthread_create on general principles. ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h> ++ static void routine(void *a) { a = 0; } ++ static void *start_routine(void *a) { return a; }], ++ [pthread_t th; pthread_attr_t attr; ++ pthread_create(&th, 0, start_routine, 0); ++ pthread_join(th, 0); ++ pthread_attr_init(&attr); ++ pthread_cleanup_push(routine, 0); ++ pthread_cleanup_pop(0) /* ; */])], ++ [ax_pthread_ok=yes], ++ []) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ AC_MSG_RESULT([$ax_pthread_ok]) ++ if test "x$ax_pthread_ok" = xyes; then ++ break; ++ fi ++ ++ PTHREAD_LIBS="" ++ PTHREAD_CFLAGS="" ++done ++fi ++ ++# Various other checks: ++if test "x$ax_pthread_ok" = xyes; then ++ save_LIBS="$LIBS" ++ LIBS="$PTHREAD_LIBS $LIBS" ++ save_CFLAGS="$CFLAGS" ++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS" ++ ++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. ++ AC_MSG_CHECKING([for joinable pthread attribute]) ++ attr_name=unknown ++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>], ++ [int attr = $attr; return attr /* ; */])], ++ [attr_name=$attr; break], ++ []) ++ done ++ AC_MSG_RESULT([$attr_name]) ++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then ++ AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], ++ [Define to necessary symbol if this constant ++ uses a non-standard name on your system.]) ++ fi ++ ++ AC_MSG_CHECKING([if more special flags are required for pthreads]) ++ flag=no ++ case ${host_os} in ++ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; ++ osf* | hpux*) flag="-D_REENTRANT";; ++ solaris*) ++ if test "$GCC" = "yes"; then ++ flag="-D_REENTRANT" ++ else ++ # TODO: What about Clang on Solaris? ++ flag="-mt -D_REENTRANT" ++ fi ++ ;; ++ esac ++ AC_MSG_RESULT([$flag]) ++ if test "x$flag" != xno; then ++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" ++ fi ++ ++ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], ++ [ax_cv_PTHREAD_PRIO_INHERIT], [ ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]], ++ [[int i = PTHREAD_PRIO_INHERIT;]])], ++ [ax_cv_PTHREAD_PRIO_INHERIT=yes], ++ [ax_cv_PTHREAD_PRIO_INHERIT=no]) ++ ]) ++ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], ++ [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) ++ ++ LIBS="$save_LIBS" ++ CFLAGS="$save_CFLAGS" ++ ++ # More AIX lossage: compile with *_r variant ++ if test "x$GCC" != xyes; then ++ case $host_os in ++ aix*) ++ AS_CASE(["x/$CC"], ++ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], ++ [#handle absolute path differently from PATH based program lookup ++ AS_CASE(["x$CC"], ++ [x/*], ++ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], ++ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) ++ ;; ++ esac ++ fi ++fi ++ ++test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" ++ ++AC_SUBST([PTHREAD_LIBS]) ++AC_SUBST([PTHREAD_CFLAGS]) ++AC_SUBST([PTHREAD_CC]) ++ ++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: ++if test x"$ax_pthread_ok" = xyes; then ++ ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) ++ : ++else ++ ax_pthread_ok=no ++ $2 ++fi ++AC_LANG_POP ++])dnl AX_PTHREAD +--- cdrdao-1.2.4/m4/gconf-2.m4 ++++ cdrdao-1.2.4/m4/gconf-2.m4 +@@ -0,0 +1,44 @@ ++dnl AM_GCONF_SOURCE_2 ++dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas ++dnl (i.e. pass to gconftool-2 ++dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where ++dnl you should install foo.schemas files ++dnl ++ ++AC_DEFUN([AM_GCONF_SOURCE_2], ++[ ++ if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then ++ GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source` ++ else ++ GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE ++ fi ++ ++ AC_ARG_WITH([gconf-source], ++ AC_HELP_STRING([--with-gconf-source=sourceaddress], ++ [Config database for installing schema files.]), ++ [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],) ++ ++ AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE) ++ AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation]) ++ ++ if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then ++ GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas' ++ fi ++ ++ AC_ARG_WITH([gconf-schema-file-dir], ++ AC_HELP_STRING([--with-gconf-schema-file-dir=dir], ++ [Directory for installing schema files.]), ++ [GCONF_SCHEMA_FILE_DIR="$withval"],) ++ ++ AC_SUBST(GCONF_SCHEMA_FILE_DIR) ++ AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files]) ++ ++ AC_ARG_ENABLE(schemas-install, ++ AC_HELP_STRING([--disable-schemas-install], ++ [Disable the schemas installation]), ++ [case ${enableval} in ++ yes|no) ;; ++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;; ++ esac]) ++ AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no]) ++]) diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.4-wformat-security.patch b/app-cdr/cdrdao/files/cdrdao-1.2.4-wformat-security.patch new file mode 100644 index 000000000000..92ebbdc37460 --- /dev/null +++ b/app-cdr/cdrdao/files/cdrdao-1.2.4-wformat-security.patch @@ -0,0 +1,130 @@ +Fix -Werror=format-security errors +Also fix incorrect printf() format specifiers +https://bugs.gentoo.org/show_bug.cgi?id=520988 + +* gen.c: In function 'genHdr': +* gen.c:3869:17: error: format not a string literal and no format arguments [-Werror=format-security] + +--- cdrdao-1.2.4/pccts/antlr/bits.c ++++ cdrdao-1.2.4/pccts/antlr/bits.c +@@ -574,13 +574,13 @@ + else + fprintf(DefFile, "extern SetWordType zzerr%d[];\n", esetnum); + if ( name!=NULL ) { +- fprintf(ErrFile, "SetWordType %s%s[%d] = {", ++ fprintf(ErrFile, "SetWordType %s%s[%lu] = {", + name, + suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + else { +- fprintf(ErrFile, "SetWordType zzerr%d[%d] = {", ++ fprintf(ErrFile, "SetWordType zzerr%d[%lu] = {", + esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); + } +@@ -642,20 +642,20 @@ + esetnum++; + + if ( name!=NULL ) { +- fprintf(Parser_h, "\tstatic SetWordType %s%s[%d];\n", name, suffix, ++ fprintf(Parser_h, "\tstatic SetWordType %s%s[%lu];\n", name, suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); +- fprintf(Parser_c, "SetWordType %s::%s%s[%d] = {", ++ fprintf(Parser_c, "SetWordType %s::%s%s[%lu] = {", + CurrentClassName, + name, + suffix, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + else { +- fprintf(Parser_c, "SetWordType %s::err%d[%d] = {", ++ fprintf(Parser_c, "SetWordType %s::err%d[%lu] = {", + CurrentClassName, + esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); +- fprintf(Parser_h, "\tstatic SetWordType err%d[%d];\n", esetnum, ++ fprintf(Parser_h, "\tstatic SetWordType err%d[%lu];\n", esetnum, + NumWords(TokenNum-1)*sizeof(unsigned)); + } + +@@ -788,7 +788,7 @@ + + /* Build constructors */ + fprintf(Parser_c, "\n%s::", CurrentClassName); +- fprintf(Parser_c, "%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%d)\n", ++ fprintf(Parser_c, "%s(ANTLRTokenBuffer *input) : %s(input,%d,%d,%d,%lu)\n", + CurrentClassName, + (BaseClassName == NULL ? "ANTLRParser" : BaseClassName), + OutputLL_k, +@@ -913,7 +913,7 @@ + #ifdef DUM + if ( LexGen ) fprintf(ErrFile, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken)); + #endif +- fprintf(ErrFile, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ fprintf(ErrFile, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if ( DemandLookahead ) fprintf(ErrFile, "#define DEMAND_LOOK\n"); + fprintf(ErrFile, "#include \"antlr.h\"\n"); + if ( GenAST ) fprintf(ErrFile, "#include \"ast.h\"\n"); +--- cdrdao-1.2.4/pccts/antlr/gen.c ++++ cdrdao-1.2.4/pccts/antlr/gen.c +@@ -159,7 +159,7 @@ + #define gen6(s,a,b,c,d,e,f) {tab(); fprintf(output, s,a,b,c,d,e,f);} + #define gen7(s,a,b,c,d,e,f,g) {tab(); fprintf(output, s,a,b,c,d,e,f,g);} + +-#define _gen(s) {fprintf(output, s);} ++#define _gen(s) {fprintf(output, "%s", s);} + #define _gen1(s,a) {fprintf(output, s,a);} + #define _gen2(s,a,b) {fprintf(output, s,a,b);} + #define _gen3(s,a,b,c) {fprintf(output, s,a,b,c);} +@@ -3911,7 +3911,7 @@ + } + #endif + /* ###WARNING: This will have to change when SetWordSize changes */ +- if ( !GenCC ) _gen1("#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ if ( !GenCC ) _gen1("#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if (TraceGen) { + _gen("#ifndef zzTRACE_RULES\n"); /* MR20 */ + _gen("#define zzTRACE_RULES\n"); /* MR20 */ +@@ -4125,7 +4125,7 @@ + if ( LexGen ) fprintf(f, "#define zzEOF_TOKEN %d\n", (TokenInd!=NULL?TokenInd[EofToken]:EofToken)); + #endif + /* ###WARNING: This will have to change when SetWordSize changes */ +- fprintf(f, "#define zzSET_SIZE %d\n", NumWords(TokenNum-1)*sizeof(unsigned)); ++ fprintf(f, "#define zzSET_SIZE %lu\n", NumWords(TokenNum-1)*sizeof(unsigned)); + if (TraceGen) { + fprintf(f,"#ifndef zzTRACE_RULES\n"); /* MR20 */ + fprintf(f,"#define zzTRACE_RULES\n"); /* MR20 */ +--- cdrdao-1.2.4/pccts/antlr/set.c ++++ cdrdao-1.2.4/pccts/antlr/set.c +@@ -263,7 +263,7 @@ + static set a; + + if ( b == nil ) return( empty ); +- set_new(a, b); ++ set_new(a, (long unsigned int) b); + a.setword[DIVWORD(b)] = bitmask[MODWORD(b)]; + + return(a); +--- cdrdao-1.2.4/pccts/dlg/set.c ++++ cdrdao-1.2.4/pccts/dlg/set.c +@@ -263,7 +263,7 @@ + static set a; + + if ( b == nil ) return( empty ); +- set_new(a, b); ++ set_new(a, (long unsigned int) b); + a.setword[DIVWORD(b)] = bitmask[MODWORD(b)]; + + return(a); +--- cdrdao-1.2.4/pccts/h/set.h ++++ cdrdao-1.2.4/pccts/h/set.h +@@ -55,7 +55,7 @@ + /* make arg1 a set big enough to hold max elem # of arg2 */ + #define set_new(a,_max) \ + if (((a).setword=(unsigned *)calloc(NumWords(_max),BytesPerWord))==NULL) \ +- fprintf(stderr, "set_new: Cannot allocate set with max of %d\n", _max); \ ++ fprintf(stderr, "set_new: Cannot allocate set with max of %lu\n", _max); \ + (a).n = NumWords(_max); + + #define set_free(a) \ diff --git a/app-cdr/cdrdao/metadata.xml b/app-cdr/cdrdao/metadata.xml new file mode 100644 index 000000000000..266fe7cc02d8 --- /dev/null +++ b/app-cdr/cdrdao/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <longdescription> + CD command line recording, ripping and copying tool. Especially ISOs- and + bin/cue-files are handled very well. + </longdescription> + <upstream> + <remote-id type="sourceforge">cdrdao</remote-id> + </upstream> +</pkgmetadata> |