parent
dbd1124adb
commit
a0dcdbf69b
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= xplanet
|
||||
PORTVERSION= 1.3.0
|
||||
PORTREVISION= 11
|
||||
PORTREVISION= 12
|
||||
CATEGORIES= astro geography
|
||||
MASTER_SITES= SF
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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<<EOF
|
||||
|
@ -10,7 +10,7 @@
|
|||
EOF
|
||||
|
||||
checkCompiler()
|
||||
@@ -982,7 +983,8 @@
|
||||
@@ -982,7 +983,8 @@ fi
|
||||
# Make dependency information.
|
||||
#
|
||||
cat>dummy.c<<EOF
|
||||
|
@ -20,7 +20,7 @@
|
|||
EOF
|
||||
capture cat dummy.c
|
||||
if capture "$CCOMPILER -c -M $MKDEPCOPTS dummy.c | grep '^dummy.o[ ]*:[ ]*dummy.c'"; then
|
||||
@@ -1629,7 +1631,7 @@
|
||||
@@ -1629,7 +1631,7 @@ pamconv(int num_msg, const struct pam_me
|
||||
{
|
||||
return(0);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
|||
{
|
||||
struct pam_conv conv = { pamconv };
|
||||
}
|
||||
@@ -1664,10 +1666,10 @@
|
||||
@@ -1664,10 +1666,10 @@ HAVE_JBIG="/*#define HAVE_JBIG 1*/"
|
||||
LIBJBIG=""
|
||||
if [ "$DISABLE_JBIG" != "yes" ]; then
|
||||
Note "Checking for JBIG library support"
|
||||
|
@ -42,7 +42,7 @@
|
|||
}
|
||||
if [ "x$LIBJBIG" = "x" ]; then
|
||||
Note "... not found. Disabling JBIG support"
|
||||
@@ -1832,17 +1834,48 @@
|
||||
@@ -1832,17 +1834,48 @@ for f in openlog pututxline; do
|
||||
done
|
||||
if [ "$ISGXX" = yes ]; then
|
||||
if [ -z "$CXXRUNTIME" ]; then
|
||||
|
@ -96,7 +96,7 @@
|
|||
CheckForLibrary $f -lc || {
|
||||
CheckForLibrary $f -liberty && {
|
||||
Note "Looks like we need -liberty for $f"
|
||||
@@ -1850,9 +1883,8 @@
|
||||
@@ -1850,9 +1883,8 @@ if [ "$ISGXX" = yes ]; then
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -107,7 +107,7 @@
|
|||
Note "Looks like -lm is the library for math functions."
|
||||
MACHDEPLIBS="$MACHDEPLIBS -lm"
|
||||
}
|
||||
@@ -2176,11 +2208,13 @@
|
||||
@@ -2176,11 +2208,13 @@ EmitConfigurationDefinitions()
|
||||
#
|
||||
CheckForFunc()
|
||||
{
|
||||
|
@ -122,7 +122,7 @@
|
|||
#
|
||||
# Look for a function declaration in system include files.
|
||||
#
|
||||
@@ -2397,6 +2431,7 @@
|
||||
@@ -2397,6 +2431,7 @@ EOF
|
||||
EOF
|
||||
}
|
||||
cat<<'EOF'
|
||||
|
@ -130,7 +130,7 @@
|
|||
extern char* malloc();
|
||||
static void
|
||||
boom(const char* msg)
|
||||
@@ -2448,7 +2483,7 @@
|
||||
@@ -2448,7 +2483,7 @@ CheckForStructExitStatus()
|
||||
echo "$i"
|
||||
done
|
||||
cat<<EOF
|
||||
|
@ -139,7 +139,7 @@
|
|||
{
|
||||
struct $decl x;
|
||||
x.ut_exit.e_exit = 0;
|
||||
@@ -2465,7 +2500,7 @@
|
||||
@@ -2465,7 +2500,7 @@ CheckForTimeZoneHandling()
|
||||
{
|
||||
(echo '#include <time.h>'
|
||||
cat<<EOF
|
||||
|
@ -148,7 +148,7 @@
|
|||
{
|
||||
struct tm x;
|
||||
char* cp;
|
||||
@@ -2484,7 +2519,7 @@
|
||||
@@ -2484,7 +2519,7 @@ CheckForTXCD()
|
||||
{
|
||||
cat>t.c<<EOF
|
||||
#include <sys/ioctl.h>
|
||||
|
@ -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<<EOF
|
||||
#include <stdio.h>
|
||||
|
@ -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<<EOF
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= phpstorm
|
||||
PORTVERSION= 2019.2.3
|
||||
PORTVERSION= 2019.2.4
|
||||
CATEGORIES= devel java
|
||||
MASTER_SITES= https://download-cf.jetbrains.com/webide/
|
||||
PKGNAMEPREFIX= jetbrains-
|
||||
|
@ -29,7 +29,7 @@ SHEBANG_FILES= bin/printenv.py bin/restart.py
|
|||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
WRKSRC= ${WRKDIR}/PhpStorm-192.6817.20
|
||||
WRKSRC= ${WRKDIR}/PhpStorm-192.7142.41
|
||||
|
||||
SUB_FILES= phpstorm phpstorm.desktop pkg-message
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1569615207
|
||||
SHA256 (jetbrains/PhpStorm-2019.2.3.tar.gz) = 31ccc8bb0866c6633de3a12676529f6c08c9218f381fa6b7edac7fe62b042a5f
|
||||
SIZE (jetbrains/PhpStorm-2019.2.3.tar.gz) = 357052855
|
||||
TIMESTAMP = 1572728821
|
||||
SHA256 (jetbrains/PhpStorm-2019.2.4.tar.gz) = 5447b56ec0fc3b98958080f929de347ebab279568e37ca9877f29a0421d1a8af
|
||||
SIZE (jetbrains/PhpStorm-2019.2.4.tar.gz) = 357490616
|
||||
|
|
|
@ -24,6 +24,7 @@ share/applications/phpstorm.desktop
|
|||
%%DATADIR%%/lib/batik-anim-1.12.0-8.jar
|
||||
%%DATADIR%%/lib/batik-awt-util-1.12.0-8.jar
|
||||
%%DATADIR%%/lib/batik-bridge-1.12.0-8.jar
|
||||
%%DATADIR%%/lib/batik-codec-1.7.jar
|
||||
%%DATADIR%%/lib/batik-constants-1.12.0-8.jar
|
||||
%%DATADIR%%/lib/batik-css-1.12.0-8.jar
|
||||
%%DATADIR%%/lib/batik-dom-1.12.0-8.jar
|
||||
|
@ -243,7 +244,6 @@ share/applications/phpstorm.desktop
|
|||
%%DATADIR%%/plugins/CSS/lib/css.jar
|
||||
%%DATADIR%%/plugins/CSS/lib/resources_en.jar
|
||||
%%DATADIR%%/plugins/DatabaseTools/lib/database-impl.jar
|
||||
%%DATADIR%%/plugins/DatabaseTools/lib/database-minicat.jar
|
||||
%%DATADIR%%/plugins/DatabaseTools/lib/database-openapi.jar
|
||||
%%DATADIR%%/plugins/DatabaseTools/lib/dekaf-single-2.0.0.390.jar
|
||||
%%DATADIR%%/plugins/DatabaseTools/lib/jdbc-console.jar
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= webstorm
|
||||
PORTVERSION= 2019.2.3
|
||||
PORTVERSION= 2019.2.4
|
||||
CATEGORIES= devel java
|
||||
MASTER_SITES= https://download-cf.jetbrains.com/webstorm/
|
||||
PKGNAMEPREFIX= jetbrains-
|
||||
|
@ -32,7 +32,7 @@ SHEBANG_FILES= bin/printenv.py bin/restart.py \
|
|||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
WRKSRC= ${WRKDIR}/WebStorm-192.6817.13
|
||||
WRKSRC= ${WRKDIR}/WebStorm-192.7142.35
|
||||
|
||||
SUB_FILES= webstorm webstorm.desktop pkg-message
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1569613472
|
||||
SHA256 (jetbrains/WebStorm-2019.2.3.tar.gz) = af94c66c80508fe221d9ba2b294d3852d68db8bc293dd240e2638dd2c21a6c50
|
||||
SIZE (jetbrains/WebStorm-2019.2.3.tar.gz) = 317639868
|
||||
TIMESTAMP = 1573309067
|
||||
SHA256 (jetbrains/WebStorm-2019.2.4.tar.gz) = b244fc49728d582ae8c210f15b8a0bf208ede83c3ee06251ee3958b8f2c3e947
|
||||
SIZE (jetbrains/WebStorm-2019.2.4.tar.gz) = 317656407
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
PORTNAME= pyside2
|
||||
DISTVERSION= 5.13.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= QT/official_releases/QtForPython/shiboken2/PySide2-${DISTVERSION}-src
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
@ -21,10 +22,10 @@ USE_GL= gl
|
|||
USE_LDCONFIG= yes
|
||||
USE_PYTHON= flavors
|
||||
USE_QT= 3d buildtools_build charts core datavis3d declarative \
|
||||
designer gui help location multimedia network opengl \
|
||||
printsupport qmake_build script scripttools scxml sensors \
|
||||
speech sql svg testlib uitools webchannel webengine \
|
||||
websockets widgets x11extras xml xmlpatterns
|
||||
designer gamepad gui help location multimedia network opengl \
|
||||
printsupport qmake_build remoteobjects script scripttools \
|
||||
scxml sensors speech sql svg testlib uitools webchannel \
|
||||
webengine websockets widgets x11extras xml xmlpatterns
|
||||
|
||||
CMAKE_ARGS+= "-DUSE_PYTHON_VERSION=${PYTHON_VER}" \
|
||||
"-DPYTHON_EXECUTABLE=${PYTHON_CMD}"
|
||||
|
@ -43,52 +44,4 @@ PLIST_SUB+= DISTVERSION=${DISTVERSION}
|
|||
|
||||
WRKSRC= ${WRKDIR}/pyside-setup-opensource-src-${DISTVERSION}/sources/pyside2
|
||||
|
||||
post-stage:
|
||||
@${RM} -r ${STAGEDIR}/${PYTHON_SITELIBDIR}/CMakeFiles \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/tests \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/CMakeFiles \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DAnimation \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DCore \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DExtras \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DInput \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DLogic \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/Qt3DRender \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtCharts \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtConcurrent \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtCore \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtDataVisualization \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtGui \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtHelp \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtLocation \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtMultimedia \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtMultimediaWidgets \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtNetwork \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtOpenGL \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtPositioning \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtPrintSupport \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtQml \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtQuick \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtQuickWidgets \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtScript \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtScriptTools \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtScxml \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtSensors \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtSql \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtSvg \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtTest \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtTextToSpeech \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtUiTools \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWebChannel \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWebEngine \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWebEngineCore \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWebEngineWidgets \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWebSockets \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtWidgets \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtX11Extras \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtXml \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/QtXmlPatterns \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/PySide2/support \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/libpyside \
|
||||
${STAGEDIR}/${PYTHON_SITELIBDIR}/plugins
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <bsd.port.pre.mk>
|
||||
|
||||
.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 <bsd.port.post.mk>
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= emptyepsilon
|
||||
DISTVERSIONPREFIX= EE-
|
||||
DISTVERSION= 2019.10.28
|
||||
DISTVERSION= 2019.11.01
|
||||
CATEGORIES= games
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= Drawpile
|
||||
DISTVERSION= 2.1.12
|
||||
DISTVERSION= 2.1.13
|
||||
CATEGORIES= graphics python
|
||||
|
||||
MAINTAINER= yuri@FreeBSD.org
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
|
@ -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 <iostream>
|
||||
|
||||
+#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;
|
||||
|
||||
|
|
|
@ -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<IOCha
|
||||
GifInput::~GifInput()
|
||||
{
|
||||
// Clean up allocated data.
|
||||
-#if GIFLIB_MAJOR==5 && GIFLIB_MINOR==1
|
||||
+#if GIFLIB_MAJOR==5 && GIFLIB_MINOR>=1
|
||||
DGifCloseFile(_gif, 0);
|
||||
#else
|
||||
DGifCloseFile(_gif);
|
|
@ -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 <bsd.port.options.mk>
|
||||
|
||||
.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 <bsd.port.mk>
|
||||
|
|
|
@ -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} \
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
TIMESTAMP = 1573432886
|
||||
SHA256 (onyx-5.1.2.tar.bz2) = 96811204e8a0db6cfb1069b65f114ba15348bacf6776a075e4c08f9f5edeb860
|
||||
SIZE (onyx-5.1.2.tar.bz2) = 1397404
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
From 43851a0a655a3a961f289087bdea989aa32cc028 Mon Sep 17 00:00:00 2001
|
||||
From: Luca Beltrame <lbeltrame@kde.org>
|
||||
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 <QPushButton>
|
||||
#include <QHBoxLayout>
|
||||
#include <QFrame>
|
||||
+#include <QDate>
|
||||
#include <QEvent>
|
||||
#include <QMenu>
|
||||
#include <QWidgetAction>
|
||||
--
|
||||
cgit v1.1
|
||||
|
||||
From d3c56eca11cd059d4348ab6696822c23d85af61a Mon Sep 17 00:00:00 2001
|
||||
From: Robby Stephenson <robby@periapsis.org>
|
||||
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 <QMimeType>
|
||||
#include <QMenuBar>
|
||||
#include <QFileDialog>
|
||||
+#include <QMetaMethod>
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
--
|
||||
cgit v1.1
|
|
@ -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
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
PORTNAME= sshguard
|
||||
PORTVERSION= 2.4.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= security
|
||||
MASTER_SITES= SF/sshguard/sshguard/${PORTVERSION}
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= ibus-typing-booster
|
||||
PORTVERSION= 2.7.1
|
||||
PORTVERSION= 2.7.2
|
||||
CATEGORIES= textproc
|
||||
|
||||
MAINTAINER= thierry@FreeBSD.org
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
PORTNAME= yq
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 2.8.1
|
||||
DISTVERSION= 2.9.2
|
||||
CATEGORIES= textproc python
|
||||
MASTER_SITES= CHEESESHOP
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}/
|
||||
|
||||
|
|
|
@ -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;
|
|
@ -17,6 +17,7 @@
|
|||
SUBDIR += bspwm
|
||||
SUBDIR += cage
|
||||
SUBDIR += ccsm
|
||||
SUBDIR += chamfer
|
||||
SUBDIR += clementine-wm
|
||||
SUBDIR += compiz
|
||||
SUBDIR += compiz-fusion
|
||||
|
|
|
@ -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 <bsd.port.mk>
|
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1573053413
|
||||
SHA256 (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 9821401d30cfb7c3babdd63322d37318314a430f8dfba82b067559597146102e
|
||||
SIZE (jaelpark-chamferwm-s20191106-176bb1d_GH0.tar.gz) = 119191
|
|
@ -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<uint> 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<std::string> 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<std::string> 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);
|
|
@ -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/
|
|
@ -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
|
Loading…
Reference in New Issue