Compare commits
36 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9fc71d170b | ||
|
|
03ea84bb9a | ||
|
|
b64338227b | ||
|
|
88cd28788d | ||
|
|
3602092759 | ||
|
|
af1c8fb892 | ||
|
|
9a07827453 | ||
|
|
f612d14963 | ||
|
|
5ef79223b9 | ||
|
|
a1da824c62 | ||
|
|
5ba940c162 | ||
|
|
2a95a564f7 | ||
|
|
fa77549cd7 | ||
|
|
a8b550007f | ||
|
|
32e03a04b2 | ||
|
|
40cd24bcd5 | ||
|
|
9b4976d615 | ||
|
|
3b38fde497 | ||
|
|
84d6b338c2 | ||
|
|
fe714953a8 | ||
|
|
45dbc7b823 | ||
|
|
73c1aee4da | ||
|
|
ce90112eec | ||
|
|
dc45526b28 | ||
|
|
c6dd07f0a3 | ||
|
|
6947edd967 | ||
|
|
c68eda40fd |
||
|
|
529b00659d | ||
|
|
537403ee97 | ||
|
|
29f4e08469 | ||
|
|
1c4f3f8b87 | ||
|
|
5a764a40b9 | ||
|
|
9c54d5c844 | ||
|
|
99e1495f6c | ||
|
|
fb474a6475 | ||
|
|
9e7ae15fd4 |
3 changed files with 267 additions and 21 deletions
|
|
@ -1,5 +1,6 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
project(jxrlib C)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
set(JXRLIB_MAJOR 0)
|
||||
set(JXRLIB_MINOR 0)
|
||||
|
|
@ -30,9 +31,9 @@ add_library(jpegxr ${jpegxr_SRC} ${jpegxr_HDR})
|
|||
set_target_properties(jpegxr PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION ${JXRLIB_SO_VERSION})
|
||||
|
||||
install(TARGETS jpegxr
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
ARCHIVE DESTINATION lib${LIB_SUFFIX}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
# JXR-GLUE Library
|
||||
|
|
@ -44,25 +45,25 @@ set_target_properties(jxrglue PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION
|
|||
target_link_libraries(jxrglue jpegxr m)
|
||||
|
||||
install(TARGETS jxrglue
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
ARCHIVE DESTINATION lib${LIB_SUFFIX}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
# JxrEncApp Executable
|
||||
add_executable(JxrEncApp jxrencoderdecoder/JxrEncApp.c)
|
||||
target_link_libraries(JxrEncApp jxrglue)
|
||||
install(TARGETS JxrEncApp RUNTIME DESTINATION bin)
|
||||
install(TARGETS JxrEncApp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
# JxrDecApp Executable
|
||||
add_executable(JxrDecApp jxrencoderdecoder/JxrDecApp.c)
|
||||
target_link_libraries(JxrDecApp jxrglue)
|
||||
install(TARGETS JxrDecApp RUNTIME DESTINATION bin)
|
||||
install(TARGETS JxrDecApp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
# Headers
|
||||
install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrtestlib/JXRTest.h image/sys/windowsmediaphoto.h
|
||||
DESTINATION include/jxrlib
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jxrlib
|
||||
)
|
||||
install(DIRECTORY common/include/ DESTINATION include/jxrlib
|
||||
install(DIRECTORY common/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/jxrlib
|
||||
FILES_MATCHING PATTERN "*.h"
|
||||
)
|
||||
|
|
|
|||
171
jxrlib.spec
171
jxrlib.spec
|
|
@ -1,11 +1,12 @@
|
|||
Name: jxrlib
|
||||
Version: 1.1
|
||||
Release: 1%{?dist}
|
||||
Release: 32%{?dist}
|
||||
Summary: Open source implementation of jpegxr
|
||||
|
||||
# See JPEGXR_DPK_Spec_1.0.doc. Upstream request for plain text license file at
|
||||
# https://jxrlib.codeplex.com/workitem/13
|
||||
License: BSD
|
||||
# Automatically converted from old format: BSD - review is highly recommended.
|
||||
License: LicenseRef-Callaway-BSD
|
||||
URL: https://jxrlib.codeplex.com/
|
||||
Source0: http://jxrlib.codeplex.com/downloads/get/685249#/jxrlib_%(echo %{version} | tr . _).tar.gz
|
||||
# Use CMake to build to facilitate creation of shared libraries
|
||||
|
|
@ -18,10 +19,17 @@ Source2: JPEGXR_DPK_Spec_1.0.pdf
|
|||
# Fix various warnings, upstreamable
|
||||
# See https://jxrlib.codeplex.com/workitem/13
|
||||
Patch0: jxrlib_warnings.patch
|
||||
# Mingw build fixes
|
||||
Patch1: jxrlib_mingw.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: make
|
||||
|
||||
BuildRequires: mingw32-filesystem >= 95
|
||||
BuildRequires: mingw32-gcc
|
||||
|
||||
BuildRequires: mingw64-filesystem >= 95
|
||||
BuildRequires: mingw64-gcc
|
||||
|
||||
|
||||
%description
|
||||
|
|
@ -37,6 +45,24 @@ The %{name}-devel package contains libraries and header files for
|
|||
developing applications that use %{name}.
|
||||
|
||||
|
||||
%package -n mingw32-%{name}
|
||||
Summary: MinGW Windows JPEG XR library
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n mingw32-%{name}
|
||||
MinGW Windows JPEG XR library.
|
||||
|
||||
|
||||
%package -n mingw64-%{name}
|
||||
Summary: MinGW Windows JPEG XR library
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n mingw64-%{name}
|
||||
MinGW Windows JPEG XR library.
|
||||
|
||||
|
||||
%{?mingw_debug_package}
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}
|
||||
|
|
@ -48,7 +74,8 @@ for file in `find . -type f -name '*.c' -or -name '*.h' -or -name '*.txt'`; do
|
|||
touch -r $file $file.new && mv $file.new $file
|
||||
done
|
||||
|
||||
%patch0 -p1
|
||||
%patch -P0 -p1
|
||||
%patch -P1 -p1
|
||||
|
||||
# Remove shipped binaries
|
||||
rm -rf bin
|
||||
|
|
@ -58,15 +85,25 @@ cp -a %{SOURCE2} doc
|
|||
|
||||
|
||||
%build
|
||||
%cmake .
|
||||
%make_build
|
||||
# Native build
|
||||
%cmake
|
||||
%cmake_build
|
||||
|
||||
# MinGW build
|
||||
%mingw_cmake
|
||||
%mingw_make_build
|
||||
|
||||
|
||||
%install
|
||||
%make_install
|
||||
%cmake_install
|
||||
%mingw_make_install
|
||||
|
||||
# Delete guiddef.h which conflicts with guiddef.h shipped by mingw-headers
|
||||
rm -f %{buildroot}%{mingw32_includedir}/jxrlib/guiddef.h
|
||||
rm -f %{buildroot}%{mingw64_includedir}/jxrlib/guiddef.h
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
%mingw_debug_install_post
|
||||
|
||||
|
||||
%files
|
||||
|
|
@ -81,7 +118,121 @@ cp -a %{SOURCE2} doc
|
|||
%{_libdir}/libjpegxr.so
|
||||
%{_libdir}/libjxrglue.so
|
||||
|
||||
%files -n mingw32-%{name}
|
||||
%{mingw32_bindir}/libjpegxr.dll
|
||||
%{mingw32_bindir}/libjxrglue.dll
|
||||
%{mingw32_bindir}/JxrDecApp.exe
|
||||
%{mingw32_bindir}/JxrEncApp.exe
|
||||
%{mingw32_includedir}/jxrlib/
|
||||
%{mingw32_libdir}/libjpegxr.dll.a
|
||||
%{mingw32_libdir}/libjxrglue.dll.a
|
||||
|
||||
%files -n mingw64-%{name}
|
||||
%{mingw64_bindir}/libjpegxr.dll
|
||||
%{mingw64_bindir}/libjxrglue.dll
|
||||
%{mingw64_bindir}/JxrDecApp.exe
|
||||
%{mingw64_bindir}/JxrEncApp.exe
|
||||
%{mingw64_includedir}/jxrlib/
|
||||
%{mingw64_libdir}/libjpegxr.dll.a
|
||||
%{mingw64_libdir}/libjxrglue.dll.a
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Apr 06 2020 Oliver Falk <oliver@linux-kernel.at> - 1.1-1
|
||||
- Initial build for EPEL 8
|
||||
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-32
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Wed Jul 16 2025 Sandro Mani <manisandro@gmail.com> - 1.1-31
|
||||
- Increase minimum cmake version to 3.5
|
||||
- Port CMakeLists.txt to GNUInstallDirs
|
||||
|
||||
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-30
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Mon Sep 02 2024 Miroslav Suchý <msuchy@redhat.com> - 1.1-29
|
||||
- convert license to SPDX
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-24
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Aug 05 2022 Sandro Mani <manisandro@gmail.com> - 1.1-23
|
||||
- Don't install guiddef.h for mingw
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 1.1-21
|
||||
- Rebuild with mingw-gcc-12
|
||||
|
||||
* Thu Feb 24 2022 Sandro Mani <manisandro@gmail.com> - 1.1-20
|
||||
- Make mingw subpackages noarch
|
||||
|
||||
* Sun Feb 20 2022 Sandro Mani <manisandro@gmail.com> - 1.1-19
|
||||
- Add mingw subpackege
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-17
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sun Feb 18 2018 Sandro Mani <manisandro@gmail.com> - 1.1-10
|
||||
- Add missing BR: gcc, make
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Sep 11 2015 Sandro Mani <manisandro@gmail.com> - 1.1-4
|
||||
- Fix typo in jxrlib_warnings.patch
|
||||
|
||||
* Tue Sep 08 2015 Sandro Mani <manisandro@gmail.com> - 1.1-3
|
||||
- Add Patch0 and Source1 upstream links
|
||||
- Ship pdf variant of JPEGXR_DPK_Spec_1.0.doc in %%doc
|
||||
- Remove bin folder
|
||||
|
||||
* Tue Sep 08 2015 Sandro Mani <manisandro@gmail.com> - 1.1-2
|
||||
- Comments for Patch0 and Source1
|
||||
|
||||
* Wed Sep 02 2015 Sandro Mani <manisandro@gmail.com> - 1.1-1
|
||||
- Initial package
|
||||
|
|
|
|||
94
jxrlib_mingw.patch
Normal file
94
jxrlib_mingw.patch
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
diff -rupN jxrlib/common/include/wmspecstring.h jxrlib-new/common/include/wmspecstring.h
|
||||
--- jxrlib/common/include/wmspecstring.h 2013-03-21 18:58:18.000000000 +0100
|
||||
+++ jxrlib-new/common/include/wmspecstring.h 2015-09-06 21:10:53.943039237 +0200
|
||||
@@ -334,7 +334,7 @@ void __pfx_assume(int, const char *);
|
||||
|
||||
// Some CE versions don't have specstrings.h, some have very old version without
|
||||
// __specstrings defined. So we handle CE separately in wmasalce.h
|
||||
-#if defined(UNDER_CE) || defined(NO_WINDOWS)
|
||||
+#if defined(UNDER_CE) || defined(NO_WINDOWS) || defined(MINGW)
|
||||
#include "wmspecstringce.h"
|
||||
#endif
|
||||
|
||||
diff -rupN jxrlib/image/sys/ansi.h jxrlib-new/image/sys/ansi.h
|
||||
--- jxrlib/image/sys/ansi.h 2013-03-28 18:34:06.000000000 +0100
|
||||
+++ jxrlib-new/image/sys/ansi.h 2015-09-06 21:18:54.051637086 +0200
|
||||
@@ -44,13 +44,9 @@
|
||||
//================================
|
||||
#define FORCE_INLINE
|
||||
#define CDECL
|
||||
-#if __LP64__
|
||||
-#define UINTPTR_T unsigned long long
|
||||
-#define INTPTR_T long long
|
||||
-#else
|
||||
-#define UINTPTR_T unsigned int
|
||||
-#define INTPTR_T int
|
||||
-#endif
|
||||
+#include <stdint.h>
|
||||
+#define UINTPTR_T uintptr_t
|
||||
+#define INTPTR_T intptr_t
|
||||
|
||||
|
||||
//================================
|
||||
diff -rupN jxrlib/image/sys/strcodec.h jxrlib-new/image/sys/strcodec.h
|
||||
--- jxrlib/image/sys/strcodec.h 2015-09-06 02:21:20.337316724 +0200
|
||||
+++ jxrlib-new/image/sys/strcodec.h 2015-09-06 21:18:44.335483326 +0200
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
//================================================================
|
||||
#ifdef ENABLE_OPTIMIZATIONS
|
||||
-#if defined(WIN32) && !defined(_WIN64)
|
||||
+#if defined(_MSC_VER) && !defined(_WIN64)
|
||||
#define WMP_OPT_SSE2
|
||||
|
||||
#define WMP_OPT_CC_ENC
|
||||
@@ -57,9 +57,9 @@
|
||||
|
||||
//================================================================
|
||||
//#ifdef WIN32
|
||||
-#if defined(WIN32) && !defined(UNDER_CE) // WIN32 seems to be defined always in VS2005 for ARM platform
|
||||
+#if defined(_MSC_VER) && !defined(UNDER_CE) // WIN32 seems to be defined always in VS2005 for ARM platform
|
||||
#define PLATFORM_X86
|
||||
-#include "..\x86\x86.h"
|
||||
+#include "../x86/x86.h"
|
||||
#endif
|
||||
|
||||
#ifndef UNREFERENCED_PARAMETER
|
||||
@@ -89,6 +89,7 @@ typedef unsigned __int64 U64;
|
||||
|
||||
// The following macros depend on UINTPTR_T and INTPTR_T being properly defined
|
||||
// so that they are equal to pointer width. Confirm and fail if our assumptions are wrong.
|
||||
+
|
||||
CT_ASSERT(sizeof(UINTPTR_T) == sizeof(void*), strcodec1);
|
||||
CT_ASSERT(sizeof(INTPTR_T) == sizeof(void*), strcodec2);
|
||||
|
||||
@@ -450,7 +451,7 @@ typedef struct CWMImageStrCodec {
|
||||
|
||||
struct WMPStream ** ppWStream;
|
||||
|
||||
-#ifdef WIN32
|
||||
+#ifdef _MSC_VER
|
||||
TCHAR **ppTempFile;
|
||||
#else
|
||||
char **ppTempFile;
|
||||
diff -rupN jxrlib/jxrgluelib/JXRMeta.h jxrlib-new/jxrgluelib/JXRMeta.h
|
||||
--- jxrlib/jxrgluelib/JXRMeta.h 2015-09-06 02:21:20.340316728 +0200
|
||||
+++ jxrlib-new/jxrgluelib/JXRMeta.h 2015-09-06 21:10:53.944039253 +0200
|
||||
@@ -28,7 +28,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <windowsmediaphoto.h>
|
||||
-#ifndef WIN32
|
||||
+#ifndef _MSC_VER
|
||||
#include <wmspecstring.h>
|
||||
#endif
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
#define WMP_valWMPhotoID WMP_valCompression
|
||||
|
||||
|
||||
-#ifdef WIN32
|
||||
+#ifdef _MSC_VER
|
||||
#define __in_win __in
|
||||
#define __out_win __out
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue