diff options
author | mi <mi@FreeBSD.org> | 2007-11-09 10:40:12 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2007-11-09 10:40:12 +0800 |
commit | 66780dc8056fddf2f4eafe92e812a54b33134809 (patch) | |
tree | 5e802e842d2ee3e4853c660e3039bce717b2812d /graphics | |
parent | 20bd8b3aeaa1382734936b117f7c04ddd1cdf7db (diff) | |
download | freebsd-ports-gnome-66780dc8056fddf2f4eafe92e812a54b33134809.tar.gz freebsd-ports-gnome-66780dc8056fddf2f4eafe92e812a54b33134809.tar.zst freebsd-ports-gnome-66780dc8056fddf2f4eafe92e812a54b33134809.zip |
Attempt to fix this port, which seems to break every time ImageMagick is
updated by switching it to use GraphicsMagick instead.
This removes the need for "private" headers and promises a less eventful
future.
Don't install mimetype-descriptions, which conflict with those installed
by kdelibs and otherwise improve plist. Build in parallel using our own
make (no evident need for gmake).
The port may be retired soon, as no new development happened on it since
early 2005.
Approved by: portmgr (linimon)
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/pixieplus/Makefile | 21 | ||||
-rw-r--r-- | graphics/pixieplus/files/blob_private.h | 102 | ||||
-rw-r--r-- | graphics/pixieplus/files/exception_private.h | 92 | ||||
-rw-r--r-- | graphics/pixieplus/files/image_private.h | 47 | ||||
-rw-r--r-- | graphics/pixieplus/files/patch-app_batch.cpp | 23 | ||||
-rw-r--r-- | graphics/pixieplus/files/patch-app_compressedgif.cpp | 66 | ||||
-rw-r--r-- | graphics/pixieplus/files/patch-app_ifapp.cpp | 51 | ||||
-rw-r--r-- | graphics/pixieplus/files/patch-warnings | 27 | ||||
-rw-r--r-- | graphics/pixieplus/pkg-plist | 55 |
9 files changed, 158 insertions, 326 deletions
diff --git a/graphics/pixieplus/Makefile b/graphics/pixieplus/Makefile index 6b7a74316aa5..d06701fa5bbe 100644 --- a/graphics/pixieplus/Makefile +++ b/graphics/pixieplus/Makefile @@ -7,27 +7,34 @@ PORTNAME= pixieplus PORTVERSION= 0.5.4.1 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= graphics kde MASTER_SITES= http://people.fruitsalad.org/avleeuwen/distfiles/${PORTNAME}/ MAINTAINER= ports@FreeBSD.org COMMENT= A free, fast, and feature packed image browser and viewer for KDE -LIB_DEPENDS= Magick.10:${PORTSDIR}/graphics/ImageMagick \ - ungif.5:${PORTSDIR}/graphics/libungif +LIB_DEPENDS= GraphicsMagick:${PORTSDIR}/graphics/GraphicsMagick \ + ungif:${PORTSDIR}/graphics/libungif USE_AUTOTOOLS= libtool:15 -USE_GMAKE= yes USE_KDELIBS_VER=3 INSTALLS_SHLIB= yes USE_BZIP2= yes +ALL_TARGET= -j`${SYSCTL} -n hw.ncpu` .include <bsd.port.pre.mk> post-patch: - @${CP} ${FILESDIR}/blob_private.h ${WRKSRC}/app/ - @${CP} ${FILESDIR}/exception_private.h ${WRKSRC}/app/ - @${CP} ${FILESDIR}/image_private.h ${WRKSRC}/app/ + # Massaging to use GraphicsMagick + ${REINPLACE_CMD} -e \ + "s,INCLUDES =.*,INCLUDES=`${LOCALBASE}/bin/GraphicsMagick-config \ + --cppflags` -I${LOCALBASE}/include," -e \ + "s|-lMagick -ltiff|`${LOCALBASE}/bin/GraphicsMagick-config \ + --libs`|" ${WRKSRC}/app/Makefile.in + ${REINPLACE_CMD} -e 's,<api.h>,<magick/api.h>,' \ + ${WRKSRC}/app/*.h ${WRKSRC}/app/*.cpp + ${REINPLACE_CMD} -e s,Magick-config,GraphicsMagick-config,g -e s,6.0.0,1.1.10, \ + ${WRKSRC}/configure .include <bsd.port.post.mk> diff --git a/graphics/pixieplus/files/blob_private.h b/graphics/pixieplus/files/blob_private.h deleted file mode 100644 index 2d3b7d24b18a..000000000000 --- a/graphics/pixieplus/files/blob_private.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization - dedicated to making software imaging solutions freely available. - - You may not use this file except in compliance with the License. - obtain a copy of the License at - - http://www.imagemagick.org/www/Copyright.html - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ImageMagick Binary Large OBjects private methods. -*/ -#ifndef _MAGICK_BLOB_PRIVATE_H -#define _MAGICK_BLOB_PRIVATE_H - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#include "magick/image.h" -#include "magick/stream.h" - -#if !defined(MagickMaxBufferSize) -#define MagickMaxBufferSize 0x3c005UL -#endif - -typedef enum -{ - UndefinedBlobMode, - ReadBlobMode, - ReadBinaryBlobMode, - WriteBlobMode, - WriteBinaryBlobMode, - IOBinaryBlobMode -} BlobMode; - -typedef int - *(*BlobFifo)(const Image *,const void *,const size_t); - -typedef struct _BlobInfo - BlobInfo; - -extern MagickExport BlobInfo - *CloneBlobInfo(const BlobInfo *), - *ReferenceBlob(BlobInfo *); - -extern MagickExport char - *ReadBlobString(Image *,char *); - -extern MagickExport int - EOFBlob(const Image *), - ReadBlobByte(Image *), - SyncBlob(Image *); - -extern MagickExport MagickBooleanType - OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *), - UnmapBlob(void *,const size_t); - -extern MagickExport MagickOffsetType - SeekBlob(Image *,const MagickOffsetType,const int), - TellBlob(const Image *image); - -extern MagickExport ssize_t - ReadBlob(Image *,const size_t,unsigned char *), - WriteBlob(Image *,const size_t,const unsigned char *), - WriteBlobByte(Image *,const unsigned char), - WriteBlobLSBLong(Image *,const unsigned long), - WriteBlobLSBShort(Image *,const unsigned short), - WriteBlobMSBLong(Image *,const unsigned long), - WriteBlobMSBShort(Image *,const unsigned short), - WriteBlobString(Image *,const char *); - -extern MagickExport unsigned char - *DetachBlob(BlobInfo *), - *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *), - *MapBlob(int,const MapMode,const MagickOffsetType,const size_t); - -extern MagickExport unsigned long - ReadBlobLSBLong(Image *), - ReadBlobMSBLong(Image *); - -extern MagickExport unsigned short - ReadBlobLSBShort(Image *), - ReadBlobMSBShort(Image *); - -extern MagickExport void - AttachBlob(BlobInfo *,const void *,const size_t), - CloseBlob(Image *), - GetBlobInfo(BlobInfo *), - MSBOrderLong(unsigned char *,const size_t), - MSBOrderShort(unsigned char *,const size_t); - -#if defined(__cplusplus) || defined(c_plusplus) -} -#endif - -#endif diff --git a/graphics/pixieplus/files/exception_private.h b/graphics/pixieplus/files/exception_private.h deleted file mode 100644 index f19dfb58f895..000000000000 --- a/graphics/pixieplus/files/exception_private.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization - dedicated to making software imaging solutions freely available. - - You may not use this file except in compliance with the License. - obtain a copy of the License at - - http://www.imagemagick.org/www/Copyright.html - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ImageMagick private exception methods. -*/ -#ifndef _MAGICK_EXCEPTION_PRIVATE_H -#define _MAGICK_EXCEPTION_PRIVATE_H - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -#include "magick/log.h" - -#define ThrowBinaryException(severity,tag,context) \ -{ \ - if (image != (Image *) NULL) \ - (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \ - tag,context); \ - return(MagickFalse); \ -} -#define ThrowFileException(exception,severity,tag,context) \ - (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \ - context,strerror(errno)); -#define ThrowImageException(severity,tag) \ -{ \ - (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \ - image->filename); \ - return((Image *) NULL); \ -} -#define ThrowMagickFatalException(severity,tag,context) \ -{ \ - ExceptionInfo \ - exception; \ - \ - GetExceptionInfo(&exception); \ - (void) ThrowMagickException(&exception,GetMagickModule(),severity,tag, \ - context); \ - CatchException(&exception); \ - DestroyExceptionInfo(&exception); \ -} -#define ThrowReaderException(severity,tag) \ -{ \ - (void) ThrowMagickException(exception,GetMagickModule(),severity,tag, \ - image_info->filename); \ - if ((image) != (Image *) NULL) \ - { \ - CloseBlob(image); \ - DestroyImageList(image); \ - } \ - return((Image *) NULL); \ -} -#define ThrowWriterException(severity,tag) \ -{ \ - assert(image != (Image *) NULL); \ - (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \ - tag,image->filename); \ - if (image_info->adjoin != MagickFalse) \ - while (image->previous != (Image *) NULL) \ - image=image->previous; \ - CloseBlob(image); \ - return(MagickFalse); \ -} -#define ThrowXWindowException(severity,tag,context) \ -{ \ - ExceptionInfo \ - exception; \ - \ - GetExceptionInfo(&exception); \ - (void) ThrowMagickException(&exception,GetMagickModule(),severity,tag, \ - context); \ - CatchException(&exception); \ - DestroyExceptionInfo(&exception); \ -} - -#if defined(__cplusplus) || defined(c_plusplus) -} -#endif - -#endif diff --git a/graphics/pixieplus/files/image_private.h b/graphics/pixieplus/files/image_private.h deleted file mode 100644 index a9ca74713be0..000000000000 --- a/graphics/pixieplus/files/image_private.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Copyright 1999-2004 ImageMagick Studio LLC, a non-profit organization - dedicated to making software imaging solutions freely available. - - You may not use this file except in compliance with the License. - obtain a copy of the License at - - http://www.imagemagick.org/www/Copyright.html - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - ImageMagick private image methods. -*/ -#ifndef _MAGICK_IMAGE_PRIVATE_H -#define _MAGICK_IMAGE_PRIVATE_H - -#if defined(__cplusplus) || defined(c_plusplus) -extern "C" { -#endif - -extern MagickExport const char - *BackgroundColor, - *BorderColor, - *DefaultTileFrame, - *DefaultTileGeometry, - *DefaultTileLabel, - *ForegroundColor, - *MatteColor, - *LoadImageTag, - *LoadImagesTag, - *PSDensityGeometry, - *PSPageGeometry, - *SaveImageTag, - *SaveImagesTag; - -extern MagickExport const unsigned long - UndefinedCompressionQuality; - -#if defined(__cplusplus) || defined(c_plusplus) -} -#endif - -#endif diff --git a/graphics/pixieplus/files/patch-app_batch.cpp b/graphics/pixieplus/files/patch-app_batch.cpp deleted file mode 100644 index a7346ea8ee5e..000000000000 --- a/graphics/pixieplus/files/patch-app_batch.cpp +++ /dev/null @@ -1,23 +0,0 @@ ---- app/batch.cpp.orig Sat Sep 18 22:02:13 2004 -+++ app/batch.cpp Sat Sep 18 22:03:11 2004 -@@ -618,9 +618,9 @@ - else if(type == Equalize) - EqualizeImage(img); - else if(type == IncContrast) -- ContrastImage(img, true); -+ ContrastImage(img, (MagickBooleanType)true); - else if(type == DecContrast) -- ContrastImage(img, false); -+ ContrastImage(img, (MagickBooleanType)false); - else if(type == Solarize) - SolarizeImage(img, weight); - else if(type == Threshold) -@@ -752,7 +752,7 @@ - save = false; - } - else if(type == Shade){ -- Image *tmp = ShadeImage(img, useColor, a, e, &exception); -+ Image *tmp = ShadeImage(img, (MagickBooleanType)useColor, a, e, &exception); - if(tmp){ - if(img->next) - DestroyImageList(img); diff --git a/graphics/pixieplus/files/patch-app_compressedgif.cpp b/graphics/pixieplus/files/patch-app_compressedgif.cpp index 38797e000e0c..4a7bc12d8c42 100644 --- a/graphics/pixieplus/files/patch-app_compressedgif.cpp +++ b/graphics/pixieplus/files/patch-app_compressedgif.cpp @@ -1,13 +1,59 @@ ---- app/compressedgif.cpp.orig Sat May 22 16:02:26 2004 -+++ app/compressedgif.cpp Sun Nov 28 21:37:00 2004 -@@ -9,6 +9,10 @@ - #include <api.h> +--- app/compressedgif.cpp 2004-05-22 10:02:26.000000000 -0400 ++++ app/compressedgif.cpp 2007-11-08 08:44:00.000000000 -0500 +@@ -7,5 +7,5 @@ + #include <time.h> + #include <sys/types.h> +-#include <api.h> ++#include <magick/api.h> #include <assert.h> -+#include "blob_private.h" -+#include "image_private.h" -+#include "exception_private.h" -+ - #ifndef False - #define False 0 +@@ -28,5 +28,6 @@ #endif + +-#if (MagickLibVersion < 0x0554) ++/* GraphicsMagick uses much higher "base" for version numbers: */ ++#if (MagickLibVersion < 0x0554) || (MagickLibVersion > 0x0100000) + #warning Using pre-ImageMagick 5.5.4 tags + #define SaveImageTag SaveImageText +@@ -360,5 +361,9 @@ + status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); + if (status == false) ++#if (MagickLibVersion > 0x0100000) /* GraphicsMagick - must pass image */ ++ ThrowWriterException(FileOpenError,"Unable to open file", image); ++#else + ThrowWriterException(FileOpenError,"Unable to open file"); ++#endif + /* + Determine image bounding box. +@@ -385,5 +390,9 @@ + if ((global_colormap == (unsigned char *) NULL) || + (colormap == (unsigned char *) NULL)) ++#if (MagickLibVersion > 0x0100000) /* GraphicsMagick - must pass image */ ++ ThrowWriterException(ResourceLimitError,"Memory allocation failed", image); ++#else + ThrowWriterException(ResourceLimitError,"Memory allocation failed"); ++#endif + for (i=0; i < 768; i++) + colormap[i]=0; +@@ -437,6 +446,11 @@ + LiberateMemory((void **) &global_colormap); + LiberateMemory((void **) &colormap); ++#if (MagickLibVersion > 0x0100000) /* GraphicsMagick - must pass image */ ++ ThrowWriterException(ResourceLimitError, ++ "Memory allocation failed", image); ++#else + ThrowWriterException(ResourceLimitError, + "Memory allocation failed") ++#endif + } + image->colormap[opacity]=image->background_color; +@@ -615,5 +629,9 @@ + LiberateMemory((void **) &global_colormap); + LiberateMemory((void **) &colormap); ++#if (MagickLibVersion > 0x0100000) /* GraphicsMagick - must pass image */ ++ ThrowWriterException(ResourceLimitError,"Memory allocation failed", image); ++#else + ThrowWriterException(ResourceLimitError,"Memory allocation failed") ++#endif + } + (void) WriteBlobByte(image,0x0); diff --git a/graphics/pixieplus/files/patch-app_ifapp.cpp b/graphics/pixieplus/files/patch-app_ifapp.cpp index b3a39396a0af..b6a68782ba07 100644 --- a/graphics/pixieplus/files/patch-app_ifapp.cpp +++ b/graphics/pixieplus/files/patch-app_ifapp.cpp @@ -1,25 +1,42 @@ ---- app/ifapp.cpp.orig Sat Sep 18 22:08:01 2004 -+++ app/ifapp.cpp Sat Sep 18 22:10:56 2004 -@@ -33,18 +33,18 @@ - +--- app/ifapp.cpp 2004-05-22 10:02:26.000000000 -0400 ++++ app/ifapp.cpp 2007-11-08 08:51:37.000000000 -0500 +@@ -34,6 +34,7 @@ // ImageMagick message and progress stubs extern "C"{ - unsigned int magickMonitor(const char *msg, const off_t value, - const long long unsigned int span, ExceptionInfo *) -+ MagickBooleanType magickMonitor(const char *msg, const MagickOffsetType value, -+ const MagickSizeType span, ExceptionInfo *) ++ static unsigned int ++ magickMonitor(const char *msg, const magick_int64_t value, ++ const magick_uint64_t span, ExceptionInfo *) { if(!appPtr) -- return(true); -+ return((MagickBooleanType)true); - int val = (int)((((float)value)/((float)span))*100.0); - if(appPtr->magickMessageProgress()) - appPtr->magickMessageProgress()->setValue(val); - if(appPtr->magickMessageLabel()) - appPtr->magickMessageLabel()->setText(msg); - appPtr->processEvents(); -- return(true); -+ return((MagickBooleanType)true); +@@ -48,6 +49,7 @@ + } + +- void magickWarning(const ExceptionType /*warning*/, const char *reason, +- const char *description) ++ static void ++ magickWarning(const ExceptionType /*warning*/, const char *reason, ++ const char *description) + { + QString str(reason); +@@ -58,6 +60,7 @@ } - void magickWarning(const ExceptionType /*warning*/, const char *reason, +- void magickError(const ExceptionType /*error*/, const char *reason, +- const char *description) ++ static void ++ magickError(const ExceptionType /*error*/, const char *reason, ++ const char *description) + { + QString str(reason); +@@ -68,6 +71,7 @@ + } + +- void magickFatalError(const ExceptionType /*error*/, const char *reason, +- const char *description) ++ static void ++ magickFatalError(const ExceptionType /*error*/, const char *reason, ++ const char *description) + { + QString str(reason); diff --git a/graphics/pixieplus/files/patch-warnings b/graphics/pixieplus/files/patch-warnings new file mode 100644 index 000000000000..6aa614382964 --- /dev/null +++ b/graphics/pixieplus/files/patch-warnings @@ -0,0 +1,27 @@ +--- app/htmlexport.cpp 2004-05-22 10:02:26.000000000 -0400 ++++ app/htmlexport.cpp 2007-11-08 08:59:28.000000000 -0500 +@@ -26,6 +26,4 @@ + pages = (int)ceil(((float)fileList.count())/imagesPerPage); + +- qWarning("Total images: %d, images per page %d, pages: %d", +- fileList.count(), imagesPerPage, pages); + + it = fileList.begin(); +--- app/browser.cpp 2004-05-22 10:02:26.000000000 -0400 ++++ app/browser.cpp 2007-11-08 09:05:39.000000000 -0500 +@@ -2013,5 +2013,4 @@ + p.begin(tmpIconPix); + +- qWarning("KIO handlers: %d", kioHandlers->count()); + if(kioHandlers->count()){ + QStringList::Iterator it; +--- mimetypes/Makefile.in 2004-05-23 07:00:55.000000000 -0400 ++++ mimetypes/Makefile.in 2007-11-08 09:32:52.000000000 -0500 +@@ -276,6 +276,5 @@ + xdg_menudir = @xdg_menudir@ + +-mime_DATA = x-pcx.desktop x-xwd.desktop x-miff.desktop x-tga.desktop \ +- x-pict.desktop ++mime_DATA = x-xwd.desktop x-miff.desktop x-pict.desktop + + diff --git a/graphics/pixieplus/pkg-plist b/graphics/pixieplus/pkg-plist index 0025fd9beb57..dafb633689da 100644 --- a/graphics/pixieplus/pkg-plist +++ b/graphics/pixieplus/pkg-plist @@ -208,7 +208,6 @@ share/apps/pixie/toolbar/mini-ray.png share/apps/pixie/toolbar/kwin.png share/mimelnk/image/x-xwd.desktop share/mimelnk/image/x-miff.desktop -share/mimelnk/image/x-tga.desktop share/mimelnk/image/x-pict.desktop share/icons/locolor/22x22/actions/thumb.png share/icons/locolor/16x16/apps/run.png @@ -237,10 +236,10 @@ share/icons/hicolor/32x32/apps/pixie.png share/icons/hicolor/32x32/actions/thumb.png share/icons/hicolor/32x32/actions/window_new.png share/icons/hicolor/32x32/actions/catagory.png -@dirrm share/applnk/Graphics -@dirrm share/applnk -@dirrm share/apps/konqueror/servicemenus -@dirrm share/apps/konqueror +@dirrmtry share/applnk/Graphics +@dirrmtry share/applnk +@dirrmtry share/apps/konqueror/servicemenus +@dirrmtry share/apps/konqueror @dirrm share/apps/pixie/doc/en/basic @dirrm share/apps/pixie/doc/en/framed @dirrm share/apps/pixie/doc/en/liquid @@ -250,26 +249,26 @@ share/icons/hicolor/32x32/actions/catagory.png @dirrm share/apps/pixie/doc @dirrm share/apps/pixie/toolbar @dirrm share/apps/pixie -@dirrm share/apps -@dirrm share/mimelnk/image -@dirrm share/mimelnk -@dirrm share/icons/locolor/22x22/actions -@dirrm share/icons/locolor/22x22 -@dirrm share/icons/locolor/16x16/apps -@dirrm share/icons/locolor/16x16/actions -@dirrm share/icons/locolor/16x16 -@dirrm share/icons/locolor/32x32/actions -@dirrm share/icons/locolor/32x32 -@dirrm share/icons/locolor -@dirrm share/icons/hicolor/16x16/actions -@dirrm share/icons/hicolor/16x16/apps -@dirrm share/icons/hicolor/16x16 -@dirrm share/icons/hicolor/48x48/apps -@dirrm share/icons/hicolor/48x48 -@dirrm share/icons/hicolor/22x22/actions -@dirrm share/icons/hicolor/22x22 -@dirrm share/icons/hicolor/32x32/apps -@dirrm share/icons/hicolor/32x32/actions -@dirrm share/icons/hicolor/32x32 -@dirrm share/icons/hicolor -@dirrm share/icons +@dirrmtry share/apps +@dirrmtry share/mimelnk/image +@dirrmtry share/mimelnk +@dirrmtry share/icons/locolor/22x22/actions +@dirrmtry share/icons/locolor/22x22 +@dirrmtry share/icons/locolor/16x16/apps +@dirrmtry share/icons/locolor/16x16/actions +@dirrmtry share/icons/locolor/16x16 +@dirrmtry share/icons/locolor/32x32/actions +@dirrmtry share/icons/locolor/32x32 +@dirrmtry share/icons/locolor +@dirrmtry share/icons/hicolor/16x16/actions +@dirrmtry share/icons/hicolor/16x16/apps +@dirrmtry share/icons/hicolor/16x16 +@dirrmtry share/icons/hicolor/48x48/apps +@dirrmtry share/icons/hicolor/48x48 +@dirrmtry share/icons/hicolor/22x22/actions +@dirrmtry share/icons/hicolor/22x22 +@dirrmtry share/icons/hicolor/32x32/apps +@dirrmtry share/icons/hicolor/32x32/actions +@dirrmtry share/icons/hicolor/32x32 +@dirrmtry share/icons/hicolor +@dirrmtry share/icons |