This is an automated email from the ASF dual-hosted git repository.

jimjag pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 1da36c94a3c884223286662fd805b84c70137ba5
Author: Jim Jagielski <[email protected]>
AuthorDate: Thu Jun 11 16:24:19 2026 -0400

    mythes: add 1.2.4 patches and rewire PATCH_FILES
    
    Commit a3815d2648 dropped the PATCH_FILES references on the assumption
    that mythes 1.2.4 builds cleanly from the upstream tarball. It does not:
    configure unconditionally adds the example program to all-am, and
    example.cxx includes <hunspell.hxx>, which is not available when the
    bundled mythes is built:
    
        example.cxx:7:10: fatal error: 'hunspell.hxx' file not found
    
    Add the three 1.2.0 patches ported to 1.2.4 (disable the example
    program, dmake makefile.mk for the Windows build, th_gen_idx.pl -o
    output handling) and reference them from makefile.mk again. All three
    verified to apply cleanly with the tg_ext.mk patch -p2 convention
    against the upstream tarball.
    
    Co-Authored-By: Claude Fable 5 <[email protected]>
---
 main/mythes/makefile.mk                           |  8 +-
 main/mythes/mythes-1.2.4-disable-example.patch    | 11 +++
 main/mythes/mythes-1.2.4-makefile-mk.patch        | 94 +++++++++++++++++++++++
 main/mythes/mythes-1.2.4-vanilla-th-gen-idx.patch | 92 ++++++++++++++++++++++
 4 files changed, 202 insertions(+), 3 deletions(-)

diff --git a/main/mythes/makefile.mk b/main/mythes/makefile.mk
index db10c69ca3..1d0a09f94c 100644
--- a/main/mythes/makefile.mk
+++ b/main/mythes/makefile.mk
@@ -38,8 +38,9 @@ TARFILE_MD5=a8c2c5b8f09e7ede322d5c602ff6a4b6
 
 ADDITIONAL_FILES += makefile.mk
 
-# mythes 1.2.4 builds cleanly from the upstream tarball; no in-tree patches
-# are needed (the old 1.2.0 patches are obsolete for this version).
+PATCH_FILES=mythes-1.2.4-vanilla-th-gen-idx.patch \
+       mythes-1.2.4-makefile-mk.patch \
+       mythes-1.2.4-disable-example.patch
 
 .IF "$(GUI)"=="UNX"
 CONFIGURE_DIR=$(BUILD_DIR)
@@ -50,7 +51,8 @@ CONFIGURE_DIR=$(BUILD_DIR)
 # still needed also in system-mythes case as it creates the makefile
 CONFIGURE_ACTION=configure
 CONFIGURE_FLAGS= --disable-shared --with-pic
-# hunspell is only needed by the example program; preset the variables so
+# hunspell is only needed by the example program, which is not built
+# (see mythes-1.2.4-disable-example.patch); preset the variables so
 # configure does not abort when no hunspell pkg-config file is around
 CONFIGURE_FLAGS+= HUNSPELL_CFLAGS=-I. HUNSPELL_LIBS=-L.
 
diff --git a/main/mythes/mythes-1.2.4-disable-example.patch 
b/main/mythes/mythes-1.2.4-disable-example.patch
new file mode 100644
index 0000000000..7bc7ec70e5
--- /dev/null
+++ b/main/mythes/mythes-1.2.4-disable-example.patch
@@ -0,0 +1,11 @@
+--- misc/mythes-1.2.4/Makefile.in      2014-06-27 04:24:01
++++ misc/build/mythes-1.2.4/Makefile.in        2026-06-11 08:10:31
+@@ -705,7 +705,7 @@
+              exit 1; } >&2
+ check-am: all-am
+ check: check-am
+-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) \
++all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) \
+               $(HEADERS) config.h
+ installdirs:
+       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" 
"$(DESTDIR)$(pkgconfdir)" "$(DESTDIR)$(libmythes_1_2_includedir)"; do \
diff --git a/main/mythes/mythes-1.2.4-makefile-mk.patch 
b/main/mythes/mythes-1.2.4-makefile-mk.patch
new file mode 100644
index 0000000000..7afac1d444
--- /dev/null
+++ b/main/mythes/mythes-1.2.4-makefile-mk.patch
@@ -0,0 +1,94 @@
+--- misc/mythes-1.2.4/makefile.mk      2026-06-11 08:08:31
++++ misc/build/mythes-1.2.4/makefile.mk        2026-06-11 08:24:17
+@@ -1 +1,90 @@
+-dummy
++#*************************************************************************
++#
++#   $RCSfile: makefile.mk,v $
++#
++#   $Revision: 1.1.1.1 $
++#
++#   last change: $Author: caolan $ $Date: 2010/02/27 15:52:17 $
++#
++#   The Contents of this file are made available subject to the terms of
++#   either of the following licenses
++#
++#          - GNU Lesser General Public License Version 2.1
++#          - Sun Industry Standards Source License Version 1.1
++#
++#   Sun Microsystems Inc., October, 2000
++#
++#   GNU Lesser General Public License Version 2.1
++#   =============================================
++#   Copyright 2000 by Sun Microsystems, Inc.
++#   901 San Antonio Road, Palo Alto, CA 94303, USA
++#
++#   This library is free software; you can redistribute it and/or
++#   modify it under the terms of the GNU Lesser General Public
++#   License version 2.1, as published by the Free Software Foundation.
++#
++#   This library 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
++#   Lesser General Public License for more details.
++#
++#   You should have received a copy of the GNU Lesser General Public
++#   License along with this library; if not, write to the Free Software
++#   Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++#   MA  02111-1307  USA
++#
++#
++#   Sun Industry Standards Source License Version 1.1
++#   =================================================
++#   The contents of this file are subject to the Sun Industry Standards
++#   Source License Version 1.1 (the "License"); You may not use this file
++#   except in compliance with the License. You may obtain a copy of the
++#   License at http://www.openoffice.org/license.html.
++#
++#   Software provided under this License is provided on an "AS IS" basis,
++#   WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
++#   WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
++#   MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
++#   See the License for the specific provisions governing your rights and
++#   obligations concerning the Software.
++#
++#   The Initial Developer of the Original Code is: Sun Microsystems, Inc.
++#
++#   Copyright: 2000 by Sun Microsystems, Inc.
++#
++#   All Rights Reserved.
++#
++#   Contributor(s): _______________________________________
++#
++#
++#
++#*************************************************************************
++
++PRJ = ../../../..
++
++PRJNAME       = mythes
++TARGET        = mythes
++LIBTARGET=YES
++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
++
++#----- Settings ---------------------------------------------------------
++
++.INCLUDE : settings.mk
++
++# --- Files --------------------------------------------------------
++
++all_target: ALLTAR
++
++
++
++SLOFILES=     \
++              $(SLO)$/mythes.obj
++
++LIB1TARGET= $(SLB)$/lib$(TARGET).lib
++LIB1ARCHIV= $(LB)/lib$(TARGET).a
++LIB1OBJFILES= $(SLOFILES)
++
++# --- Targets ------------------------------------------------------
++
++.INCLUDE : target.mk
++
diff --git a/main/mythes/mythes-1.2.4-vanilla-th-gen-idx.patch 
b/main/mythes/mythes-1.2.4-vanilla-th-gen-idx.patch
new file mode 100644
index 0000000000..0976f05f6e
--- /dev/null
+++ b/main/mythes/mythes-1.2.4-vanilla-th-gen-idx.patch
@@ -0,0 +1,92 @@
+--- misc/mythes-1.2.4/th_gen_idx.pl    2010-06-16 06:37:34
++++ misc/build/mythes-1.2.4/th_gen_idx.pl      2026-06-11 08:10:31
+@@ -1,11 +1,26 @@
+-#!/usr/bin/perl
+-
+-# perl program to take a thesaurus structured text data file 
+-# and create the proper sorted index file (.idx)
++:
++eval 'exec perl -wS $0 ${1+"$@"}'
++    if 0;
++#**************************************************************
+ #
+-# typically invoked as follows:
+-# cat th_en_US_new.dat | ./th_gen_idx.pl > th_en_US_new.idx
++#  Licensed to the Apache Software Foundation (ASF) under one
++#  or more contributor license agreements.  See the NOTICE file
++#  distributed with this work for additional information
++#  regarding copyright ownership.  The ASF licenses this file
++#  to you under the Apache License, Version 2.0 (the
++#  "License"); you may not use this file except in compliance
++#  with the License.  You may obtain a copy of the License at
+ #
++#    http://www.apache.org/licenses/LICENSE-2.0
++#
++#  Unless required by applicable law or agreed to in writing,
++#  software distributed under the License is distributed on an
++#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
++#  KIND, either express or implied.  See the License for the
++#  specific language governing permissions and limitations
++#  under the License.
++#
++#**************************************************************
+ 
+ sub by_entry {
+     my ($aent, $aoff) = split('\|',$a);
+@@ -13,6 +28,27 @@
+     $aent cmp $bent;
+ }
+ 
++#FIXME: someone may want "infile" or even parameter parsing
++sub get_outfile {
++      my $next_is_file = 0;
++      foreach ( @ARGV ) {
++              if ( $next_is_file ) {
++                      return $_
++              }
++              if ( $_ eq "-o" ) {
++                      $next_is_file = 1;
++              }
++      }
++      return "";
++}
++
++sub usage {
++      print "usage:\n";
++      print "$0 -o outfile < input\n";
++
++      exit 99;
++}
++
+ # main routine
+ my $ne = 0;       # number of entries in index
+ my @tindex=();    # the index itself
+@@ -24,7 +60,11 @@
+ my $meaning="";   # current meaning and synonyms
+ my $p;            # misc uses
+ my $encoding;     # encoding used by text file
++my $outfile = "";
+ 
++$outfile = get_outfile();
++usage() if ( $outfile eq "" );
++
+ # top line of thesaurus provides encoding
+ $encoding=<STDIN>;
+ $foffset = $foffset + length($encoding); 
+@@ -51,9 +91,13 @@
+ # now we have all of the information
+ # so sort it and then output the encoding, count and index data
+ @tindex = sort by_entry @tindex;
+-print STDOUT "$encoding\n";
+-print STDOUT "$ne\n";
++
++print "$outfile\n";
++open OUTFILE, ">$outfile" or die "ERROR: Can't open $outfile for writing!";
++print OUTFILE "$encoding\n";
++print OUTFILE "$ne\n";
+ foreach $one (@tindex) {
+-    print STDOUT "$one\n";
++    print OUTFILE "$one\n";
+ }
++close OUTFILE;
+ 

Reply via email to