forked from pool/lzma-sdk
Accepting request 487925 from home:alois:branches:Archiving
OBS-URL: https://build.opensuse.org/request/show/487925 OBS-URL: https://build.opensuse.org/package/show/Archiving/lzma-sdk?expand=0&rev=1
This commit is contained in:
commit
587b0a97f0
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
419
lzma-sdk-16.04-sharedlib.patch
Normal file
419
lzma-sdk-16.04-sharedlib.patch
Normal file
@ -0,0 +1,419 @@
|
|||||||
|
Index: lzma1604/C/LzmaDec.c
|
||||||
|
===================================================================
|
||||||
|
--- lzma1604.orig/C/LzmaDec.c
|
||||||
|
+++ lzma1604/C/LzmaDec.c
|
||||||
|
@@ -7,123 +7,10 @@
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
-#define kNumTopBits 24
|
||||||
|
-#define kTopValue ((UInt32)1 << kNumTopBits)
|
||||||
|
-
|
||||||
|
-#define kNumBitModelTotalBits 11
|
||||||
|
-#define kBitModelTotal (1 << kNumBitModelTotalBits)
|
||||||
|
-#define kNumMoveBits 5
|
||||||
|
-
|
||||||
|
-#define RC_INIT_SIZE 5
|
||||||
|
-
|
||||||
|
-#define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); }
|
||||||
|
-
|
||||||
|
-#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
||||||
|
-#define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
|
||||||
|
-#define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits));
|
||||||
|
-#define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \
|
||||||
|
- { UPDATE_0(p); i = (i + i); A0; } else \
|
||||||
|
- { UPDATE_1(p); i = (i + i) + 1; A1; }
|
||||||
|
-#define GET_BIT(p, i) GET_BIT2(p, i, ; , ;)
|
||||||
|
-
|
||||||
|
-#define TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); }
|
||||||
|
-#define TREE_DECODE(probs, limit, i) \
|
||||||
|
- { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; }
|
||||||
|
-
|
||||||
|
-/* #define _LZMA_SIZE_OPT */
|
||||||
|
-
|
||||||
|
-#ifdef _LZMA_SIZE_OPT
|
||||||
|
-#define TREE_6_DECODE(probs, i) TREE_DECODE(probs, (1 << 6), i)
|
||||||
|
-#else
|
||||||
|
-#define TREE_6_DECODE(probs, i) \
|
||||||
|
- { i = 1; \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- TREE_GET_BIT(probs, i); \
|
||||||
|
- i -= 0x40; }
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-#define NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol)
|
||||||
|
-#define MATCHED_LITER_DEC \
|
||||||
|
- matchByte <<= 1; \
|
||||||
|
- bit = (matchByte & offs); \
|
||||||
|
- probLit = prob + offs + bit + symbol; \
|
||||||
|
- GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)
|
||||||
|
-
|
||||||
|
-#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }
|
||||||
|
-
|
||||||
|
-#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
||||||
|
-#define UPDATE_0_CHECK range = bound;
|
||||||
|
-#define UPDATE_1_CHECK range -= bound; code -= bound;
|
||||||
|
-#define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \
|
||||||
|
- { UPDATE_0_CHECK; i = (i + i); A0; } else \
|
||||||
|
- { UPDATE_1_CHECK; i = (i + i) + 1; A1; }
|
||||||
|
-#define GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;)
|
||||||
|
-#define TREE_DECODE_CHECK(probs, limit, i) \
|
||||||
|
- { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; }
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-#define kNumPosBitsMax 4
|
||||||
|
-#define kNumPosStatesMax (1 << kNumPosBitsMax)
|
||||||
|
-
|
||||||
|
-#define kLenNumLowBits 3
|
||||||
|
-#define kLenNumLowSymbols (1 << kLenNumLowBits)
|
||||||
|
-#define kLenNumMidBits 3
|
||||||
|
-#define kLenNumMidSymbols (1 << kLenNumMidBits)
|
||||||
|
-#define kLenNumHighBits 8
|
||||||
|
-#define kLenNumHighSymbols (1 << kLenNumHighBits)
|
||||||
|
-
|
||||||
|
-#define LenChoice 0
|
||||||
|
-#define LenChoice2 (LenChoice + 1)
|
||||||
|
-#define LenLow (LenChoice2 + 1)
|
||||||
|
-#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
|
||||||
|
-#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
|
||||||
|
-#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-#define kNumStates 12
|
||||||
|
-#define kNumLitStates 7
|
||||||
|
-
|
||||||
|
-#define kStartPosModelIndex 4
|
||||||
|
-#define kEndPosModelIndex 14
|
||||||
|
-#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
|
||||||
|
-
|
||||||
|
-#define kNumPosSlotBits 6
|
||||||
|
-#define kNumLenToPosStates 4
|
||||||
|
-
|
||||||
|
-#define kNumAlignBits 4
|
||||||
|
-#define kAlignTableSize (1 << kNumAlignBits)
|
||||||
|
-
|
||||||
|
-#define kMatchMinLen 2
|
||||||
|
-#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols)
|
||||||
|
-
|
||||||
|
-#define IsMatch 0
|
||||||
|
-#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
|
||||||
|
-#define IsRepG0 (IsRep + kNumStates)
|
||||||
|
-#define IsRepG1 (IsRepG0 + kNumStates)
|
||||||
|
-#define IsRepG2 (IsRepG1 + kNumStates)
|
||||||
|
-#define IsRep0Long (IsRepG2 + kNumStates)
|
||||||
|
-#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
|
||||||
|
-#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
|
||||||
|
-#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
|
||||||
|
-#define LenCoder (Align + kAlignTableSize)
|
||||||
|
-#define RepLenCoder (LenCoder + kNumLenProbs)
|
||||||
|
-#define Literal (RepLenCoder + kNumLenProbs)
|
||||||
|
-
|
||||||
|
-#define LZMA_BASE_SIZE 1846
|
||||||
|
-#define LZMA_LIT_SIZE 0x300
|
||||||
|
-
|
||||||
|
#if Literal != LZMA_BASE_SIZE
|
||||||
|
StopCompilingDueBUG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#define LzmaProps_GetNumProbs(p) (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp)))
|
||||||
|
-
|
||||||
|
-#define LZMA_DIC_MIN (1 << 12)
|
||||||
|
-
|
||||||
|
/* First LZMA-symbol is always decoded.
|
||||||
|
And it decodes new LZMA-symbols while (buf < bufLimit), but "buf" is without last normalization
|
||||||
|
Out:
|
||||||
|
@@ -782,7 +669,7 @@ void LzmaDec_InitDicAndState(CLzmaDec *p
|
||||||
|
p->needInitState = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void LzmaDec_Init(CLzmaDec *p)
|
||||||
|
+MY_EXTERN_C void LzmaDec_Init(CLzmaDec *p)
|
||||||
|
{
|
||||||
|
p->dicPos = 0;
|
||||||
|
LzmaDec_InitDicAndState(p, True, True);
|
||||||
|
@@ -800,7 +687,7 @@ static void LzmaDec_InitStateReal(CLzmaD
|
||||||
|
p->needInitState = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
|
||||||
|
+MY_EXTERN_C SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen,
|
||||||
|
ELzmaFinishMode finishMode, ELzmaStatus *status)
|
||||||
|
{
|
||||||
|
SizeT inSize = *srcLen;
|
||||||
|
@@ -975,7 +862,7 @@ SRes LzmaDec_DecodeToBuf(CLzmaDec *p, By
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
|
||||||
|
+MY_EXTERN_C void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc)
|
||||||
|
{
|
||||||
|
alloc->Free(alloc, p->probs);
|
||||||
|
p->probs = NULL;
|
||||||
|
@@ -1019,7 +906,7 @@ SRes LzmaProps_Decode(CLzmaProps *p, con
|
||||||
|
return SZ_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc)
|
||||||
|
+MY_EXTERN_C SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc)
|
||||||
|
{
|
||||||
|
UInt32 numProbs = LzmaProps_GetNumProbs(propNew);
|
||||||
|
if (!p->probs || numProbs != p->numProbs)
|
||||||
|
Index: lzma1604/C/LzmaDec.h
|
||||||
|
===================================================================
|
||||||
|
--- lzma1604.orig/C/LzmaDec.h
|
||||||
|
+++ lzma1604/C/LzmaDec.h
|
||||||
|
@@ -6,6 +6,8 @@
|
||||||
|
|
||||||
|
#include "7zTypes.h"
|
||||||
|
|
||||||
|
+#include "../CPP/Common/MyGuidDef.h"
|
||||||
|
+
|
||||||
|
EXTERN_C_BEGIN
|
||||||
|
|
||||||
|
/* #define _LZMA_PROB32 */
|
||||||
|
@@ -18,6 +20,118 @@ EXTERN_C_BEGIN
|
||||||
|
#define CLzmaProb UInt16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#define kNumTopBits 24
|
||||||
|
+#define kTopValue ((UInt32)1 << kNumTopBits)
|
||||||
|
+
|
||||||
|
+#define kNumBitModelTotalBits 11
|
||||||
|
+#define kBitModelTotal (1 << kNumBitModelTotalBits)
|
||||||
|
+#define kNumMoveBits 5
|
||||||
|
+
|
||||||
|
+#define RC_INIT_SIZE 5
|
||||||
|
+
|
||||||
|
+#define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); }
|
||||||
|
+
|
||||||
|
+#define IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
||||||
|
+#define UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
|
||||||
|
+#define UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits));
|
||||||
|
+#define GET_BIT2(p, i, A0, A1) IF_BIT_0(p) \
|
||||||
|
+ { UPDATE_0(p); i = (i + i); A0; } else \
|
||||||
|
+ { UPDATE_1(p); i = (i + i) + 1; A1; }
|
||||||
|
+#define GET_BIT(p, i) GET_BIT2(p, i, ; , ;)
|
||||||
|
+
|
||||||
|
+#define TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); }
|
||||||
|
+#define TREE_DECODE(probs, limit, i) \
|
||||||
|
+ { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; }
|
||||||
|
+
|
||||||
|
+/* #define _LZMA_SIZE_OPT */
|
||||||
|
+
|
||||||
|
+#ifdef _LZMA_SIZE_OPT
|
||||||
|
+#define TREE_6_DECODE(probs, i) TREE_DECODE(probs, (1 << 6), i)
|
||||||
|
+#else
|
||||||
|
+#define TREE_6_DECODE(probs, i) \
|
||||||
|
+ { i = 1; \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ TREE_GET_BIT(probs, i); \
|
||||||
|
+ i -= 0x40; }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol)
|
||||||
|
+#define MATCHED_LITER_DEC \
|
||||||
|
+ matchByte <<= 1; \
|
||||||
|
+ bit = (matchByte & offs); \
|
||||||
|
+ probLit = prob + offs + bit + symbol; \
|
||||||
|
+ GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)
|
||||||
|
+
|
||||||
|
+#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }
|
||||||
|
+
|
||||||
|
+#define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)
|
||||||
|
+#define UPDATE_0_CHECK range = bound;
|
||||||
|
+#define UPDATE_1_CHECK range -= bound; code -= bound;
|
||||||
|
+#define GET_BIT2_CHECK(p, i, A0, A1) IF_BIT_0_CHECK(p) \
|
||||||
|
+ { UPDATE_0_CHECK; i = (i + i); A0; } else \
|
||||||
|
+ { UPDATE_1_CHECK; i = (i + i) + 1; A1; }
|
||||||
|
+#define GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;)
|
||||||
|
+#define TREE_DECODE_CHECK(probs, limit, i) \
|
||||||
|
+ { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#define kNumPosBitsMax 4
|
||||||
|
+#define kNumPosStatesMax (1 << kNumPosBitsMax)
|
||||||
|
+
|
||||||
|
+#define kLenNumLowBits 3
|
||||||
|
+#define kLenNumLowSymbols (1 << kLenNumLowBits)
|
||||||
|
+#define kLenNumMidBits 3
|
||||||
|
+#define kLenNumMidSymbols (1 << kLenNumMidBits)
|
||||||
|
+#define kLenNumHighBits 8
|
||||||
|
+#define kLenNumHighSymbols (1 << kLenNumHighBits)
|
||||||
|
+
|
||||||
|
+#define LenChoice 0
|
||||||
|
+#define LenChoice2 (LenChoice + 1)
|
||||||
|
+#define LenLow (LenChoice2 + 1)
|
||||||
|
+#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits))
|
||||||
|
+#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits))
|
||||||
|
+#define kNumLenProbs (LenHigh + kLenNumHighSymbols)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#define kNumStates 12
|
||||||
|
+#define kNumLitStates 7
|
||||||
|
+
|
||||||
|
+#define kStartPosModelIndex 4
|
||||||
|
+#define kEndPosModelIndex 14
|
||||||
|
+#define kNumFullDistances (1 << (kEndPosModelIndex >> 1))
|
||||||
|
+
|
||||||
|
+#define kNumPosSlotBits 6
|
||||||
|
+#define kNumLenToPosStates 4
|
||||||
|
+
|
||||||
|
+#define kNumAlignBits 4
|
||||||
|
+#define kAlignTableSize (1 << kNumAlignBits)
|
||||||
|
+
|
||||||
|
+#define kMatchMinLen 2
|
||||||
|
+#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols)
|
||||||
|
+
|
||||||
|
+#define IsMatch 0
|
||||||
|
+#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax))
|
||||||
|
+#define IsRepG0 (IsRep + kNumStates)
|
||||||
|
+#define IsRepG1 (IsRepG0 + kNumStates)
|
||||||
|
+#define IsRepG2 (IsRepG1 + kNumStates)
|
||||||
|
+#define IsRep0Long (IsRepG2 + kNumStates)
|
||||||
|
+#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax))
|
||||||
|
+#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits))
|
||||||
|
+#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex)
|
||||||
|
+#define LenCoder (Align + kAlignTableSize)
|
||||||
|
+#define RepLenCoder (LenCoder + kNumLenProbs)
|
||||||
|
+#define Literal (RepLenCoder + kNumLenProbs)
|
||||||
|
+
|
||||||
|
+#define LZMA_BASE_SIZE 1846
|
||||||
|
+#define LZMA_LIT_SIZE 0x300
|
||||||
|
+
|
||||||
|
+#define LzmaProps_GetNumProbs(p) (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp)))
|
||||||
|
+
|
||||||
|
+#define LZMA_DIC_MIN (1 << 12)
|
||||||
|
|
||||||
|
/* ---------- LZMA Properties ---------- */
|
||||||
|
|
||||||
|
@@ -68,7 +182,7 @@ typedef struct
|
||||||
|
|
||||||
|
#define LzmaDec_Construct(p) { (p)->dic = 0; (p)->probs = 0; }
|
||||||
|
|
||||||
|
-void LzmaDec_Init(CLzmaDec *p);
|
||||||
|
+MY_EXTERN_C void LzmaDec_Init(CLzmaDec *p);
|
||||||
|
|
||||||
|
/* There are two types of LZMA streams:
|
||||||
|
0) Stream with end mark. That end mark adds about 6 bytes to compressed size.
|
||||||
|
@@ -128,9 +242,11 @@ LzmaDec_Allocate* can return:
|
||||||
|
SZ_ERROR_MEM - Memory allocation error
|
||||||
|
SZ_ERROR_UNSUPPORTED - Unsupported properties
|
||||||
|
*/
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+MY_EXTERN_C SRes LzmaDec_AllocateProbs2(CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc);
|
||||||
|
+
|
||||||
|
SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc);
|
||||||
|
-void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc);
|
||||||
|
+MY_EXTERN_C void LzmaDec_FreeProbs(CLzmaDec *p, ISzAlloc *alloc);
|
||||||
|
|
||||||
|
SRes LzmaDec_Allocate(CLzmaDec *state, const Byte *prop, unsigned propsSize, ISzAlloc *alloc);
|
||||||
|
void LzmaDec_Free(CLzmaDec *state, ISzAlloc *alloc);
|
||||||
|
@@ -176,7 +292,7 @@ Returns:
|
||||||
|
SZ_ERROR_DATA - Data error
|
||||||
|
*/
|
||||||
|
|
||||||
|
-SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit,
|
||||||
|
+MY_EXTERN_C SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit,
|
||||||
|
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
|
||||||
|
|
||||||
|
|
||||||
|
Index: lzma1604/C/LzmaEnc.c
|
||||||
|
===================================================================
|
||||||
|
--- lzma1604.orig/C/LzmaEnc.c
|
||||||
|
+++ lzma1604/C/LzmaEnc.c
|
||||||
|
@@ -47,7 +47,7 @@ static unsigned g_STAT_OFFSET = 0;
|
||||||
|
#define kNumBitPriceShiftBits 4
|
||||||
|
#define kBitPrice (1 << kNumBitPriceShiftBits)
|
||||||
|
|
||||||
|
-void LzmaEncProps_Init(CLzmaEncProps *p)
|
||||||
|
+MY_EXTERN_C void LzmaEncProps_Init(CLzmaEncProps *p)
|
||||||
|
{
|
||||||
|
p->level = 5;
|
||||||
|
p->dictSize = p->mc = 0;
|
||||||
|
@@ -2328,7 +2328,7 @@ SRes LzmaEnc_MemEncode(CLzmaEncHandle pp
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
||||||
|
+MY_EXTERN_C SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
||||||
|
const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
|
||||||
|
ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig)
|
||||||
|
{
|
||||||
|
Index: lzma1604/C/LzmaEnc.h
|
||||||
|
===================================================================
|
||||||
|
--- lzma1604.orig/C/LzmaEnc.h
|
||||||
|
+++ lzma1604/C/LzmaEnc.h
|
||||||
|
@@ -6,6 +6,8 @@
|
||||||
|
|
||||||
|
#include "7zTypes.h"
|
||||||
|
|
||||||
|
+#include "../CPP/Common/MyGuidDef.h"
|
||||||
|
+
|
||||||
|
EXTERN_C_BEGIN
|
||||||
|
|
||||||
|
#define LZMA_PROPS_SIZE 5
|
||||||
|
@@ -30,7 +32,7 @@ typedef struct _CLzmaEncProps
|
||||||
|
int numThreads; /* 1 or 2, default = 2 */
|
||||||
|
} CLzmaEncProps;
|
||||||
|
|
||||||
|
-void LzmaEncProps_Init(CLzmaEncProps *p);
|
||||||
|
+MY_EXTERN_C void LzmaEncProps_Init(CLzmaEncProps *p);
|
||||||
|
void LzmaEncProps_Normalize(CLzmaEncProps *p);
|
||||||
|
UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2);
|
||||||
|
|
||||||
|
@@ -69,7 +71,7 @@ Return code:
|
||||||
|
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)
|
||||||
|
*/
|
||||||
|
|
||||||
|
-SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
||||||
|
+MY_EXTERN_C SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
|
||||||
|
const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
|
||||||
|
ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig);
|
||||||
|
|
||||||
|
Index: lzma1604/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
||||||
|
===================================================================
|
||||||
|
--- lzma1604.orig/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
||||||
|
+++ lzma1604/CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
||||||
|
@@ -1,7 +1,8 @@
|
||||||
|
-PROG = lzma
|
||||||
|
-CXX = g++ -O2
|
||||||
|
-# -Wall -Werror -Wno-delete-non-virtual-dtor
|
||||||
|
-CXX_C = gcc -O2 -Wall -Werror
|
||||||
|
+LIBRARY = liblzmasdk.so
|
||||||
|
+LIBRARYMINOR = $(LIBRARY).__LIBMAJ__
|
||||||
|
+LIBRARYMAJOR = $(LIBRARYMINOR).__LIBMIN__
|
||||||
|
+CXX = g++ $(RPM_OPT_FLAGS) -Wall -fPIC
|
||||||
|
+CXX_C = g++ $(RPM_OPT_FLAGS) -Wall -fPIC
|
||||||
|
|
||||||
|
ifdef SystemDrive
|
||||||
|
IS_MINGW = 1
|
||||||
|
@@ -72,10 +73,10 @@ OBJS = \
|
||||||
|
Lzma86Enc.o \
|
||||||
|
|
||||||
|
|
||||||
|
-all: $(PROG)
|
||||||
|
+all: $(LIBRARYMAJOR)
|
||||||
|
|
||||||
|
-$(PROG): $(OBJS)
|
||||||
|
- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB2)
|
||||||
|
+$(LIBRARYMAJOR): $(OBJS)
|
||||||
|
+ $(CXX) -o $(LIBRARYMAJOR) -shared -Wl,-soname=$(LIBRARYMINOR) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
|
||||||
|
|
||||||
|
LzmaAlone.o: LzmaAlone.cpp
|
||||||
|
$(CXX) $(CFLAGS) LzmaAlone.cpp
|
||||||
|
@@ -192,4 +193,5 @@ Lzma86Enc.o: ../../../../C/Lzma86Enc.c
|
||||||
|
$(CXX_C) $(CFLAGS) ../../../../C/Lzma86Enc.c
|
||||||
|
|
||||||
|
clean:
|
||||||
|
- -$(RM) $(PROG) $(OBJS)
|
||||||
|
+ -$(RM) $(LIBRARYMAJOR) $(OBJS)
|
||||||
|
+
|
41
lzma-sdk-LICENSE.fedora
Normal file
41
lzma-sdk-LICENSE.fedora
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Subject: Re: Licensing of lzma-sdk
|
||||||
|
From: "Igor Pavlov" <supp@7-zip.org>
|
||||||
|
Date: Tue, 5 Apr 2011 23:11:30 +0600
|
||||||
|
To: "Tom Callaway" <tcallawa@redhat.com>
|
||||||
|
|
||||||
|
Hello!
|
||||||
|
|
||||||
|
I use LGPL 2.1 for 7-Zip.
|
||||||
|
|
||||||
|
Thanks!
|
||||||
|
|
||||||
|
--
|
||||||
|
Igor Pavlov
|
||||||
|
http://www.7-zip.org
|
||||||
|
Compression software
|
||||||
|
|
||||||
|
----- Original Message -----
|
||||||
|
From: "Tom Callaway" <tcallawa@redhat.com>
|
||||||
|
To: "Igor Pavlov" <supp@7-zip.org>
|
||||||
|
Sent: Tuesday, April 05, 2011 9:47 PM
|
||||||
|
Subject: Re: Licensing of lzma-sdk
|
||||||
|
|
||||||
|
|
||||||
|
> On 04/05/2011 11:28 AM, Igor Pavlov wrote:
|
||||||
|
>> Hello!
|
||||||
|
>>
|
||||||
|
>> 1) Russian law probably can have many problems.
|
||||||
|
>> Maybe there is some "public domain" limitation there. If so, I hope the
|
||||||
|
>> law will be fixed in future.
|
||||||
|
>> Now I just don't care about it.
|
||||||
|
>>
|
||||||
|
>> 2) I used GNU LGPL in old versions of LZMA SDK.
|
||||||
|
>> If you are OK with GNU LGPL rules, you can use it.
|
||||||
|
>> I can add the note to my site.
|
||||||
|
>
|
||||||
|
> GNU LGPL is fine, do you have any preference on version?
|
||||||
|
>
|
||||||
|
> ~tom
|
||||||
|
>
|
||||||
|
> ==
|
||||||
|
> Fedora Project
|
5
lzma-sdk.changes
Normal file
5
lzma-sdk.changes
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 17 09:25:07 UTC 2017 - aloisio@gmx.com
|
||||||
|
|
||||||
|
- Initial package (version 16.04)
|
||||||
|
|
123
lzma-sdk.spec
Normal file
123
lzma-sdk.spec
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
#
|
||||||
|
# spec file for package lzma-sdk
|
||||||
|
#
|
||||||
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# 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 http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
%define _sver 1604
|
||||||
|
%define _maver 16
|
||||||
|
%define _miver 04
|
||||||
|
Name: lzma-sdk
|
||||||
|
Version: 16.04
|
||||||
|
Release: 0
|
||||||
|
Summary: SDK for lzma compression
|
||||||
|
# Actually the site says "Public Domain". See license file.
|
||||||
|
License: LGPL-2.1
|
||||||
|
Group: Productivity/Archiving/Compression
|
||||||
|
Url: http://www.7-zip.org/sdk.html
|
||||||
|
Source0: http://www.7-zip.org/a/lzma%{_sver}.7z
|
||||||
|
Source1: lzma-sdk-LICENSE.fedora
|
||||||
|
Patch0: lzma-sdk-16.04-sharedlib.patch
|
||||||
|
BuildRequires: dos2unix
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: p7zip
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
%description
|
||||||
|
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 method of 7z format
|
||||||
|
in 7-Zip compression program (www.7-zip.org). LZMA provides high
|
||||||
|
compression ratio and very fast decompression.
|
||||||
|
|
||||||
|
LZMA is an improved version of famous LZ77 compression algorithm.
|
||||||
|
It was improved in way of maximum increasing of compression ratio,
|
||||||
|
keeping high decompression speed and low memory requirements for
|
||||||
|
decompressing.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development libraries and headers for %{name}
|
||||||
|
Group: Development/Languages/C and C++
|
||||||
|
Requires: liblzmasdk%{_maver} = %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This package contains development libraries and headers for %{name}.
|
||||||
|
|
||||||
|
%package -n liblzmasdk%{_maver}
|
||||||
|
Summary: 7zip lzma library
|
||||||
|
Group: Productivity/Archiving/Compression
|
||||||
|
|
||||||
|
%description -n liblzmasdk%{_maver}
|
||||||
|
Library for encoding/decoding lzma files from the 7zip project.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -c -n lzma%{_sver}
|
||||||
|
%patch0 -p1
|
||||||
|
sed -e 's/__LIBMAJ__/%{_maver}/' \
|
||||||
|
-e 's/__LIBMIN__/%{_miver}/' \
|
||||||
|
-i CPP/7zip/Bundles/LzmaCon/makefile.gcc
|
||||||
|
dos2unix DOC/*.txt
|
||||||
|
install -p -m 0644 %{SOURCE1} .
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd CPP/7zip/Bundles/LzmaCon
|
||||||
|
make %{?_smp_mflags} -f makefile.gcc clean all
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p %{buildroot}%{_libdir}
|
||||||
|
install -m0755 CPP/7zip/Bundles/LzmaCon/liblzmasdk.so.%{_maver}.%{_miver} %{buildroot}%{_libdir}
|
||||||
|
pushd %{buildroot}%{_libdir}
|
||||||
|
ln -s liblzmasdk.so.%{version} liblzmasdk.so.%{_maver}
|
||||||
|
ln -s liblzmasdk.so.%{version} liblzmasdk.so
|
||||||
|
popd
|
||||||
|
mkdir -p %{buildroot}/%{_includedir}/lzma%{_sver}/
|
||||||
|
find -iname '*.h' | xargs -I {} install -m0644 -D {} %{buildroot}/%{_includedir}/lzma-sdk/{}
|
||||||
|
|
||||||
|
# creates support file for pkg-config
|
||||||
|
mkdir %{buildroot}/%{_libdir}/pkgconfig
|
||||||
|
tee %{buildroot}/%{_libdir}/pkgconfig/lzma-sdk.pc << "EOF"
|
||||||
|
prefix=%{_prefix}
|
||||||
|
exec_prefix=${prefix}
|
||||||
|
libdir=${exec_prefix}/%{_lib}
|
||||||
|
includedir=${prefix}/include
|
||||||
|
|
||||||
|
Name: lzma-sdk
|
||||||
|
Description: SDK for lzma compression
|
||||||
|
Version: %{version}
|
||||||
|
Libs: -L${libdir} -llzmasdk
|
||||||
|
Cflags: -I${includedir}/lzma-sdk
|
||||||
|
EOF
|
||||||
|
|
||||||
|
%fdupes -s %{buildroot}/%{_includedir}/lzma-sdk
|
||||||
|
|
||||||
|
%post -n liblzmasdk%{_maver} -p /sbin/ldconfig
|
||||||
|
%postun -n liblzmasdk%{_maver} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files -n liblzmasdk%{_maver}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc DOC/lzma.txt DOC/lzma-history.txt lzma-sdk-LICENSE.fedora
|
||||||
|
%{_libdir}/liblzmasdk.so.%{_maver}.%{_miver}
|
||||||
|
%{_libdir}/liblzmasdk.so.%{_maver}
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc DOC/7z*.txt DOC/Methods.txt lzma-sdk-LICENSE.fedora
|
||||||
|
%{_includedir}/lzma-sdk/
|
||||||
|
%{_libdir}/liblzmasdk.so
|
||||||
|
%{_libdir}/pkgconfig/lzma-sdk.pc
|
||||||
|
|
||||||
|
%changelog
|
3
lzma1604.7z
Normal file
3
lzma1604.7z
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:edf8690e9d5ae0dbe80751e3df247bb4e1b497b100c4af5b95fc50a5c2e5b04f
|
||||||
|
size 971074
|
Loading…
Reference in New Issue
Block a user