forked from pool/native-platform
106 lines
3.0 KiB
RPMSpec
106 lines
3.0 KiB
RPMSpec
#
|
|
# spec file for package native-platform
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{!?make_build:%global make_build make %{?_smp_mflags}}
|
|
Name: native-platform
|
|
Version: 0.14
|
|
Release: 0
|
|
Summary: Java bindings for various native APIs
|
|
License: Apache-2.0
|
|
URL: https://github.com/adammurdoch/native-platform
|
|
Source0: https://github.com/adammurdoch/native-platform/archive/%{version}.tar.gz
|
|
Source4: %{name}-Makefile
|
|
# Try to load native library from /usr/lib*/native-platform
|
|
# instead of extractDir or classpath.
|
|
Patch0: 0001-Load-lib-from-system.patch
|
|
# Use generate libraries without arch references
|
|
# Add support for arm and other x64 arches
|
|
Patch1: 0002-Use-library-name-without-arch.patch
|
|
Patch2: reproducible-jar-mtime.patch
|
|
BuildRequires: fdupes
|
|
# build tools and deps
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: java-devel >= 1.8
|
|
BuildRequires: javapackages-local
|
|
BuildRequires: jopt-simple
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: xmvn-install
|
|
BuildRequires: xmvn-resolve
|
|
|
|
%description
|
|
A collection of cross-platform Java APIs
|
|
for various native APIs.
|
|
|
|
These APIs support Java 5 and later. Some
|
|
of these APIs overlap with APIs available
|
|
in later Java versions.
|
|
|
|
%package javadoc
|
|
Summary: Javadoc for %{name}
|
|
BuildArch: noarch
|
|
|
|
%description javadoc
|
|
This package contains javadoc for %{name}.
|
|
|
|
%prep
|
|
%setup -q
|
|
find . -name "*.jar" -delete
|
|
find . -name "*.class" -delete
|
|
|
|
cp -p %{SOURCE4} Makefile
|
|
|
|
%patch -P 0 -p1
|
|
%patch -P 1 -p1
|
|
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 17}%{!?pkg_vcmp:0}
|
|
%patch -P 2 -p1
|
|
%endif
|
|
|
|
chmod 644 readme.md
|
|
sed -i 's/\r//' readme.md
|
|
|
|
# TODO
|
|
mv src/curses/cpp/*.cpp src/main/cpp
|
|
mv src/shared/cpp/* src/main/cpp
|
|
|
|
%build
|
|
CFLAGS="${CFLAGS:-%{optflags}}" ; export CFLAGS ;
|
|
CPPFLAGS="${CPPFLAGS:-%{optflags}}" ; export CPPFLAGS ;
|
|
CXXFLAGS="${CXXFLAGS:-%{optflags}}" ; export CXXFLAGS ;
|
|
%make_build JAVA_HOME=%{_jvmdir}/java
|
|
|
|
%{mvn_artifact} net.rubygrapefruit:%{name}:%{version} build/%{name}.jar
|
|
%{mvn_file} : %{name}
|
|
|
|
%install
|
|
%mvn_install -J build/docs/javadoc
|
|
%fdupes -s %{buildroot}%{_javadocdir}
|
|
|
|
mkdir -p %{buildroot}%{_libdir}/%{name}
|
|
install -pm 0755 build/binaries/libnative-platform-curses.so %{buildroot}%{_libdir}/%{name}/
|
|
install -pm 0755 build/binaries/libnative-platform.so %{buildroot}%{_libdir}/%{name}/
|
|
|
|
%files -f .mfiles
|
|
%{_libdir}/%{name}
|
|
%doc readme.md
|
|
%license LICENSE
|
|
|
|
%files javadoc -f .mfiles-javadoc
|
|
%license LICENSE
|
|
|
|
%changelog
|