Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37599029
en ru br
ALT Linux repos
S:3.15.1-alt1_8jpp11

Group :: Development/Java
RPM: sqlite-jdbc

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Group: Development/Java
# BEGIN SourceDeps(oneline):
BuildRequires(pre): rpm-macros-fedora-compat rpm-macros-generic-compat
BuildRequires: rpm-build-java zip
# END SourceDeps(oneline)
BuildRequires: /proc
BuildRequires: jpackage-default
# see https://bugzilla.altlinux.org/show_bug.cgi?id=10382
%define _localstatedir %{_var}
#%% global githash
# empty debuginfo
%global debug_package %nil

Name:          sqlite-jdbc
Version:       3.15.1
Release:       alt1_8jpp11
Summary:       SQLite JDBC library

# ASL 2.0:

# ./src/main/java/org/sqlite/SQLiteConfig.java
# ./src/main/java/org/sqlite/SQLiteDataSource.java
# ./src/main/java/org/sqlite/SQLiteErrorCode.java
# ./src/main/java/org/sqlite/SQLiteJDBCLoader.java
# ./src/main/java/org/sqlite/SQLiteOpenMode.java
# ./src/main/java/org/sqlite/javax/SQLiteConnectionPoolDataSource.java
# ./src/main/java/org/sqlite/javax/SQLitePooledConnection.java
# ./src/main/java/org/sqlite/util/OSInfo.java
# ./src/main/java/org/sqlite/util/ResourceFinder.java

# ISC:

# ./src/main/java/org/sqlite/Function.java
# ./src/main/java/org/sqlite/JDBC.java
# ./src/main/java/org/sqlite/SQLiteConnection.java:
# ./src/main/java/org/sqlite/core/Codes.java
# ./src/main/java/org/sqlite/core/CoreDatabaseMetaData.java
# ./src/main/java/org/sqlite/core/CoreResultSet.java
# ./src/main/java/org/sqlite/core/CoreStatement.java
# ./src/main/java/org/sqlite/core/CorePreparedStatement.java
# ./src/main/java/org/sqlite/core/DB.java
# ./src/main/java/org/sqlite/core/NativeDB.c
# ./src/main/java/org/sqlite/core/NativeDB.java

# This package is a fork of zentus sqlite driver the

# original code is under BSD license. See LICENSE.zentus
# ./src/main/java/org/sqlite/Function.java
# ./src/main/java/org/sqlite/JDBC.java
# ./src/main/java/org/sqlite/core/Codes.java
# ./src/main/java/org/sqlite/core/DB.java
# ./src/main/java/org/sqlite/core/NativeDB.c
# ./src/main/java/org/sqlite/core/NativeDB.java

License:       ASL 2.0 and BSD and ISC
URL:           https://github.com/xerial/sqlite-jdbc
Source0:       https://github.com/xerial/sqlite-jdbc/archive/%{version}/%{name}-%{version}.tar.gz
Patch0:        %{name}-3.15.1-build.patch

BuildRequires: gcc
BuildRequires: maven-local
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: libsqlite3-devel
Source44: import.info
Patch33: sqlite-jdbc-alt-linkage.patch


%description
SQLite JDBC, is a library for accessing and
creating SQLite database files in Java.

%package javadoc
Group: Development/Java
Summary:       Javadoc for %{name}
BuildArch:     noarch

%description javadoc
This package contains javadoc for %{name}.

%prep
%setup -q -n %{name}-%{version}
# Cleanup
find . -name "*.class" -delete
# Do not delete test resources
find . -name "*.jar" ! -name "testdb.jar" -delete

# Remove prebuilt libraries

find -name "*.jnilib" -print -delete
find -name "*.dll" -print -delete
find -name "*.so" -print -delete
find -name "*.h" -print -delete
rm -r archive/* docker/*

# extensions won't work with our sqlite (should be patched)

# or use http://www.sqlite.org/2016/sqlite-amalgamation-3150100.zip
# ./sqlite-amalgamation-3150100/shell.c
# ./sqlite-amalgamation-3150100/sqlite3.c
# ./sqlite-amalgamation-3150100/sqlite3.h
# ./sqlite-amalgamation-3150100/sqlite3ext.h
# disable extensions and remove tests for them
# java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (no such function: radians)
rm -r src/test/java/org/sqlite/ExtensionTest.java
sed -i '/ExtensionTest/d' src/test/java/org/sqlite/AllTests.java
# secondConnWillWait(org.sqlite.TransactionTest)  Time elapsed: 23.213 sec
rm -r src/test/java/org/sqlite/TransactionTest.java
sed -i '/TransactionTest/d' src/test/java/org/sqlite/AllTests.java

%ifarch %{power64}
# failed test on big endian arches
# ComparisonFailure: expected:<UTF-16[l]e> but was:<UTF-16[b]e>
rm -r src/test/java/org/sqlite/SQLiteDataSourceTest.java
sed -i '/SQLiteDataSourceTest/d' src/test/java/org/sqlite/AllTests.java
%endif

%patch0 -p1

# Build JNI library. Use native task to avoid to run multiple, conflicting,

# operations at the same time
%pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin:1.7 . '
<dependencies>
<dependency>
 <groupId>com.sun</groupId>
 <artifactId>tools</artifactId>
 <version>1.8.0</version>
</dependency>
</dependencies>

<executions>
 <execution>
 <id>compile</id>
 <phase>process-classes</phase>
   <configuration>
     <target>
      <javac destdir="lib"
        srcdir="lib"
        source="1.8" target="1.8" debug="on"
        classpathref="maven.plugin.classpath">
        <include name="**/OSInfo.java"/>
      </javac>
      <exec executable="make">
       <arg line="%{?_smp_mflags}
       JAVA_HOME=%{_jvmdir}/java
       JAVA=%{_jvmdir}/java/bin/java
       JAVAC=%{_jvmdir}/java/bin/javac
       JAVAH=%{_jvmdir}/java/bin/javah
       native"/>
      </exec>
     </target>
   </configuration>
   <goals>
     <goal>run</goal>
   </goals>
 </execution>
</executions>'

# Used for build JNI library

cp -p src/main/java/org/sqlite/util/OSInfo.java lib/org/sqlite/
sed -i "s|package org.sqlite.util;|package org.sqlite;|" lib/org/sqlite/OSInfo.java

%mvn_file org.xerial:%{name} %{name}
%patch33 -p0

sed -i "s|<source>1.6</source>|<source>1.8</source>|" pom.xml
sed -i "s|<target>1.6</target>|<target>1.8</target>|" pom.xml

%build

%ifarch %{arm}
opts='-f'
%endif

sed -i 's|$(CCFLAGS) -I|$(CCFLAGS) $(CFLAGS) -I|' Makefile
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
sed -i 's|$(CCFLAGS) -o|$(CCFLAGS) $(LDFLAGS) -o|' Makefile
LDFLAGS="${LDFLAGS:-%__global_ldflags}"; export LDFLAGS;
%mvn_build $opts -- -Dmaven.test.failure.ignore=true

%install
%mvn_install

%files -f .mfiles
%doc CHANGELOG README.md Usage.md
%doc --no-dereference LICENSE* NOTICE

%files javadoc -f .mfiles-javadoc
%doc --no-dereference LICENSE* NOTICE

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin