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/pisi-index.xml b/pisi-index.xml
index e2117ca2cd..05122929f9 100644
--- a/pisi-index.xml
+++ b/pisi-index.xml
@@ -3480,6 +3480,100 @@ components such as the Settings and gnome-shell.
+
+
+ gnome-online-accounts
+ https://gitlab.gnome.org/GNOME/gnome-online-accounts
+
+ Pisi Linux Admins
+ admins@pisilinux.org
+
+ LGPLv2
+ desktop.gnome.base
+ 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
+
+ desktop/gnome/base/gnome-online-accounts/pspec.xml
+
+
+ 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
+
+
+
gnome-session
@@ -3672,6 +3766,66 @@ GNOME Session and the applications that run under it.
+
+
+ grilo
+ https://gitlab.gnome.org/GNOME/grilo
+
+ Pisi Linux Admins
+ admins@pisilinux.org
+
+ LGPLv2.1
+ library
+ desktop.gnome.base
+ 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
+
+ desktop/gnome/base/grilo/pspec.xml
+
+
+ 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
+
+
+
gsettings-desktop-schemas
@@ -147607,7 +147761,7 @@ It supports email, address books, calendars, tasks, news feeds and much more.
2021-05-04
1.3.0
- Version bump.
+ Version bump
AYDIN ATMACA
aydinatmaca@gmail.com
@@ -252607,6 +252761,70 @@ to create header files and sources from protocol files.
+
+
+ totem-pl-parser
+ https://gitlab.gnome.org/GNOME/totem-pl-parser
+
+ Pisi Linux Admins
+ admins@pisilinux.org
+
+ GPLv2
+ programming.library
+ 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
+
+ programming/library/totem-pl-parser/pspec.xml
+
+
+ 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
+
+
+
tpm2-tss
@@ -256877,6 +257095,69 @@ contacts, tasks, and calendar information.
+
+
+ liboauth
+ http://liboauth.sourceforge.net
+
+ Pisi Linux Admins
+ admins@pisilinux.org
+
+ GPLv2
+ MIT
+ library
+ programming.misc
+ 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
+
+ programming/misc/liboauth/pspec.xml
+
+
+ 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
+
+
+
libofa
diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum
index 3b685aaebb..6dd6a99251 100644
--- a/pisi-index.xml.sha1sum
+++ b/pisi-index.xml.sha1sum
@@ -1 +1 @@
-632a3805cfdaf8b3722e5c72caf06d14e87601d0
\ No newline at end of file
+dc22ec9d91d4d7c69db498ccb0cec9dee4d1237c
\ No newline at end of file
diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz
index daf1217cdd..b0617b2f11 100644
Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ
diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum
index ade31d2b8c..e2d2a34f90 100644
--- a/pisi-index.xml.xz.sha1sum
+++ b/pisi-index.xml.xz.sha1sum
@@ -1 +1 @@
-b14daa737ea34dbf34f8d53240d2ccda5640fd08
\ No newline at end of file
+a55c404388521ff367ce5e64e3e630409de272ea
\ No newline at end of file
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