From 381a0bdc65a7b41a2162061f66c75c9e074ed9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Berk=20=C3=87akar?= Date: Fri, 28 May 2021 16:21:01 +0300 Subject: [PATCH] gnome-online-accounts, grilo, totem-pl-parser, liboauth packaged --- .../base/gnome-online-accounts/actions.py | 37 +++++ .../base/gnome-online-accounts/pspec.xml | 97 ++++++++++++ desktop/gnome/base/grilo/actions.py | 21 +++ desktop/gnome/base/grilo/pspec.xml | 63 ++++++++ .../library/totem-pl-parser/actions.py | 22 +++ programming/library/totem-pl-parser/pspec.xml | 67 +++++++++ programming/misc/liboauth/actions.py | 23 +++ .../liboauth-1.0.1-doxygen-out-of-tree.patch | 50 ++++++ .../files/liboauth-1.0.3-openssl-1.1.patch | 142 ++++++++++++++++++ .../files/liboauth-1.0.3-openssl-1.1_2.patch | 21 +++ programming/misc/liboauth/pspec.xml | 66 ++++++++ 11 files changed, 609 insertions(+) create mode 100644 desktop/gnome/base/gnome-online-accounts/actions.py create mode 100644 desktop/gnome/base/gnome-online-accounts/pspec.xml create mode 100644 desktop/gnome/base/grilo/actions.py create mode 100644 desktop/gnome/base/grilo/pspec.xml create mode 100644 programming/library/totem-pl-parser/actions.py create mode 100644 programming/library/totem-pl-parser/pspec.xml create mode 100644 programming/misc/liboauth/actions.py create mode 100644 programming/misc/liboauth/files/liboauth-1.0.1-doxygen-out-of-tree.patch create mode 100644 programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1.patch create mode 100644 programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1_2.patch create mode 100644 programming/misc/liboauth/pspec.xml diff --git a/desktop/gnome/base/gnome-online-accounts/actions.py b/desktop/gnome/base/gnome-online-accounts/actions.py new file mode 100644 index 0000000000..336a652df9 --- /dev/null +++ b/desktop/gnome/base/gnome-online-accounts/actions.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + autotools.configure("--enable-documentation \ + --enable-backend \ + --enable-google \ + --enable-kerberos \ + --enable-flickr \ + --enable-facebook \ + --disable-static \ + --enable-exchange \ + --enable-imap-smtp \ + --enable-owncloud \ + --enable-windows-live \ + --enable-pocket \ + --enable-lastfm \ + --enable-media-server \ + --enable-foursquare \ + --enable-twitter \ + --enable-yahoo") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("COPYING", "NEWS", "README") diff --git a/desktop/gnome/base/gnome-online-accounts/pspec.xml b/desktop/gnome/base/gnome-online-accounts/pspec.xml new file mode 100644 index 0000000000..05f86c4790 --- /dev/null +++ b/desktop/gnome/base/gnome-online-accounts/pspec.xml @@ -0,0 +1,97 @@ + + + + + gnome-online-accounts + https://gitlab.gnome.org/GNOME/gnome-online-accounts + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2 + Single sign-on framework for GNOME + The GNOME Online Accounts package contains a framework used to access the user's online accounts. + https://download.gnome.org/sources/gnome-online-accounts/3.40/gnome-online-accounts-3.40.0.tar.xz + + docbook-xsl + gettext-devel + glib2-devel + libxslt-devel + vala + gtk3-devel + gobject-introspection-devel + gcr-devel + gtk3-devel + json-glib-devel + libnotify-devel + libsecret-devel + libsoup-devel + mit-kerberos + e2fsprogs-devel + librest-devel + telepathy-glib-devel + webkit2gtk-devel + + + + + gnome-online-accounts + + gcr + atk + gtk3 + cairo + glib2 + pango + p11-kit + libxml2 + libsoup + librest + libsecret + json-glib + gdk-pixbuf + webkit2gtk + mit-kerberos + harfbuzz + + + /usr/libexec + /usr/lib/girepository-1.0 + /usr/lib/gnome-online-accounts + /usr/lib/goa-1.0 + /usr/lib/libgoa* + /usr/share/man + /usr/share/doc + /usr/share/icons + /usr/share/dbus-1 + /usr/share/glib-2.0 + /usr/share/locale + /usr/share/gnome-online-accounts + + + + + gnome-online-accounts-devel + + gtk3-devel + glib2-devel + gnome-online-accounts + + + /usr/lib/pkgconfig + /usr/include + /usr/share/gir-1.0 + /usr/share/vala + + + + + + 2021-05-28 + 3.40.0 + First release for Pisi Linux + Berk Çakar + berk2238@hotmail.com + + + diff --git a/desktop/gnome/base/grilo/actions.py b/desktop/gnome/base/grilo/actions.py new file mode 100644 index 0000000000..14cff3f472 --- /dev/null +++ b/desktop/gnome/base/grilo/actions.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import mesontools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + mesontools.configure("-Denable-gtk-doc=false") + +def build(): + mesontools.build() + +def install(): + mesontools.install() + + pisitools.dodoc("COPYING", "NEWS", "README*", "AUTHORS") diff --git a/desktop/gnome/base/grilo/pspec.xml b/desktop/gnome/base/grilo/pspec.xml new file mode 100644 index 0000000000..4bda30af6a --- /dev/null +++ b/desktop/gnome/base/grilo/pspec.xml @@ -0,0 +1,63 @@ + + + + + grilo + https://gitlab.gnome.org/GNOME/grilo + + Pisi Linux Admins + admins@pisilinux.org + + LGPLv2.1 + library + Grilo is a framework for browsing and searching media content from various sources using a single API. + Grilo is a framework for browsing and searching media content from various sources using a single API. + https://download.gnome.org/sources/grilo/0.3/grilo-0.3.13.tar.xz + + gettext-devel + glib2-devel + gobject-introspection-devel + meson + gtk3-devel + libxml2-devel + libsoup-devel + liboauth-devel + totem-pl-parser-devel + meson + vala + + + + + grilo + + /usr/bin + /usr/lib/girepository-1.0 + /usr/lib/lib*.so* + /usr/share/man + /usr/share/doc + /usr/share/locale + + + + + grilo-devel + Development files for grilo + + /usr/include + /usr/lib/pkgconfig + /usr/share/vala + /usr/share/gir-1.0 + + + + + + 2021-05-28 + 0.3.13 + First release for Pisi Linux + Berk Çakar + berk2238@hotmail.com + + + diff --git a/programming/library/totem-pl-parser/actions.py b/programming/library/totem-pl-parser/actions.py new file mode 100644 index 0000000000..7167a34056 --- /dev/null +++ b/programming/library/totem-pl-parser/actions.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 2. +# See the file http://www.gnu.org/copyleft/gpl.txt. + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import mesontools +from pisi.actionsapi import get + +def setup(): + mesontools.configure("-Denable-gtk-doc=false") + +def build(): + mesontools.build() + +def install(): + mesontools.install() + + pisitools.dodoc("AUTHORS", "MAINTAINERS", "COPYING*", "NEWS", "README") diff --git a/programming/library/totem-pl-parser/pspec.xml b/programming/library/totem-pl-parser/pspec.xml new file mode 100644 index 0000000000..5154bcb260 --- /dev/null +++ b/programming/library/totem-pl-parser/pspec.xml @@ -0,0 +1,67 @@ + + + + + totem-pl-parser + https://gitlab.gnome.org/GNOME/totem-pl-parser + + Pisi Linux Admins + admins@pisilinux.org + + GPLv2 + Totem playlist parser + totem-pl-parser is a simple GObject-based library to parse a host of playlist formats, as well as save those + https://download.gnome.org/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.5.tar.xz + + glib2-devel + intltool + libarchive-devel + libgcrypt-devel + libxml2-devel + gobject-introspection-devel + meson + + + + + totem-pl-parser + + libarchive + glib2 + libxml2 + libgcrypt + + + /usr/lib/girepository-1.0/ + /usr/lib/lib*.so* + /usr/share/doc + /usr/share/locale + + + + + totem-pl-parser-devel + Development files for totem-pl-aprser + + totem-pl-parser + libarchive-devel + glib2-devel + libxml2-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/share/gir-1.0 + + + + + + 2021-05-28 + 3.26.5 + First release for Pisi Linux + Berk Çakar + berk2238@hotmail.com + + + \ No newline at end of file diff --git a/programming/misc/liboauth/actions.py b/programming/misc/liboauth/actions.py new file mode 100644 index 0000000000..1b2e136114 --- /dev/null +++ b/programming/misc/liboauth/actions.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + autotools.configure("--disable-static \ + --enable-nss \ + --enable-curl") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "LICENSE.OpenSSL", "README") diff --git a/programming/misc/liboauth/files/liboauth-1.0.1-doxygen-out-of-tree.patch b/programming/misc/liboauth/files/liboauth-1.0.1-doxygen-out-of-tree.patch new file mode 100644 index 0000000000..01ff061b41 --- /dev/null +++ b/programming/misc/liboauth/files/liboauth-1.0.1-doxygen-out-of-tree.patch @@ -0,0 +1,50 @@ +diff -urp liboauth-1.0.1-orig/Doxyfile.in liboauth-1.0.1/Doxyfile.in +--- liboauth-1.0.1-orig/Doxyfile.in 2012-11-01 04:34:49.000000000 +0000 ++++ liboauth-1.0.1/Doxyfile.in 2013-03-14 14:25:11.000000000 +0000 +@@ -45,7 +45,7 @@ PROJECT_BRIEF = + # exceed 55 pixels and the maximum width should not exceed 200 pixels. + # Doxygen will copy the logo to the output directory. + +-PROJECT_LOGO = doc/libOAuth.png ++PROJECT_LOGO = @top_srcdir@/doc/libOAuth.png + + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) + # base path where the generated documentation will be put. +@@ -130,7 +130,7 @@ FULL_PATH_NAMES = YES + # relative paths, which will be relative from the directory where doxygen is + # started. + +-STRIP_FROM_PATH = src/ ++STRIP_FROM_PATH = @top_srcdir@/src/ + + # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of + # the path mentioned in the documentation of a class, which tells +@@ -661,8 +661,8 @@ WARN_LOGFILE = + # directories like "/usr/src/myproject". Separate the files or directories + # with spaces. + +-INPUT = src/oauth.h \ +- doc/mainpage.dox ++INPUT = @top_srcdir@/src/oauth.h \ ++ @top_srcdir@/doc/mainpage.dox + + # This tag can be used to specify the character encoding of the source files + # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +@@ -722,7 +722,7 @@ EXCLUDE_SYMBOLS = + # directories that contain example code fragments that are included (see + # the \include command). + +-EXAMPLE_PATH = tests/ ++EXAMPLE_PATH = @top_srcdir@/tests/ + + # If the value of the EXAMPLE_PATH tag contains directories, you can use the + # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +@@ -742,7 +742,7 @@ EXAMPLE_RECURSIVE = NO + # directories that contain image that are included in the documentation (see + # the \image command). + +-IMAGE_PATH = doc/ ++IMAGE_PATH = @top_srcdir@/doc/ + + # The INPUT_FILTER tag can be used to specify a program that doxygen should + # invoke to filter for each input file. Doxygen will invoke the filter program \ No newline at end of file diff --git a/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1.patch b/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1.patch new file mode 100644 index 0000000000..3038927e2f --- /dev/null +++ b/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1.patch @@ -0,0 +1,142 @@ +From bf51f1f17bdfcdbf09b7edad9995ccbf17c41109 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Thu, 15 Nov 2018 12:11:11 +0100 +Subject: [PATCH] Fixed build with openssl-1.1 + +https://github.com/x42/liboauth/issues/9 +--- + src/hash.c | 60 +++++++++++++++++++++++++++++++++++------------------- + 1 file changed, 39 insertions(+), 21 deletions(-) + +diff --git a/src/hash.c b/src/hash.c +index 17ff5c8..551991f 100644 +--- a/src/hash.c ++++ b/src/hash.c +@@ -362,6 +362,11 @@ looser: + #include "oauth.h" // base64 encode fn's. + #include + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++#define EVP_MD_CTX_new EVP_MD_CTX_create ++#define EVP_MD_CTX_free EVP_MD_CTX_destroy ++#endif ++ + char *oauth_sign_hmac_sha1 (const char *m, const char *k) { + return(oauth_sign_hmac_sha1_raw (m, strlen(m), k, strlen(k))); + } +@@ -386,7 +391,7 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) { + unsigned char *sig = NULL; + unsigned char *passphrase = NULL; + unsigned int len=0; +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + + EVP_PKEY *pkey; + BIO *in; +@@ -399,24 +404,31 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) { + return xstrdup("liboauth/OpenSSL: can not read private key"); + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ + len = EVP_PKEY_size(pkey); + sig = (unsigned char*)xmalloc((len+1)*sizeof(char)); + +- EVP_SignInit(&md_ctx, EVP_sha1()); +- EVP_SignUpdate(&md_ctx, m, strlen(m)); +- if (EVP_SignFinal (&md_ctx, sig, &len, pkey)) { ++ EVP_SignInit(md_ctx, EVP_sha1()); ++ EVP_SignUpdate(md_ctx, m, strlen(m)); ++ if (EVP_SignFinal (md_ctx, sig, &len, pkey)) { + char *tmp; + sig[len] = '\0'; + tmp = oauth_encode_base64(len,sig); + OPENSSL_free(sig); + EVP_PKEY_free(pkey); ++ EVP_MD_CTX_free(md_ctx); + return tmp; + } ++ EVP_MD_CTX_free(md_ctx); + return xstrdup("liboauth/OpenSSL: rsa-sha1 signing failed"); + } + + int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + EVP_PKEY *pkey; + BIO *in; + X509 *cert = NULL; +@@ -440,10 +452,10 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { + b64d= (unsigned char*) xmalloc(sizeof(char)*strlen(s)); + slen = oauth_decode_base64(b64d, s); + +- EVP_VerifyInit(&md_ctx, EVP_sha1()); +- EVP_VerifyUpdate(&md_ctx, m, strlen(m)); +- err = EVP_VerifyFinal(&md_ctx, b64d, slen, pkey); +- EVP_MD_CTX_cleanup(&md_ctx); ++ EVP_VerifyInit(md_ctx, EVP_sha1()); ++ EVP_VerifyUpdate(md_ctx, m, strlen(m)); ++ err = EVP_VerifyFinal(md_ctx, b64d, slen, pkey); ++ EVP_MD_CTX_cleanup(md_ctx); + EVP_PKEY_free(pkey); + xfree(b64d); + return (err); +@@ -455,35 +467,41 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { + */ + char *oauth_body_hash_file(char *filename) { + unsigned char fb[BUFSIZ]; +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + FILE *F= fopen(filename, "r"); + if (!F) return NULL; + +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); + while (!feof(F) && (len=fread(fb,sizeof(char),BUFSIZ, F))>0) { +- EVP_DigestUpdate(&ctx, fb, len); ++ EVP_DigestUpdate(ctx, fb, len); + } + fclose(F); + len=0; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_cleanup(ctx); + return oauth_body_hash_encode(len, md); + } + + char *oauth_body_hash_data(size_t length, const char *data) { +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); +- EVP_DigestUpdate(&ctx, data, length); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); ++ EVP_DigestUpdate(ctx, data, length); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } + +-- +2.19.1 diff --git a/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1_2.patch b/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1_2.patch new file mode 100644 index 0000000000..a47a1d09da --- /dev/null +++ b/programming/misc/liboauth/files/liboauth-1.0.3-openssl-1.1_2.patch @@ -0,0 +1,21 @@ +diff --git a/src/hash.c b/src/hash.c +index 551991f..a0bc8b6 100644 +--- a/src/hash.c ++++ b/src/hash.c +@@ -455,7 +455,7 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { + EVP_VerifyInit(md_ctx, EVP_sha1()); + EVP_VerifyUpdate(md_ctx, m, strlen(m)); + err = EVP_VerifyFinal(md_ctx, b64d, slen, pkey); +- EVP_MD_CTX_cleanup(md_ctx); ++ EVP_MD_CTX_free(md_ctx); + EVP_PKEY_free(pkey); + xfree(b64d); + return (err); +@@ -485,7 +485,7 @@ char *oauth_body_hash_file(char *filename) { + len=0; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); + EVP_DigestFinal(ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(ctx); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } diff --git a/programming/misc/liboauth/pspec.xml b/programming/misc/liboauth/pspec.xml new file mode 100644 index 0000000000..6427c023fd --- /dev/null +++ b/programming/misc/liboauth/pspec.xml @@ -0,0 +1,66 @@ + + + + + liboauth + http://liboauth.sourceforge.net + + Pisi Linux Admins + admins@pisilinux.org + + GPLv2 + MIT + library + C library implementing the OAuth secure authentication protocol + liboauth is a collection of POSIX-c functions implementing the OAuth Core RFC 5849 standard. + mirrors://sourceforge/liboauth/liboauth-1.0.3.tar.gz + + curl-devel + nss-devel + + + liboauth-1.0.1-doxygen-out-of-tree.patch + liboauth-1.0.3-openssl-1.1.patch + liboauth-1.0.3-openssl-1.1_2.patch + + + + + liboauth + + nss + curl + nspr + + + /usr/lib/lib*.so* + /usr/share/licenses + /usr/share/man + /usr/share/doc + + + + + liboauth-devel + Development files for liboauth + + liboauth + nss-devel + curl-devel + + + /usr/include + /usr/lib/pkgconfig + + + + + + 2021-05-28 + 1.0.3 + First release for Pisi Linux + Berk Çakar + berk2238@hotmail.com + + + \ No newline at end of file