|
|
|
@ -1,19 +1,35 @@
|
|
|
|
|
%bcond_with bootstrap
|
|
|
|
|
|
|
|
|
|
Name: jansi
|
|
|
|
|
Version: 1.18
|
|
|
|
|
Release: 3%{?dist}
|
|
|
|
|
Summary: Jansi is a java library for generating and interpreting ANSI escape sequences
|
|
|
|
|
Version: 2.3.3
|
|
|
|
|
Release: 7%{?dist}
|
|
|
|
|
Summary: Generate and interpret ANSI escape sequences in Java
|
|
|
|
|
License: ASL 2.0
|
|
|
|
|
URL: http://fusesource.github.io/jansi/
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
|
|
|
|
|
Source0: https://github.com/fusesource/jansi/archive/jansi-project-%{version}.tar.gz
|
|
|
|
|
ExclusiveArch: aarch64 ppc64le s390x x86_64
|
|
|
|
|
|
|
|
|
|
# ./generate-tarball.sh
|
|
|
|
|
Source0: %{name}-%{version}.tar.gz
|
|
|
|
|
# Remove bundled binaries which cannot be easily verified for licensing
|
|
|
|
|
Source1: generate-tarball.sh
|
|
|
|
|
|
|
|
|
|
# Change the location of the native artifact to where Fedora wants it
|
|
|
|
|
Patch0: %{name}-jni.patch
|
|
|
|
|
|
|
|
|
|
Patch0: 0001-Drop-dependency-on-native-library.patch
|
|
|
|
|
Patch1: 0001-Avoid-NPE.patch
|
|
|
|
|
|
|
|
|
|
BuildRequires: gcc
|
|
|
|
|
BuildRequires: maven-local
|
|
|
|
|
BuildRequires: mvn(junit:junit)
|
|
|
|
|
%if %{with bootstrap}
|
|
|
|
|
BuildRequires: javapackages-bootstrap
|
|
|
|
|
%else
|
|
|
|
|
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
|
|
|
|
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
|
|
|
|
|
BuildRequires: mvn(org.apache.maven.surefire:surefire-junit-platform)
|
|
|
|
|
BuildRequires: mvn(org.fusesource:fusesource-pom:pom:)
|
|
|
|
|
BuildRequires: mvn(org.junit.jupiter:junit-jupiter-engine)
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Jansi is a small java library that allows you to use ANSI escape sequences
|
|
|
|
@ -21,67 +37,142 @@ in your Java console applications. It implements ANSI support on platforms
|
|
|
|
|
which don't support it like Windows and provides graceful degradation for
|
|
|
|
|
when output is being sent to output devices which cannot support ANSI sequences.
|
|
|
|
|
|
|
|
|
|
%{?module_package}
|
|
|
|
|
%{?javadoc_package}
|
|
|
|
|
%package javadoc
|
|
|
|
|
Summary: Javadocs for %{name}
|
|
|
|
|
|
|
|
|
|
%description javadoc
|
|
|
|
|
This package contains the API documentation for %{name}.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q -n jansi-jansi-project-%{version}
|
|
|
|
|
%patch0 -p1
|
|
|
|
|
%autosetup -n jansi-jansi-%{version} -p1
|
|
|
|
|
|
|
|
|
|
%pom_disable_module example
|
|
|
|
|
# We don't need the Fuse JXR skin
|
|
|
|
|
%pom_xpath_remove "pom:build/pom:extensions"
|
|
|
|
|
|
|
|
|
|
%pom_remove_plugin -r :maven-site-plugin
|
|
|
|
|
# Plugins not needed for an RPM build
|
|
|
|
|
%pom_remove_plugin :maven-gpg-plugin
|
|
|
|
|
%pom_remove_plugin :maven-javadoc-plugin
|
|
|
|
|
%pom_remove_plugin :nexus-staging-maven-plugin
|
|
|
|
|
|
|
|
|
|
# No maven-uberize-plugin
|
|
|
|
|
%pom_remove_plugin -r :maven-uberize-plugin
|
|
|
|
|
# We don't want GraalVM support in Fedora
|
|
|
|
|
%pom_remove_plugin :exec-maven-plugin
|
|
|
|
|
%pom_remove_dep :picocli-codegen
|
|
|
|
|
|
|
|
|
|
# Remove unnecessary deps for jansi-native builds
|
|
|
|
|
pushd jansi
|
|
|
|
|
%pom_remove_dep :jansi-windows32
|
|
|
|
|
%pom_remove_dep :jansi-windows64
|
|
|
|
|
%pom_remove_dep :jansi-osx
|
|
|
|
|
%pom_remove_dep :jansi-freebsd32
|
|
|
|
|
%pom_remove_dep :jansi-freebsd64
|
|
|
|
|
# it's there only to be bundled in uberjar and we disable uberjar generation
|
|
|
|
|
%pom_remove_dep :jansi-linux32
|
|
|
|
|
%pom_remove_dep :jansi-linux64
|
|
|
|
|
#
|
|
|
|
|
%pom_remove_dep :jansi-native
|
|
|
|
|
%pom_remove_dep :hawtjni-runtime
|
|
|
|
|
popd
|
|
|
|
|
# Build for JDK 1.8 at a minimum
|
|
|
|
|
%pom_xpath_set "//pom:properties/pom:jdkTarget" 1.8
|
|
|
|
|
|
|
|
|
|
# javadoc generation fails due to strict doclint in JDK 8
|
|
|
|
|
%pom_remove_plugin -r :maven-javadoc-plugin
|
|
|
|
|
# Remove prebuilt shared objects
|
|
|
|
|
rm -fr src/main/resources/org/fusesource/jansi/internal
|
|
|
|
|
|
|
|
|
|
rm -f jansi/src/{main,test}/java/org/fusesource/jansi/{WindowsSupport,WindowsAnsiOutputStream,WindowsAnsiPrintStream,WindowsSupportTest,AnsiMain}.java
|
|
|
|
|
# Unbundle the JNI headers
|
|
|
|
|
rm src/main/native/inc_linux/*.h
|
|
|
|
|
ln -s %{_jvmdir}/java-11-openjdk/include/jni.h src/main/native/inc_linux
|
|
|
|
|
ln -s %{_jvmdir}/java-11-openjdk/include/linux/jni_md.h src/main/native/inc_linux
|
|
|
|
|
|
|
|
|
|
# Set the JNI path
|
|
|
|
|
sed -i 's,@LIBDIR@,%{_prefix}/lib,' \
|
|
|
|
|
src/main/java/org/fusesource/jansi/internal/JansiLoader.java
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%mvn_build
|
|
|
|
|
%set_build_flags
|
|
|
|
|
# Build the native artifact
|
|
|
|
|
CFLAGS="$CFLAGS -I. -I%{_jvmdir}/java-11-openjdk/include -I%{_jvmdir}/java-11-openjdk/include/linux -fPIC -fvisibility=hidden"
|
|
|
|
|
cd src/main/native
|
|
|
|
|
$CC $CFLAGS -c jansi.c
|
|
|
|
|
$CC $CFLAGS -c jansi_isatty.c
|
|
|
|
|
$CC $CFLAGS -c jansi_structs.c
|
|
|
|
|
$CC $CFLAGS -c jansi_ttyname.c
|
|
|
|
|
$CC $CFLAGS $LDFLAGS -shared -o libjansi.so *.o -lutil
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
|
|
# Build the Java artifacts
|
|
|
|
|
%mvn_build -- -Dlibrary.jansi.path=$PWD/src/main/native
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
# Install the native artifact
|
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/lib/%{name}
|
|
|
|
|
cp -p src/main/native/libjansi.so %{buildroot}%{_prefix}/lib/%{name}
|
|
|
|
|
|
|
|
|
|
# Install the Java artifacts
|
|
|
|
|
%mvn_install
|
|
|
|
|
|
|
|
|
|
%files -n %{?module_prefix}%{name} -f .mfiles
|
|
|
|
|
%files -f .mfiles
|
|
|
|
|
%license license.txt
|
|
|
|
|
%doc readme.md changelog.md
|
|
|
|
|
%{_prefix}/lib/%{name}/
|
|
|
|
|
|
|
|
|
|
%files javadoc -f .mfiles-javadoc
|
|
|
|
|
%license license.txt
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Tue May 07 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.18-3
|
|
|
|
|
- Rebuilt for MSVSphere 8.9
|
|
|
|
|
* Wed Nov 20 2024 Marián Konček <mkoncek@redhat.com> - 2.3.3-7
|
|
|
|
|
- Rebuild with regenerated Requires on Java
|
|
|
|
|
|
|
|
|
|
* Mon Jan 30 2023 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.3.3-6
|
|
|
|
|
- Rebuild to regenerate auto-requires
|
|
|
|
|
|
|
|
|
|
* Thu Aug 19 2021 Marian Koncek <mkoncek@redhat.com> - 2.3.3-5
|
|
|
|
|
- Install native artifact into a fixed location
|
|
|
|
|
- Related: rhbz#1994935
|
|
|
|
|
|
|
|
|
|
* Wed Aug 18 2021 Marian Koncek <mkoncek@redhat.com> - 2.3.3-4
|
|
|
|
|
- Avoid possible NullPointerException
|
|
|
|
|
- Resolves: rhbz#1993889
|
|
|
|
|
- Load native library from the correct location
|
|
|
|
|
- Resolves: rhbz#1994935
|
|
|
|
|
|
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 2.3.3-3
|
|
|
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
|
|
|
Related: rhbz#1991688
|
|
|
|
|
|
|
|
|
|
* Wed Jun 23 2021 Jerry James <loganjerry@gmail.com> - 2.3.3-1
|
|
|
|
|
- Version 2.3.3
|
|
|
|
|
|
|
|
|
|
* Fri Jun 18 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-7
|
|
|
|
|
- Clean tarball from content with questionable licensing
|
|
|
|
|
- Resolves: rhbz#1973750
|
|
|
|
|
|
|
|
|
|
* Wed Jun 09 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-6
|
|
|
|
|
- Rebuild to workaround DistroBaker issue
|
|
|
|
|
|
|
|
|
|
* Tue Jun 08 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-5
|
|
|
|
|
- Bootstrap Maven for CentOS Stream 9
|
|
|
|
|
|
|
|
|
|
* Mon May 17 2021 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.1.1-4
|
|
|
|
|
- Bootstrap build
|
|
|
|
|
- Non-bootstrap build
|
|
|
|
|
|
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Jan 14 2021 Timm Bäder <tbaeder@redhat.com> - 2.1.1-2
|
|
|
|
|
- Use standard variables when compiling native artifact
|
|
|
|
|
|
|
|
|
|
* Tue Dec 15 2020 Jerry James <loganjerry@gmail.com> - 2.1.1-1
|
|
|
|
|
- Version 2.1.1
|
|
|
|
|
- Remove package name from Summary
|
|
|
|
|
- Add patch to change the location of the JNI shared object
|
|
|
|
|
|
|
|
|
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-5
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1.18-4
|
|
|
|
|
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
|
|
|
|
|
|
|
|
|
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.18-3
|
|
|
|
|
- Mass rebuild for javapackages-tools 201902
|
|
|
|
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.18-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.18-2
|
|
|
|
|
- Remove dependency on jansi-native and hawtjni
|
|
|
|
|
* Sat Jun 08 2019 Fabio Valentini <decathorpe@gmail.com> - 1.18-1
|
|
|
|
|
- Update to version 1.18.
|
|
|
|
|
|
|
|
|
|
* Mon Jul 22 2019 Marian Koncek <mkoncek@redhat.com> - 1.18-1
|
|
|
|
|
- Update to upstream version 1.18
|
|
|
|
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.17.1-2
|
|
|
|
|
- Mass rebuild for javapackages-tools 201901
|
|
|
|
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-2
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jun 05 2018 Michael Simacek <msimacek@redhat.com> - 1.17.1-1
|
|
|
|
|
- Update to upstream version 1.17.1
|
|
|
|
|