From a0dcdbf69beec01d390dfed4bc63c466be5a4f98 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Mon, 11 Nov 2019 09:52:42 +0100 Subject: [PATCH] */*: sync with upstream Taken from: HardenedBSD --- astro/xplanet/Makefile | 2 +- astro/xplanet/files/patch-src_libimage_gif.c | 318 +++++++++++++++-- comms/hylafax/files/patch-configure | 40 ++- devel/jetbrains-phpstorm/Makefile | 4 +- devel/jetbrains-phpstorm/distinfo | 6 +- devel/jetbrains-phpstorm/pkg-plist | 2 +- devel/jetbrains-webstorm/Makefile | 4 +- devel/jetbrains-webstorm/distinfo | 6 +- devel/pyside2/Makefile | 57 +--- devel/pyside2/pkg-plist | 4 + dns/amass/Makefile | 6 +- dns/amass/distinfo | 14 +- dns/dnsjava/Makefile | 31 +- dns/dnsjava/distinfo | 6 +- dns/dnsjava/pkg-plist | 11 +- editors/openoffice-devel/Makefile | 8 +- editors/openoffice-devel/distinfo | 6 +- games/emptyepsilon/Makefile | 2 +- games/emptyepsilon/distinfo | 10 +- graphics/drawpile/Makefile | 2 +- graphics/drawpile/distinfo | 6 +- graphics/exact-image/Makefile | 1 + .../exact-image/files/patch-codecs__gif.cc | 319 +++++++++++++++++- .../files/patch-libbase_GnashImageGif.cpp | 11 + graphics/vips/Makefile | 115 +++++-- lang/onyx/Makefile | 10 +- lang/onyx/distinfo | 1 + misc/openhantek/Makefile | 2 +- misc/tellico/Makefile | 3 +- misc/tellico/distinfo | 6 +- .../files/patch-gentoo-kf5-5.61-headers | 48 --- misc/tellico/pkg-plist | 2 +- multimedia/rav1e/Makefile | 21 +- multimedia/rav1e/distinfo | 40 ++- news/cleanfeed/Makefile | 14 +- news/cleanfeed/distinfo | 5 +- news/inn/Makefile | 7 +- news/inn/distinfo | 6 +- news/inn/pkg-plist | 2 +- science/highfive/Makefile | 4 +- science/highfive/distinfo | 6 +- security/bcwipe/Makefile | 5 +- security/nist-kat/Makefile | 4 +- security/sshguard/Makefile | 2 +- security/sshguard/files/patch-src_sshguard.in | 19 ++ sysutils/dsbsu/Makefile | 5 +- sysutils/dsbsu/distinfo | 6 +- textproc/ibus-typing-booster/Makefile | 2 +- textproc/ibus-typing-booster/distinfo | 6 +- textproc/ibus-typing-booster/pkg-plist | 3 + textproc/py-transifex-client/Makefile | 3 +- .../files/patch-requirements.txt | 4 +- textproc/yq/Makefile | 2 +- textproc/yq/distinfo | 6 +- x11-toolkits/gnustep-gui/Makefile | 2 +- x11-toolkits/libgdiplus/Makefile | 2 +- .../libgdiplus/files/patch-src_gifcodec.c | 307 +++++++++++++++++ x11-wm/Makefile | 1 + x11-wm/chamfer/Makefile | 55 +++ x11-wm/chamfer/distinfo | 3 + x11-wm/chamfer/files/patch-main.cpp | 13 + x11-wm/chamfer/pkg-descr | 27 ++ x11-wm/chamfer/pkg-plist | 10 + 63 files changed, 1311 insertions(+), 344 deletions(-) create mode 100644 graphics/gnash/files/patch-libbase_GnashImageGif.cpp delete mode 100644 misc/tellico/files/patch-gentoo-kf5-5.61-headers create mode 100644 security/sshguard/files/patch-src_sshguard.in create mode 100644 x11-toolkits/libgdiplus/files/patch-src_gifcodec.c create mode 100644 x11-wm/chamfer/Makefile create mode 100644 x11-wm/chamfer/distinfo create mode 100644 x11-wm/chamfer/files/patch-main.cpp create mode 100644 x11-wm/chamfer/pkg-descr create mode 100644 x11-wm/chamfer/pkg-plist diff --git a/astro/xplanet/Makefile b/astro/xplanet/Makefile index 5bc06306553..13d147cff95 100644 --- a/astro/xplanet/Makefile +++ b/astro/xplanet/Makefile @@ -3,7 +3,7 @@ PORTNAME= xplanet PORTVERSION= 1.3.0 -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= astro geography MASTER_SITES= SF diff --git a/astro/xplanet/files/patch-src_libimage_gif.c b/astro/xplanet/files/patch-src_libimage_gif.c index b035a1c056f..d956e89240c 100644 --- a/astro/xplanet/files/patch-src_libimage_gif.c +++ b/astro/xplanet/files/patch-src_libimage_gif.c @@ -1,9 +1,297 @@ --- src/libimage/gif.c.orig 2006-03-25 22:50:51 UTC +++ src/libimage/gif.c -@@ -28,6 +28,26 @@ +@@ -28,6 +28,314 @@ distribution. */ ++#define ABS(x) ((x) > 0 ? (x) : (-(x))) ++#define COLOR_ARRAY_SIZE 32768 ++#define BITS_PER_PRIM_COLOR 5 ++#define MAX_PRIM_COLOR 0x1f ++ ++static int SortRGBAxis; ++ ++typedef struct QuantizedColorType { ++ GifByteType RGB[3]; ++ GifByteType NewColorIndex; ++ long Count; ++ struct QuantizedColorType *Pnext; ++} QuantizedColorType; ++ ++typedef struct NewColorMapType { ++ GifByteType RGBMin[3], RGBWidth[3]; ++ unsigned int NumEntries; /* # of QuantizedColorType in linked list below */ ++ unsigned long Count; /* Total number of pixels in all the entries */ ++ QuantizedColorType *QuantizedColors; ++} NewColorMapType; ++ ++ ++/**************************************************************************** ++ * Routine called by qsort to compare two entries. ++ ****************************************************************************/ ++static int ++SortCmpRtn(const void *Entry1, ++ const void *Entry2) { ++ ++ return (*((QuantizedColorType **) Entry1))->RGB[SortRGBAxis] - ++ (*((QuantizedColorType **) Entry2))->RGB[SortRGBAxis]; ++} ++ ++/****************************************************************************** ++ * Routine to subdivide the RGB space recursively using median cut in each ++ * axes alternatingly until ColorMapSize different cubes exists. ++ * The biggest cube in one dimension is subdivide unless it has only one entry. ++ * Returns GIF_ERROR if failed, otherwise GIF_OK. ++ ******************************************************************************/ ++static int ++SubdivColorMap(NewColorMapType * NewColorSubdiv, ++ unsigned int ColorMapSize, ++ unsigned int *NewColorMapSize) { ++ ++ int MaxSize; ++ unsigned int i, j, Index = 0, NumEntries, MinColor, MaxColor; ++ long Sum, Count; ++ QuantizedColorType *QuantizedColor, **SortArray; ++ ++ while (ColorMapSize > *NewColorMapSize) { ++ /* Find candidate for subdivision: */ ++ MaxSize = -1; ++ for (i = 0; i < *NewColorMapSize; i++) { ++ for (j = 0; j < 3; j++) { ++ if ((((int)NewColorSubdiv[i].RGBWidth[j]) > MaxSize) && ++ (NewColorSubdiv[i].NumEntries > 1)) { ++ MaxSize = NewColorSubdiv[i].RGBWidth[j]; ++ Index = i; ++ SortRGBAxis = j; ++ } ++ } ++ } ++ ++ if (MaxSize == -1) ++ return GIF_OK; ++ ++ /* Split the entry Index into two along the axis SortRGBAxis: */ ++ ++ /* Sort all elements in that entry along the given axis and split at ++ * the median. */ ++ SortArray = (QuantizedColorType **)malloc( ++ sizeof(QuantizedColorType *) * ++ NewColorSubdiv[Index].NumEntries); ++ if (SortArray == NULL) ++ return GIF_ERROR; ++ for (j = 0, QuantizedColor = NewColorSubdiv[Index].QuantizedColors; ++ j < NewColorSubdiv[Index].NumEntries && QuantizedColor != NULL; ++ j++, QuantizedColor = QuantizedColor->Pnext) ++ SortArray[j] = QuantizedColor; ++ ++ qsort(SortArray, NewColorSubdiv[Index].NumEntries, ++ sizeof(QuantizedColorType *), SortCmpRtn); ++ ++ /* Relink the sorted list into one: */ ++ for (j = 0; j < NewColorSubdiv[Index].NumEntries - 1; j++) ++ SortArray[j]->Pnext = SortArray[j + 1]; ++ SortArray[NewColorSubdiv[Index].NumEntries - 1]->Pnext = NULL; ++ NewColorSubdiv[Index].QuantizedColors = QuantizedColor = SortArray[0]; ++ free((char *)SortArray); ++ ++ /* Now simply add the Counts until we have half of the Count: */ ++ Sum = NewColorSubdiv[Index].Count / 2 - QuantizedColor->Count; ++ NumEntries = 1; ++ Count = QuantizedColor->Count; ++ while (QuantizedColor->Pnext != NULL && ++ (Sum -= QuantizedColor->Pnext->Count) >= 0 && ++ QuantizedColor->Pnext->Pnext != NULL) { ++ QuantizedColor = QuantizedColor->Pnext; ++ NumEntries++; ++ Count += QuantizedColor->Count; ++ } ++ /* Save the values of the last color of the first half, and first ++ * of the second half so we can update the Bounding Boxes later. ++ * Also as the colors are quantized and the BBoxes are full 0..255, ++ * they need to be rescaled. ++ */ ++ MaxColor = QuantizedColor->RGB[SortRGBAxis]; /* Max. of first half */ ++ /* coverity[var_deref_op] */ ++ MinColor = QuantizedColor->Pnext->RGB[SortRGBAxis]; /* of second */ ++ MaxColor <<= (8 - BITS_PER_PRIM_COLOR); ++ MinColor <<= (8 - BITS_PER_PRIM_COLOR); ++ ++ /* Partition right here: */ ++ NewColorSubdiv[*NewColorMapSize].QuantizedColors = ++ QuantizedColor->Pnext; ++ QuantizedColor->Pnext = NULL; ++ NewColorSubdiv[*NewColorMapSize].Count = Count; ++ NewColorSubdiv[Index].Count -= Count; ++ NewColorSubdiv[*NewColorMapSize].NumEntries = ++ NewColorSubdiv[Index].NumEntries - NumEntries; ++ NewColorSubdiv[Index].NumEntries = NumEntries; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[*NewColorMapSize].RGBMin[j] = ++ NewColorSubdiv[Index].RGBMin[j]; ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[j] = ++ NewColorSubdiv[Index].RGBWidth[j]; ++ } ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] = ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] + ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] - MinColor; ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] = MinColor; ++ ++ NewColorSubdiv[Index].RGBWidth[SortRGBAxis] = ++ MaxColor - NewColorSubdiv[Index].RGBMin[SortRGBAxis]; ++ ++ (*NewColorMapSize)++; ++ } ++ ++ return GIF_OK; ++} ++ ++/****************************************************************************** ++ * Quantize high resolution image into lower one. Input image consists of a ++ * 2D array for each of the RGB colors with size Width by Height. There is no ++ * Color map for the input. Output is a quantized image with 2D array of ++ * indexes into the output color map. ++ * Note input image can be 24 bits at the most (8 for red/green/blue) and ++ * the output has 256 colors at the most (256 entries in the color map.). ++ * ColorMapSize specifies size of color map up to 256 and will be updated to ++ * real size before returning. ++ * Also non of the parameter are allocated by this routine. ++ * This function returns GIF_OK if succesfull, GIF_ERROR otherwise. ++ ******************************************************************************/ ++static int ++QuantizeBuffer(unsigned int Width, ++ unsigned int Height, ++ int *ColorMapSize, ++ GifByteType * RedInput, ++ GifByteType * GreenInput, ++ GifByteType * BlueInput, ++ GifByteType * OutputBuffer, ++ GifColorType * OutputColorMap) { ++ ++ unsigned int Index, NumOfEntries; ++ int i, j, MaxRGBError[3]; ++ unsigned int NewColorMapSize; ++ long Red, Green, Blue; ++ NewColorMapType NewColorSubdiv[256]; ++ QuantizedColorType *ColorArrayEntries, *QuantizedColor; ++ ++ ColorArrayEntries = (QuantizedColorType *)malloc( ++ sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE); ++ if (ColorArrayEntries == NULL) { ++ return GIF_ERROR; ++ } ++ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) { ++ ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR); ++ ColorArrayEntries[i].RGB[1] = (i >> BITS_PER_PRIM_COLOR) & ++ MAX_PRIM_COLOR; ++ ColorArrayEntries[i].RGB[2] = i & MAX_PRIM_COLOR; ++ ColorArrayEntries[i].Count = 0; ++ } ++ ++ /* Sample the colors and their distribution: */ ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ ColorArrayEntries[Index].Count++; ++ } ++ ++ /* Put all the colors in the first entry of the color map, and call the ++ * recursive subdivision process. */ ++ for (i = 0; i < 256; i++) { ++ NewColorSubdiv[i].QuantizedColors = NULL; ++ NewColorSubdiv[i].Count = NewColorSubdiv[i].NumEntries = 0; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[i].RGBMin[j] = 0; ++ NewColorSubdiv[i].RGBWidth[j] = 255; ++ } ++ } ++ ++ /* Find the non empty entries in the color table and chain them: */ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) ++ if (ColorArrayEntries[i].Count > 0) ++ break; ++ QuantizedColor = NewColorSubdiv[0].QuantizedColors = &ColorArrayEntries[i]; ++ NumOfEntries = 1; ++ while (++i < COLOR_ARRAY_SIZE) ++ if (ColorArrayEntries[i].Count > 0) { ++ QuantizedColor->Pnext = &ColorArrayEntries[i]; ++ QuantizedColor = &ColorArrayEntries[i]; ++ NumOfEntries++; ++ } ++ QuantizedColor->Pnext = NULL; ++ ++ NewColorSubdiv[0].NumEntries = NumOfEntries; /* Different sampled colors */ ++ NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */ ++ NewColorMapSize = 1; ++ if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) != ++ GIF_OK) { ++ free((char *)ColorArrayEntries); ++ return GIF_ERROR; ++ } ++ if (NewColorMapSize < *ColorMapSize) { ++ /* And clear rest of color map: */ ++ for (i = NewColorMapSize; i < *ColorMapSize; i++) ++ OutputColorMap[i].Red = OutputColorMap[i].Green = ++ OutputColorMap[i].Blue = 0; ++ } ++ ++ /* Average the colors in each entry to be the color to be used in the ++ * output color map, and plug it into the output color map itself. */ ++ for (i = 0; i < NewColorMapSize; i++) { ++ if ((j = NewColorSubdiv[i].NumEntries) > 0) { ++ QuantizedColor = NewColorSubdiv[i].QuantizedColors; ++ Red = Green = Blue = 0; ++ while (QuantizedColor) { ++ QuantizedColor->NewColorIndex = i; ++ Red += QuantizedColor->RGB[0]; ++ Green += QuantizedColor->RGB[1]; ++ Blue += QuantizedColor->RGB[2]; ++ QuantizedColor = QuantizedColor->Pnext; ++ } ++ OutputColorMap[i].Red = (Red << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Green = (Green << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Blue = (Blue << (8 - BITS_PER_PRIM_COLOR)) / j; ++ } else ++ fprintf(stderr, ++ "\n%s: Null entry in quantized color map - that's weird.\n", ++ "libgdiplus"); ++ } ++ ++ /* Finally scan the input buffer again and put the mapped index in the ++ * output buffer. */ ++ MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0; ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ Index = ColorArrayEntries[Index].NewColorIndex; ++ OutputBuffer[i] = Index; ++ if (MaxRGBError[0] < ABS(OutputColorMap[Index].Red - RedInput[i])) ++ MaxRGBError[0] = ABS(OutputColorMap[Index].Red - RedInput[i]); ++ if (MaxRGBError[1] < ABS(OutputColorMap[Index].Green - GreenInput[i])) ++ MaxRGBError[1] = ABS(OutputColorMap[Index].Green - GreenInput[i]); ++ if (MaxRGBError[2] < ABS(OutputColorMap[Index].Blue - BlueInput[i])) ++ MaxRGBError[2] = ABS(OutputColorMap[Index].Blue - BlueInput[i]); ++ } ++ ++#ifdef DEBUG ++ fprintf(stderr, ++ "Quantization L(0) errors: Red = %d, Green = %d, Blue = %d.\n", ++ MaxRGBError[0], MaxRGBError[1], MaxRGBError[2]); ++#endif /* DEBUG */ ++ ++ free((char *)ColorArrayEntries); ++ ++ *ColorMapSize = NewColorMapSize; ++ ++ return GIF_OK; ++} ++ +static void +#if GIFLIB_MAJOR >= 5 +localPrintGifError(int ErrorCode) @@ -27,7 +315,7 @@ int read_gif(const char *filename, int *width, int *height, unsigned char **rgb) { -@@ -42,11 +62,15 @@ read_gif(const char *filename, int *widt +@@ -42,11 +350,15 @@ read_gif(const char *filename, int *widt int color_index; unsigned char *ptr = NULL; @@ -44,7 +332,7 @@ return(0); } -@@ -54,7 +78,11 @@ read_gif(const char *filename, int *widt +@@ -54,7 +366,11 @@ read_gif(const char *filename, int *widt { if (DGifGetRecordType(infile, &record_type) == GIF_ERROR) { @@ -57,7 +345,7 @@ return(0); } -@@ -63,7 +91,11 @@ read_gif(const char *filename, int *widt +@@ -63,7 +379,11 @@ read_gif(const char *filename, int *widt case IMAGE_DESC_RECORD_TYPE: if (DGifGetImageDesc(infile) == GIF_ERROR) { @@ -70,7 +358,7 @@ return(0); } -@@ -107,14 +139,22 @@ read_gif(const char *filename, int *widt +@@ -107,14 +427,22 @@ read_gif(const char *filename, int *widt GifByteType *ext; if (DGifGetExtension(infile, &ext_code, &ext) == GIF_ERROR) { @@ -95,7 +383,7 @@ return(0); } } -@@ -154,7 +194,11 @@ read_gif(const char *filename, int *widt +@@ -154,7 +482,11 @@ read_gif(const char *filename, int *widt free(buffer); @@ -107,7 +395,7 @@ return(1); } -@@ -178,7 +222,11 @@ write_gif(const char *filename, int widt +@@ -178,7 +510,11 @@ write_gif(const char *filename, int widt return(0); } @@ -119,24 +407,16 @@ for (i = 0; i < width * height; i++) { -@@ -187,10 +235,15 @@ write_gif(const char *filename, int widt - blue[i] = (GifByteType) rgb[3*i+2]; - } - -+#if GIFLIB_MAJOR >= 5 -+ if (GifQuantizeBuffer(width, height, &colormap_size, red, green, blue, -+ buffer, colormap->Colors) == GIF_ERROR) -+#else +@@ -190,7 +526,7 @@ write_gif(const char *filename, int widt if (QuantizeBuffer(width, height, &colormap_size, red, green, blue, buffer, colormap->Colors) == GIF_ERROR) -+#endif { - PrintGifError(); + fprintf(stderr, "Can't quantize buffer\n"); return(0); } -@@ -198,24 +251,36 @@ write_gif(const char *filename, int widt +@@ -198,24 +534,36 @@ write_gif(const char *filename, int widt free(green); free(blue); @@ -178,7 +458,7 @@ return(0); } -@@ -224,7 +289,11 @@ write_gif(const char *filename, int widt +@@ -224,7 +572,11 @@ write_gif(const char *filename, int widt { if (EGifPutLine(outfile, ptr, width) == GIF_ERROR) { @@ -191,7 +471,7 @@ return(0); } ptr += width; -@@ -232,8 +301,12 @@ write_gif(const char *filename, int widt +@@ -232,8 +584,12 @@ write_gif(const char *filename, int widt EGifSpew(outfile); diff --git a/comms/hylafax/files/patch-configure b/comms/hylafax/files/patch-configure index eb7fe9acf6b..10feebe4f31 100644 --- a/comms/hylafax/files/patch-configure +++ b/comms/hylafax/files/patch-configure @@ -1,6 +1,6 @@ ---- configure.orig 2012-06-06 02:58:38.000000000 +0200 -+++ configure 2013-10-23 14:29:24.000000000 +0200 -@@ -831,7 +831,8 @@ +--- configure.orig 2018-09-18 18:51:17 UTC ++++ configure +@@ -831,7 +831,8 @@ checkGCCVersion() # NB: use ANSI C prototype to weed out non-ANSI compilers. # cat>dummy.c<dummy.c<' cat<t.c< @@ -157,7 +157,7 @@ { ioctl(0, TXADDCD, "rts"); ioctl(0, TXDELCD, "rts"); -@@ -2537,8 +2572,9 @@ +@@ -2537,8 +2572,9 @@ CheckLibtiff() tiff_bytecount_t="" cat>t.c< @@ -168,7 +168,13 @@ { printf( "header_ver=%d lib_ver=%s", TIFFLIB_VERSION, TIFFGetVersion() ); exit(0); -@@ -2568,7 +2604,7 @@ +@@ -2563,12 +2599,12 @@ EOF + tiff_offset_t="uint32" + tiff_bytecount_t="uint32" + ;; +- 4.[0]) tiff_runlen_t="uint32" ++ 4.[01]) tiff_runlen_t="uint32" + tiff_offset_t="uint64" tiff_bytecount_t="uint64" echo '#define TIFFHeader TIFFHeaderClassic' echo '#define TIFF_VERSION TIFF_VERSION_CLASSIC' @@ -177,7 +183,7 @@ ;; esac fi -@@ -3255,7 +3291,7 @@ +@@ -3255,7 +3291,7 @@ FUNCS=" strtoul writev " @@ -186,7 +192,7 @@ for i in $FUNCS; do CheckForFunc $i || { Note "... emulate $i" -@@ -3313,8 +3349,9 @@ +@@ -3313,8 +3349,9 @@ Note "Checking ZLIB support." # Verify library is compatible. # cat>t.c< diff --git a/devel/pyside2/pkg-plist b/devel/pyside2/pkg-plist index 515c6ba3d71..52af872a002 100644 --- a/devel/pyside2/pkg-plist +++ b/devel/pyside2/pkg-plist @@ -22,6 +22,7 @@ include/PySide2/QtPrintSupport/pyside2_qtprintsupport_python.h include/PySide2/QtQml/pyside2_qtqml_python.h include/PySide2/QtQuick/pyside2_qtquick_python.h include/PySide2/QtQuickWidgets/pyside2_qtquickwidgets_python.h +include/PySide2/QtRemoteObjects/pyside2_qtremoteobjects_python.h include/PySide2/QtScript/pyside2_qtscript_python.h include/PySide2/QtScriptTools/pyside2_qtscripttools_python.h include/PySide2/QtScxml/pyside2_qtscxml_python.h @@ -83,6 +84,7 @@ lib/libpyside2%%PYVERSTR%%.so.%%DISTVERSION%% %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtQml.so %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtQuick.so %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtQuickWidgets.so +%%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtRemoteObjects.so %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtScript.so %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtScriptTools.so %%PYTHON2%%%%PYTHON_SITELIBDIR%%/PySide2/QtScxml.so @@ -124,6 +126,7 @@ lib/libpyside2%%PYVERSTR%%.so.%%DISTVERSION%% %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtQml%%PYVERSTR%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtQuick%%PYVERSTR%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtQuickWidgets%%PYVERSTR%%.so +%%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtRemoteObjects%%PYVERSTR%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtScript%%PYVERSTR%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtScriptTools%%PYVERSTR%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/PySide2/QtScxml%%PYVERSTR%%.so @@ -226,6 +229,7 @@ share/PySide2/typesystems/typesystem_printsupport_common.xml share/PySide2/typesystems/typesystem_qml.xml share/PySide2/typesystems/typesystem_quick.xml share/PySide2/typesystems/typesystem_quickwidgets.xml +share/PySide2/typesystems/typesystem_remoteobjects.xml share/PySide2/typesystems/typesystem_script.xml share/PySide2/typesystems/typesystem_scripttools.xml share/PySide2/typesystems/typesystem_scxml.xml diff --git a/dns/amass/Makefile b/dns/amass/Makefile index 147f473edd0..85b1cceafa0 100644 --- a/dns/amass/Makefile +++ b/dns/amass/Makefile @@ -2,7 +2,7 @@ PORTNAME= amass DISTVERSIONPREFIX= v -DISTVERSION= 3.2.3 +DISTVERSION= 3.3.0 CATEGORIES= dns MAINTAINER= yuri@FreeBSD.org @@ -55,7 +55,6 @@ GH_TUPLE= \ golang:tools:0337d82405ff:golang_tools/vendor/golang.org/x/tools \ google:go-querystring:v1.0.0:google_go_querystring/vendor/github.com/google/go-querystring \ google:uuid:v1.1.1:google_uuid/vendor/github.com/google/uuid \ - gorilla:websocket:v1.4.0:gorilla_websocket/vendor/github.com/gorilla/websocket \ hidal-go:hidalgo:42e03f3b5eaa:hidal_go_hidalgo/vendor/github.com/hidal-go/hidalgo \ inconshreveable:mousetrap:v1.0.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \ jmoiron:sqlx:v1.2.0:jmoiron_sqlx/vendor/github.com/jmoiron/sqlx \ @@ -73,15 +72,12 @@ GH_TUPLE= \ prometheus:client_model:fd36f4220a90:prometheus_client_model/vendor/github.com/prometheus/client_model \ prometheus:common:v0.4.1:prometheus_common/vendor/github.com/prometheus/common \ prometheus:procfs:v0.0.2:prometheus_procfs/vendor/github.com/prometheus/procfs \ - qasaur:gremgo:fa23ada7c5da:qasaur_gremgo/vendor/github.com/qasaur/gremgo \ robertkrimen:otto:15f95af6e78d:robertkrimen_otto/vendor/github.com/robertkrimen/otto \ rogpeppe:go-internal:v1.5.0:rogpeppe_go_internal/vendor/github.com/rogpeppe/go-internal \ - satori:go.uuid:v1.2.0:satori_go_uuid/vendor/github.com/satori/go.uuid \ sirupsen:logrus:v1.4.2:sirupsen_logrus/vendor/github.com/sirupsen/logrus \ spf13:cobra:v0.0.5:spf13_cobra/vendor/github.com/spf13/cobra \ spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \ temoto:robotstxt:v1.1.1:temoto_robotstxt/vendor/github.com/temoto/robotstxt \ - thetannerryan:ring:v1.1.1:thetannerryan_ring/vendor/github.com/thetannerryan/ring \ tylertreat:BoomFilters:611b3dbe80e8:tylertreat_boomfilters/vendor/github.com/tylertreat/BoomFilters GO_TARGET= ./cmd/${PORTNAME} diff --git a/dns/amass/distinfo b/dns/amass/distinfo index b236f69eaaf..c1054977f7e 100644 --- a/dns/amass/distinfo +++ b/dns/amass/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1572156115 -SHA256 (OWASP-Amass-v3.2.3_GH0.tar.gz) = b188b2dfcd703ff248c737dc40df5eabada6ee5128de131a456a356917356167 -SIZE (OWASP-Amass-v3.2.3_GH0.tar.gz) = 9649122 +TIMESTAMP = 1573443644 +SHA256 (OWASP-Amass-v3.3.0_GH0.tar.gz) = 916c7e8c098d3143eed414e357d98744961e8c9b9b979ed217201114b3b5df13 +SIZE (OWASP-Amass-v3.3.0_GH0.tar.gz) = 9651795 SHA256 (PuerkitoBio-goquery-v1.5.0_GH0.tar.gz) = 0307341d56ae12648584b3990fb1e84f465870247e46aff00381c98c5ad231c7 SIZE (PuerkitoBio-goquery-v1.5.0_GH0.tar.gz) = 100975 SHA256 (VividCortex-gohistogram-v1.0.0_GH0.tar.gz) = 830abe53f98e7a46ccbd829114998e1d7bbe9edfeb669011e7970d684493809e @@ -77,8 +77,6 @@ SHA256 (google-go-querystring-v1.0.0_GH0.tar.gz) = 59fdfd4d740c85c60c35d3e09b587 SIZE (google-go-querystring-v1.0.0_GH0.tar.gz) = 7529 SHA256 (google-uuid-v1.1.1_GH0.tar.gz) = bebd4b0b4ea152a9793615ef23c83f688876d8c284a2092264d20a4bf4ffc423 SIZE (google-uuid-v1.1.1_GH0.tar.gz) = 13543 -SHA256 (gorilla-websocket-v1.4.0_GH0.tar.gz) = 2b5743c72bd0930c5a80e49c0138b5b7d27fa7c085efd0c86805cccfa7220c9d -SIZE (gorilla-websocket-v1.4.0_GH0.tar.gz) = 50228 SHA256 (hidal-go-hidalgo-42e03f3b5eaa_GH0.tar.gz) = ae899290cc8efb00c0b3a0e97487b0df3b4f18d5385d1cd84f553564fa4f2092 SIZE (hidal-go-hidalgo-42e03f3b5eaa_GH0.tar.gz) = 89840 SHA256 (inconshreveable-mousetrap-v1.0.0_GH0.tar.gz) = 5edc7731c819c305623568e317aa253d342be3447def97f1fa9e10eb5ad819f6 @@ -113,14 +111,10 @@ SHA256 (prometheus-common-v0.4.1_GH0.tar.gz) = 99229ef4b100e55d1e6496995f1a1af68 SIZE (prometheus-common-v0.4.1_GH0.tar.gz) = 98631 SHA256 (prometheus-procfs-v0.0.2_GH0.tar.gz) = ad1d1f1328a1c394b30225b939ed39482ba54de7be70d439c0555d68857457d5 SIZE (prometheus-procfs-v0.0.2_GH0.tar.gz) = 78550 -SHA256 (qasaur-gremgo-fa23ada7c5da_GH0.tar.gz) = 269523f8c862ac1aa5e41610024fef1ee28f968144e5e57108e9ab11f04ccf2b -SIZE (qasaur-gremgo-fa23ada7c5da_GH0.tar.gz) = 39854 SHA256 (robertkrimen-otto-15f95af6e78d_GH0.tar.gz) = 7bb04317b60e6bf7be10be33f5f0f1052a16b42bf4aa973bc2d7c8c65ee6e6a6 SIZE (robertkrimen-otto-15f95af6e78d_GH0.tar.gz) = 250847 SHA256 (rogpeppe-go-internal-v1.5.0_GH0.tar.gz) = a1db9f87696391f8451b2ea7c4325cf7e500c7cc24bead28f8c494dc3097ac5a SIZE (rogpeppe-go-internal-v1.5.0_GH0.tar.gz) = 120356 -SHA256 (satori-go.uuid-v1.2.0_GH0.tar.gz) = 6f9d9549958252d7c5a5ed1cabeedeaab7a600ca0b888a3666cce4c3590aa5a7 -SIZE (satori-go.uuid-v1.2.0_GH0.tar.gz) = 8297 SHA256 (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 67f2ddf467b7e63d2d2529d227946a331e245aeef7e2e4521ae82647b5ef84d9 SIZE (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 41373 SHA256 (spf13-cobra-v0.0.5_GH0.tar.gz) = 79226ce00e2b91306277e679d024eea6d17d0c02fc671555fd25df0c3ea07423 @@ -129,7 +123,5 @@ SHA256 (spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac09 SIZE (spf13-pflag-v1.0.5_GH0.tar.gz) = 50796 SHA256 (temoto-robotstxt-v1.1.1_GH0.tar.gz) = 11c466c2c9252ab8908eb319189cd7769144d8d039765f6419d605be061098c2 SIZE (temoto-robotstxt-v1.1.1_GH0.tar.gz) = 14170 -SHA256 (thetannerryan-ring-v1.1.1_GH0.tar.gz) = ef2780bae8c8663a9c104f4dd6bd1efb5dd70f381dfbe0e9d246e340f5088dac -SIZE (thetannerryan-ring-v1.1.1_GH0.tar.gz) = 6719 SHA256 (tylertreat-BoomFilters-611b3dbe80e8_GH0.tar.gz) = 105bd27f5c97ec48aeb5a0e0cc4beead0c48ab62dabb69866df4909cfdef0163 SIZE (tylertreat-BoomFilters-611b3dbe80e8_GH0.tar.gz) = 37244 diff --git a/dns/dnsjava/Makefile b/dns/dnsjava/Makefile index 101fb2b511b..5b55bc1b05e 100644 --- a/dns/dnsjava/Makefile +++ b/dns/dnsjava/Makefile @@ -2,39 +2,32 @@ # $FreeBSD$ PORTNAME= dnsjava -PORTVERSION= 2.1.8 +PORTVERSION= 2.1.9 +DISTVERSIONPREFIX= v CATEGORIES= dns java -MASTER_SITES= http://www.dnsjava.org/download/ MAINTAINER= danilo@FreeBSD.org COMMENT= Implementation of DNS in Java -BROKEN= unfetchable +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +USE_GITHUB= yes USE_JAVA= yes -JAVA_VERSION= 1.6+ +JAVA_VERSION= 7+ USE_ANT= yes ALL_TARGET= jar NO_ARCH= yes OPTIONS_DEFINE= DOCS EXAMPLES -SAMPLE_FILES= examples.html USAGE dig.java jnamed.java lookup.java update.java -OTHERDOCS= README Changelog +SAMPLE_FILES= EXAMPLES.md USAGE dig.java jnamed.java lookup.java update.java +OTHERDOCS= README.md Changelog DOCS_ALL_TARGET= docs -.include - -.if ${JAVA_PORT_VERSION:M*6*} -PLIST_SUB+= JDK6="" -.else -PLIST_SUB+= JDK6="@comment " -.endif -.if ${JAVA_PORT_VERSION:M*8*} -PLIST_SUB+= JDK8="" -.else -PLIST_SUB+= JDK8="@comment " -.endif +post-patch: + @${REINPLACE_CMD} "s/2\.1\.8/${PORTVERSION}/" ${WRKSRC}/build.xml do-install: @${MKDIR} ${STAGEDIR}${JAVAJARDIR} @@ -49,4 +42,4 @@ do-install-EXAMPLES-on: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${SAMPLE_FILES:S,^,${WRKSRC}/,} ${STAGEDIR}${EXAMPLESDIR}/ -.include +.include diff --git a/dns/dnsjava/distinfo b/dns/dnsjava/distinfo index b6b81a42619..6049840e099 100644 --- a/dns/dnsjava/distinfo +++ b/dns/dnsjava/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1484487160 -SHA256 (dnsjava-2.1.8.tar.gz) = 7802baceb509df5888679c1b09ce64fd3618e0617bc171193137f43a3594d9c4 -SIZE (dnsjava-2.1.8.tar.gz) = 460532 +TIMESTAMP = 1573394280 +SHA256 (dnsjava-dnsjava-v2.1.9_GH0.tar.gz) = de66cb3e41b8d979fe7a3266457c5e9a56c976c4d8ca7da439293e8c1cdd06d4 +SIZE (dnsjava-dnsjava-v2.1.9_GH0.tar.gz) = 210488 diff --git a/dns/dnsjava/pkg-plist b/dns/dnsjava/pkg-plist index 623a50a944c..69b964b2b7a 100644 --- a/dns/dnsjava/pkg-plist +++ b/dns/dnsjava/pkg-plist @@ -1,5 +1,5 @@ %%PORTDOCS%%%%DOCSDIR%%/Changelog -%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/README.md %%PORTDOCS%%%%DOCSDIR%%/allclasses-frame.html %%PORTDOCS%%%%DOCSDIR%%/allclasses-noframe.html %%PORTDOCS%%%%DOCSDIR%%/constant-values.html @@ -16,6 +16,8 @@ %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/Address.html %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CAARecord.Flags.html %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CAARecord.html +%%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CDNSKEYRecord.html +%%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CDSRecord.html %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CERTRecord.CertificateType.html %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CERTRecord.html %%PORTDOCS%%%%DOCSDIR%%/org/xbill/DNS/CNAMERecord.html @@ -172,14 +174,13 @@ %%PORTDOCS%%%%DOCSDIR%%/overview-summary.html %%PORTDOCS%%%%DOCSDIR%%/overview-tree.html %%PORTDOCS%%%%DOCSDIR%%/package-list -%%JDK6%%%%PORTDOCS%%%%DOCSDIR%%/resources/inherit.gif -%%JDK8%%%%PORTDOCS%%%%DOCSDIR%%/script.js +%%PORTDOCS%%%%DOCSDIR%%/script.js %%PORTDOCS%%%%DOCSDIR%%/serialized-form.html %%PORTDOCS%%%%DOCSDIR%%/stylesheet.css +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/EXAMPLES.md %%PORTEXAMPLES%%%%EXAMPLESDIR%%/USAGE %%PORTEXAMPLES%%%%EXAMPLESDIR%%/dig.java -%%PORTEXAMPLES%%%%EXAMPLESDIR%%/examples.html %%PORTEXAMPLES%%%%EXAMPLESDIR%%/jnamed.java %%PORTEXAMPLES%%%%EXAMPLESDIR%%/lookup.java %%PORTEXAMPLES%%%%EXAMPLESDIR%%/update.java -share/java/classes/dnsjava.jar +%%JAVAJARDIR%%/dnsjava.jar diff --git a/editors/openoffice-devel/Makefile b/editors/openoffice-devel/Makefile index 5b8f3826282..460246acb49 100644 --- a/editors/openoffice-devel/Makefile +++ b/editors/openoffice-devel/Makefile @@ -3,7 +3,7 @@ PORTNAME= apache-openoffice PORTVERSION= ${AOOVERSION1}.${AOOVERSION2}.${TIMESTAMP} -PORTREVISION= 3 +PORTREVISION= 0 PORTEPOCH= 4 CATEGORIES= editors java MASTER_SITES= https://dist.apache.org/repos/dist/dev/openoffice/${AOOVERSION}-${AOORC}-${TIMESTAMP}/source/ \ @@ -120,8 +120,8 @@ AOOVERSION2= 2 AOOVERSION3= 0 # From solenv/inc/minor.mk SOURCEREVISION LAST_MINOR BUILD AOOTAG= AOO420m1\(Build:9821\) -GITREVISION= d871312c80 -TIMESTAMP= 1568906168 +GITREVISION= 1742cb93dc +TIMESTAMP= 1573127763 #AOORC=rc3 EXTSRC= ApacheOpenOffice.ext_sources.${AOOVERSION1}.x.x.20150707.tar.gz @@ -395,8 +395,6 @@ post-patch: ${WRKSRC}/sysui/desktop/productversion.mk ${REINPLACE_CMD} -e "s|%%JAVA_HOME%%|${JAVA_HOME}|" \ ${WRKSRC}/desktop/scripts/soffice.sh - ${REINPLACE_CMD} -e "/#test/i\\${.newline} return '${GITREVISION}';" \ - ${WRKSRC}/solenv/bin/modules/SvnRevision.pm ${REINPLACE_CMD} -e '/^mkdir -p/,$$d' ${CREATE_TREE} do-build: diff --git a/editors/openoffice-devel/distinfo b/editors/openoffice-devel/distinfo index f8eff242057..4d4902ad9c5 100644 --- a/editors/openoffice-devel/distinfo +++ b/editors/openoffice-devel/distinfo @@ -1,6 +1,6 @@ -TIMESTAMP = 1568913049 -SHA256 (openoffice/apache-openoffice-1568906168-d871312c80-src.tar.xz) = ac00df211af8061db6e63dc78c95c256a668d7d66fc67f3995dcf5acb76f6efe -SIZE (openoffice/apache-openoffice-1568906168-d871312c80-src.tar.xz) = 239214188 +TIMESTAMP = 1573194953 +SHA256 (openoffice/apache-openoffice-1573127763-1742cb93dc-src.tar.xz) = 8676a03590781acb5b18a2d0ae3722d792975f78b973d4dd89ad25745e7cac81 +SIZE (openoffice/apache-openoffice-1573127763-1742cb93dc-src.tar.xz) = 239203380 SHA256 (openoffice/ApacheOpenOffice.ext_sources.4.x.x.20150707.tar.gz) = 966a8333c83a18ddd84401389006d6e0b52b8175924b808b54b88211669985fa SIZE (openoffice/ApacheOpenOffice.ext_sources.4.x.x.20150707.tar.gz) = 28957004 SHA256 (openoffice/unowinreg.dll) = f563e522922133db9340b0306711c2d8767cc3481dd9e7d9b0d059906d12653c diff --git a/games/emptyepsilon/Makefile b/games/emptyepsilon/Makefile index abb7500202e..473b3231f03 100644 --- a/games/emptyepsilon/Makefile +++ b/games/emptyepsilon/Makefile @@ -3,7 +3,7 @@ PORTNAME= emptyepsilon DISTVERSIONPREFIX= EE- -DISTVERSION= 2019.10.28 +DISTVERSION= 2019.11.01 CATEGORIES= games MAINTAINER= yuri@FreeBSD.org diff --git a/games/emptyepsilon/distinfo b/games/emptyepsilon/distinfo index 4c69c8db747..3df2a5ce61e 100644 --- a/games/emptyepsilon/distinfo +++ b/games/emptyepsilon/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1572320649 -SHA256 (daid-EmptyEpsilon-EE-2019.10.28_GH0.tar.gz) = 0dc6c568c780a46dadbab157e1b60b2c2e71e35e669fe218114e4f6e8a05e80f -SIZE (daid-EmptyEpsilon-EE-2019.10.28_GH0.tar.gz) = 258332185 -SHA256 (daid-SeriousProton-EE-2019.10.28_GH0.tar.gz) = a117cdc5d5b107eae80ce9495ccb277afe9b41bb63133c844d2f3e09416925e1 -SIZE (daid-SeriousProton-EE-2019.10.28_GH0.tar.gz) = 607928 +TIMESTAMP = 1573403439 +SHA256 (daid-EmptyEpsilon-EE-2019.11.01_GH0.tar.gz) = c5e365d0bc4c6a486b33a7763dbfbc6f72a8366ead90743e25c79559c4883511 +SIZE (daid-EmptyEpsilon-EE-2019.11.01_GH0.tar.gz) = 258333428 +SHA256 (daid-SeriousProton-EE-2019.11.01_GH0.tar.gz) = 3258e9c0baa0620420f7f846edd7861b099d71346dfe491105a57a57d1831515 +SIZE (daid-SeriousProton-EE-2019.11.01_GH0.tar.gz) = 607914 diff --git a/graphics/drawpile/Makefile b/graphics/drawpile/Makefile index 095b546685e..943763f3513 100644 --- a/graphics/drawpile/Makefile +++ b/graphics/drawpile/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= Drawpile -DISTVERSION= 2.1.12 +DISTVERSION= 2.1.13 CATEGORIES= graphics python MAINTAINER= yuri@FreeBSD.org diff --git a/graphics/drawpile/distinfo b/graphics/drawpile/distinfo index d70eeb05cba..91719f4b44d 100644 --- a/graphics/drawpile/distinfo +++ b/graphics/drawpile/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1572157340 -SHA256 (drawpile-Drawpile-2.1.12_GH0.tar.gz) = 1c60db2188ba9cefd1ec157acb3d80d292b7952a029661e892497d5d18ea1fbe -SIZE (drawpile-Drawpile-2.1.12_GH0.tar.gz) = 2521314 +TIMESTAMP = 1573402804 +SHA256 (drawpile-Drawpile-2.1.13_GH0.tar.gz) = cc4b2a15f7b795b2fcea714af9f66c9279704901e0befdce7bc42e8221b75434 +SIZE (drawpile-Drawpile-2.1.13_GH0.tar.gz) = 2521476 diff --git a/graphics/exact-image/Makefile b/graphics/exact-image/Makefile index a4a9415665d..79daf42f5bb 100644 --- a/graphics/exact-image/Makefile +++ b/graphics/exact-image/Makefile @@ -3,6 +3,7 @@ PORTNAME= exact-image PORTVERSION= 1.0.2 +PORTREVISION= 1 CATEGORIES= graphics perl5 python MASTER_SITES= https://dl.exactcode.de/oss/exact-image/ diff --git a/graphics/exact-image/files/patch-codecs__gif.cc b/graphics/exact-image/files/patch-codecs__gif.cc index ffc4230383c..e0e6c3e5d1a 100644 --- a/graphics/exact-image/files/patch-codecs__gif.cc +++ b/graphics/exact-image/files/patch-codecs__gif.cc @@ -1,9 +1,297 @@ ---- codecs/gif.cc.orig 2015-03-28 15:35:58 UTC +--- codecs/gif.cc.orig 2017-07-21 14:19:01 UTC +++ codecs/gif.cc -@@ -22,6 +22,24 @@ +@@ -22,6 +22,312 @@ #include ++#define ABS(x) ((x) > 0 ? (x) : (-(x))) ++#define COLOR_ARRAY_SIZE 32768 ++#define BITS_PER_PRIM_COLOR 5 ++#define MAX_PRIM_COLOR 0x1f ++ ++static int SortRGBAxis; ++ ++typedef struct QuantizedColorType { ++ GifByteType RGB[3]; ++ GifByteType NewColorIndex; ++ long Count; ++ struct QuantizedColorType *Pnext; ++} QuantizedColorType; ++ ++typedef struct NewColorMapType { ++ GifByteType RGBMin[3], RGBWidth[3]; ++ unsigned int NumEntries; /* # of QuantizedColorType in linked list below */ ++ unsigned long Count; /* Total number of pixels in all the entries */ ++ QuantizedColorType *QuantizedColors; ++} NewColorMapType; ++ ++ ++/**************************************************************************** ++ * Routine called by qsort to compare two entries. ++ ****************************************************************************/ ++static int ++SortCmpRtn(const void *Entry1, ++ const void *Entry2) { ++ ++ return (*((QuantizedColorType **) Entry1))->RGB[SortRGBAxis] - ++ (*((QuantizedColorType **) Entry2))->RGB[SortRGBAxis]; ++} ++ ++/****************************************************************************** ++ * Routine to subdivide the RGB space recursively using median cut in each ++ * axes alternatingly until ColorMapSize different cubes exists. ++ * The biggest cube in one dimension is subdivide unless it has only one entry. ++ * Returns GIF_ERROR if failed, otherwise GIF_OK. ++ ******************************************************************************/ ++static int ++SubdivColorMap(NewColorMapType * NewColorSubdiv, ++ unsigned int ColorMapSize, ++ unsigned int *NewColorMapSize) { ++ ++ int MaxSize; ++ unsigned int i, j, Index = 0, NumEntries, MinColor, MaxColor; ++ long Sum, Count; ++ QuantizedColorType *QuantizedColor, **SortArray; ++ ++ while (ColorMapSize > *NewColorMapSize) { ++ /* Find candidate for subdivision: */ ++ MaxSize = -1; ++ for (i = 0; i < *NewColorMapSize; i++) { ++ for (j = 0; j < 3; j++) { ++ if ((((int)NewColorSubdiv[i].RGBWidth[j]) > MaxSize) && ++ (NewColorSubdiv[i].NumEntries > 1)) { ++ MaxSize = NewColorSubdiv[i].RGBWidth[j]; ++ Index = i; ++ SortRGBAxis = j; ++ } ++ } ++ } ++ ++ if (MaxSize == -1) ++ return GIF_OK; ++ ++ /* Split the entry Index into two along the axis SortRGBAxis: */ ++ ++ /* Sort all elements in that entry along the given axis and split at ++ * the median. */ ++ SortArray = (QuantizedColorType **)malloc( ++ sizeof(QuantizedColorType *) * ++ NewColorSubdiv[Index].NumEntries); ++ if (SortArray == NULL) ++ return GIF_ERROR; ++ for (j = 0, QuantizedColor = NewColorSubdiv[Index].QuantizedColors; ++ j < NewColorSubdiv[Index].NumEntries && QuantizedColor != NULL; ++ j++, QuantizedColor = QuantizedColor->Pnext) ++ SortArray[j] = QuantizedColor; ++ ++ qsort(SortArray, NewColorSubdiv[Index].NumEntries, ++ sizeof(QuantizedColorType *), SortCmpRtn); ++ ++ /* Relink the sorted list into one: */ ++ for (j = 0; j < NewColorSubdiv[Index].NumEntries - 1; j++) ++ SortArray[j]->Pnext = SortArray[j + 1]; ++ SortArray[NewColorSubdiv[Index].NumEntries - 1]->Pnext = NULL; ++ NewColorSubdiv[Index].QuantizedColors = QuantizedColor = SortArray[0]; ++ free((char *)SortArray); ++ ++ /* Now simply add the Counts until we have half of the Count: */ ++ Sum = NewColorSubdiv[Index].Count / 2 - QuantizedColor->Count; ++ NumEntries = 1; ++ Count = QuantizedColor->Count; ++ while (QuantizedColor->Pnext != NULL && ++ (Sum -= QuantizedColor->Pnext->Count) >= 0 && ++ QuantizedColor->Pnext->Pnext != NULL) { ++ QuantizedColor = QuantizedColor->Pnext; ++ NumEntries++; ++ Count += QuantizedColor->Count; ++ } ++ /* Save the values of the last color of the first half, and first ++ * of the second half so we can update the Bounding Boxes later. ++ * Also as the colors are quantized and the BBoxes are full 0..255, ++ * they need to be rescaled. ++ */ ++ MaxColor = QuantizedColor->RGB[SortRGBAxis]; /* Max. of first half */ ++ /* coverity[var_deref_op] */ ++ MinColor = QuantizedColor->Pnext->RGB[SortRGBAxis]; /* of second */ ++ MaxColor <<= (8 - BITS_PER_PRIM_COLOR); ++ MinColor <<= (8 - BITS_PER_PRIM_COLOR); ++ ++ /* Partition right here: */ ++ NewColorSubdiv[*NewColorMapSize].QuantizedColors = ++ QuantizedColor->Pnext; ++ QuantizedColor->Pnext = NULL; ++ NewColorSubdiv[*NewColorMapSize].Count = Count; ++ NewColorSubdiv[Index].Count -= Count; ++ NewColorSubdiv[*NewColorMapSize].NumEntries = ++ NewColorSubdiv[Index].NumEntries - NumEntries; ++ NewColorSubdiv[Index].NumEntries = NumEntries; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[*NewColorMapSize].RGBMin[j] = ++ NewColorSubdiv[Index].RGBMin[j]; ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[j] = ++ NewColorSubdiv[Index].RGBWidth[j]; ++ } ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] = ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] + ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] - MinColor; ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] = MinColor; ++ ++ NewColorSubdiv[Index].RGBWidth[SortRGBAxis] = ++ MaxColor - NewColorSubdiv[Index].RGBMin[SortRGBAxis]; ++ ++ (*NewColorMapSize)++; ++ } ++ ++ return GIF_OK; ++} ++ ++/****************************************************************************** ++ * Quantize high resolution image into lower one. Input image consists of a ++ * 2D array for each of the RGB colors with size Width by Height. There is no ++ * Color map for the input. Output is a quantized image with 2D array of ++ * indexes into the output color map. ++ * Note input image can be 24 bits at the most (8 for red/green/blue) and ++ * the output has 256 colors at the most (256 entries in the color map.). ++ * ColorMapSize specifies size of color map up to 256 and will be updated to ++ * real size before returning. ++ * Also non of the parameter are allocated by this routine. ++ * This function returns GIF_OK if succesfull, GIF_ERROR otherwise. ++ ******************************************************************************/ ++static int ++QuantizeBuffer(unsigned int Width, ++ unsigned int Height, ++ int *ColorMapSize, ++ GifByteType * RedInput, ++ GifByteType * GreenInput, ++ GifByteType * BlueInput, ++ GifByteType * OutputBuffer, ++ GifColorType * OutputColorMap) { ++ ++ unsigned int Index, NumOfEntries; ++ int i, j, MaxRGBError[3]; ++ unsigned int NewColorMapSize; ++ long Red, Green, Blue; ++ NewColorMapType NewColorSubdiv[256]; ++ QuantizedColorType *ColorArrayEntries, *QuantizedColor; ++ ++ ColorArrayEntries = (QuantizedColorType *)malloc( ++ sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE); ++ if (ColorArrayEntries == NULL) { ++ return GIF_ERROR; ++ } ++ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) { ++ ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR); ++ ColorArrayEntries[i].RGB[1] = (i >> BITS_PER_PRIM_COLOR) & ++ MAX_PRIM_COLOR; ++ ColorArrayEntries[i].RGB[2] = i & MAX_PRIM_COLOR; ++ ColorArrayEntries[i].Count = 0; ++ } ++ ++ /* Sample the colors and their distribution: */ ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ ColorArrayEntries[Index].Count++; ++ } ++ ++ /* Put all the colors in the first entry of the color map, and call the ++ * recursive subdivision process. */ ++ for (i = 0; i < 256; i++) { ++ NewColorSubdiv[i].QuantizedColors = NULL; ++ NewColorSubdiv[i].Count = NewColorSubdiv[i].NumEntries = 0; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[i].RGBMin[j] = 0; ++ NewColorSubdiv[i].RGBWidth[j] = 255; ++ } ++ } ++ ++ /* Find the non empty entries in the color table and chain them: */ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) ++ if (ColorArrayEntries[i].Count > 0) ++ break; ++ QuantizedColor = NewColorSubdiv[0].QuantizedColors = &ColorArrayEntries[i]; ++ NumOfEntries = 1; ++ while (++i < COLOR_ARRAY_SIZE) ++ if (ColorArrayEntries[i].Count > 0) { ++ QuantizedColor->Pnext = &ColorArrayEntries[i]; ++ QuantizedColor = &ColorArrayEntries[i]; ++ NumOfEntries++; ++ } ++ QuantizedColor->Pnext = NULL; ++ ++ NewColorSubdiv[0].NumEntries = NumOfEntries; /* Different sampled colors */ ++ NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */ ++ NewColorMapSize = 1; ++ if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) != ++ GIF_OK) { ++ free((char *)ColorArrayEntries); ++ return GIF_ERROR; ++ } ++ if (NewColorMapSize < *ColorMapSize) { ++ /* And clear rest of color map: */ ++ for (i = NewColorMapSize; i < *ColorMapSize; i++) ++ OutputColorMap[i].Red = OutputColorMap[i].Green = ++ OutputColorMap[i].Blue = 0; ++ } ++ ++ /* Average the colors in each entry to be the color to be used in the ++ * output color map, and plug it into the output color map itself. */ ++ for (i = 0; i < NewColorMapSize; i++) { ++ if ((j = NewColorSubdiv[i].NumEntries) > 0) { ++ QuantizedColor = NewColorSubdiv[i].QuantizedColors; ++ Red = Green = Blue = 0; ++ while (QuantizedColor) { ++ QuantizedColor->NewColorIndex = i; ++ Red += QuantizedColor->RGB[0]; ++ Green += QuantizedColor->RGB[1]; ++ Blue += QuantizedColor->RGB[2]; ++ QuantizedColor = QuantizedColor->Pnext; ++ } ++ OutputColorMap[i].Red = (Red << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Green = (Green << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Blue = (Blue << (8 - BITS_PER_PRIM_COLOR)) / j; ++ } else ++ fprintf(stderr, ++ "\n%s: Null entry in quantized color map - that's weird.\n", ++ "libgdiplus"); ++ } ++ ++ /* Finally scan the input buffer again and put the mapped index in the ++ * output buffer. */ ++ MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0; ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ Index = ColorArrayEntries[Index].NewColorIndex; ++ OutputBuffer[i] = Index; ++ if (MaxRGBError[0] < ABS(OutputColorMap[Index].Red - RedInput[i])) ++ MaxRGBError[0] = ABS(OutputColorMap[Index].Red - RedInput[i]); ++ if (MaxRGBError[1] < ABS(OutputColorMap[Index].Green - GreenInput[i])) ++ MaxRGBError[1] = ABS(OutputColorMap[Index].Green - GreenInput[i]); ++ if (MaxRGBError[2] < ABS(OutputColorMap[Index].Blue - BlueInput[i])) ++ MaxRGBError[2] = ABS(OutputColorMap[Index].Blue - BlueInput[i]); ++ } ++ ++#ifdef DEBUG ++ fprintf(stderr, ++ "Quantization L(0) errors: Red = %d, Green = %d, Blue = %d.\n", ++ MaxRGBError[0], MaxRGBError[1], MaxRGBError[2]); ++#endif /* DEBUG */ ++ ++ free((char *)ColorArrayEntries); ++ ++ *ColorMapSize = NewColorMapSize; ++ ++ return GIF_OK; ++} ++ +#if GIFLIB_MAJOR >= 5 +void ExactImagePrintGifError(int ErrorCode) +#else @@ -25,7 +313,7 @@ /* The way Interlaced image should. */ static const int InterlacedOffset[] = { 0, 4, 2, 1 }; -@@ -60,9 +78,13 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -60,9 +366,13 @@ int GIFCodec::readImage (std::istream* s ColorMapObject *ColorMap = 0; int GifError, ExtCode; @@ -40,7 +328,7 @@ return false; } -@@ -74,7 +96,11 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -74,7 +384,11 @@ int GIFCodec::readImage (std::istream* s /* Scan the content of the GIF file and load the image(s) in: */ do { if (DGifGetRecordType(GifFile, &RecordType) == GIF_ERROR) { @@ -53,7 +341,7 @@ return false; } -@@ -83,7 +109,11 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -83,7 +397,11 @@ int GIFCodec::readImage (std::istream* s switch (RecordType) { case IMAGE_DESC_RECORD_TYPE: if (DGifGetImageDesc(GifFile) == GIF_ERROR) { @@ -66,7 +354,7 @@ return false; } -@@ -104,7 +134,11 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -104,7 +422,11 @@ int GIFCodec::readImage (std::istream* s j += InterlacedJumps[i]) { if (DGifGetLine(GifFile, &image.getRawData()[j*image.stride()+Col], Width) == GIF_ERROR) { @@ -79,7 +367,7 @@ return false; } } -@@ -113,7 +147,11 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -113,7 +435,11 @@ int GIFCodec::readImage (std::istream* s for (int i = 0; i < Height; ++i) { if (DGifGetLine(GifFile, &image.getRawData()[Row++ * image.stride()+Col], Width) == GIF_ERROR) { @@ -92,7 +380,7 @@ return false; } } -@@ -122,12 +160,20 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -122,12 +448,20 @@ int GIFCodec::readImage (std::istream* s case EXTENSION_RECORD_TYPE: /* Skip any extension blocks in file: */ if (DGifGetExtension(GifFile, &ExtCode, &Extension) == GIF_ERROR) { @@ -115,7 +403,7 @@ return false; } } -@@ -155,7 +201,11 @@ int GIFCodec::readImage (std::istream* stream, Image& +@@ -155,7 +489,11 @@ int GIFCodec::readImage (std::istream* s // convert colormap to our 16bit "TIFF"format colorspace_de_palette (image, ColorMap->ColorCount, rmap, gmap, bmap); @@ -127,7 +415,7 @@ return true; } -@@ -167,7 +217,11 @@ bool GIFCodec::writeImage (std::ostream* stream, Image +@@ -167,7 +505,11 @@ bool GIFCodec::writeImage (std::ostream* GifByteType* Ptr; int GifError; @@ -139,7 +427,7 @@ { std::cerr << "Error preparing GIF file for writing." << std::endl; return false; -@@ -176,7 +230,11 @@ bool GIFCodec::writeImage (std::ostream* stream, Image +@@ -176,7 +518,11 @@ bool GIFCodec::writeImage (std::ostream* int ColorMapSize = 256; // later use our own colormap generation @@ -151,19 +439,16 @@ if (!OutputColorMap) return false; -@@ -204,7 +262,11 @@ bool GIFCodec::writeImage (std::ostream* stream, Image +@@ -204,7 +550,7 @@ bool GIFCodec::writeImage (std::ostream* } -+#if GIFLIB_MAJOR >= 5 - if (GifQuantizeBuffer(image.w, image.h, &ColorMapSize, -+#else +- if (GifQuantizeBuffer(image.w, image.h, &ColorMapSize, + if (QuantizeBuffer(image.w, image.h, &ColorMapSize, -+#endif RedBuffer, GreenBuffer, BlueBuffer, OutputBuffer, OutputColorMap->Colors) == GIF_ERROR) { return false; -@@ -235,7 +297,11 @@ bool GIFCodec::writeImage (std::ostream* stream, Image +@@ -235,7 +581,11 @@ bool GIFCodec::writeImage (std::ostream* delete[] RedBuffer; delete[] GreenBuffer; delete[] BlueBuffer; diff --git a/graphics/gnash/files/patch-libbase_GnashImageGif.cpp b/graphics/gnash/files/patch-libbase_GnashImageGif.cpp new file mode 100644 index 00000000000..1ee0ce2fc08 --- /dev/null +++ b/graphics/gnash/files/patch-libbase_GnashImageGif.cpp @@ -0,0 +1,11 @@ +--- libbase/GnashImageGif.cpp.orig 2016-07-21 12:25:09 UTC ++++ libbase/GnashImageGif.cpp +@@ -120,7 +120,7 @@ GifInput::GifInput(std::shared_ptr=1 + DGifCloseFile(_gif, 0); + #else + DGifCloseFile(_gif); diff --git a/graphics/vips/Makefile b/graphics/vips/Makefile index 78d62f39015..56456e43683 100644 --- a/graphics/vips/Makefile +++ b/graphics/vips/Makefile @@ -3,6 +3,7 @@ PORTNAME= vips PORTVERSION= 8.8.3 +PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= https://github.com/libvips/libvips/releases/download/v${PORTVERSION}/ @@ -13,36 +14,22 @@ LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= bash:shells/bash -LIB_DEPENDS= libcfitsio.so:astro/cfitsio \ - liborc-0.4.so:devel/orc \ - libGraphicsMagick.so:graphics/GraphicsMagick \ - libIlmImf.so:graphics/openexr \ - liblcms2.so:graphics/lcms2 \ - libexif.so:graphics/libexif \ - libpng.so:graphics/png \ - libtiff.so:graphics/tiff \ - libwebp.so:graphics/webp \ - libfftw3.so:math/fftw3 \ - libmatio.so:math/matio \ - libgirepository-1.0.so:devel/gobject-introspection \ +LIB_DEPENDS= libgirepository-1.0.so:devel/gobject-introspection \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ - libgif.so:graphics/giflib \ - libpoppler-glib.so:graphics/poppler-glib \ - libImath.so:graphics/ilmbase \ - libhdf5.so:science/hdf5 \ - libexpat.so:textproc/expat2 \ - libcurl.so:ftp/curl + libexpat.so:textproc/expat2 -USES= compiler:c++11-lang cpe gettext gmake gnome jpeg libtool \ - pathfix pkgconfig python:2.7 shebangfix +USES= compiler:c++11-lang cpe gettext gmake gnome libtool \ + pathfix pkgconfig python shebangfix SHEBANG_FILES= tools/vips-${PORTVERSION:R} tools/vipsprofile -USE_GNOME= cairo gdkpixbuf2 glib20 libgsf librsvg2 libxml2 pango +USE_GNOME= glib20 GNU_CONFIGURE= yes -CONFIGURE_ARGS+= --without-x \ +CONFIGURE_ARGS+= --without-nifti \ --without-openslide \ - --with-magickpackage=GraphicsMagick + --without-pdfium \ + --without-imagequant + INSTALL_TARGET= install-strip USE_LDCONFIG= yes @@ -51,9 +38,89 @@ LDFLAGS+= -L${LOCALBASE}/lib PLIST_SUB= VERSION="${PORTVERSION:R}" -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= DOCS X11 GSF FFTW ORC LCMS2 OPENEXR HEIF POPPLER LIBRSVG2 MATIO CFITSIO WEBP PANGO TIFF GIF PNG JPEG LIBEXIF +OPTIONS_RADIO= MAGICK +OPTIONS_RADIO_MAGICK= IMAGEMAGICK GRAPHMAGICK +OPTIONS_DEFAULT= X11 GSF FFTW ORC LCMS2 OPENEXR HEIF POPPLER LIBRSVG2 MATIO CFITSIO WEBP PANGO TIFF GIF PNG JPEG LIBEXIF IMAGEMAGICK DOCS_CONFIGURE_ENABLE= gtk-doc gtk-doc-html DOCS_BUILD_DEPENDS= gtkdocize:textproc/gtk-doc +X11_CONFIGURE_WITH= x + +IMAGEMAGICK_CONFIGURE_ON= --with-magickpackage=MagickCore +GRAPHMAGICK_CONFIGURE_ON= --with-magickpackage=GraphicsMagick + +GSF_DESC= Structured file formats support +GSF_CONFIGURE_WITH= gsf +GSF_USE= GNOME=libgsf + +FFTW_CONFIGURE_WITH= fftw +FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3 + +ORC_DESC= ORC language support +ORC_CONFIGURE_WITH= orc +ORC_LIB_DEPENDS= liborc-0.4.so:devel/orc + +LCMS2_CONFIGURE_WITH= lcms +LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2 + +OPENEXR_CONFIGURE_WITH= OpenEXR +OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/openexr \ + libImath.so:graphics/ilmbase + +HEIF_DESC= HEIF image format support +HEIF_CONFIGURE_WITH= heif +HEIF_LIB_DEPENDS= libheif.so:graphics/libheif + +POPPLER_CONFIGURE_WITH= poppler +POPPLER_LIB_DEPENDS= libpoppler-glib.so:graphics/poppler-glib +POPPLER_USE= GNOME=cairo + +LIBRSVG2_CONFIGURE_WITH=rsvg +LIBRSVG2_USE= GNOME=librsvg2 GNOME=cairo + +MATIO_DESC= Matlab MAT format support +MATIO_CONFIGURE_WITH= matio +MATIO_LIB_DEPENDS= libmatio.so:math/matio \ + libhdf5.so:science/hdf5 + +CFITSIO_CONFIGURE_WITH= cfitsio +CFITSIO_LIB_DEPENDS= libcfitsio.so:astro/cfitsio + +WEBP_CONFIGURE_WITH= libwebp +WEBP_LIB_DEPENDS= libwebp.so:graphics/webp + +PANGO_CONFIGURE_WITH= pangoft2 +PANGO_USE= GNOME=pango + +TIFF_CONFIGURE_WITH= tiff +TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff + +GIF_CONFIGURE_WITH= giflib +GIF_LIB_DEPENDS= libgif.so:graphics/giflib + +PNG_CONFIGURE_WITH= png +PNG_LIB_DEPENDS= libpng.so:graphics/png + +JPEG_CONFIGURE_WITH= jpeg +JPEG_USES= jpeg + +LIBEXIF_CONFIGURE_WITH= libexif +LIBEXIF_LIB_DEPENDS= libexif.so:graphics/libexif + +.include + +.if ${PORT_OPTIONS:MIMAGEMAGICK} +. if ${PORT_OPTIONS:MX11} +LIB_DEPENDS+= libMagickCore-7.so:graphics/ImageMagick7 +. else +LIB_DEPENDS+= libMagickCore-7.so:graphics/ImageMagick7-nox11 +. endif +.elif ${PORT_OPTIONS:MGRAPHMAGICK} +LIB_DEPENDS+= libGraphicsMagick.so:graphics/GraphicsMagick +.else +CONFIGURE_ARGS+= --without-magick +.endif + .include diff --git a/lang/onyx/Makefile b/lang/onyx/Makefile index 55fea1637a4..9b1f0d2051f 100644 --- a/lang/onyx/Makefile +++ b/lang/onyx/Makefile @@ -5,23 +5,21 @@ PORTNAME= onyx PORTVERSION= 5.1.2 PORTREVISION= 6 CATEGORIES= lang -MASTER_SITES= http://www.canonware.com/download/onyx/ +MASTER_SITES= LOCAL/bofh MAINTAINER= bofh@FreeBSD.org COMMENT= Embeddable stack-based threaded interpreted language -BROKEN= unfetchable - LICENSE= BSD2CLAUSE -BUILD_DEPENDS= cook:devel/cook -LIB_DEPENDS= libpcre.so:devel/pcre - BROKEN_armv6= fails to compile: building for onyx-5.1.2_6: error code 1 BROKEN_armv7= fails to compile: building for onyx-5.1.2_6: error code 1 BROKEN_mips= fails to compile: building for onyx-5.1.2_6: error code 1 BROKEN_mips64= fails to compile: building for onyx-5.1.2_6: error code 1 +BUILD_DEPENDS= cook:devel/cook +LIB_DEPENDS= libpcre.so:devel/pcre + USES= libedit shebangfix tar:bzip2 GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-libedit-prefix=${LOCALBASE} \ diff --git a/lang/onyx/distinfo b/lang/onyx/distinfo index 0234e1853d4..6ebcf55d413 100644 --- a/lang/onyx/distinfo +++ b/lang/onyx/distinfo @@ -1,2 +1,3 @@ +TIMESTAMP = 1573432886 SHA256 (onyx-5.1.2.tar.bz2) = 96811204e8a0db6cfb1069b65f114ba15348bacf6776a075e4c08f9f5edeb860 SIZE (onyx-5.1.2.tar.bz2) = 1397404 diff --git a/misc/openhantek/Makefile b/misc/openhantek/Makefile index cb4184749e5..bfcde9f34bf 100644 --- a/misc/openhantek/Makefile +++ b/misc/openhantek/Makefile @@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libfftw3.so:math/fftw3 -USES= cmake gl localbase qt:5 +USES= cmake compiler:c++11-lang gl localbase qt:5 USE_GITHUB= yes GH_ACCOUNT= OpenHantek GH_TAGNAME= e7e0c7b diff --git a/misc/tellico/Makefile b/misc/tellico/Makefile index bffe9871d7f..aeeb1e016c0 100644 --- a/misc/tellico/Makefile +++ b/misc/tellico/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= tellico -DISTVERSION= 3.2.1 -PORTREVISION= 5 +DISTVERSION= 3.2.2 CATEGORIES= misc kde MASTER_SITES= http://tellico-project.org/files/ diff --git a/misc/tellico/distinfo b/misc/tellico/distinfo index d12931a1d39..d9cee376cda 100644 --- a/misc/tellico/distinfo +++ b/misc/tellico/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1562774910 -SHA256 (tellico-3.2.1.tar.xz) = 38bc369a5341f2a1ba2bb1b4736da1b6eb4d326352d17e5d54e609f93c140bf8 -SIZE (tellico-3.2.1.tar.xz) = 5604632 +TIMESTAMP = 1573417068 +SHA256 (tellico-3.2.2.tar.xz) = ec0595a421011596b39b51e0e88558da2716073f066862e9707571be9de77a9a +SIZE (tellico-3.2.2.tar.xz) = 5589296 diff --git a/misc/tellico/files/patch-gentoo-kf5-5.61-headers b/misc/tellico/files/patch-gentoo-kf5-5.61-headers deleted file mode 100644 index 7dd2bae7305..00000000000 --- a/misc/tellico/files/patch-gentoo-kf5-5.61-headers +++ /dev/null @@ -1,48 +0,0 @@ -From 43851a0a655a3a961f289087bdea989aa32cc028 Mon Sep 17 00:00:00 2001 -From: Luca Beltrame -Date: Sun, 21 Jul 2019 09:21:16 +0200 -Subject: Fix build with Qt 5.13 - -(cherry picked from commit 43e6bbb4721adc83d8b2a77bd51d9efaf7aefd6b) ---- - src/gui/datewidget.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gui/datewidget.cpp b/src/gui/datewidget.cpp -index 724370e..e6502bb 100644 ---- src/gui/datewidget.cpp -+++ src/gui/datewidget.cpp -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -cgit v1.1 - -From d3c56eca11cd059d4348ab6696822c23d85af61a Mon Sep 17 00:00:00 2001 -From: Robby Stephenson -Date: Sun, 21 Jul 2019 19:17:35 -0400 -Subject: Fix apparent build problem on Jenkins - ---- - src/mainwindow.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp -index d8348e8..8250c56 100644 ---- src/mainwindow.cpp -+++ src/mainwindow.cpp -@@ -108,6 +108,7 @@ - #include - #include - #include -+#include - - #include - --- -cgit v1.1 diff --git a/misc/tellico/pkg-plist b/misc/tellico/pkg-plist index 4d3868408ec..2f1983f9cdf 100644 --- a/misc/tellico/pkg-plist +++ b/misc/tellico/pkg-plist @@ -227,7 +227,6 @@ share/locale/gl/LC_MESSAGES/tellico.mo share/locale/hu/LC_MESSAGES/tellico.mo share/locale/ia/LC_MESSAGES/tellico.mo share/locale/it/LC_MESSAGES/tellico.mo -share/locale/ja/LC_MESSAGES/tellico.mo share/locale/kk/LC_MESSAGES/tellico.mo share/locale/ko/LC_MESSAGES/tellico.mo share/locale/lt/LC_MESSAGES/tellico.mo @@ -307,6 +306,7 @@ share/mime/packages/tellico.xml %%DATADIR%%/pics/gcstar.png %%DATADIR%%/pics/goodreads.png %%DATADIR%%/pics/griffith.png +%%DATADIR%%/pics/librarything.png %%DATADIR%%/pics/nocover_album.png %%DATADIR%%/pics/nocover_bibtex.png %%DATADIR%%/pics/nocover_boardgame.png diff --git a/multimedia/rav1e/Makefile b/multimedia/rav1e/Makefile index bc651edf687..e4d8b15f9cc 100644 --- a/multimedia/rav1e/Makefile +++ b/multimedia/rav1e/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= rav1e -PORTVERSION= s20191104 -PORTREVISION= 1 +DISTVERSION= 0.1.0 CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org @@ -17,7 +16,6 @@ BUILD_DEPENDS_amd64= nasm:devel/nasm USES= cargo USE_GITHUB= yes GH_ACCOUNT= xiph -GH_TAGNAME= 9e1c7110 PLIST_FILES= bin/${PORTNAME} CARGO_CRATES= adler32-1.0.4 \ @@ -27,7 +25,6 @@ CARGO_CRATES= adler32-1.0.4 \ arbitrary-0.2.0 \ arc-swap-0.4.3 \ arg_enum_proc_macro-0.3.0 \ - arrayvec-0.4.12 \ arrayvec-0.5.1 \ atty-0.2.13 \ autocfg-0.1.7 \ @@ -42,8 +39,8 @@ CARGO_CRATES= adler32-1.0.4 \ byteorder-1.3.2 \ c2-chacha-0.2.3 \ cast-0.2.2 \ - cc-1.0.46 \ - cexpr-0.3.5 \ + cc-1.0.47 \ + cexpr-0.3.6 \ cfg-if-0.1.10 \ chrono-0.4.9 \ clang-sys-0.28.1 \ @@ -53,10 +50,11 @@ CARGO_CRATES= adler32-1.0.4 \ crc32fast-1.2.0 \ criterion-0.3.0 \ criterion-plot-0.4.0 \ - crossbeam-deque-0.7.1 \ - crossbeam-epoch-0.7.2 \ + crossbeam-deque-0.7.2 \ + crossbeam-epoch-0.8.0 \ crossbeam-queue-0.1.2 \ crossbeam-utils-0.6.6 \ + crossbeam-utils-0.7.0 \ csv-1.1.1 \ csv-core-0.1.6 \ ctor-0.1.12 \ @@ -82,9 +80,8 @@ CARGO_CRATES= adler32-1.0.4 \ libloading-0.5.2 \ log-0.4.8 \ memchr-2.2.1 \ - memoffset-0.5.2 \ + memoffset-0.5.3 \ metadeps-1.1.2 \ - nodrop-0.1.14 \ nom-4.2.3 \ noop_proc_macro-0.1.0 \ num-derive-0.3.0 \ @@ -136,8 +133,8 @@ CARGO_CRATES= adler32-1.0.4 \ signal-hook-registry-1.1.1 \ simd_helpers-0.1.0 \ strsim-0.8.0 \ - syn-1.0.7 \ - synstructure-0.12.1 \ + syn-1.0.8 \ + synstructure-0.12.2 \ termcolor-1.0.5 \ termios-0.3.1 \ textwrap-0.11.0 \ diff --git a/multimedia/rav1e/distinfo b/multimedia/rav1e/distinfo index 6bda4047f12..8f5e2747398 100644 --- a/multimedia/rav1e/distinfo +++ b/multimedia/rav1e/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1572907911 +TIMESTAMP = 1573276833 SHA256 (rust/crates/adler32-1.0.4.tar.gz) = 5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2 SIZE (rust/crates/adler32-1.0.4.tar.gz) = 5105 SHA256 (rust/crates/aho-corasick-0.7.6.tar.gz) = 58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d @@ -13,8 +13,6 @@ SHA256 (rust/crates/arc-swap-0.4.3.tar.gz) = f1a1eca3195b729bbd64e292ef2f5fff6b1 SIZE (rust/crates/arc-swap-0.4.3.tar.gz) = 48193 SHA256 (rust/crates/arg_enum_proc_macro-0.3.0.tar.gz) = 9bc19845baa31d32d189d8020bc8d76bf735e4587c9eba9cf561003ba4c93908 SIZE (rust/crates/arg_enum_proc_macro-0.3.0.tar.gz) = 4213 -SHA256 (rust/crates/arrayvec-0.4.12.tar.gz) = cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9 -SIZE (rust/crates/arrayvec-0.4.12.tar.gz) = 26551 SHA256 (rust/crates/arrayvec-0.5.1.tar.gz) = cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8 SIZE (rust/crates/arrayvec-0.5.1.tar.gz) = 26816 SHA256 (rust/crates/atty-0.2.13.tar.gz) = 1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90 @@ -43,10 +41,10 @@ SHA256 (rust/crates/c2-chacha-0.2.3.tar.gz) = 214238caa1bf3a496ec3392968969cab85 SIZE (rust/crates/c2-chacha-0.2.3.tar.gz) = 13336 SHA256 (rust/crates/cast-0.2.2.tar.gz) = 926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427 SIZE (rust/crates/cast-0.2.2.tar.gz) = 10318 -SHA256 (rust/crates/cc-1.0.46.tar.gz) = 0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c -SIZE (rust/crates/cc-1.0.46.tar.gz) = 49453 -SHA256 (rust/crates/cexpr-0.3.5.tar.gz) = a7fa24eb00d5ffab90eaeaf1092ac85c04c64aaf358ea6f84505b8116d24c6af -SIZE (rust/crates/cexpr-0.3.5.tar.gz) = 16938 +SHA256 (rust/crates/cc-1.0.47.tar.gz) = aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8 +SIZE (rust/crates/cc-1.0.47.tar.gz) = 49645 +SHA256 (rust/crates/cexpr-0.3.6.tar.gz) = fce5b5fb86b0c57c20c834c1b412fd09c77c8a59b9473f86272709e78874cd1d +SIZE (rust/crates/cexpr-0.3.6.tar.gz) = 16904 SHA256 (rust/crates/cfg-if-0.1.10.tar.gz) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822 SIZE (rust/crates/cfg-if-0.1.10.tar.gz) = 7933 SHA256 (rust/crates/chrono-0.4.9.tar.gz) = e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68 @@ -65,14 +63,16 @@ SHA256 (rust/crates/criterion-0.3.0.tar.gz) = 938703e165481c8d612ea3479ac8342e56 SIZE (rust/crates/criterion-0.3.0.tar.gz) = 87281 SHA256 (rust/crates/criterion-plot-0.4.0.tar.gz) = eccdc6ce8bbe352ca89025bee672aa6d24f4eb8c53e3a8b5d1bc58011da072a2 SIZE (rust/crates/criterion-plot-0.4.0.tar.gz) = 17204 -SHA256 (rust/crates/crossbeam-deque-0.7.1.tar.gz) = b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71 -SIZE (rust/crates/crossbeam-deque-0.7.1.tar.gz) = 19407 -SHA256 (rust/crates/crossbeam-epoch-0.7.2.tar.gz) = fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9 -SIZE (rust/crates/crossbeam-epoch-0.7.2.tar.gz) = 38134 +SHA256 (rust/crates/crossbeam-deque-0.7.2.tar.gz) = c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca +SIZE (rust/crates/crossbeam-deque-0.7.2.tar.gz) = 19557 +SHA256 (rust/crates/crossbeam-epoch-0.8.0.tar.gz) = 5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac +SIZE (rust/crates/crossbeam-epoch-0.8.0.tar.gz) = 38711 SHA256 (rust/crates/crossbeam-queue-0.1.2.tar.gz) = 7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b SIZE (rust/crates/crossbeam-queue-0.1.2.tar.gz) = 14104 SHA256 (rust/crates/crossbeam-utils-0.6.6.tar.gz) = 04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6 SIZE (rust/crates/crossbeam-utils-0.6.6.tar.gz) = 32836 +SHA256 (rust/crates/crossbeam-utils-0.7.0.tar.gz) = ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4 +SIZE (rust/crates/crossbeam-utils-0.7.0.tar.gz) = 34202 SHA256 (rust/crates/csv-1.1.1.tar.gz) = 37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d SIZE (rust/crates/csv-1.1.1.tar.gz) = 890406 SHA256 (rust/crates/csv-core-0.1.6.tar.gz) = 9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c @@ -123,12 +123,10 @@ SHA256 (rust/crates/log-0.4.8.tar.gz) = 14b6052be84e6b71ab17edffc2eeabf5c2c3ae1f SIZE (rust/crates/log-0.4.8.tar.gz) = 31297 SHA256 (rust/crates/memchr-2.2.1.tar.gz) = 88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e SIZE (rust/crates/memchr-2.2.1.tar.gz) = 20862 -SHA256 (rust/crates/memoffset-0.5.2.tar.gz) = 4a85c1a8c329f11437034d7313dca647c79096523533a1c79e86f1d0f657c7cc -SIZE (rust/crates/memoffset-0.5.2.tar.gz) = 6085 +SHA256 (rust/crates/memoffset-0.5.3.tar.gz) = 75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9 +SIZE (rust/crates/memoffset-0.5.3.tar.gz) = 6107 SHA256 (rust/crates/metadeps-1.1.2.tar.gz) = 73b122901b3a675fac8cecf68dcb2f0d3036193bc861d1ac0e1c337f7d5254c2 SIZE (rust/crates/metadeps-1.1.2.tar.gz) = 2768 -SHA256 (rust/crates/nodrop-0.1.14.tar.gz) = 72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb -SIZE (rust/crates/nodrop-0.1.14.tar.gz) = 7667 SHA256 (rust/crates/nom-4.2.3.tar.gz) = 2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6 SIZE (rust/crates/nom-4.2.3.tar.gz) = 115343 SHA256 (rust/crates/noop_proc_macro-0.1.0.tar.gz) = 1a473e6edb32540aeffd66d97d70233820bd0236bb796f11bca22a108d31db71 @@ -231,10 +229,10 @@ SHA256 (rust/crates/simd_helpers-0.1.0.tar.gz) = 95890f873bec569a0362c235787f3ac SIZE (rust/crates/simd_helpers-0.1.0.tar.gz) = 1527 SHA256 (rust/crates/strsim-0.8.0.tar.gz) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a SIZE (rust/crates/strsim-0.8.0.tar.gz) = 9309 -SHA256 (rust/crates/syn-1.0.7.tar.gz) = 0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c -SIZE (rust/crates/syn-1.0.7.tar.gz) = 191626 -SHA256 (rust/crates/synstructure-0.12.1.tar.gz) = 3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203 -SIZE (rust/crates/synstructure-0.12.1.tar.gz) = 17424 +SHA256 (rust/crates/syn-1.0.8.tar.gz) = 661641ea2aa15845cddeb97dad000d22070bb5c1fb456b96c1cba883ec691e92 +SIZE (rust/crates/syn-1.0.8.tar.gz) = 191978 +SHA256 (rust/crates/synstructure-0.12.2.tar.gz) = 575be94ccb86e8da37efb894a87e2b660be299b41d8ef347f9d6d79fbe61b1ba +SIZE (rust/crates/synstructure-0.12.2.tar.gz) = 17501 SHA256 (rust/crates/termcolor-1.0.5.tar.gz) = 96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e SIZE (rust/crates/termcolor-1.0.5.tar.gz) = 14526 SHA256 (rust/crates/termios-0.3.1.tar.gz) = 72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625 @@ -275,5 +273,5 @@ SHA256 (rust/crates/wincolor-1.0.2.tar.gz) = 96f5016b18804d24db43cebf3c77269e756 SIZE (rust/crates/wincolor-1.0.2.tar.gz) = 4821 SHA256 (rust/crates/y4m-0.4.0.tar.gz) = 2c425c38ba38d41870da788c43d9be4af8c28398e45e606faeccc5acbb8c35a3 SIZE (rust/crates/y4m-0.4.0.tar.gz) = 11679 -SHA256 (xiph-rav1e-s20191104-9e1c7110_GH0.tar.gz) = 2c55d88fbf4e0d78850ef34837eff0a36946411cb5cf6315f528df257e6f6748 -SIZE (xiph-rav1e-s20191104-9e1c7110_GH0.tar.gz) = 636775 +SHA256 (xiph-rav1e-0.1.0_GH0.tar.gz) = 00395087eaba4778d17878924e007716e2f399116b8011bf057fd54cc528a6cb +SIZE (xiph-rav1e-0.1.0_GH0.tar.gz) = 637375 diff --git a/news/cleanfeed/Makefile b/news/cleanfeed/Makefile index 38ceeee9686..9d36568f89a 100644 --- a/news/cleanfeed/Makefile +++ b/news/cleanfeed/Makefile @@ -2,9 +2,12 @@ # $FreeBSD$ PORTNAME= cleanfeed -PORTVERSION= 20110224 +DISTVERSION= 20190602 CATEGORIES= news -MASTER_SITES= http://www.mixmin.net/cleanfeed/ + +USE_GITHUB= yes +GH_ACCOUNT= crooks +GH_TAGNAME= b3c6bcf6e34a6d35cad402d34c7ff76aba481c6d MAINTAINER= kbowling@FreeBSD.org COMMENT= Spam filter for Usenet news servers @@ -19,18 +22,17 @@ SHAREOWN= news SHAREGRP= news INSTALL+= -b PKGDEINSTALL= ${PKGINSTALL} -WRKSRC= ${WRKDIR}/${PORTNAME} post-patch: - @${REINPLACE_CMD} -e "/debug_batch_directory/s:'.*':'/var/log/cleanfeed':" ${WRKSRC}/etc/cleanfeed.local + @${REINPLACE_CMD} -e "/debug_batch_directory/s:'.*':'/var/log/cleanfeed':" ${WRKSRC}/samples/cleanfeed.local do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/news/cleanfeed/etc .for f in bad_adult_paths bad_body bad_cancel_paths bad_from bad_groups \ bad_hosts bad_paths bad_subject bad_url - @${INSTALL_DATA} ${WRKSRC}/etc/${f} ${STAGEDIR}${PREFIX}/news/cleanfeed/etc + @${INSTALL_DATA} ${WRKSRC}/samples/${f} ${STAGEDIR}${PREFIX}/news/cleanfeed/etc .endfor - @${INSTALL_DATA} ${WRKSRC}/etc/cleanfeed.local \ + @${INSTALL_DATA} ${WRKSRC}/samples/cleanfeed.local \ ${STAGEDIR}${PREFIX}/news/cleanfeed/etc/cleanfeed.local.sample @${MKDIR} ${STAGEDIR}${PREFIX}/news/bin/filter @${INSTALL_DATA} ${WRKSRC}/cleanfeed ${STAGEDIR}${PREFIX}/news/bin/filter diff --git a/news/cleanfeed/distinfo b/news/cleanfeed/distinfo index af0beb3df9b..25c8bbe33b3 100644 --- a/news/cleanfeed/distinfo +++ b/news/cleanfeed/distinfo @@ -1,2 +1,3 @@ -SHA256 (cleanfeed-20110224.tar.gz) = 2cbcfcae28edd6ef7e6127f8b011f33f969dc4fd1f6ae84b46ba28ed62b6c4bf -SIZE (cleanfeed-20110224.tar.gz) = 29476 +TIMESTAMP = 1572996270 +SHA256 (crooks-cleanfeed-20190602-b3c6bcf6e34a6d35cad402d34c7ff76aba481c6d_GH0.tar.gz) = 88a4d4eacad05e2171f308158e9d6d5c64f4d944c605272425e0f9055be4f2b7 +SIZE (crooks-cleanfeed-20190602-b3c6bcf6e34a6d35cad402d34c7ff76aba481c6d_GH0.tar.gz) = 58644 diff --git a/news/inn/Makefile b/news/inn/Makefile index e72edae3741..845972dd969 100644 --- a/news/inn/Makefile +++ b/news/inn/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= inn -PORTVERSION= 2.6.1 +PORTVERSION= 2.6.3 CATEGORIES= news MASTER_SITES= ISC/${PORTNAME} @@ -58,11 +58,10 @@ CONFIGURE_ARGS+= --mandir=${MANPREFIX}/man \ --datarootdir=${INN_SHAREDIR} \ --with-perl -UUCP_RNEWS_CONFIGURE_ON=--enable-uucp-rnews UUCP_RNEWS_RUN_DEPENDS= uucp:net/freebsd-uucp -INNLIB_LONG= 4.0.0 -LIBVER_LONG= 3.0.1 +INNLIB_LONG= 6.0.0 +LIBVER_LONG= 3.0.3 PLIST_SUB+= LIBVER=${LIBVER_LONG:R:R} LIBVER_LONG=${LIBVER_LONG} \ INNLIB=${INNLIB_LONG:R:R} INNLIB_LONG=${INNLIB_LONG} diff --git a/news/inn/distinfo b/news/inn/distinfo index 6c0be88ddd6..c2df8782098 100644 --- a/news/inn/distinfo +++ b/news/inn/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1482846642 -SHA256 (inn-2.6.1.tar.gz) = 50f03516d39922f5c4db68915d2a70c8d5ffe8c14a16ba01029c148700523bda -SIZE (inn-2.6.1.tar.gz) = 2570558 +TIMESTAMP = 1572998169 +SHA256 (inn-2.6.3.tar.gz) = bd914ac421f8e71a36dc95cef0655a05dd162eb68f5893cc4028642209015256 +SIZE (inn-2.6.3.tar.gz) = 2586168 diff --git a/news/inn/pkg-plist b/news/inn/pkg-plist index 38b4f999d57..f086f964265 100644 --- a/news/inn/pkg-plist +++ b/news/inn/pkg-plist @@ -84,7 +84,7 @@ bin/procbatch bin/prunehistory bin/pullnews bin/rc.news -bin/rnews +@(,uucp,4550) bin/rnews bin/rnews.libexec/c7unbatch bin/rnews.libexec/decode bin/rnews.libexec/encode diff --git a/science/highfive/Makefile b/science/highfive/Makefile index 685fddcfe1d..c1f1d129fe5 100644 --- a/science/highfive/Makefile +++ b/science/highfive/Makefile @@ -2,7 +2,7 @@ PORTNAME= highfive DISTVERSIONPREFIX= v -DISTVERSION= 2.1 +DISTVERSION= 2.1.1 CATEGORIES= science devel MAINTAINER= yuri@FreeBSD.org @@ -27,7 +27,7 @@ NO_ARCH= yes do-test: @cd ${BUILD_WRKSRC} && \ - ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DHIGHFIVE_UNIT_TESTS:BOOL=ON -DUSE_EIGEN:BOOL=ON -DUSE_XTENSOR=ON ${CMAKE_SOURCE_PATH} && \ + ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -DHIGHFIVE_UNIT_TESTS:BOOL=ON -DUSE_BOOST=ON -DUSE_EIGEN:BOOL=ON -DUSE_XTENSOR=ON ${CMAKE_SOURCE_PATH} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} && \ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} test diff --git a/science/highfive/distinfo b/science/highfive/distinfo index 20331678d65..82022f1bc65 100644 --- a/science/highfive/distinfo +++ b/science/highfive/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1572742721 -SHA256 (BlueBrain-HighFive-v2.1_GH0.tar.gz) = cc9e93baecc939c6984f220643338092b7e71ef666cb1e1c80f3dfde0eaa89f2 -SIZE (BlueBrain-HighFive-v2.1_GH0.tar.gz) = 82569 +TIMESTAMP = 1573402535 +SHA256 (BlueBrain-HighFive-v2.1.1_GH0.tar.gz) = 52cffeda0d018f020f48e5460c051d5c2031c3a3c82133a21527f186a0c1650e +SIZE (BlueBrain-HighFive-v2.1.1_GH0.tar.gz) = 82714 diff --git a/security/bcwipe/Makefile b/security/bcwipe/Makefile index 0b0369c9897..11fb03bab33 100644 --- a/security/bcwipe/Makefile +++ b/security/bcwipe/Makefile @@ -4,15 +4,12 @@ PORTNAME= bcwipe PORTVERSION= 1.9.13 CATEGORIES= security -MASTER_SITES= http://www.jetico.com/linux/ \ - http://bsd.desa-hosting.de/distfiles/security/ +MASTER_SITES= http://www.jetico.com/linux/ DISTNAME= BCWipe-${PORTVERSION:S/./-/g:S/-/./} MAINTAINER= cy@FreeBSD.org COMMENT= BCWipe securely erases data from magnetic and solid-state memory -BROKEN= unfetchable - NO_CDROM= Non-commercial distribution and use only USES= cpe diff --git a/security/nist-kat/Makefile b/security/nist-kat/Makefile index 439c719cd77..b022211fb49 100644 --- a/security/nist-kat/Makefile +++ b/security/nist-kat/Makefile @@ -5,7 +5,7 @@ PORTNAME= nist-kat DISTVERSION= 0.0.2015.02.23 PORTREVISION= 1 CATEGORIES= security -BASE_URL= http://csrc.nist.gov/groups/STM/cavp/documents +BASE_URL= https://csrc.nist.gov/groups/STM/cavp/documents MASTER_SITES= ${BASE_URL}/aes/:aes MASTER_SITES+= ${BASE_URL}/des/:des MASTER_SITES+= ${BASE_URL}/mac/:mac @@ -21,8 +21,6 @@ DISTFILES+= shabytetestvectors.zip:shs MAINTAINER= jmg@FreeBSD.org COMMENT= Collection of NIST's Known Answer Test Vectors -BROKEN= unfetchable - LICENSE= PD # We want each dist file in it's own subdir diff --git a/security/sshguard/Makefile b/security/sshguard/Makefile index d5837c46359..e4a28b189e8 100644 --- a/security/sshguard/Makefile +++ b/security/sshguard/Makefile @@ -3,7 +3,7 @@ PORTNAME= sshguard PORTVERSION= 2.4.0 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= security MASTER_SITES= SF/sshguard/sshguard/${PORTVERSION} diff --git a/security/sshguard/files/patch-src_sshguard.in b/security/sshguard/files/patch-src_sshguard.in new file mode 100644 index 00000000000..6881e162028 --- /dev/null +++ b/security/sshguard/files/patch-src_sshguard.in @@ -0,0 +1,19 @@ +--- src/sshguard.in.orig 2019-05-23 22:25:17 UTC ++++ src/sshguard.in +@@ -97,14 +97,8 @@ elif [ -z "$tailcmd" ]; then + exit 1 + fi + +-if [ ! -z "$PID_FILE" ]; then +- if [ ! -e "$PID_FILE" ]; then +- echo "$$" > $PID_FILE +- else +- err "$PID_FILE already exists; is SSHGuard already running?" +- exit 1 +- fi +-fi ++# Already checked by rc(8) ++echo "$$" > $PID_FILE + + # Make sure to kill entire process group (subshell) on exit/interrupts. + trap "clean_and_exit" INT TERM diff --git a/sysutils/dsbsu/Makefile b/sysutils/dsbsu/Makefile index a89e52489d8..47bec7b1924 100644 --- a/sysutils/dsbsu/Makefile +++ b/sysutils/dsbsu/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= dsbsu -PORTVERSION= 0.1 -PORTREVISION= 1 +PORTVERSION= 0.1.1 CATEGORIES= sysutils MASTER_SITES= http://freeshell.de/~mk/download/ @@ -12,7 +11,7 @@ COMMENT= Qt frontend to su(1) LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -USES= compiler:c++11-lang gl qmake qt:5 tar:tgz +USES= compiler:c++11-lang gl qmake qt:5 tar:tgz xorg USE_GL= gl USE_QT= buildtools_build core gui linguisttools_build widgets diff --git a/sysutils/dsbsu/distinfo b/sysutils/dsbsu/distinfo index 8968b4de6fb..032f2ed19b7 100644 --- a/sysutils/dsbsu/distinfo +++ b/sysutils/dsbsu/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1552168791 -SHA256 (dsbsu-0.1.tgz) = 54f6e1d64e3c7532d9df9afac306dee5053a0443fc8d8ec000e199dec1e7e4ea -SIZE (dsbsu-0.1.tgz) = 9607 +TIMESTAMP = 1573382523 +SHA256 (dsbsu-0.1.1.tgz) = 89bcdb64a1ff0398ebcec6fd2acb522958d6289a7b6092c7d601e1cd05eb9b61 +SIZE (dsbsu-0.1.1.tgz) = 9621 diff --git a/textproc/ibus-typing-booster/Makefile b/textproc/ibus-typing-booster/Makefile index 797111660ad..39dc78f6fb3 100644 --- a/textproc/ibus-typing-booster/Makefile +++ b/textproc/ibus-typing-booster/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= ibus-typing-booster -PORTVERSION= 2.7.1 +PORTVERSION= 2.7.2 CATEGORIES= textproc MAINTAINER= thierry@FreeBSD.org diff --git a/textproc/ibus-typing-booster/distinfo b/textproc/ibus-typing-booster/distinfo index ed1e819375f..b138dc9765e 100644 --- a/textproc/ibus-typing-booster/distinfo +++ b/textproc/ibus-typing-booster/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1572689517 -SHA256 (mike-fabian-ibus-typing-booster-2.7.1_GH0.tar.gz) = a31a8c004d7c4ab12205faef0804e07244ebdccfdb846a8e2d1751805c7de802 -SIZE (mike-fabian-ibus-typing-booster-2.7.1_GH0.tar.gz) = 7362109 +TIMESTAMP = 1573420386 +SHA256 (mike-fabian-ibus-typing-booster-2.7.2_GH0.tar.gz) = e83bf09a3bfd53f5d40cdec0e9da4b5e8357497d6643500b734846ea3d4b3a87 +SIZE (mike-fabian-ibus-typing-booster-2.7.2_GH0.tar.gz) = 7393501 diff --git a/textproc/ibus-typing-booster/pkg-plist b/textproc/ibus-typing-booster/pkg-plist index e3c565902d1..ddc89ea268b 100644 --- a/textproc/ibus-typing-booster/pkg-plist +++ b/textproc/ibus-typing-booster/pkg-plist @@ -932,6 +932,9 @@ share/locale/nl/LC_MESSAGES/ibus-typing-booster.mo share/locale/or/LC_MESSAGES/ibus-typing-booster.mo share/locale/pl/LC_MESSAGES/ibus-typing-booster.mo share/locale/pt_BR/LC_MESSAGES/ibus-typing-booster.mo +share/locale/pt_PT/LC_MESSAGES/ibus-typing-booster.mo +share/locale/sw/LC_MESSAGES/ibus-typing-booster.mo share/locale/uk/LC_MESSAGES/ibus-typing-booster.mo share/locale/zh_CN/LC_MESSAGES/ibus-typing-booster.mo +share/locale/zh_TW/LC_MESSAGES/ibus-typing-booster.mo share/metainfo/typing-booster.appdata.xml diff --git a/textproc/py-transifex-client/Makefile b/textproc/py-transifex-client/Makefile index d5b98cb234d..ae1f16b1e07 100644 --- a/textproc/py-transifex-client/Makefile +++ b/textproc/py-transifex-client/Makefile @@ -3,6 +3,7 @@ PORTNAME= transifex-client PORTVERSION= 0.13.6 +PORTREVISION= 1 CATEGORIES= textproc python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,7 +14,7 @@ COMMENT= Command line interface for Transifex LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} # <1.25 +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}urllib3>0:net/py-urllib3@${PY_FLAVOR} # <1.26 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}requests>=2.19.1:www/py-requests@${PY_FLAVOR} # <3.0.0 RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}six>=1.11.0:devel/py-six@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}python-slugify>=1.26.0:textproc/py-python-slugify@${PY_FLAVOR} diff --git a/textproc/py-transifex-client/files/patch-requirements.txt b/textproc/py-transifex-client/files/patch-requirements.txt index c5a44743f11..c761ee94da5 100644 --- a/textproc/py-transifex-client/files/patch-requirements.txt +++ b/textproc/py-transifex-client/files/patch-requirements.txt @@ -1,11 +1,11 @@ ---- requirements.txt.orig 2019-04-25 16:11:57 UTC +--- requirements.txt.orig 2018-10-17 13:27:37 UTC +++ requirements.txt @@ -1,4 +1,4 @@ -urllib3<1.24 -six==1.11.0 -requests>=2.19.1,<3.0.0 -python-slugify==1.2.6 -+urllib3<1.25 ++urllib3<1.26 +six>=1.11.0 +requests>=2.19.1 +python-slugify>=1.2.6 diff --git a/textproc/yq/Makefile b/textproc/yq/Makefile index bc9f85e89ba..11005aea825 100644 --- a/textproc/yq/Makefile +++ b/textproc/yq/Makefile @@ -2,7 +2,7 @@ PORTNAME= yq DISTVERSIONPREFIX= v -DISTVERSION= 2.8.1 +DISTVERSION= 2.9.2 CATEGORIES= textproc python MASTER_SITES= CHEESESHOP diff --git a/textproc/yq/distinfo b/textproc/yq/distinfo index e1f41fc2370..bc5d912325d 100644 --- a/textproc/yq/distinfo +++ b/textproc/yq/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1572506560 -SHA256 (kislyuk-yq-v2.8.1_GH0.tar.gz) = 7d0fb9abd28c81302442dfb99ed3300d5c04b38676fe75afc7f22a0a38502601 -SIZE (kislyuk-yq-v2.8.1_GH0.tar.gz) = 17465 +TIMESTAMP = 1573402638 +SHA256 (kislyuk-yq-v2.9.2_GH0.tar.gz) = 7627e11a764dc7061ee08a5fe3e106600b4d2110260dd87193998f6b48f12ad1 +SIZE (kislyuk-yq-v2.9.2_GH0.tar.gz) = 20941 diff --git a/x11-toolkits/gnustep-gui/Makefile b/x11-toolkits/gnustep-gui/Makefile index 74a6d79c7f8..6c349d9098b 100644 --- a/x11-toolkits/gnustep-gui/Makefile +++ b/x11-toolkits/gnustep-gui/Makefile @@ -4,7 +4,7 @@ PORTNAME= gnustep-gui DISTVERSIONPREFIX= gui- DISTVERSION= 0_27_0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11-toolkits gnustep MAINTAINER= theraven@FreeBSD.org diff --git a/x11-toolkits/libgdiplus/Makefile b/x11-toolkits/libgdiplus/Makefile index 75a0971435b..7ca4f4e5ce7 100644 --- a/x11-toolkits/libgdiplus/Makefile +++ b/x11-toolkits/libgdiplus/Makefile @@ -3,7 +3,7 @@ PORTNAME= libgdiplus PORTVERSION= 5.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11-toolkits MASTER_SITES= http://download.mono-project.com/sources/${PORTNAME}/ diff --git a/x11-toolkits/libgdiplus/files/patch-src_gifcodec.c b/x11-toolkits/libgdiplus/files/patch-src_gifcodec.c new file mode 100644 index 00000000000..e20132aea9f --- /dev/null +++ b/x11-toolkits/libgdiplus/files/patch-src_gifcodec.c @@ -0,0 +1,307 @@ +--- src/gifcodec.c.orig 2018-03-28 19:27:53 UTC ++++ src/gifcodec.c +@@ -39,6 +39,292 @@ GUID gdip_gif_image_format_guid = {0xb96 + + #include "gifcodec.h" + ++#define COLOR_ARRAY_SIZE 32768 ++#define BITS_PER_PRIM_COLOR 5 ++#define MAX_PRIM_COLOR 0x1f ++ ++static int SortRGBAxis; ++ ++typedef struct QuantizedColorType { ++ GifByteType RGB[3]; ++ GifByteType NewColorIndex; ++ long Count; ++ struct QuantizedColorType *Pnext; ++} QuantizedColorType; ++ ++typedef struct NewColorMapType { ++ GifByteType RGBMin[3], RGBWidth[3]; ++ unsigned int NumEntries; /* # of QuantizedColorType in linked list below */ ++ unsigned long Count; /* Total number of pixels in all the entries */ ++ QuantizedColorType *QuantizedColors; ++} NewColorMapType; ++ ++ ++/**************************************************************************** ++ * Routine called by qsort to compare two entries. ++ ****************************************************************************/ ++static int ++SortCmpRtn(const void *Entry1, ++ const void *Entry2) { ++ ++ return (*((QuantizedColorType **) Entry1))->RGB[SortRGBAxis] - ++ (*((QuantizedColorType **) Entry2))->RGB[SortRGBAxis]; ++} ++ ++/****************************************************************************** ++ * Routine to subdivide the RGB space recursively using median cut in each ++ * axes alternatingly until ColorMapSize different cubes exists. ++ * The biggest cube in one dimension is subdivide unless it has only one entry. ++ * Returns GIF_ERROR if failed, otherwise GIF_OK. ++ ******************************************************************************/ ++static int ++SubdivColorMap(NewColorMapType * NewColorSubdiv, ++ unsigned int ColorMapSize, ++ unsigned int *NewColorMapSize) { ++ ++ int MaxSize; ++ unsigned int i, j, Index = 0, NumEntries, MinColor, MaxColor; ++ long Sum, Count; ++ QuantizedColorType *QuantizedColor, **SortArray; ++ ++ while (ColorMapSize > *NewColorMapSize) { ++ /* Find candidate for subdivision: */ ++ MaxSize = -1; ++ for (i = 0; i < *NewColorMapSize; i++) { ++ for (j = 0; j < 3; j++) { ++ if ((((int)NewColorSubdiv[i].RGBWidth[j]) > MaxSize) && ++ (NewColorSubdiv[i].NumEntries > 1)) { ++ MaxSize = NewColorSubdiv[i].RGBWidth[j]; ++ Index = i; ++ SortRGBAxis = j; ++ } ++ } ++ } ++ ++ if (MaxSize == -1) ++ return GIF_OK; ++ ++ /* Split the entry Index into two along the axis SortRGBAxis: */ ++ ++ /* Sort all elements in that entry along the given axis and split at ++ * the median. */ ++ SortArray = (QuantizedColorType **)malloc( ++ sizeof(QuantizedColorType *) * ++ NewColorSubdiv[Index].NumEntries); ++ if (SortArray == NULL) ++ return GIF_ERROR; ++ for (j = 0, QuantizedColor = NewColorSubdiv[Index].QuantizedColors; ++ j < NewColorSubdiv[Index].NumEntries && QuantizedColor != NULL; ++ j++, QuantizedColor = QuantizedColor->Pnext) ++ SortArray[j] = QuantizedColor; ++ ++ qsort(SortArray, NewColorSubdiv[Index].NumEntries, ++ sizeof(QuantizedColorType *), SortCmpRtn); ++ ++ /* Relink the sorted list into one: */ ++ for (j = 0; j < NewColorSubdiv[Index].NumEntries - 1; j++) ++ SortArray[j]->Pnext = SortArray[j + 1]; ++ SortArray[NewColorSubdiv[Index].NumEntries - 1]->Pnext = NULL; ++ NewColorSubdiv[Index].QuantizedColors = QuantizedColor = SortArray[0]; ++ free((char *)SortArray); ++ ++ /* Now simply add the Counts until we have half of the Count: */ ++ Sum = NewColorSubdiv[Index].Count / 2 - QuantizedColor->Count; ++ NumEntries = 1; ++ Count = QuantizedColor->Count; ++ while (QuantizedColor->Pnext != NULL && ++ (Sum -= QuantizedColor->Pnext->Count) >= 0 && ++ QuantizedColor->Pnext->Pnext != NULL) { ++ QuantizedColor = QuantizedColor->Pnext; ++ NumEntries++; ++ Count += QuantizedColor->Count; ++ } ++ /* Save the values of the last color of the first half, and first ++ * of the second half so we can update the Bounding Boxes later. ++ * Also as the colors are quantized and the BBoxes are full 0..255, ++ * they need to be rescaled. ++ */ ++ MaxColor = QuantizedColor->RGB[SortRGBAxis]; /* Max. of first half */ ++ /* coverity[var_deref_op] */ ++ MinColor = QuantizedColor->Pnext->RGB[SortRGBAxis]; /* of second */ ++ MaxColor <<= (8 - BITS_PER_PRIM_COLOR); ++ MinColor <<= (8 - BITS_PER_PRIM_COLOR); ++ ++ /* Partition right here: */ ++ NewColorSubdiv[*NewColorMapSize].QuantizedColors = ++ QuantizedColor->Pnext; ++ QuantizedColor->Pnext = NULL; ++ NewColorSubdiv[*NewColorMapSize].Count = Count; ++ NewColorSubdiv[Index].Count -= Count; ++ NewColorSubdiv[*NewColorMapSize].NumEntries = ++ NewColorSubdiv[Index].NumEntries - NumEntries; ++ NewColorSubdiv[Index].NumEntries = NumEntries; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[*NewColorMapSize].RGBMin[j] = ++ NewColorSubdiv[Index].RGBMin[j]; ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[j] = ++ NewColorSubdiv[Index].RGBWidth[j]; ++ } ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] = ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] + ++ NewColorSubdiv[*NewColorMapSize].RGBWidth[SortRGBAxis] - MinColor; ++ NewColorSubdiv[*NewColorMapSize].RGBMin[SortRGBAxis] = MinColor; ++ ++ NewColorSubdiv[Index].RGBWidth[SortRGBAxis] = ++ MaxColor - NewColorSubdiv[Index].RGBMin[SortRGBAxis]; ++ ++ (*NewColorMapSize)++; ++ } ++ ++ return GIF_OK; ++} ++ ++/****************************************************************************** ++ * Quantize high resolution image into lower one. Input image consists of a ++ * 2D array for each of the RGB colors with size Width by Height. There is no ++ * Color map for the input. Output is a quantized image with 2D array of ++ * indexes into the output color map. ++ * Note input image can be 24 bits at the most (8 for red/green/blue) and ++ * the output has 256 colors at the most (256 entries in the color map.). ++ * ColorMapSize specifies size of color map up to 256 and will be updated to ++ * real size before returning. ++ * Also non of the parameter are allocated by this routine. ++ * This function returns GIF_OK if succesfull, GIF_ERROR otherwise. ++ ******************************************************************************/ ++static int ++QuantizeBuffer(unsigned int Width, ++ unsigned int Height, ++ int *ColorMapSize, ++ GifByteType * RedInput, ++ GifByteType * GreenInput, ++ GifByteType * BlueInput, ++ GifByteType * OutputBuffer, ++ GifColorType * OutputColorMap) { ++ ++ unsigned int Index, NumOfEntries; ++ int i, j, MaxRGBError[3]; ++ unsigned int NewColorMapSize; ++ long Red, Green, Blue; ++ NewColorMapType NewColorSubdiv[256]; ++ QuantizedColorType *ColorArrayEntries, *QuantizedColor; ++ ++ ColorArrayEntries = (QuantizedColorType *)malloc( ++ sizeof(QuantizedColorType) * COLOR_ARRAY_SIZE); ++ if (ColorArrayEntries == NULL) { ++ return GIF_ERROR; ++ } ++ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) { ++ ColorArrayEntries[i].RGB[0] = i >> (2 * BITS_PER_PRIM_COLOR); ++ ColorArrayEntries[i].RGB[1] = (i >> BITS_PER_PRIM_COLOR) & ++ MAX_PRIM_COLOR; ++ ColorArrayEntries[i].RGB[2] = i & MAX_PRIM_COLOR; ++ ColorArrayEntries[i].Count = 0; ++ } ++ ++ /* Sample the colors and their distribution: */ ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ ColorArrayEntries[Index].Count++; ++ } ++ ++ /* Put all the colors in the first entry of the color map, and call the ++ * recursive subdivision process. */ ++ for (i = 0; i < 256; i++) { ++ NewColorSubdiv[i].QuantizedColors = NULL; ++ NewColorSubdiv[i].Count = NewColorSubdiv[i].NumEntries = 0; ++ for (j = 0; j < 3; j++) { ++ NewColorSubdiv[i].RGBMin[j] = 0; ++ NewColorSubdiv[i].RGBWidth[j] = 255; ++ } ++ } ++ ++ /* Find the non empty entries in the color table and chain them: */ ++ for (i = 0; i < COLOR_ARRAY_SIZE; i++) ++ if (ColorArrayEntries[i].Count > 0) ++ break; ++ QuantizedColor = NewColorSubdiv[0].QuantizedColors = &ColorArrayEntries[i]; ++ NumOfEntries = 1; ++ while (++i < COLOR_ARRAY_SIZE) ++ if (ColorArrayEntries[i].Count > 0) { ++ QuantizedColor->Pnext = &ColorArrayEntries[i]; ++ QuantizedColor = &ColorArrayEntries[i]; ++ NumOfEntries++; ++ } ++ QuantizedColor->Pnext = NULL; ++ ++ NewColorSubdiv[0].NumEntries = NumOfEntries; /* Different sampled colors */ ++ NewColorSubdiv[0].Count = ((long)Width) * Height; /* Pixels */ ++ NewColorMapSize = 1; ++ if (SubdivColorMap(NewColorSubdiv, *ColorMapSize, &NewColorMapSize) != ++ GIF_OK) { ++ free((char *)ColorArrayEntries); ++ return GIF_ERROR; ++ } ++ if (NewColorMapSize < *ColorMapSize) { ++ /* And clear rest of color map: */ ++ for (i = NewColorMapSize; i < *ColorMapSize; i++) ++ OutputColorMap[i].Red = OutputColorMap[i].Green = ++ OutputColorMap[i].Blue = 0; ++ } ++ ++ /* Average the colors in each entry to be the color to be used in the ++ * output color map, and plug it into the output color map itself. */ ++ for (i = 0; i < NewColorMapSize; i++) { ++ if ((j = NewColorSubdiv[i].NumEntries) > 0) { ++ QuantizedColor = NewColorSubdiv[i].QuantizedColors; ++ Red = Green = Blue = 0; ++ while (QuantizedColor) { ++ QuantizedColor->NewColorIndex = i; ++ Red += QuantizedColor->RGB[0]; ++ Green += QuantizedColor->RGB[1]; ++ Blue += QuantizedColor->RGB[2]; ++ QuantizedColor = QuantizedColor->Pnext; ++ } ++ OutputColorMap[i].Red = (Red << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Green = (Green << (8 - BITS_PER_PRIM_COLOR)) / j; ++ OutputColorMap[i].Blue = (Blue << (8 - BITS_PER_PRIM_COLOR)) / j; ++ } else ++ fprintf(stderr, ++ "\n%s: Null entry in quantized color map - that's weird.\n", ++ "libgdiplus"); ++ } ++ ++ /* Finally scan the input buffer again and put the mapped index in the ++ * output buffer. */ ++ MaxRGBError[0] = MaxRGBError[1] = MaxRGBError[2] = 0; ++ for (i = 0; i < (int)(Width * Height); i++) { ++ Index = ((RedInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ (2 * BITS_PER_PRIM_COLOR)) + ++ ((GreenInput[i] >> (8 - BITS_PER_PRIM_COLOR)) << ++ BITS_PER_PRIM_COLOR) + ++ (BlueInput[i] >> (8 - BITS_PER_PRIM_COLOR)); ++ Index = ColorArrayEntries[Index].NewColorIndex; ++ OutputBuffer[i] = Index; ++ if (MaxRGBError[0] < ABS(OutputColorMap[Index].Red - RedInput[i])) ++ MaxRGBError[0] = ABS(OutputColorMap[Index].Red - RedInput[i]); ++ if (MaxRGBError[1] < ABS(OutputColorMap[Index].Green - GreenInput[i])) ++ MaxRGBError[1] = ABS(OutputColorMap[Index].Green - GreenInput[i]); ++ if (MaxRGBError[2] < ABS(OutputColorMap[Index].Blue - BlueInput[i])) ++ MaxRGBError[2] = ABS(OutputColorMap[Index].Blue - BlueInput[i]); ++ } ++ ++#ifdef DEBUG ++ fprintf(stderr, ++ "Quantization L(0) errors: Red = %d, Green = %d, Blue = %d.\n", ++ MaxRGBError[0], MaxRGBError[1], MaxRGBError[2]); ++#endif /* DEBUG */ ++ ++ free((char *)ColorArrayEntries); ++ ++ *ColorMapSize = NewColorMapSize; ++ ++ return GIF_OK; ++} + + /* Data structure used for callback */ + typedef struct +@@ -852,11 +1138,7 @@ gdip_save_gif_image (void *stream, GpIma + } + } + if ( +-#if GIFLIB_MAJOR >= 5 +- GifQuantizeBuffer( +-#else + QuantizeBuffer( +-#endif + bitmap_data->width, bitmap_data->height, &cmap_size, + red, green, blue, pixbuf, cmap->Colors) == GIF_ERROR) { + goto error; diff --git a/x11-wm/Makefile b/x11-wm/Makefile index b61d3cf4625..080f26f6d0b 100644 --- a/x11-wm/Makefile +++ b/x11-wm/Makefile @@ -17,6 +17,7 @@ SUBDIR += bspwm SUBDIR += cage SUBDIR += ccsm + SUBDIR += chamfer SUBDIR += clementine-wm SUBDIR += compiz SUBDIR += compiz-fusion diff --git a/x11-wm/chamfer/Makefile b/x11-wm/chamfer/Makefile new file mode 100644 index 00000000000..11d3b878b03 --- /dev/null +++ b/x11-wm/chamfer/Makefile @@ -0,0 +1,55 @@ +# $FreeBSD$ + +PORTNAME= chamfer +DISTVERSION= s20191106 +CATEGORIES= x11-wm + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Tiling X11 window manager with Vulkan compositor + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \ + glslc:graphics/shaderc \ + glm>0:math/glm +LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \ + ${PY_BOOST} \ + libvulkan.so:graphics/vulkan-loader \ + libxcb-cursor.so:x11/xcb-util-cursor \ + libxcb-keysyms.so:x11/xcb-util-keysyms \ + libxcb-icccm.so:x11/xcb-util-wm +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}xlib>0:x11-toolkits/py-xlib@${PY_FLAVOR} + +USES= compiler:c++17-lang meson localbase pkgconfig python:3.3+ xorg +USE_GITHUB= yes +USE_XORG= xcb +GH_ACCOUNT= jaelpark +GH_PROJECT= ${PORTNAME}wm +GH_TAGNAME= 176bb1d +CXXFLAGS+= -Wno-narrowing + +post-patch: + @${REINPLACE_CMD} -e 's,/usr,${PREFIX},' \ + ${WRKSRC}/src/config.cpp ${WRKSRC}/src/main.cpp +# XXX import('python').find_installation().dependency() +# XXX https://github.com/mesonbuild/meson/issues/4788 + @${REINPLACE_CMD} -e '/boost/!s/python3/python-${PYTHON_VER}/' \ + -e '/boost/s/python3/python${PYTHON_SUFFIX}/' \ + ${WRKSRC}/meson.build + +do-install: + ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} \ + ${STAGEDIR}${PREFIX}/bin + ${MKDIR} ${STAGEDIR}${DATADIR}/shaders + ${INSTALL_DATA} ${INSTALL_WRKSRC}/*.spv \ + ${STAGEDIR}${DATADIR}/shaders + ${MKDIR} ${STAGEDIR}${DATADIR}/config + ${INSTALL_DATA} ${WRKSRC}/config/config.py \ + ${STAGEDIR}${DATADIR}/config/config.py.sample + ${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions/ + ${INSTALL_DATA} ${WRKSRC}/share/${PORTNAME}.desktop \ + ${STAGEDIR}${PREFIX}/share/xsessions/ + +.include diff --git a/x11-wm/chamfer/distinfo b/x11-wm/chamfer/distinfo new file mode 100644 index 00000000000..220c37cb92f --- /dev/null +++ b/x11-wm/chamfer/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1573053413 +SHA256 (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 9821401d30cfb7c3babdd63322d37318314a430f8dfba82b067559597146102e +SIZE (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 119191 diff --git a/x11-wm/chamfer/files/patch-main.cpp b/x11-wm/chamfer/files/patch-main.cpp new file mode 100644 index 00000000000..d88480bd121 --- /dev/null +++ b/x11-wm/chamfer/files/patch-main.cpp @@ -0,0 +1,13 @@ +- Add default shader path + +--- src/main.cpp.orig 2019-08-02 19:10:02 UTC ++++ src/main.cpp +@@ -806,7 +806,7 @@ int main(sint argc, const char **pargv){ + args::ValueFlag deviceIndexOpt(group_comp,"id","GPU to use by its index. By default the first device in the list of enumerated GPUs will be used.",{"device-index"}); + args::Flag debugLayersOpt(group_comp,"debugLayers","Enable Vulkan debug layers.",{"debug-layers",'l'},false); + args::Flag noScissoringOpt(group_comp,"noScissoring","Disable scissoring optimization.",{"no-scissoring"},false); +- args::ValueFlagList shaderPaths(group_comp,"path","Shader lookup path. SPIR-V shader objects are identified by an '.spv' extension. Multiple paths may be specified.",{"shader-path"}); ++ args::ValueFlagList shaderPaths(group_comp,"path","Shader lookup path. SPIR-V shader objects are identified by an '.spv' extension. Multiple paths may be specified.",{"shader-path"},{"/usr/share/chamfer/shaders"}); + + try{ + parser.ParseCLI(argc,pargv); diff --git a/x11-wm/chamfer/pkg-descr b/x11-wm/chamfer/pkg-descr new file mode 100644 index 00000000000..b94b30fe4a7 --- /dev/null +++ b/x11-wm/chamfer/pkg-descr @@ -0,0 +1,27 @@ +Chamferwm is a dynamic tiling window manager with a built-in Vulkan +based compositor. Besides aiming to be a fully featured and highly +configurable window manager, significant effort is put to provide a +complete control over the appearance of the desktop. With its shader +based customization system, Chamferwm enables rendering of arbitrary +window decorations, borders and effects, maximizing the potential for +visual personalization. + +Window manager: +- Dynamic horizontal and vertical tiling with gaps and stacking +- Specify container size restrictions, overlap when necessary +- Resize and translate individual containers in their place while + keeping the surrounding layout +- Floating containers and automatic dialog, dock, widget etc. handling +- Yank and paste containers to move them within the tree hierarchy + along with typical move operations +- Configuration with python, scriptable behaviour with client and + container specific callbacks +- Fully keyboard controllable + +Compositor: +- Vulkan renderer +- Arbitrary window decorations and borders with user supplied shaders +- Per-client materials +- Optional, alternatively use any other external compositor + +WWW: https://jaelpark.github.io/chamferwm-docs/ diff --git a/x11-wm/chamfer/pkg-plist b/x11-wm/chamfer/pkg-plist new file mode 100644 index 00000000000..545c3d58632 --- /dev/null +++ b/x11-wm/chamfer/pkg-plist @@ -0,0 +1,10 @@ +bin/chamfer +@sample %%DATADIR%%/config/config.py.sample +%%DATADIR%%/shaders/default_fragment.spv +%%DATADIR%%/shaders/default_geometry.spv +%%DATADIR%%/shaders/default_vertex.spv +%%DATADIR%%/shaders/frame_fragment.spv +%%DATADIR%%/shaders/frame_geometry.spv +%%DATADIR%%/shaders/frame_vertex.spv +%%DATADIR%%/shaders/solid_fragment.spv +share/xsessions/chamfer.desktop