0001-Fix-missing-include-time.h.patch 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. From c1c2000c35ff39b09cb70fbdf66a107d3b17a674 Mon Sep 17 00:00:00 2001
  2. From: Stephan Bergmann <sbergman@redhat.com>
  3. Date: Wed, 12 Oct 2022 08:40:49 +0200
  4. Subject: [PATCH] Fix missing #include <time.h>
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. At least on recent Fedora 37 beta, building now failed with
  9. > CLucene/document/DateTools.cpp:26:19: error: ‘gmtime’ was not declared in this scope
  10. > 26 | tm *ptm = gmtime(&secs);
  11. > | ^~~~~~
  12. etc.
  13. As it turns out, after 22f9d40320e3deeaa8d6aaa7a770077c20a21dae "git-svn-id:
  14. https://clucene.svn.sourceforge.net/svnroot/clucene/branches/lucene2_3_2@2672
  15. 20ef185c-fe11-0410-a618-ba9304b01011" on 2008-06-26 had commented out
  16. _CL_TIME_WITH_SYS_TIME in clucene-config.h.cmake as "not actually used for
  17. anything", then cceccfb52917b5f4da447f1cf20c135952d41442 "Presenting DateTools
  18. and deprecating DateField. DateTools still requires some testing and its own
  19. unit testing" on 2008-06-29 had introduced this use of it (into then
  20. src/CLucene/document/DateTools.H). And apparently most build environments have
  21. silently been happy ever since when the dead leading check for
  22. _CL_TIME_WITH_SYS_TIME didn't include both <sys/time.h> and <time.h>, but the
  23. following check for _CL_HAVE_SYS_TIME_H only included <sys/time.h> but not
  24. <time.h>.
  25. ---
  26. src/shared/CLucene/clucene-config.h.cmake | 3 +--
  27. 1 file changed, 1 insertion(+), 2 deletions(-)
  28. diff --git a/src/shared/CLucene/clucene-config.h.cmake b/src/shared/CLucene/clucene-config.h.cmake
  29. index bd8683a5..6fe0f92b 100644
  30. --- a/src/shared/CLucene/clucene-config.h.cmake
  31. +++ b/src/shared/CLucene/clucene-config.h.cmake
  32. @@ -100,8 +100,7 @@ ${SYMBOL__T}
  33. //#cmakedefine _CL_STAT_MACROS_BROKEN
  34. /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
  35. -//not actually used for anything...
  36. -//#cmakedefine _CL_TIME_WITH_SYS_TIME 1
  37. +#cmakedefine _CL_TIME_WITH_SYS_TIME 1
  38. /* Define that we will be using -fvisibility=hidden, and
  39. * make public classes visible using __attribute__ ((visibility("default")))
  40. --
  41. 2.37.3