Compare commits

..

2 commits

Author SHA1 Message Date
Gregory Hellings
3c0943126b Add patch to fix divs 2020-04-26 00:50:52 -05:00
Jaak Ristioja
8c527209c5 Fixed potentially conflicting integer types being defined 2019-08-27 14:25:05 -05:00
16 changed files with 1930 additions and 439 deletions

View file

@ -1 +0,0 @@
1

3
.gitignore vendored
View file

@ -8,6 +8,3 @@ sword-1.6.1.tar.gz
/sword-1.7.3.900.tar.gz
/sword-1.7.4.tar.gz
/sword-1.8.1.tar.gz
/sword-1.9.0RC1.tar.gz
/sword-1.9.0RC3.tar.gz
/sword-1.9.0.tar.gz

View file

@ -1,3 +0,0 @@
Files under the CMake directory originate from code licensed under the BSD-3-Clause license, the Boost Software License or (possibly) the BSD-2-Clause license. Modifications to these files made by the SWORD developers are licensed under GPLv2, effectively mixing code of two different licenses into the same file.
The files sword-1.9.0/include/ftpparse.h and sword-1.9.0/src/utilfuns/ftpparse.c contain an informal non-free license, however their author (D. J. Bernstein) has placed them into the public domain and alternately allowed them to be used under any one of several FOSS licenses. (See https://cr.yp.to/distributors.html, section "What are the distribution terms for ftpparse?") The versions of these files in SWORD aren't *quite* identical to the originals (they appear to have been modified to work properly and safely in SWORD), but they're very nearly identical. The License field of the package contains the three Fedora-allowable licenses given.

View file

@ -1,105 +0,0 @@
diff -bru a/bindings/swig/perl/CMakeLists.txt b/bindings/swig/perl/CMakeLists.txt
--- a/bindings/swig/perl/CMakeLists.txt 2020-07-29 18:59:48.000000000 +0200
+++ b/bindings/swig/perl/CMakeLists.txt 2020-11-01 19:56:20.825016280 +0100
@@ -1,68 +1,35 @@
-# This method works but there is no good way to install the results of it
-#FIND_PACKAGE(PerlLibs REQUIRED)
-#INCLUDE_DIRECTORIES(${PERL_INCLUDE_PATH})
-#
-#SET_SOURCE_FILES_PROPERTIES(../sword.i PROPERTIES CPLUSPLUS ON)
-#SET_SOURCE_FILES_PROPERTIES(../sword.i PROPERTIES SWIG_FLAGS "")
-#
-#SWIG_ADD_MODULE(Sword perl
-# "../sword.i"
-#)
-#
-#SWIG_LINK_LIBRARIES(Sword ${PERL_LIBRARY} ${SWORD_LINK_NAME})
-
-FIND_PACKAGE(Perl REQUIRED)
-
-SET(PERL_MAKEFILE "#!${PERL_EXECUTABLE}
-
-use ExtUtils::MakeMaker;
-
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written
-WriteMakefile(
- 'NAME' => 'Sword',
- 'VERSION' => '${SWORD_VERSION}',
- 'INC' => '-I\"${CMAKE_SOURCE_DIR}/include\" -I\"${CMAKE_CURRENT_SOURCE_DIR}/..\"',
- 'DEFINE' => '-DSWIG',
- 'LIBS' => '-L\"${CMAKE_BINARY_DIR}\" -lsword -lz',
- 'FIRST_MAKEFILE' => 'Makefile.perlswig',
- 'PREREQ_PM' => {},
- ($] >= 5.005 ? ## Add these new keywords supported since 5.005
- (ABSTRACT => 'Sword Project perl bindings', # retrieve abstract from module
- AUTHOR => 'Sword Project <sword-devel@crosswire.org>') : ()),
-);
-
-rename 'Makefile.perlswig', 'Makefile.perlswig.old' or die \"Can't rename Makefile\";
-open(INPUT, '<Makefile.perlswig.old') or die \"Can't open input Makefile.old\";
-open(OUTPUT,'>Makefile.perlswig') or die \"Can't open output Makefile\";
-while (<INPUT>) {
- s/\\-lsword/\\-lsword \\-lstdc\\+\\+/;
- print OUTPUT \"$_\";
-}
-
-close INPUT;
-close OUTPUT;")
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Makefile.PL "${PERL_MAKEFILE}")
-
-SET(SKIP_MAKEFILE "\\.old
-~$
-\\.bak
-^CVS
-Makefile$")
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Makefile.SKIP "${SKIP_MAKEFILE}")
-
-SWORD_SWIG_GENERATE(perl)
-
-ADD_CUSTOM_COMMAND(OUTPUT MANIFEST Makefile.perlswig
- COMMAND ${PERL_EXECUTABLE} Makefile.PL && make -f Makefile.perlswig clean
- COMMAND ${PERL_EXECUTABLE} Makefile.PL && make -f Makefile.perlswig manifest
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-
-ADD_CUSTOM_TARGET(perlswig ALL
- COMMAND make -f Makefile.perlswig
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx ${CMAKE_CURRENT_BINARY_DIR}/Makefile.perlswig ${SWORD_LINK_NAME}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+# Perl Swig bindings
-INSTALL(SCRIPT install.cmake)
+cmake_minimum_required(VERSION 3.14.7)
+cmake_policy(SET CMP0078 NEW)
+cmake_policy(SET CMP0086 NEW)
+set(UseSWIG_MODULE_VERSION 2)
-MESSAGE(STATUS "Perl: yes")
+find_package(SWIG REQUIRED)
+include(${SWIG_USE_FILE})
+
+find_package(PerlLibs REQUIRED)
+include_directories(${PERL_INCLUDE_PATH})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+
+set_source_files_properties(../sword.i PROPERTIES CPLUSPLUS ON)
+
+SWIG_ADD_LIBRARY(Sword
+ TYPE SHARED
+ LANGUAGE perl SOURCES ../sword.i
+ )
+TARGET_LINK_LIBRARIES(Sword ${PERL_LIBRARIES} ${SWORD_LINK_NAME})
+
+
+install(
+ TARGETS Sword
+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}/perl5/vendor_perl/auto/Sword"
+)
+get_target_property(SWIG_BUILDIR Sword SWIG_SUPPORT_FILES_DIRECTORY)
+
+message(STATUS "SWIG_BUILDIR=${SWIG_BUILDIR}")
+install(
+ FILES ${SWIG_BUILDIR}/Sword.pm
+ DESTINATION "${LIB_INSTALL_DIR}/perl5/vendor_perl"
+)

View file

@ -1,7 +0,0 @@
#!/bin/bash
set -ex
OPTS="--allow-internet-access-and-risk-tracing-and-jail-or-martyrdom"
yes | installmgr $OPTS -init
installmgr $OPTS -sc
installmgr $OPTS -r CrossWire

View file

@ -1,82 +0,0 @@
From 07b31a74ea920077fa0d69cdab2ab188dd17b322 Mon Sep 17 00:00:00 2001
From: Aaron Rainbolt <arraybolt3@gmail.com>
Date: Wed, 27 Sep 2023 10:51:27 -0600
Subject: [PATCH] Migrate to setuptools
---
bindings/swig/oldmake/Makefile.am | 2 +-
bindings/swig/package/Makefile.am | 3 +--
bindings/swig/package/Makefile.in | 3 +--
bindings/swig/python/CMakeLists.txt | 7 +++++--
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/bindings/swig/oldmake/Makefile.am b/bindings/swig/oldmake/Makefile.am
index 45a37ef..789813b 100644
--- a/bindings/swig/oldmake/Makefile.am
+++ b/bindings/swig/oldmake/Makefile.am
@@ -76,7 +76,7 @@ python_makebuild: $(PYTHONSWIG)
echo "writing python/setup.py"
@echo "#! /usr/bin/python" > python/setup.py
@echo "" >> python/setup.py
- @echo "from distutils.core import setup, Extension" >> python/setup.py
+ @echo "from setuptools import setup, Extension" >> python/setup.py
@echo "setup (name = \"sword\"," >> python/setup.py
@echo " version = \"$(VERSION)\"," >> python/setup.py
@echo " maintainer = \"Sword Developers\"," >> python/setup.py
diff --git a/bindings/swig/package/Makefile.am b/bindings/swig/package/Makefile.am
index 14500c3..f44974d 100644
--- a/bindings/swig/package/Makefile.am
+++ b/bindings/swig/package/Makefile.am
@@ -84,8 +84,7 @@ python_makebuild: $(PYTHONSWIG)
echo "writing python/setup.py"
@echo "#! /usr/bin/python" > python/setup.py
@echo "" >> python/setup.py
- @echo "from distutils.core import setup" >> python/setup.py
- @echo "from distutils.extension import Extension" >> python/setup.py
+ @echo "from setuptools import setup, Extension" >> python/setup.py
@echo "import commands" >> python/setup.py
@echo "" >> python/setup.py
@echo "def pkgconfig(*packages, **kw):" >> python/setup.py
diff --git a/bindings/swig/package/Makefile.in b/bindings/swig/package/Makefile.in
index b5f05c9..370a9e7 100644
--- a/bindings/swig/package/Makefile.in
+++ b/bindings/swig/package/Makefile.in
@@ -938,8 +938,7 @@ python_makebuild: $(PYTHONSWIG)
echo "writing python/setup.py"
@echo "#! /usr/bin/python" > python/setup.py
@echo "" >> python/setup.py
- @echo "from distutils.core import setup" >> python/setup.py
- @echo "from distutils.extension import Extension" >> python/setup.py
+ @echo "from setuptools import setup, Extension" >> python/setup.py
@echo "import commands" >> python/setup.py
@echo "" >> python/setup.py
@echo "def pkgconfig(*packages, **kw):" >> python/setup.py
diff --git a/bindings/swig/python/CMakeLists.txt b/bindings/swig/python/CMakeLists.txt
index cbb4058..247bc79 100644
--- a/bindings/swig/python/CMakeLists.txt
+++ b/bindings/swig/python/CMakeLists.txt
@@ -25,7 +25,7 @@ ENDIF(NOT PYTHONLIBS_FOUND)
SET(PY_SCRIPT "#!${PYTHON_EXECUTABLE}
-from distutils.core import setup, Extension
+from setuptools import setup, Extension
setup(
name='sword',
version='${SWORD_VERSION}',
@@ -51,8 +51,11 @@ ADD_CUSTOM_TARGET(swordswig_python${SWORD_PYTHON_VERSION} ALL
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
# Allow user installation to custom directory
+IF(NOT SWORD_PYTHON_INSTALL_ROOT STREQUAL "")
+ SET(SETUP_ARGS "\"--root=${SWORD_PYTHON_INSTALL_ROOT}\"")
+ENDIF(NOT SWORD_PYTHON_INSTALL_ROOT STREQUAL "")
IF(NOT SWORD_PYTHON_INSTALL_DIR STREQUAL "")
- SET(SETUP_ARGS "\"--prefix=${SWORD_PYTHON_INSTALL_DIR}\"")
+ SET(SETUP_ARGS "${SETUP_ARGS}\"--prefix=${SWORD_PYTHON_INSTALL_DIR}\"")
ENDIF(NOT SWORD_PYTHON_INSTALL_DIR STREQUAL "")
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/install.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install.cmake")
--
2.41.0

View file

@ -1,5 +0,0 @@
summary: Run installmgr tests
discover:
how: fmf
execute:
script: installmgr_tests.sh

View file

@ -1 +1 @@
SHA512 (sword-1.9.0.tar.gz) = b5a4e30bf088d4b8187fc3addb58a4b6d8ce011f25cecdd4e547f710fa9ffed49c69f36a21ea1c15d1a21205bca09b2fd7c04d6ed176a5c81900a784b9b76d92
SHA512 (sword-1.8.1.tar.gz) = 5c08c070ea0c86b7d929bbf94c89730eb5a487986deb9edf01c08d1710356aecd1ab3bde4437a778e5fc1ceb05b63287612ec6161381c0986a36344c27d2ab36

13
sword-1.8.1-cmake.diff Normal file
View file

@ -0,0 +1,13 @@
diff --git a/cmake/options.cmake b/cmake/options.cmake
index 81981c8..19b7004 100644
--- a/cmake/options.cmake
+++ b/cmake/options.cmake
@@ -44,7 +44,7 @@ _SET_FANCY(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" "Directory to insta
_SET_FANCY(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share" "Directory to install global data files. Defaults to ${SWORD_INSTALL_DIR}/share.")
-_SET_FANCY(SWORD_PYTHON_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" CACHE STRING "Directory where the Python bindings will be installed. Defaults to default Python path.")
+_SET_FANCY(SWORD_PYTHON_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" STRING "Directory where the Python bindings will be installed. Defaults to default Python path.")
# Post-processing of variables
MACRO(PROCESS_VERSION LEVEL VALUE)

75
sword-1.8.1-fix-divs.diff Normal file
View file

@ -0,0 +1,75 @@
Index: trunk/src/mgr/stringmgr.cpp
===================================================================
--- trunk/src/mgr/stringmgr.cpp (revision 3718)
+++ trunk/src/mgr/stringmgr.cpp (revision 3721)
@@ -20,6 +20,7 @@
*
*/
+#include <ctype.h>
#include <stringmgr.h>
#include <swlog.h>
#include <localemgr.h>
Index: trunk/src/modules/filters/osisxhtml.cpp
===================================================================
--- trunk/src/modules/filters/osisxhtml.cpp (revision 3718)
+++ trunk/src/modules/filters/osisxhtml.cpp (revision 3721)
@@ -849,7 +849,11 @@
else if (tag.isEndTag()) {
outText("</div>", buf, u);
}
- else if (!(type == "colophon")) outText(tag, buf, u);
+ else if (!(type == "colophon")) {
+ if (tag.getAttribute("sID")) tag.setEmpty(false);
+ if (tag.getAttribute("eID")) tag.setEndTag(true);
+ outText(tag, buf, u);
+ }
}
else if (!strcmp(tag.getName(), "span")) {
Index: trunk/src/utilfuns/utilxml.cpp
===================================================================
--- trunk/src/utilfuns/utilxml.cpp (revision 3718)
+++ trunk/src/utilfuns/utilxml.cpp (revision 3721)
@@ -291,13 +291,16 @@
tag.append('/');
tag.append(getName());
- for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
- //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
- tag.append(' ');
- tag.append(it->first.c_str());
- tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
- tag.append(it->second.c_str());
- tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
+
+ if (!isEndTag()) {
+ for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
+ //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
+ tag.append(' ');
+ tag.append(it->first.c_str());
+ tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
+ tag.append(it->second.c_str());
+ tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
+ }
}
if (isEmpty())
Index: trunk/include/utilxml.h
===================================================================
--- trunk/include/utilxml.h (revision 3718)
+++ trunk/include/utilxml.h (revision 3721)
@@ -75,6 +75,13 @@
* otherwise, we return if we're a simple XML end </tag>.
*/
bool isEndTag(const char *eID = 0) const;
+ inline void setEndTag(bool value) {
+ if (!parsed)
+ parse();
+ endTag = value;
+ if (value)
+ empty = false;
+ }
const StringList getAttributeNames() const;
int getAttributePartCount(const char *attribName, char partSplit = '|') const;

138
sword-1.8.1-icu61.diff Normal file
View file

@ -0,0 +1,138 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5cbd06a..1d3a2d2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,4 @@
-# TODO: write FindICU (icu-config only for 2.2 and up) -- currently taken from another CMake system
-# limit pkg-config version to >= 0.14, demo, utilities, doc, tests
+# TODO: limit pkg-config version to >= 0.14, demo, utilities, doc, tests
# use BUILD_SHARED_LIBS
# convince perl swig bindings to build properly
#
@@ -13,7 +12,7 @@
# all posterity and eternity, wherever such transfer is possible. Where it is
# not, then this file is released under the GPLv2 by myself.
PROJECT(libsword CXX C)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.7.0)
SET(SWORD_VERSION 1.8.1)
# Make sure it's an out-of-stream build
@@ -56,7 +55,8 @@ IF(MSVC)
ELSE(MSVC)
FIND_PACKAGE(BZIP2 QUIET)
FIND_PACKAGE(XZ QUIET)
- FIND_PACKAGE(ICU QUIET)
+ FIND_PACKAGE(ICU
+ COMPONENTS data i18n io uc)
FIND_PACKAGE(CURL QUIET)
ENDIF(MSVC)
FIND_PACKAGE(CLucene QUIET)
@@ -237,7 +237,11 @@ ENDIF(WITH_CLUCENE)
IF(WITH_ICU)
INCLUDE_DIRECTORIES(${ICU_INCLUDE_DIRS})
ADD_DEFINITIONS(${ICU_DEFINITIONS})
- SET(SWORD_LINK_LIBRARIES ${SWORD_LINK_LIBRARIES} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ MESSAGE(STATUS "ICU Version: ${ICU_VERSION}")
+ IF("${ICU_VERSION}" VERSION_GREATER "61")
+ ADD_DEFINITIONS(-DU_USING_ICU_NAMESPACE)
+ ENDIF("${ICU_VERSION}" VERSION_GREATER "61")
+ SET(SWORD_LINK_LIBRARIES ${SWORD_LINK_LIBRARIES} ${ICU_LIBRARIES})
ENDIF(WITH_ICU)
IF(REGEX_FOUND AND CROSS_COMPILE_MINGW32)
SET(SWORD_LINK_LIBRARIES ${SWORD_LINK_LIBRARIES} ${REGEX_LIBRARY})
diff --git a/cmake/FindICU.cmake b/cmake/FindICU.cmake
deleted file mode 100644
index 451c2f3..0000000
--- a/cmake/FindICU.cmake
+++ /dev/null
@@ -1,68 +0,0 @@
-# Finds the International Components for Unicode (ICU) Library
-#
-# ICU_FOUND - True if ICU found.
-# ICU_I18N_FOUND - True if ICU's internationalization library found.
-# ICU_INCLUDE_DIRS - Directory to include to get ICU headers
-# Note: always include ICU headers as, e.g.,
-# unicode/utypes.h
-# ICU_LIBRARIES - Libraries to link against for the common ICU
-# ICU_I18N_LIBRARIES - Libraries to link against for ICU internationaliation
-# (note: in addition to ICU_LIBRARIES)
-
-# Look for the header file.
-find_path(
- ICU_INCLUDE_DIR
- NAMES unicode/utypes.h
- DOC "Include directory for the ICU library")
-mark_as_advanced(ICU_INCLUDE_DIR)
-
-# Look for the library.
-find_library(
- ICU_LIBRARY
- NAMES icuuc cygicuuc cygicuuc32
- DOC "Libraries to link against for the common parts of ICU")
-mark_as_advanced(ICU_LIBRARY)
-
-# Copy the results to the output variables.
-if(ICU_INCLUDE_DIR AND ICU_LIBRARY)
- set(ICU_FOUND 1)
- set(ICU_LIBRARIES ${ICU_LIBRARY})
- set(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR})
-
- # Look for the ICU internationalization libraries
- find_library(
- ICU_I18N_LIBRARY
- NAMES icuin icui18n cygicuin cygicuin32
- DOC "Libraries to link against for ICU internationalization")
- if(MSVC)
- find_library(ICU_DATA_LIBRARY
- NAMES icudt
- DOC "Libraries to link against for ICU data")
- set(ICU_LIBRARIES ${ICU_LIBRARIES} ${ICU_DATA_LIBRARY})
- endif(MSVC)
- mark_as_advanced(ICU_I18N_LIBRARY)
- mark_as_advanced(ICU_DATA_LIBRARY)
- if (ICU_I18N_LIBRARY)
- set(ICU_I18N_FOUND 1)
- set(ICU_I18N_LIBRARIES ${ICU_I18N_LIBRARY})
- else (ICU_I18N_LIBRARY)
- set(ICU_I18N_FOUND 0)
- set(ICU_I18N_LIBRARIES)
- endif (ICU_I18N_LIBRARY)
-else(ICU_INCLUDE_DIR AND ICU_LIBRARY)
- set(ICU_FOUND 0)
- set(ICU_I18N_FOUND 0)
- set(ICU_LIBRARIES)
- set(ICU_I18N_LIBRARIES)
- set(ICU_INCLUDE_DIRS)
-endif(ICU_INCLUDE_DIR AND ICU_LIBRARY)
-
-IF(ICU_FOUND)
- IF(NOT ICU_FIND_QUIETLY)
- MESSAGE(STATUS "ICU: Yes ${ICU_I18N_LIBRARY}")
- ENDIF(NOT ICU_FIND_QUIETLY)
-ELSE(ICU_FOUND)
- IF(ICU_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "ICU: No")
- ENDIF(ICU_FIND_REQUIRED)
-ENDIF(ICU_FOUND)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 30818a8..08bc573 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -75,10 +75,12 @@ ENDFOREACH(TEST ${test_PROGRAMS})
########################################################################################
# The following tests require extra libraries to run
-#
-FOREACH(ICUTEST icutest translittest)
- TARGET_LINK_LIBRARIES(${ICUTEST} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
-ENDFOREACH(ICUTEST icutest translittest)
+#
+IF(WITH_ICU)
+ FOREACH(ICUTEST icutest translittest)
+ TARGET_LINK_LIBRARIES(${ICUTEST} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+ ENDFOREACH(ICUTEST icutest translittest)
+ENDIF(WITH_ICU)
# Excluded until I know we have the tests working
ADD_SUBDIRECTORY(testsuite)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
diff --git a/bindings/swig/perl/CMakeLists.txt b/bindings/swig/perl/CMakeLists.txt
index 3e2e2e9..46f4c8f 100644
--- a/bindings/swig/perl/CMakeLists.txt
+++ b/bindings/swig/perl/CMakeLists.txt
@@ -23,6 +23,7 @@ WriteMakefile(
'NAME' => 'Sword',
'VERSION' => '${SWORD_VERSION}',
'INC' => '-I${CMAKE_SOURCE_DIR}/include -I${CMAKE_CURRENT_SOURCE_DIR}/..',
+ 'INSTALLDIRS' => 'vendor',
'DEFINE' => '-DSWIG',
'LIBS' => '-L${CMAKE_BINARY_DIR} -lsword -lz',
'FIRST_MAKEFILE' => 'Makefile.perlswig',

154
sword-1.8.1-swig.diff Normal file
View file

@ -0,0 +1,154 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d3a2d2..f627850 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -293,9 +293,10 @@ INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/install.cmake")
# Bindings are good, right?
#
-IF(NOT SWORD_BINDINGS STREQUAL "" AND SWORD_BINDINGS)
+MESSAGE(STATUS "${SWORD_SWIG_BINDINGS}")
+IF(SWORD_SWIG_BINDINGS)
ADD_SUBDIRECTORY("${CMAKE_CURRENT_SOURCE_DIR}/bindings")
-ENDIF(NOT SWORD_BINDINGS STREQUAL "" AND SWORD_BINDINGS)
+ENDIF(SWORD_SWIG_BINDINGS)
##############################################################################################
# Utilities are hawt
diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt
index 9caf6d6..729b499 100644
--- a/bindings/CMakeLists.txt
+++ b/bindings/CMakeLists.txt
@@ -1,5 +1,3 @@
-IF(SWORD_BINDINGS MATCHES ".*Python.*"
- OR SWORD_BINDINGS MATCHES ".*Perl.*")
+IF(SWORD_SWIG_BINDINGS)
ADD_SUBDIRECTORY("${CMAKE_CURRENT_SOURCE_DIR}/swig")
-ENDIF(SWORD_BINDINGS MATCHES ".*Python.*"
- OR SWORD_BINDINGS MATCHES ".*Perl.*")
+ENDIF(SWORD_SWIG_BINDINGS)
diff --git a/bindings/swig/CMakeLists.txt b/bindings/swig/CMakeLists.txt
index d2f4b16..93d55f1 100644
--- a/bindings/swig/CMakeLists.txt
+++ b/bindings/swig/CMakeLists.txt
@@ -15,27 +15,33 @@ IF(NOT SWIG_FOUND)
MESSAGE(FATAL_ERROR "Swig: no")
ELSE(NOT SWIG_FOUND)
MESSAGE(STATUS "Swig: yes")
-
+
SET(CMAKE_SWIG_FLAGS "-w-451,-402;-shadow;-c++")
-
+
MACRO(SWORD_SWIG_GENERATE LANG)
- ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx
+ ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx"
COMMAND ${SWIG_EXECUTABLE} ${CMAKE_SWIG_FLAGS} -${LANG} -o "${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx"
"-I${CMAKE_SOURCE_DIR}/bindings/swig" ${SWIG_INCLUDES} "${CMAKE_SOURCE_DIR}/bindings/swig/sword.i"
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
ENDMACRO(SWORD_SWIG_GENERATE)
-
+
GET_DIRECTORY_PROPERTY(cmake_include_directories INCLUDE_DIRECTORIES)
SET(SWIG_INCLUDES)
FOREACH(directory ${cmake_include_directories})
SET(SWIG_INCLUDES ${SWIG_INCLUDES} "-I${directory}")
ENDFOREACH(directory ${cmake_include_directories})
-
- IF(SWORD_BINDINGS MATCHES ".*Python.*")
- ADD_SUBDIRECTORY(python)
- ENDIF(SWORD_BINDINGS MATCHES ".*Python.*")
-
- IF(SWORD_BINDINGS MATCHES ".*Perl.*")
+
+ IF(SWORD_PYTHON_2)
+ SET(SWORD_PYTHON_VERSION 2)
+ ADD_SUBDIRECTORY(python python2)
+ ENDIF(SWORD_PYTHON_2)
+
+ IF(SWORD_PYTHON_3)
+ SET(SWORD_PYTHON_VERSION 3)
+ ADD_SUBDIRECTORY(python python3)
+ ENDIF(SWORD_PYTHON_3)
+
+ IF(SWORD_PERL)
ADD_SUBDIRECTORY(perl)
- ENDIF(SWORD_BINDINGS MATCHES ".*Perl.*")
+ ENDIF(SWORD_PERL)
ENDIF(NOT SWIG_FOUND)
diff --git a/bindings/swig/python/CMakeLists.txt b/bindings/swig/python/CMakeLists.txt
index bbf7561..eced324 100644
--- a/bindings/swig/python/CMakeLists.txt
+++ b/bindings/swig/python/CMakeLists.txt
@@ -11,6 +11,11 @@
#
#SWIG_LINK_LIBRARIES(Sword ${PYTHON_LIBRARIES} ${SWORD_LINK_NAME})
+UNSET(PYTHON_EXECUTABLE CACHE)
+UNSET(PYTHON_LIBS CACHE)
+SET(PythonInterp_FIND_VERSION "${SWORD_PYTHON_VERSION}")
+SET(PythonInterp_FIND_VERSION_MAJOR "${SWORD_PYTHON_VERSION}")
+SET(PythonLibs_FIND_VERSION "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
FIND_PACKAGE(PythonInterp REQUIRED)
FIND_PACKAGE(PythonLibs)
@@ -38,10 +43,10 @@ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/setup.py "${PY_SCRIPT}")
SWORD_SWIG_GENERATE(python)
-ADD_CUSTOM_TARGET(swordswig ALL
- COMMAND python setup.py build
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx ${SWORD_LINK_NAME}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ADD_CUSTOM_TARGET(swordswig_python${SWORD_PYTHON_VERSION} ALL
+ COMMAND "${PYTHON_EXECUTABLE}" setup.py build
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/Sword.cxx" ${SWORD_LINK_NAME}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
# Allow user installation to custom directory
IF(NOT SWORD_PYTHON_INSTALL_DIR STREQUAL "")
diff --git a/bindings/swig/python/install.cmake.in b/bindings/swig/python/install.cmake.in
index 5dbd52e..9b7da58 100644
--- a/bindings/swig/python/install.cmake.in
+++ b/bindings/swig/python/install.cmake.in
@@ -1,4 +1,4 @@
EXECUTE_PROCESS(COMMAND
- python setup.py install @SETUP_ARGS@
+ "@PYTHON_EXECUTABLE@" setup.py install @SETUP_ARGS@
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
diff --git a/cmake/options.cmake b/cmake/options.cmake
index 19b7004..b20370e 100644
--- a/cmake/options.cmake
+++ b/cmake/options.cmake
@@ -46,6 +46,12 @@ _SET_FANCY(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share" "Directory to in
_SET_FANCY(SWORD_PYTHON_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}" STRING "Directory where the Python bindings will be installed. Defaults to default Python path.")
+_SET_FANCY(SWORD_PYTHON_2 FALSE STRING "Set to TRUE to build Swig Python bindings for Python 2")
+
+_SET_FANCY(SWORD_PYTHON_3 FALSE STRING "Set to TRUE to build Swig Python bindings for Python 3")
+
+_SET_FANCY(SWORD_PERL FALSE STRING "Set to TRUE to build Swig Perl bindings")
+
# Post-processing of variables
MACRO(PROCESS_VERSION LEVEL VALUE)
SET(SWORD_VERSION_${LEVEL} ${VALUE})
@@ -74,3 +80,16 @@ SET(SWORD_VERSION_STR "${SWORD_VERSION}")
SET(SWORD_VERSION_NUM "${SWORD_VERSION_MAJOR}${MINOR}${MICRO}${NANO}")
MESSAGE(STATUS "SWORD Version ${SWORD_VERSION_NUM}")
+
+IF(SWORD_PYTHON_2 OR SWORD_PYTHON_3 OR SWORD_PERL)
+ MESSAGE(STATUS "Building SWIG Bindings")
+ SET(SWORD_SWIG_BINDINGS 1)
+ELSE()
+ SET(SWORD_SWIG_BINDINGS 0)
+ENDIF()
+
+IF(SWORD_SWIG_BINDINGS)
+ SET(SWORD_BINDINGS TRUE)
+ELSE()
+ SET(SWORD_BINDINGS FALSE)
+ENDIF()

View file

@ -1,36 +1,31 @@
%global soversion 1.9
%define soversion 1.8
Name: sword
Epoch: 1
Version: 1.9.0
Release: 36%{?dist}
Version: 1.8.1
Release: 19%{?dist}
Summary: Free Bible Software Project
License: GPL-2.0-only AND LicenseRef-Fedora-Public-Domain AND Apache-2.0 AND LGPL-2.0-or-later AND Zlib AND LGPL-2.1-or-later AND (0BSD OR MIT-0 OR MIT)
License: GPLv2
URL: http://www.crosswire.org/sword/
# Source0 tarball is generated by sword_gen_free_tarball.sh, which documents
# repack rationale and automates tarball fetching and repacking
Source0: sword-1.9.0.tar.gz
Source1: sword_gen_free_tarball.sh
Source2: LICENSE_README
# Patch0 was created by a SWORD developer, not applied upstream
Patch0: cmake-perl-bindings.diff
# Patch1 emailed to upstream
Patch1: migrate-to-setuptools.diff
BuildRequires: make
Source0: http://www.crosswire.org/ftpmirror/pub/sword/source/v1.8/sword-%{version}.tar.gz
Patch0: sword-1.8.1-cmake.diff
Patch1: sword-1.8.1-icu61.diff
Patch2: sword-1.8.1-swig.diff
Patch3: sword-1.8.1-swig-perl.diff
Patch4: sword-1.8.1-integer-types.diff
# svn diff -r3718:3721
Patch5: sword-1.8.1-fix-divs.diff
BuildRequires: cmake
BuildRequires: cmake-data
BuildRequires: openssl-devel
BuildRequires: curl-devel
BuildRequires: zlib-devel
BuildRequires: libidn-devel
BuildRequires: libicu-devel
BuildRequires: icu
BuildRequires: libicu-devel icu
BuildRequires: clucene-core-devel
BuildRequires: cppunit-devel
BuildRequires: swig
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: perl-devel
BuildRequires: perl-generators
BuildRequires: gcc
BuildRequires: gcc-c++
@ -45,11 +40,9 @@ texts in over 50 languages.
%package devel
Summary: Development files for the sword project
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: curl-devel
Requires: clucene-core-devel
Requires: libicu-devel
Requires: curl-devel clucene-core-devel libicu-devel
%description devel
This package contains the development headers and libraries for the
@ -58,7 +51,7 @@ that uses the sword API, such as Gnomesword or Bibletime.
%package utils
Summary: Utilities for the sword project
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
This package contains the pre-built utilities for use with the SWORD
@ -69,18 +62,19 @@ release schedule of the library. However, these utilities were the
latest at the time of the current library release.
%package -n python3-sword
%py_provides python3-sword
%{?python_provide:%python_provide python3-sword}
Summary: Python bindings for Sword
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python3
%description -n python3-sword
Python bindings for The SWORD Library.
%package -n perl-sword
%{?perl_provide:%perl_provide perl-sword}
Summary: Perl bindings for Sword
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
Requires: perl-interpreter
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: perl
Requires: perl-XML-LibXML
Requires: perl-HTML-Strip
@ -88,44 +82,46 @@ Requires: perl-HTML-Strip
Perl bindings for The SWORD Library.
%prep
%autosetup -p1
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
-DLIB_INSTALL_DIR:PATH=%{_libdir} \
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \
%if "%{?_lib}" == "lib64"
%{?_cmake_lib_suffix64} \
%endif
-DLIBSWORD_LIBRARY_TYPE=Shared \
mkdir build
pushd build
%cmake -DLIBSWORD_LIBRARY_TYPE=Shared \
-DSWORD_PYTHON_3:BOOL=TRUE \
-DSWORD_PERL:BOOL=TRUE \
-DSWORD_BUILD_UTILS="Yes" \
-DSWORD_BUILD_UTILITIES="Yes" \
-DLIBSWORD_SOVERSION=%{soversion} \
-DLIBDIR=%{_libdir} \
-DSWORD_BUILD_TESTS=Yes \
-DSWORD_PYTHON_INSTALL_ROOT="%{buildroot}" \
-DSWORD_PYTHON_INSTALL_DIR="%{_prefix}"
%cmake_build
-DSWORD_PYTHON_INSTALL_DIR="%{buildroot}%{_prefix}" \
..
make %{?_smp_mflags}
%install
%cmake_install
pushd build
%make_install
popd
mkdir -p %{buildroot}%{_datadir}/sword/modules
find %{buildroot} -type f -name "*.la" -delete -print
%check
make tests
%files
%doc AUTHORS ChangeLog NEWS README
%doc samples/
%doc doc/
%license COPYING LICENSE
%doc AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README
%doc samples doc
# Re-enable after upstream includes it with CMake builds
%config(noreplace) %{_sysconfdir}/sword.conf
%{_libdir}/libsword.so.%{soversion}
%{_datadir}/sword/
%{_datadir}/sword
%files devel
%doc CODINGSTYLE
@ -154,170 +150,21 @@ make tests
%{_bindir}/emptyvss
%files -n python3-sword
%pycached %{python3_sitearch}/Sword.py
%{python3_sitearch}/_Sword%{python3_ext_suffix}
%{python3_sitearch}/sword-%{version}-py%{python3_version}.egg-info/
%{python3_sitearch}/Sword.py
%{python3_sitearch}/_Sword.cpython-%{python3_version_nodots}*-%{_arch}-linux-gnu*.so
%{python3_sitearch}/__pycache__/*
%{python3_sitearch}/sword-%{version}-py%{python3_version}.egg-info
%files -n perl-sword
%{perl_vendorarch}/*
%exclude %dir %{perl_vendorarch}/auto/
%exclude %{_libdir}/perl5/perllocal.pod
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 1:1.9.0-36
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 1:1.9.0-35
- Rebuilt for Python 3.14.0rc2 bytecode
* Wed Aug 06 2025 František Zatloukal <fzatlouk@redhat.com> - 1:1.9.0-34
- Rebuilt for icu 77.1
* Sat Jul 26 2025 Aaron Rainbolt <arraybolt@fedoraproject.org> - 1:1.9.0-33
- Set minimum CMake version to 3.5 (rhbz#2381472)
- Set non-standard CMake variables back to expected values (rhbz#2381665)
- Migrate InstallMgr test to tmt framework (rhbz#2383081)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jul 07 2025 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-31
- Perl 5.42 rebuild
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 1:1.9.0-30
- Rebuilt for Python 3.14
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 08 2024 Pete Walter <pwalter@fedoraproject.org> - 1:1.9.0-28
- Rebuild for ICU 76
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 12 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-26
- Perl 5.40 rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1:1.9.0-25
- Rebuilt for Python 3.13
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 1:1.9.0-24
- Rebuild for ICU 74
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Sep 29 2023 Aaron Rainbolt <arraybolt3@fedoraproject.org> - 1:1.9.0-22
- Replace distutils with setuptools in python setup scripts (rhbz#2220606)
- Don't install the INSTALL file as part of the documentation
- Remove Android bindings as they contain a prebuild binary
- Remove gSOAP bindings as they contain a non-free source file
- Remove Objective C bindings as they contain a non-free source file
- Remove win32-related utility code as it is non-free
- Remove some sort of pre-built PalmOS application binary
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 1:1.9.0-20
- Rebuilt for ICU 73.2
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-19
- Perl 5.38 rebuild
* Fri Jun 30 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-18
- Replace requirement of meta-package perl by perl-interpreter
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1:1.9.0-17
- Rebuilt for Python 3.12
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 1:1.9.0-15
- Rebuild for ICU 72
* Mon Dec 12 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-14
- Add BR perl-generators to automatically generates run-time dependencies
for installed Perl files
* Mon Aug 01 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 1:1.9.0-13
- Rebuilt for ICU 71.1
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:1.9.0-11
- Rebuilt for Python 3.11
* Mon May 30 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1:1.9.0-10
- Perl 5.36 rebuild
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 09 2021 Greg Hellings <greg.hellings@gmail.com> - 1:1.9.0-7
- Correct dependencies for subpackages
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1:1.9.0-6
- Rebuilt for Python 3.10
* Mon May 24 2021 Greg Hellings <greg.hellings@gmail.com> - 1:1.9.0-5
- Add Epoch tag
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.9.0-5
- Perl 5.34 rebuild
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 1.9.0-4
- Rebuild for ICU 69
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 14 2020 Greg Hellings <greg.hellings@gmail.com> - 1.9.0-2
- Restore Perl bindings
* Tue Dec 1 2020 Greg Hellings <greg.hellings@gmail.com> - 1.9.0-1
- Upstream 1.9.0 release
* Fri Oct 2 2020 Greg Hellings <greg.hellings@gmail.com> - 1.8.903-1
- Upstream 1.9.0RC3 release
* Fri Sep 11 2020 Greg Hellings <greg.hellings@gmail.com> - 1.8.901-1
- Upstream 1.9.0RC1 release
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-24
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jun 22 2020 Jitka Plesnikova <jplesnik@redhat.com> - 1.8.1-22
- Perl 5.32 rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.8.1-21
- Rebuilt for Python 3.9
* Fri May 15 2020 Pete Walter <pwalter@fedoraproject.org> - 1.8.1-20
- Rebuild for ICU 67
* Sun Apr 26 2020 Greg Hellings <greg.hellings@gmail.com> - 1.8.1-19
- Added patch to fix upstream markup bug
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 1.8.1-17
- Rebuild for ICU 65
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.8.1-16
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Jaak Ristioja <jaak@ristioja.ee> - 1.8.1-15
- Fixed conflicting integer types being defined

View file

@ -1,30 +0,0 @@
#!/bin/bash
# SWORD's gSOAP bindings contain a file at bindings/gsoap/include/stdsoap.h
# that is labeled "All rights reserved." We therefore have to repack the
# tarball to eliminate this file. Doing so most likely ruins the gSOAP
# bindings, so we just remove the gSOAP bindings altogether.
#
# The Objective C bindings have the same problem as the gSOAP bindings.
#
# There's some win32-related code that has a similar problem too.
#
# Also some sort of PalmOS application binary needs removed.
#
# We also remove the Android bindings since they contain a prebuilt .jar file.
# This could be handled in %prep but it's just as easy and probably a bit
# faster to do it here.
set -e
wget http://www.crosswire.org/ftpmirror/pub/sword/source/v1.9/sword-1.9.0.tar.gz
test "$(sha512sum sword-1.9.0.tar.gz | cut -d' ' -f1)" = "9ed3fbb5024af1f93b1473bae0d95534d02a5b00b3c9d41a0f855cee8106dc4e330844080adbee7c3f74c0e5ce1480bf16c87c842421337a341f641bae11137f"
tar -xf sword-1.9.0.tar.gz
rm sword-1.9.0.tar.gz
rm -r sword-1.9.0/bindings/gsoap
rm -r sword-1.9.0/bindings/Android
rm -r sword-1.9.0/bindings/objc
rm -r sword-1.9.0/src/utilfuns/win32
rm sword-1.9.0/utilities/diatheke/pqa/Diatheke.pqa
tar -czf sword-1.9.0.tar.gz sword-1.9.0
rm -r sword-1.9.0