summaryrefslogtreecommitdiff
path: root/LZMA-SDK.spec
blob: 44783ec303dd1fcff2ac2ded0c1ad14978019b0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
Name:           LZMA-SDK
Version:        23.01
Release:        2
Summary:        SDK for lzma compression
License:        Public Domain
URL:            http://sourceforge.net/projects/sevenzip/
Source0:        https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/lzma2301.7z
Patch0:         remove-Werror.patch

BuildRequires:  gcc-c++ p7zip
%description
The LZMA SDK provides the documentation, samples, header files, libraries, and
tools you need to develop applications that use LZMA compression.

LZMA is default and general compression methods of 7z format in the 7-Zip program.
LZMA provides a high compression ratio and fast decompression, so it is very
suitable for embedded applications.

%package doc
Summary:        The help file of %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description doc
The help file of %{name}.

%package devel
Summary:        Development headers for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
 
%description devel
Development headers for %{name}.
 
%prep
%setup -q -c -n lzma2301
%patch -P0 -p1
%define debug_package %{nil} 

for f in .c .cpp .cs .dsp .dsw .h .java .txt makefile; do
   find . -iname "*$f" | xargs chmod -x
done
 
# correct end-of-file encoding for txt files in the DOC.
sed -i 's/\r//' DOC/*.txt 
 
# The following files in lzma belong to the iso-8859-1 character set.
# They are currently converted to utf-8 character set type.
for FILE in \
DOC/7zC.txt \
DOC/7zFormat.txt \
DOC/lzma.txt \
DOC/lzma-history.txt \
DOC/Methods.txt \
C/Util/7z/makefile.gcc \
C/Util/Lzma/makefile.gcc \
C/Util/LzmaLib/LzmaLib.def \
C/Util/LzmaLib/resource.rc \
CPP/Build.mak \
CPP/7zip/MyVersionInfo.rc \
CPP/7zip/Archive/Archive.def \
CPP/7zip/Archive/Archive2.def \
CPP/7zip/Bundles/Alone7z/resource.rc \
CPP/7zip/Bundles/Format7zR/resource.rc \
CPP/7zip/Bundles/Format7zExtractR/resource.rc \
CS/7zip/Compress/LzmaAlone/LzmaAlone.sln \
CPP/7zip/Bundles/LzmaCon/makefile.gcc; do
    iconv -f iso-8859-1 -t utf-8 $FILE > $FILE.utf8
    touch -r $FILE $FILE.utf8
    mv $FILE.utf8 $FILE
done
 
%build
make -f makefile.gcc clean all CXX="g++ %{optflags} -fPIC" CXX_C="gcc %{optflags} -fPIC" LDFLAGS="%{?__global_ldflags}" -C CPP/7zip/Bundles/LzmaCon
 
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}
install -m 0755 CPP/7zip/Bundles/LzmaCon/_o/lzma %{buildroot}%{_bindir}/LZMA-SDK
mkdir -p %{buildroot}/%{_includedir}/lzma/
find -iname '*.h' | xargs -I {} install -m 0755 -D {} %{buildroot}/%{_includedir}/lzma/{}

%files
%{_bindir}/*
 
%files devel
%{_includedir}/lzma/

%files doc
%doc DOC/7z*.txt DOC/Methods.txt DOC/lzma.txt DOC/lzma-history.txt

%changelog
* Wed Sep 13 2023 peijiankang <peijiankang@kylinos.cn> - 23.01-2
- reslove the conflict between xz-lzma-compat and LZMA-SDK

* Fri Sep  1 2023 dillon chen <dillon.chen@gmail.com> - 23.01-1
- upgrade to 23.01

* Mon Aug 28 2023 dillon chen <dillon.chen@gmail.com> - 22.00-3
- remove -Werror under gcc 12.3.1 compiler

* Wed Aug 03 2022 tanjinghui1 <tanjinghui1@huawei.com> - 22.00-2
- change header file path lzma2200 to lzma

* Thu Jul 14 2022 tanjinghui1 <tanjinghui1@huawei.com> - 22.00-1
- upgrade to 22.00

* Fri May 27 2022 tanjinghui1 <tanjinghui1@h-partners.com> - 21.07-1
- upgrade to 21.07

* Fri Dec 4 2020 tangmeng5 <tangmeng5@huawei.com> - 19.00-1
- package init