Compare commits
No commits in common. 'c8' and 'epel9' have entirely different histories.
@ -1 +1 @@
|
||||
SOURCES/libIDL-0.8.14.tar.bz2
|
||||
libIDL-0.8.14.tar.bz2
|
||||
|
@ -1 +0,0 @@
|
||||
abedf091bef0c7e65162111baf068dcb739ffcd3 SOURCES/libIDL-0.8.14.tar.bz2
|
@ -0,0 +1,36 @@
|
||||
diff -Naur libIDL-0.8.14-original/lexer.l libIDL-0.8.14/lexer.l
|
||||
--- libIDL-0.8.14-original/lexer.l 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/lexer.l 2021-02-03 12:56:01.237822569 -0500
|
||||
@@ -269,17 +269,29 @@
|
||||
<*>{whitespace} ;
|
||||
{b8_int} {
|
||||
yylval.integer = 0;
|
||||
- sscanf (yytext, "%" IDL_LL "o", &yylval.integer);
|
||||
+ {
|
||||
+ long long unsigned yyltmp = 0;
|
||||
+ sscanf (yytext, "%" IDL_LL "o", &yyltmp);
|
||||
+ memmove (&yylval.integer, &yyltmp, sizeof (yylval.integer));
|
||||
+ }
|
||||
tokreturn (TOK_INTEGER);
|
||||
}
|
||||
{b10_uint} {
|
||||
yylval.integer = 0;
|
||||
- sscanf (yytext, "%" IDL_LL "u", &yylval.integer);
|
||||
+ {
|
||||
+ long long unsigned yyltmp = 0;
|
||||
+ sscanf (yytext, "%" IDL_LL "u", &yyltmp);
|
||||
+ memmove (&yylval.integer, &yyltmp, sizeof (yylval.integer));
|
||||
+ }
|
||||
tokreturn (TOK_INTEGER);
|
||||
}
|
||||
{b16_int} {
|
||||
yylval.integer = 0;
|
||||
- sscanf (yytext + 2, "%" IDL_LL "x", &yylval.integer);
|
||||
+ {
|
||||
+ long long unsigned yyltmp = 0;
|
||||
+ sscanf (yytext + 2, "%" IDL_LL "x", &yyltmp);
|
||||
+ memmove (&yylval.integer, &yyltmp, sizeof (yylval.integer));
|
||||
+ }
|
||||
tokreturn (TOK_INTEGER);
|
||||
}
|
||||
{fixed_lit} {
|
@ -0,0 +1,31 @@
|
||||
On platforms (such as 64-bit Linux), where long long int and long int are both
|
||||
64-bit, we can have IDL_LL defined to ll (format with %%lld) while
|
||||
IDL_longlong_t, which is just gint64, may be ultimately defined to long int.
|
||||
This results in compiler warnings about the mismatch between the long long
|
||||
format and long parameter, even though the types are compatible. We can fix
|
||||
this with a cast to long long before formatting.
|
||||
|
||||
diff -Naur libIDL-0.8.14-original/parser.y libIDL-0.8.14/parser.y
|
||||
--- libIDL-0.8.14-original/parser.y 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/parser.y 2021-02-03 12:37:11.067509562 -0500
|
||||
@@ -1354,7 +1354,7 @@
|
||||
} else if (value < 0) {
|
||||
yywarningv (IDL_WARNING1, "Cannot use negative value %"
|
||||
IDL_LL "d, using %" IDL_LL "d",
|
||||
- value, -value);
|
||||
+ (long long) value, (long long) -value);
|
||||
if (ident)
|
||||
IDL_tree_warning (ident,
|
||||
IDL_WARNING1, "From constant declared here");
|
||||
diff -Naur libIDL-0.8.14-original/util.c libIDL-0.8.14/util.c
|
||||
--- libIDL-0.8.14-original/util.c 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/util.c 2021-02-03 12:42:13.641470825 -0500
|
||||
@@ -2818,7 +2818,7 @@
|
||||
|
||||
case IDLN_INTEGER:
|
||||
/* FIXME: sign */
|
||||
- dataf (data, "%" IDL_LL "d", IDL_INTEGER (p).value);
|
||||
+ dataf (data, "%" IDL_LL "d", (long long) IDL_INTEGER (p).value);
|
||||
break;
|
||||
|
||||
case IDLN_FIXED:
|
@ -0,0 +1,116 @@
|
||||
diff -Naur libIDL-0.8.14-original/libIDL-config-2.in libIDL-0.8.14/libIDL-config-2.in
|
||||
--- libIDL-0.8.14-original/libIDL-config-2.in 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/libIDL-config-2.in 2021-02-04 08:30:19.646031279 -0500
|
||||
@@ -7,7 +7,7 @@
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
-Usage: libIDL-config [OPTIONS]
|
||||
+Usage: libIDL-config-2 [OPTIONS]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
diff -Naur libIDL-0.8.14-original/libIDL.m4.in libIDL-0.8.14/libIDL.m4.in
|
||||
--- libIDL-0.8.14-original/libIDL.m4.in 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/libIDL.m4.in 2021-02-04 08:33:46.123369131 -0500
|
||||
@@ -5,7 +5,7 @@
|
||||
dnl
|
||||
AC_DEFUN([AM_PATH_LIBIDL],
|
||||
[dnl
|
||||
-dnl Get the cflags and libraries from the libIDL-config script
|
||||
+dnl Get the cflags and libraries from the libIDL-config-2 script
|
||||
dnl
|
||||
AC_ARG_WITH(libIDL-prefix,[ --with-libIDL-prefix=PFX Prefix where libIDL is installed (optional)],
|
||||
libIDL_config_prefix="$withval", libIDL_config_prefix="")
|
||||
@@ -17,20 +17,20 @@
|
||||
if test x$libIDL_config_exec_prefix != x ; then
|
||||
libIDL_config_args="$libIDL_config_args --exec-prefix=$libIDL_config_exec_prefix"
|
||||
if test x${LIBIDL_CONFIG+set} != xset ; then
|
||||
- LIBIDL_CONFIG=$libIDL_config_exec_prefix/bin/libIDL-config
|
||||
+ LIBIDL_CONFIG=$libIDL_config_exec_prefix/bin/libIDL-config-2
|
||||
fi
|
||||
fi
|
||||
if test x$libIDL_config_prefix != x ; then
|
||||
libIDL_config_args="$libIDL_config_args --prefix=$libIDL_config_prefix"
|
||||
if test x${LIBIDL_CONFIG+set} != xset ; then
|
||||
- LIBIDL_CONFIG=$libIDL_config_prefix/bin/libIDL-config
|
||||
+ LIBIDL_CONFIG=$libIDL_config_prefix/bin/libIDL-config-2
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl AM_PATH_GLIB(@GLIB_VERSION_REQUIRED@)
|
||||
AM_PATH_GLIB_2_0(@GLIB_VERSION_REQUIRED@)
|
||||
|
||||
- AC_PATH_PROG(LIBIDL_CONFIG, libIDL-config, no)
|
||||
+ AC_PATH_PROG(LIBIDL_CONFIG, libIDL-config-2, no)
|
||||
min_libIDL_version=ifelse([$1], ,0.6.0,$1)
|
||||
AC_MSG_CHECKING(for libIDL - version >= $min_libIDL_version)
|
||||
no_libIDL=""
|
||||
@@ -89,16 +89,16 @@
|
||||
(libIDL_minor_version != $libIDL_config_minor_version) ||
|
||||
(libIDL_micro_version != $libIDL_config_micro_version))
|
||||
{
|
||||
- printf("\n*** 'libIDL-config --version' returned %d.%d.%d, but libIDL (%d.%d.%d)\n",
|
||||
+ printf("\n*** 'libIDL-config-2 --version' returned %d.%d.%d, but libIDL (%d.%d.%d)\n",
|
||||
$libIDL_config_major_version, $libIDL_config_minor_version, $libIDL_config_micro_version,
|
||||
libIDL_major_version, libIDL_minor_version, libIDL_micro_version);
|
||||
- printf ("*** was found! If libIDL-config was correct, then it is best\n");
|
||||
+ printf ("*** was found! If libIDL-config-2 was correct, then it is best\n");
|
||||
printf ("*** to remove the old version of LIBIDL. You may also be able to fix the error\n");
|
||||
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
|
||||
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
|
||||
printf("*** required on your system.\n");
|
||||
- printf("*** If libIDL-config was wrong, set the environment variable LIBIDL_CONFIG\n");
|
||||
- printf("*** to point to the correct copy of libIDL-config, and remove the file config.cache\n");
|
||||
+ printf("*** If libIDL-config-2 was wrong, set the environment variable LIBIDL_CONFIG\n");
|
||||
+ printf("*** to point to the correct copy of libIDL-config-2, and remove the file config.cache\n");
|
||||
printf("*** before re-running configure\n");
|
||||
}
|
||||
else if ((libIDL_major_version != LIBIDL_MAJOR_VERSION) ||
|
||||
@@ -126,10 +126,10 @@
|
||||
major, minor, micro);
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
- printf("*** probably means that the wrong copy of the libIDL-config shell script is\n");
|
||||
+ printf("*** probably means that the wrong copy of the libIDL-config-2 shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of libIDL, but you can also set the LIBIDL_CONFIG environment to point to the\n");
|
||||
- printf("*** correct copy of libIDL-config. (In this case, you will have to\n");
|
||||
+ printf("*** correct copy of libIDL-config-2. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
@@ -147,10 +147,10 @@
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$LIBIDL_CONFIG" = "no" ; then
|
||||
- echo "*** The libIDL-config script installed by libIDL could not be found"
|
||||
+ echo "*** The libIDL-config-2 script installed by libIDL could not be found"
|
||||
echo "*** If libIDL was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the LIBIDL_CONFIG environment variable to the"
|
||||
- echo "*** full path to libIDL-config."
|
||||
+ echo "*** full path to libIDL-config-2."
|
||||
else
|
||||
if test -f conf.libIDLtest ; then
|
||||
:
|
||||
@@ -175,7 +175,7 @@
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means libIDL was incorrectly installed"
|
||||
echo "*** or that you have moved libIDL since it was installed. In the latter case, you"
|
||||
- echo "*** may want to edit the libIDL-config script: $LIBIDL_CONFIG" ])
|
||||
+ echo "*** may want to edit the libIDL-config-2 script: $LIBIDL_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
diff -Naur libIDL-0.8.14-original/tstidl.c libIDL-0.8.14/tstidl.c
|
||||
--- libIDL-0.8.14-original/tstidl.c 2021-02-04 08:31:53.168637254 -0500
|
||||
+++ libIDL-0.8.14/tstidl.c 2021-02-04 08:32:10.342748532 -0500
|
||||
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* if given, flags is read as (output_flags << 24) | parse_flags
|
||||
*
|
||||
- * gcc `libIDL-config --cflags --libs` tstidl.c -o tstidl
|
||||
+ * gcc `libIDL-config-2 --cflags --libs` tstidl.c -o tstidl
|
||||
*
|
||||
*/
|
||||
#ifdef G_LOG_DOMAIN
|
@ -0,0 +1,16 @@
|
||||
diff -Naur libIDL-0.8.14-original/parser.y libIDL-0.8.14/parser.y
|
||||
--- libIDL-0.8.14-original/parser.y 2009-04-18 08:20:37.000000000 -0400
|
||||
+++ libIDL-0.8.14/parser.y 2021-02-03 12:44:47.638466666 -0500
|
||||
@@ -898,11 +898,9 @@
|
||||
;
|
||||
|
||||
primary_expr: scoped_name {
|
||||
- IDL_tree p, literal;
|
||||
+ IDL_tree literal;
|
||||
|
||||
assert (IDL_NODE_TYPE ($1) == IDLN_IDENT);
|
||||
-
|
||||
- p = IDL_NODE_UP ($1);
|
||||
|
||||
if ((literal = IDL_resolve_const_exp ($1, IDLN_ANY))) {
|
||||
++IDL_NODE_REFS (literal);
|
@ -0,0 +1,38 @@
|
||||
.TH LIBIDL\-CONFIG\-2 "1" "February 2021" "" "User Commands"
|
||||
.SH NAME
|
||||
libIDL\-config\-2 \- prints information about a libIDL installation
|
||||
.SH SYNOPSIS
|
||||
.B libIDL\-config\-2
|
||||
.RB [ OPTIONS \ ...]
|
||||
.SH DESCRIPTION
|
||||
This program is mostly for use in build scripts.
|
||||
Please consider using
|
||||
.BR pkg\-config (1)
|
||||
or
|
||||
.BR pkgconf (1)
|
||||
instead.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-\-prefix [=\fIDIR\fR]
|
||||
Print the prefix for host-independent files for libIDL, e.g. \fB/usr\fR.
|
||||
.TP
|
||||
.BR \-\-exec\-prefix [=\fIDIR\fR]
|
||||
Print the prefix for host-dependent files for libIDL, e.g. \fB/usr\fR.
|
||||
.TP
|
||||
.B \-\-version
|
||||
Display the version of libIDL and exit.
|
||||
.TP
|
||||
.B \-\-libs
|
||||
Display all linker flags:
|
||||
.BR \-L ,
|
||||
.BR \-l ,
|
||||
and otherwise.
|
||||
.TP
|
||||
.B \-\-cflags
|
||||
Display all
|
||||
.BR CFLAGS :
|
||||
.BR \-I ,
|
||||
and otherwise.
|
||||
.SH "SEE\ ALSO"
|
||||
.BR pkgconf (1),
|
||||
.BR pkg\-config (1)
|
@ -0,0 +1,3 @@
|
||||
# This software is unsupported upstream, so this cannot be fixed without
|
||||
# changing the license file downstream, which is discouraged.
|
||||
addFilter(r" incorrect-fsf-address ")
|
@ -0,0 +1,189 @@
|
||||
%bcond autoreconf 1
|
||||
|
||||
Name: libIDL
|
||||
Summary: Library for parsing IDL (Interface Definition Language)
|
||||
Version: 0.8.14
|
||||
%global so_version 0
|
||||
Release: %autorelease
|
||||
|
||||
# The entire source is LGPL-2.0-or-later, except:
|
||||
#
|
||||
# GPL-3.0-or-later:
|
||||
# - texinfo.tex
|
||||
# - libIDL2.info
|
||||
# - libIDL2.texi
|
||||
# The generated HTML documentation is also derived from texinfo.tex, and is
|
||||
# therefore also GPL-3.0-or-later. These files comprise the entire contents
|
||||
# of the -doc subpackage.
|
||||
%global doc_license GPL-3.0-or-later
|
||||
License: LGPL-2.0-or-later
|
||||
# Additionally, the following files do not contribute to the license of the
|
||||
# binary RPMs because they belong to the build system or are otherwise not
|
||||
# compiled and/or installed.
|
||||
#
|
||||
# FSFUL AND GPL-2.0-or-later WITH Libtool-exception AND LGPL-2.0-or-later:
|
||||
# (LGPL-2.0-or-later is from the corresponding configure.in file.)
|
||||
# - configure
|
||||
# FSFULLR:
|
||||
# - aclocal.m4
|
||||
# FSFULLR AND LGPL-2.0-or-later:
|
||||
# (LGPL-2.0-or-later is from the corresponding Makefile.am files.)
|
||||
# - Makefile.in
|
||||
# - */Makefile.in
|
||||
# GPL-2.0-or-later WITH Autoconf-exception-generic:
|
||||
# - config.guess
|
||||
# - config.sub
|
||||
# - depcomp
|
||||
# - missing
|
||||
# GPL-2.0-or-later WITH Libtool-exception:
|
||||
# - ltmain.sh
|
||||
SourceLicense: %{shrink:
|
||||
%{license} AND %{doc_license} AND
|
||||
FSFUL AND
|
||||
FSFULLR AND
|
||||
GPL-2.0-or-later WITH Autoconf-exception-generic
|
||||
GPL-2.0-or-later WITH Libtool-exception
|
||||
}
|
||||
%global minorversion %(echo '%{version}' | cut -d . -f 1-2)
|
||||
URL: https://download.gnome.org/sources/libIDL/%{minorversion}/
|
||||
Source0: %{url}/libIDL-%{version}.tar.bz2
|
||||
# Hand-written man page:
|
||||
Source1: libIDL-config-2.1
|
||||
|
||||
# Note that upstream is dead; GNOME still offers just a download page, and the
|
||||
# VCS was migrated to https://gitlab.gnome.org/Archive/libidl, but the project
|
||||
# is archived and therefore no bug tracker is offered. An old email address for
|
||||
# the ORBIT development mailing list is offered in the HACKING file, but the
|
||||
# archived status of the project shows that nothing will be done with patches.
|
||||
# Any patches below will therefore not be sent upstream, because there is
|
||||
# nowhere for them to go.
|
||||
#
|
||||
# Normally this would be the time to re-evaluate whether the package still
|
||||
# belongs in Fedora, but ORBit2 still requires it, and at least libgnome and
|
||||
# libbonobo require that, so it is in the dependency chain of a great many
|
||||
# packages.
|
||||
|
||||
# Fix paths reported by the libIDL-config-2 tool to conform with Fedora
|
||||
# multilib installation paths:
|
||||
Patch: libIDL-0.8.6-multilib.patch
|
||||
# Remove an unused parent-node variable in the primary_expr part of the parser,
|
||||
# which caused a compiler warning.
|
||||
Patch: libIDL-0.8.14-parser-primary_expr-unused-parent-node.patch
|
||||
# On platforms (such as 64-bit Linux), where long long int and long int are
|
||||
# both 64-bit, we can have IDL_LL defined to ll (format with %%lld) while
|
||||
# IDL_longlong_t, which is just gint64, may be ultimately defined to long int.
|
||||
# This results in compiler warnings about the mismatch between the long long
|
||||
# format and long parameter, even though the types are compatible. We can fix
|
||||
# this with a cast to (long long) before formatting.
|
||||
Patch: libIDL-0.8.14-long-long-format-warnings.patch
|
||||
# Instead of type-punning with sscanf, parse into a temporary with a type
|
||||
# matching the format code and then memmove into the “integer” storage. This is
|
||||
# no less platform-dependent, but does not invoke undefined behavior or produce
|
||||
# a compiler warning.
|
||||
Patch: libIDL-0.8.14-lexer-sscanf-type-punning.patch
|
||||
# Fix references to the old libIDL-config script by changing them to
|
||||
# libIDL-config-2.
|
||||
Patch: libIDL-0.8.14-old-libIDL-config-script.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
|
||||
%if %{with autoreconf}
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
%endif
|
||||
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: flex
|
||||
BuildRequires: bison
|
||||
|
||||
BuildRequires: texinfo
|
||||
BuildRequires: texinfo-tex
|
||||
BuildRequires: tex(latex)
|
||||
|
||||
%global common_description %{expand:
|
||||
libIDL is a library for parsing IDL (Interface Definition Language). It can be
|
||||
used for both COM-style and CORBA-style IDL.}
|
||||
|
||||
%description %{common_description}
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries and header files for libIDL
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: glib2-devel%{?_isa}
|
||||
|
||||
%description devel %{common_description}
|
||||
|
||||
This package contains the header files and libraries needed to write or compile
|
||||
programs that use libIDL.
|
||||
|
||||
|
||||
%package doc
|
||||
Summary: Documentation for libIDL
|
||||
License: %{doc_license}
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
%description doc %{common_description}
|
||||
|
||||
This page contains info pages and HTML and PDF documentation for libIDL.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%build
|
||||
%if %{with autoreconf}
|
||||
autoreconf --force --install --verbose
|
||||
%endif
|
||||
|
||||
%configure --disable-static
|
||||
|
||||
# We re-generate the info page, and also build PDF and HTML docs from the
|
||||
# texinfo source.
|
||||
rm libIDL2.info
|
||||
%make_build all libIDL2.info libIDL2.html libIDL2.pdf
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
rm '%{buildroot}%{_libdir}/libIDL-2.la'
|
||||
rm '%{buildroot}%{_infodir}/dir'
|
||||
install -t '%{buildroot}%{_pkgdocdir}' -D -p -m 0644 \
|
||||
AUTHORS BUGS ChangeLog HACKING MAINTAINERS NEWS README libIDL2.pdf
|
||||
cp -rp 'libIDL2.html' '%{buildroot}%{_pkgdocdir}/html'
|
||||
install -t '%{buildroot}%{_datadir}/aclocal/libIDL.m4' -D -p -m 0644 \
|
||||
libIDL.m4
|
||||
install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 '%{SOURCE1}'
|
||||
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
|
||||
%{_libdir}/libIDL-2.so.%{so_version}{,.*}
|
||||
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libIDL-2.so
|
||||
|
||||
%{_includedir}/libIDL-2.0/
|
||||
|
||||
%{_libdir}/pkgconfig/libIDL-2.0.pc
|
||||
# Note the aclocal directory is provided by the “filesystem” package
|
||||
%{_datadir}/aclocal/libIDL.m4
|
||||
%{_bindir}/libIDL-config-2
|
||||
%{_mandir}/man1/libIDL-config-2.1*
|
||||
|
||||
|
||||
%files doc
|
||||
%{_infodir}/libIDL2.info*
|
||||
|
||||
%{_pkgdocdir}/
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
Loading…
Reference in new issue