gimp-gerekleri.paketlendi
This commit is contained in:
parent
01dd9939f9
commit
fb9901757d
|
@ -0,0 +1,159 @@
|
|||
From ffa77a246652c7e706d690682fe659f50fbe5656 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Mon, 1 Jul 2013 12:03:51 +0200
|
||||
Subject: [PATCH] patch: CVE-2012-4433
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit 2a9071e2dc4cfe1aaa7a726805985281936f9874
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue Oct 16 16:57:37 2012 +0200
|
||||
|
||||
ppm-load: bring comment in line with reality
|
||||
|
||||
(cherry picked from commit 6975a9cfeaf0698b42ac81b1c2f00d13c8755453)
|
||||
|
||||
commit 8bb88ebf78e54837322d3be74688f98800e9f33a
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue Oct 16 16:56:40 2012 +0200
|
||||
|
||||
ppm-load: CVE-2012-4433: add plausibility checks for header fields
|
||||
|
||||
Refuse values that are non-decimal, negative or overflow the target
|
||||
type.
|
||||
|
||||
(cherry picked from commit 4757cdf73d3675478d645a3ec8250ba02168a230)
|
||||
|
||||
commit 2b099886969bf055a8635d06a4d89f20fed1ee42
|
||||
Author: Nils Philippsen <nils@redhat.com>
|
||||
Date: Tue Oct 16 16:58:27 2012 +0200
|
||||
|
||||
ppm-load: CVE-2012-4433: don't overflow memory allocation
|
||||
|
||||
Carefully selected width/height values could cause the size of a later
|
||||
allocation to overflow, resulting in a buffer much too small to store
|
||||
the data which would then written beyond its end.
|
||||
|
||||
(cherry picked from commit 1e92e5235ded0415d555aa86066b8e4041ee5a53)
|
||||
---
|
||||
operations/external/ppm-load.c | 64 +++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 54 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/operations/external/ppm-load.c b/operations/external/ppm-load.c
|
||||
index efe6d56..e22521c 100644
|
||||
--- a/operations/external/ppm-load.c
|
||||
+++ b/operations/external/ppm-load.c
|
||||
@@ -36,6 +36,7 @@ gegl_chant_file_path (path, _("File"), "", _("Path of file to load."))
|
||||
#include "gegl-chant.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
+#include <errno.h>
|
||||
|
||||
typedef enum {
|
||||
PIXMAP_ASCII = 51,
|
||||
@@ -44,8 +45,8 @@ typedef enum {
|
||||
|
||||
typedef struct {
|
||||
map_type type;
|
||||
- gint width;
|
||||
- gint height;
|
||||
+ glong width;
|
||||
+ glong height;
|
||||
gsize numsamples; /* width * height * channels */
|
||||
gsize bpc; /* bytes per channel */
|
||||
guchar *data;
|
||||
@@ -61,7 +62,7 @@ ppm_load_read_header(FILE *fp,
|
||||
gchar header[MAX_CHARS_IN_ROW];
|
||||
gint maxval;
|
||||
|
||||
- /* Check the PPM file Type P2 or P5 */
|
||||
+ /* Check the PPM file Type P3 or P6 */
|
||||
fgets (header,MAX_CHARS_IN_ROW,fp);
|
||||
|
||||
if (header[0] != ASCII_P ||
|
||||
@@ -82,12 +83,33 @@ ppm_load_read_header(FILE *fp,
|
||||
}
|
||||
|
||||
/* Get Width and Height */
|
||||
- img->width = strtol (header,&ptr,0);
|
||||
- img->height = atoi (ptr);
|
||||
- img->numsamples = img->width * img->height * CHANNEL_COUNT;
|
||||
+ errno = 0;
|
||||
+ img->width = strtol (header,&ptr,10);
|
||||
+ if (errno)
|
||||
+ {
|
||||
+ g_warning ("Error reading width: %s", strerror(errno));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ else if (img->width < 0)
|
||||
+ {
|
||||
+ g_warning ("Error: width is negative");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ img->height = strtol (ptr,&ptr,10);
|
||||
+ if (errno)
|
||||
+ {
|
||||
+ g_warning ("Error reading height: %s", strerror(errno));
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ else if (img->width < 0)
|
||||
+ {
|
||||
+ g_warning ("Error: height is negative");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
fgets (header,MAX_CHARS_IN_ROW,fp);
|
||||
- maxval = strtol (header,&ptr,0);
|
||||
+ maxval = strtol (header,&ptr,10);
|
||||
|
||||
if ((maxval != 255) && (maxval != 65535))
|
||||
{
|
||||
@@ -109,6 +131,16 @@ ppm_load_read_header(FILE *fp,
|
||||
g_warning ("%s: Programmer stupidity error", G_STRLOC);
|
||||
}
|
||||
|
||||
+ /* Later on, img->numsamples is multiplied with img->bpc to allocate
|
||||
+ * memory. Ensure it doesn't overflow. */
|
||||
+ if (!img->width || !img->height ||
|
||||
+ G_MAXSIZE / img->width / img->height / CHANNEL_COUNT < img->bpc)
|
||||
+ {
|
||||
+ g_warning ("Illegal width/height: %ld/%ld", img->width, img->height);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ img->numsamples = img->width * img->height * CHANNEL_COUNT;
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -229,12 +261,24 @@ process (GeglOperation *operation,
|
||||
if (!ppm_load_read_header (fp, &img))
|
||||
goto out;
|
||||
|
||||
- rect.height = img.height;
|
||||
- rect.width = img.width;
|
||||
-
|
||||
/* Allocating Array Size */
|
||||
+
|
||||
+ /* Should use g_try_malloc(), but this causes crashes elsewhere because the
|
||||
+ * error signalled by returning FALSE isn't properly acted upon. Therefore
|
||||
+ * g_malloc() is used here which aborts if the requested memory size can't be
|
||||
+ * allocated causing a controlled crash. */
|
||||
img.data = (guchar*) g_malloc (img.numsamples * img.bpc);
|
||||
|
||||
+ /* No-op without g_try_malloc(), see above. */
|
||||
+ if (! img.data)
|
||||
+ {
|
||||
+ g_warning ("Couldn't allocate %" G_GSIZE_FORMAT " bytes, giving up.", ((gsize)img.numsamples * img.bpc));
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ rect.height = img.height;
|
||||
+ rect.width = img.width;
|
||||
+
|
||||
switch (img.bpc)
|
||||
{
|
||||
case 1:
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
--- ./operations/external/ff-load.c 2012-04-01 14:17:57.000000000 +0300
|
||||
+++ ./operations/external/ff-load.c.new 2014-10-23 01:49:25.090139749 +0300
|
||||
@@ -137,7 +137,7 @@
|
||||
if (p->enc)
|
||||
avcodec_close (p->enc);
|
||||
if (p->ic)
|
||||
- av_close_input_file (p->ic);
|
||||
+ avformat_close_input(&p->ic);
|
||||
if (p->lavc_frame)
|
||||
av_free (p->lavc_frame);
|
||||
|
||||
@@ -216,9 +216,9 @@
|
||||
{
|
||||
do
|
||||
{
|
||||
- if (av_read_packet (p->ic, &p->pkt) < 0)
|
||||
+ if (av_read_frame (p->ic, &p->pkt) < 0)
|
||||
{
|
||||
- fprintf (stderr, "av_read_packet failed for %s\n",
|
||||
+ fprintf (stderr, "av_read_frame failed for %s\n",
|
||||
o->path);
|
||||
return -1;
|
||||
}
|
||||
@@ -271,12 +271,12 @@
|
||||
gint err;
|
||||
|
||||
ff_cleanup (o);
|
||||
- err = av_open_input_file (&p->ic, o->path, NULL, 0, NULL);
|
||||
+ err = avformat_open_input(&p->ic, o->path, NULL, 0);
|
||||
if (err < 0)
|
||||
{
|
||||
print_error (o->path, err);
|
||||
}
|
||||
- err = av_find_stream_info (p->ic);
|
||||
+ err = avformat_find_stream_info (p->ic, NULL);
|
||||
if (err < 0)
|
||||
{
|
||||
g_warning ("ff-load: error finding stream info for %s", o->path);
|
||||
@@ -312,7 +312,7 @@
|
||||
if (p->codec->capabilities & CODEC_CAP_TRUNCATED)
|
||||
p->enc->flags |= CODEC_FLAG_TRUNCATED;
|
||||
|
||||
- if (avcodec_open (p->enc, p->codec) < 0)
|
||||
+ if (avcodec_open2 (p->enc, p->codec, NULL) < 0)
|
||||
{
|
||||
g_warning ("error opening codec %s", p->enc->codec->name);
|
||||
return;
|
|
@ -0,0 +1,53 @@
|
|||
From 1e12a153d9a82a771c3bfd95c0265b810a424b3c Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Mon, 1 Jul 2013 14:41:33 +0200
|
||||
Subject: [PATCH] patch: lua-5.2
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit 96f65d260c6e40940f2818b721c19565c1b40607
|
||||
Author: Vincent Untz <vuntz@gnome.org>
|
||||
Date: Wed Jan 11 09:52:25 2012 +0100
|
||||
|
||||
Fix build with lua 5.2 by not using API deprecated in 5.1 already
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=667675
|
||||
(cherry picked from commit a14a29c39352c60f003a65b721c9af8a1d8d20df)
|
||||
---
|
||||
operations/workshop/external/gluas.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/operations/workshop/external/gluas.c b/operations/workshop/external/gluas.c
|
||||
index 8ba1101..63e82a2 100644
|
||||
--- a/operations/workshop/external/gluas.c
|
||||
+++ b/operations/workshop/external/gluas.c
|
||||
@@ -97,7 +97,7 @@ static int l_progress (lua_State * lua);
|
||||
static int l_flush (lua_State * lua);
|
||||
static int l_print (lua_State * lua);
|
||||
|
||||
-static const luaL_reg gluas_functions[] =
|
||||
+static const luaL_Reg gluas_functions[] =
|
||||
{
|
||||
{"set_rgba", l_set_rgba},
|
||||
{"get_rgba", l_get_rgba},
|
||||
@@ -122,7 +122,7 @@ static const luaL_reg gluas_functions[] =
|
||||
};
|
||||
static void
|
||||
register_functions (lua_State *L,
|
||||
- const luaL_reg *l)
|
||||
+ const luaL_Reg *l)
|
||||
{
|
||||
for (;l->name; l++)
|
||||
lua_register (L, l->name, l->func);
|
||||
@@ -146,7 +146,7 @@ drawable_lua_process (GeglOperation *op,
|
||||
lua_State *L;
|
||||
Priv p;
|
||||
|
||||
- L = lua_open ();
|
||||
+ L = luaL_newstate ();
|
||||
luaL_openlibs (L);
|
||||
|
||||
register_functions (L, gluas_functions);
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
From 72168aba34445e4cd99aaed32d8e6a80e89ce729 Mon Sep 17 00:00:00 2001
|
||||
From: Nils Philippsen <nils@redhat.com>
|
||||
Date: Mon, 1 Jul 2013 13:53:18 +0200
|
||||
Subject: [PATCH] patch: remove-src-over-op
|
||||
|
||||
Squashed commit of the following:
|
||||
|
||||
commit b766094d951bf1515a75408ee85d4e1af432e6bd
|
||||
Author: Daniel Sabo <DanielSabo@gmail.com>
|
||||
Date: Tue Jun 4 20:57:03 2013 -0700
|
||||
|
||||
Remove auto-generated svg:src-over
|
||||
|
||||
It was already shadowed by gegl:over, which declares
|
||||
svg:src-over as a compat-name.
|
||||
|
||||
(cherry picked from commit c1caf2401271e8a17fd1937bf84279c250bd8e2a)
|
||||
|
||||
Conflicts:
|
||||
po/POTFILES.in
|
||||
---
|
||||
operations/generated/src-over.c | 122 -----------------------------
|
||||
operations/generated/svg-12-porter-duff.rb | 5 +-
|
||||
po/POTFILES.in | 3 +-
|
||||
3 files changed, 4 insertions(+), 126 deletions(-)
|
||||
delete mode 100644 operations/generated/src-over.c
|
||||
|
||||
diff --git a/operations/generated/src-over.c b/operations/generated/src-over.c
|
||||
deleted file mode 100644
|
||||
index e586087..0000000
|
||||
--- a/operations/generated/src-over.c
|
||||
+++ /dev/null
|
||||
@@ -1,122 +0,0 @@
|
||||
-
|
||||
-/* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
|
||||
- *
|
||||
- * This file is an image processing operation for GEGL
|
||||
- *
|
||||
- * GEGL is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU Lesser General Public
|
||||
- * License as published by the Free Software Foundation; either
|
||||
- * version 3 of the License, or (at your option) any later version.
|
||||
- *
|
||||
- * GEGL is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- * Lesser General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Lesser General Public
|
||||
- * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
|
||||
- *
|
||||
- * Copyright 2006, 2007 Øyvind Kolås <pippin@gimp.org>
|
||||
- * 2007 John Marshall
|
||||
- *
|
||||
- * SVG rendering modes; see:
|
||||
- * http://www.w3.org/TR/SVG12/rendering.html
|
||||
- * http://www.w3.org/TR/2004/WD-SVG12-20041027/rendering.html#comp-op-prop
|
||||
- *
|
||||
- * aA = aux(src) alpha aB = in(dst) alpha aD = out alpha
|
||||
- * cA = aux(src) colour cB = in(dst) colour cD = out colour
|
||||
- *
|
||||
- * !!!! AUTOGENERATED FILE !!!!!
|
||||
- */
|
||||
-#include "config.h"
|
||||
-#include <glib/gi18n-lib.h>
|
||||
-
|
||||
-
|
||||
-#ifdef GEGL_CHANT_PROPERTIES
|
||||
-
|
||||
-/* no properties */
|
||||
-
|
||||
-#else
|
||||
-
|
||||
-#define GEGL_CHANT_TYPE_POINT_COMPOSER
|
||||
-#define GEGL_CHANT_C_FILE "src-over.c"
|
||||
-
|
||||
-#include "gegl-chant.h"
|
||||
-
|
||||
-static void prepare (GeglOperation *operation)
|
||||
-{
|
||||
- const Babl *format = babl_format ("RaGaBaA float");
|
||||
-
|
||||
- gegl_operation_set_format (operation, "input", format);
|
||||
- gegl_operation_set_format (operation, "aux", format);
|
||||
- gegl_operation_set_format (operation, "output", format);
|
||||
-}
|
||||
-
|
||||
-static gboolean
|
||||
-process (GeglOperation *op,
|
||||
- void *in_buf,
|
||||
- void *aux_buf,
|
||||
- void *out_buf,
|
||||
- glong n_pixels,
|
||||
- const GeglRectangle *roi,
|
||||
- gint level)
|
||||
-{
|
||||
- gint i;
|
||||
- gfloat * GEGL_ALIGNED in = in_buf;
|
||||
- gfloat * GEGL_ALIGNED aux = aux_buf;
|
||||
- gfloat * GEGL_ALIGNED out = out_buf;
|
||||
-
|
||||
- if (aux==NULL)
|
||||
- return TRUE;
|
||||
-
|
||||
- for (i = 0; i < n_pixels; i++)
|
||||
- {
|
||||
- gint j;
|
||||
- gfloat aA G_GNUC_UNUSED, aB G_GNUC_UNUSED, aD G_GNUC_UNUSED;
|
||||
-
|
||||
- aB = in[3];
|
||||
- aA = aux[3];
|
||||
- aD = aA + aB - aA * aB;
|
||||
-
|
||||
- for (j = 0; j < 3; j++)
|
||||
- {
|
||||
- gfloat cA G_GNUC_UNUSED, cB G_GNUC_UNUSED;
|
||||
-
|
||||
- cB = in[j];
|
||||
- cA = aux[j];
|
||||
- out[j] = cA + cB * (1.0f - aA);
|
||||
- }
|
||||
- out[3] = aD;
|
||||
- in += 4;
|
||||
- aux += 4;
|
||||
- out += 4;
|
||||
- }
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-
|
||||
-static void
|
||||
-gegl_chant_class_init (GeglChantClass *klass)
|
||||
-{
|
||||
- GeglOperationClass *operation_class;
|
||||
- GeglOperationPointComposerClass *point_composer_class;
|
||||
-
|
||||
- operation_class = GEGL_OPERATION_CLASS (klass);
|
||||
- point_composer_class = GEGL_OPERATION_POINT_COMPOSER_CLASS (klass);
|
||||
-
|
||||
- point_composer_class->process = process;
|
||||
- operation_class->prepare = prepare;
|
||||
-
|
||||
-
|
||||
- operation_class->compat_name = "gegl:src-over";
|
||||
- gegl_operation_class_set_keys (operation_class,
|
||||
- "name" , "svg:src-over",
|
||||
- "categories", "compositors:porter-duff",
|
||||
- "description",
|
||||
- _("Porter Duff operation src-over (d = cA + cB * (1.0f - aA))"),
|
||||
- NULL);
|
||||
-
|
||||
-
|
||||
-}
|
||||
-
|
||||
-#endif
|
||||
diff --git a/operations/generated/svg-12-porter-duff.rb b/operations/generated/svg-12-porter-duff.rb
|
||||
index 5516802..dab5d2f 100755
|
||||
--- a/operations/generated/svg-12-porter-duff.rb
|
||||
+++ b/operations/generated/svg-12-porter-duff.rb
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/usr/bin/env ruby
|
||||
+# encoding: utf-8
|
||||
|
||||
copyright = '
|
||||
/* !!!! AUTOGENERATED FILE generated by svg-12-porter-duff.rb !!!!!
|
||||
@@ -38,8 +39,8 @@ a = [
|
||||
'aA'],
|
||||
['dst', 'cB',
|
||||
'aB'],
|
||||
- ['src_over', 'cA + cB * (1.0f - aA)',
|
||||
- 'aA + aB - aA * aB'],
|
||||
+# ['src_over', 'cA + cB * (1.0f - aA)',
|
||||
+# 'aA + aB - aA * aB'],
|
||||
['dst_over', 'cB + cA * (1.0f - aB)',
|
||||
'aA + aB - aA * aB'],
|
||||
['dst_in', 'cB * aA', # <- XXX: typo?
|
||||
diff --git a/po/POTFILES.in b/po/POTFILES.in
|
||||
index e309594..d36cbc2 100644
|
||||
--- a/po/POTFILES.in
|
||||
+++ b/po/POTFILES.in
|
||||
@@ -115,10 +115,9 @@ operations/generated/plus.c
|
||||
operations/generated/screen.c
|
||||
operations/generated/soft-light.c
|
||||
operations/generated/src-atop.c
|
||||
+operations/generated/src.c
|
||||
operations/generated/src-in.c
|
||||
operations/generated/src-out.c
|
||||
-operations/generated/src-over.c
|
||||
-operations/generated/src.c
|
||||
operations/generated/subtract.c
|
||||
operations/generated/svg-multiply.c
|
||||
operations/generated/xor.c
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# Description: Genel Grafik Kitaplığı
|
||||
# URL: http://gegl.org/
|
||||
# Packager: milisarge
|
||||
# Depends on: intltool libopenraw babl gtk2 librsvg libpng ruby lua ffmpeg librsvg openexr exiv2 json-glib jasper vala
|
||||
|
||||
name=gegl2
|
||||
version=0.2.0
|
||||
release=1
|
||||
source=(https://download.gimp.org/pub/gegl/0.2/gegl-$version.tar.bz2
|
||||
gegl-0.2.0-ffmpeg-0.11.patch
|
||||
gegl-0.2.0-CVE-2012-4433.patch
|
||||
gegl-0.2.0-lua-5.2.patch
|
||||
gegl-0.2.0-remove-src-over-op.patch)
|
||||
|
||||
build() {
|
||||
cd gegl-${version}
|
||||
patch -Np1 -i ../gegl-0.2.0-ffmpeg-0.11.patch
|
||||
patch -Np1 -i ../gegl-0.2.0-CVE-2012-4433.patch
|
||||
patch -Np1 -i ../gegl-0.2.0-lua-5.2.patch
|
||||
patch -Np1 -i ../gegl-0.2.0-remove-src-over-op.patch
|
||||
sed -i 's/avcodec_alloc_frame/av_frame_alloc/g' operations/external/ff-*.c
|
||||
# libopenraw 0.1.0 ile derleme tamirleri
|
||||
sed -i 's/OR_DATA_TYPE_CFA/OR_DATA_TYPE_RAW/' operations/external/openraw.c
|
||||
sed -ri 's/(libopenraw(-gnome)?)-1\.0/\1-0.1/' configure.ac
|
||||
autoreconf -vi
|
||||
./configure --prefix=/usr --with-sdl --with-librsvg \
|
||||
--with-libavformat --with-jasper --without-umfpack --disable-docs
|
||||
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||
make
|
||||
make DESTDIR=$PKG install
|
||||
rm -r "${PKG}/usr/bin"
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
# Description: Raw dosyalarının çözülmesi için kütüphane
|
||||
# URL: http://libopenraw.freedesktop.org/
|
||||
# Packager: milisarge
|
||||
# Depends on: boost libxml2 gdk-pixbuf
|
||||
|
||||
name=libopenraw
|
||||
version=0.1.0
|
||||
release=1
|
||||
source=(https://libopenraw.freedesktop.org/download/$name-$version.tar.bz2)
|
||||
|
||||
build() {
|
||||
cd $name-${version}
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
make DESTDIR="$PKG" install
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
# Description: Eğrilerin çizimini basitleştiren kütüphane
|
||||
# URL: https://github.com/fontforge/libspiro
|
||||
# Packager: milisarge
|
||||
# Depends on:
|
||||
|
||||
name=libspiro
|
||||
version=0.5.20150702
|
||||
release=1
|
||||
source=(https://github.com/fontforge/libspiro/archive/${version}.tar.gz)
|
||||
|
||||
build() {
|
||||
cd $name-${version}
|
||||
autoreconf -i
|
||||
automake --foreign -Wall
|
||||
./configure --prefix=/usr
|
||||
make
|
||||
make DESTDIR="${PKG}" install
|
||||
install -Dm644 libspiro.pc "${PKG}"/usr/lib/pkgconfig/libspiro.pc
|
||||
}
|
Loading…
Reference in New Issue