diff --git a/app-arch/unrar/patches/unrar-5.4.1.patchset b/app-arch/unrar/patches/unrar-5.4.1.patchset new file mode 100644 index 000000000..766d5bfe9 --- /dev/null +++ b/app-arch/unrar/patches/unrar-5.4.1.patchset @@ -0,0 +1,98 @@ +From 3f427096f02cb880d1cf881f54903bb9652cf4f5 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Mon, 12 May 2014 18:07:44 +0000 +Subject: initial Haiku patch + + +diff --git a/archive.hpp b/archive.hpp +index 6d15156..a55bff9 100644 +--- a/archive.hpp ++++ b/archive.hpp +@@ -67,7 +67,6 @@ class Archive:public File + size_t SearchSubBlock(const wchar *Type); + size_t SearchRR(); + void WriteBlock(HEADER_TYPE HeaderType,BaseBlock *wb=NULL,bool OnlySetSize=false,bool NonFinalWrite=false); +- void SetBlockSize(HEADER_TYPE HeaderType,BaseBlock *wb=NULL) {WriteBlock(HeaderType,wb,true);} + size_t ReadHeader(); + void CheckArc(bool EnableBroken); + void CheckOpen(const wchar *Name); +diff --git a/makefile b/makefile +index 83c0713..6ada466 100644 +--- a/makefile ++++ b/makefile +@@ -5,10 +5,14 @@ + CXX=c++ + CXXFLAGS=-O2 + LIBFLAGS=-fPIC +-DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP ++DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -D_BSD_SOURCE + STRIP=strip +-LDFLAGS=-pthread ++LDFLAGS=-lbsd + DESTDIR=/usr ++RC=rc ++XRES=xres ++MIMESET=mimeset ++DESTDIR=(shell finddir B_SYSTEM_DIRECTORY) + + # Linux using LCC + #CXX=lcc +@@ -116,12 +120,14 @@ install: install-unrar + uninstall: uninstall-unrar + + clean: +- @rm -f *.o *.bak *~ ++ @rm -f *.o *.bak *~ *.rsrc + + unrar: clean $(OBJECTS) $(UNRAR_OBJ) + @rm -f unrar + $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS) +- $(STRIP) unrar ++ $(RC) -o unrar.rsrc unrar.rdef ++ $(XRES) -o unrar unrar.rsrc ++ $(MIMESET) unrar + + sfx: WHAT=SFX_MODULE + sfx: clean $(OBJECTS) +diff --git a/os.hpp b/os.hpp +index 1b0813f..a07a741 100644 +--- a/os.hpp ++++ b/os.hpp +@@ -196,6 +196,15 @@ + #endif + #endif + ++#ifdef __HAIKU__ ++ #include ++ #if LITTLE_ENDIAN ++ #undef BIG_ENDIAN ++ #elif BIG_ENDIAN ++ #undef LITTLE_ENDIAN ++ #endif ++#endif ++ + #if defined(__sparc) || defined(sparc) || defined(__hpux) + #ifndef BIG_ENDIAN + #define BIG_ENDIAN +diff --git a/unrar.rdef b/unrar.rdef +new file mode 100644 +index 0000000..167f9ad +--- /dev/null ++++ b/unrar.rdef +@@ -0,0 +1,13 @@ ++ ++resource app_signature "application/x-vnd.Roshal-UnRAR"; ++resource app_flags B_MULTIPLE_LAUNCH | B_BACKGROUND_APP; ++ ++resource app_version { ++ major = 5, ++ middle = 3, ++ minor = 2, ++ variety = 0, ++ internal = 0, ++ short_info = "5.3.2", ++ long_info = "5.3.2 Alexander Roshal" ++}; +-- +2.2.2 + diff --git a/app-arch/unrar/unrar-5.4.1.recipe b/app-arch/unrar/unrar-5.4.1.recipe new file mode 100644 index 000000000..9abc7f752 --- /dev/null +++ b/app-arch/unrar/unrar-5.4.1.recipe @@ -0,0 +1,54 @@ +SUMMARY="Uncompress rar files" +DESCRIPTION=" +Unrar decompresses rar files. It is a powerful archive manager that can backup \ +your data and reduce the size of email attachments. Unrar can decompress the \ +following file formats: +- RAR +- ZIP +- CAB +- ARJ +- JZH +- TAR +- GZ and TAR.GZ +- BZ2 and TAR.BZ2 +- ACE +- UUE +- JAR (Java Archive) +- ISO +- 7Z +- XZ +- Z (Unix Compress)" +HOMEPAGE="http://www.rarlab.com/" +COPYRIGHT="Alexander Roshal" +LICENSE="UnRAR" +REVISION="1" +SOURCE_URI="http://www.rarlab.com/rar/unrarsrc-$portVersion.tar.gz" +CHECKSUM_SHA256="93444ce11626683db5900f795c6961137dd8758fd118bf0854cf43fb9cf9743d" +SOURCE_DIR="unrar" +PATCHES="unrar-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PROVIDES=" + unrar = $portVersion + cmd:unrar = $portVersion + " +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + cmd:make + cmd:g++ + " + +BUILD() +{ + make DESTDIR=$prefix +} + +INSTALL() +{ + make DESTDIR=$prefix install +}