[arch-commits] Commit in canorus/repos (3 files)

Evgeniy Alekseev arcanis at archlinux.org
Wed Jul 25 12:34:09 UTC 2018


    Date: Wednesday, July 25, 2018 @ 12:34:09
  Author: arcanis
Revision: 363379

archrelease: copy trunk to community-staging-x86_64

Added:
  canorus/repos/community-staging-x86_64/
  canorus/repos/community-staging-x86_64/PKGBUILD
    (from rev 363378, canorus/trunk/PKGBUILD)
  canorus/repos/community-staging-x86_64/python-3.7.patch
    (from rev 363378, canorus/trunk/python-3.7.patch)

------------------+
 PKGBUILD         |   39 ++++++++++++++++
 python-3.7.patch |  126 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 165 insertions(+)

Copied: canorus/repos/community-staging-x86_64/PKGBUILD (from rev 363378, canorus/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2018-07-25 12:34:09 UTC (rev 363379)
@@ -0,0 +1,39 @@
+# $Id$
+# Maintainer: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Maintainer: Arch Linux Pro Audio <dev at archaudio.org>
+# Contributor: Coenraad van der Westhuizen <chwesthuizen at gmail.com>
+# Contributor: hm_b <holger (at) music-nerds (dot) net>
+
+pkgname=canorus
+pkgver=0.7.3rc3
+pkgrel=1
+pkgdesc="A free music score editor"
+arch=('x86_64')
+url="http://www.canorus.org/"
+license=('GPL')
+depends=('qt5-svg' 'qt5-webengine' 'alsa-lib' 'zlib' 'python')
+makedepends=('cmake' 'swig' 'qt5-tools' 'ruby')
+source=("http://downloads.sourceforge.net/project/canorus/0.7.3/canorus-${pkgver}.tar.bz2"
+        "python-3.7.patch")
+sha256sums=('c5d470ac6cae696472dcb7176e0cd4545b883ff84ae2dc767a8956546f5b4b15'
+            '5474199c0f02e4ec1ea6062b2aa9fb48cdeab9ba4c895f236918aed43a18c070')
+
+prepare() {
+  patch -p0 -i "${srcdir}/python-3.7.patch"
+}
+
+build() {
+  cd $pkgname-$pkgver
+  # stringop-truncation will be fixes in swig, see https://github.com/swig/swig/issues/893
+  export CXXFLAGS+=" -Wno-misleading-indentation -Wno-dangling-else -Wno-stringop-truncation"
+  cmake . -DCMAKE_INSTALL_PREFIX="$pkgdir"/usr \
+	-DDEFAULT_DATA_DIR="/usr/share/canorus"
+}
+
+package() {
+  cd $pkgname-$pkgver
+  make install
+  install -d "$pkgdir"/usr/share/{applications,pixmaps}
+  cp canorus.desktop "$pkgdir"/usr/share/applications
+  cp "$pkgdir"/usr/share/{canorus/images/clogosm.png,pixmaps/canorus.png}
+}

Copied: canorus/repos/community-staging-x86_64/python-3.7.patch (from rev 363378, canorus/trunk/python-3.7.patch)
===================================================================
--- community-staging-x86_64/python-3.7.patch	                        (rev 0)
+++ community-staging-x86_64/python-3.7.patch	2018-07-25 12:34:09 UTC (rev 363379)
@@ -0,0 +1,126 @@
+diff -ruN canorus-0.7.3rc3-orig/src/scripting/swigpython.cpp canorus-0.7.3rc3/src/scripting/swigpython.cpp
+--- canorus-0.7.3rc3-orig/src/scripting/swigpython.cpp	2018-07-25 14:59:07.105433821 +0300
++++ canorus-0.7.3rc3/src/scripting/swigpython.cpp	2018-07-25 15:01:53.615606426 +0300
+@@ -81,13 +81,14 @@
+     PyEval_ReleaseLock();
+ 
+        // my section with thread initialization
+-PyEval_AcquireLock();
++    PyThreadState *state = nullptr;
++PyEval_AcquireThread(state);
+     PyInterpreterState * mainInterpreterState = mainThreadState->interp;
+ 
+     pycliThreadState = PyThreadState_New(mainInterpreterState);
+     PyThreadState_Swap(mainThreadState);
+ 
+-PyEval_ReleaseLock();
++PyEval_ReleaseThread(state);
+ }
+ 
+ /*!
+@@ -136,7 +137,8 @@
+ 	QString moduleName = fileName.left(fileName.lastIndexOf(".py"));
+ 	moduleName = moduleName.remove(0, moduleName.lastIndexOf("/")+1);
+ 
+-	PyEval_AcquireLock();
++	PyThreadState *state = nullptr;
++	PyEval_AcquireThread(state);
+ 	
+ 	PyObject *pyModule;
+ 	if (autoReload) {
+@@ -152,11 +154,11 @@
+ 	} else {
+ 		pyModule = PyImport_ImportModule((char*)moduleName.toStdString().c_str());
+ 	}
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ 	// Get function object
+ 	PyObject *pyFunction = PyObject_GetAttrString(pyModule, (char*)function.toStdString().c_str());
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ 	// Call the actual function
+ 	PyObject *ret;
+@@ -164,7 +166,7 @@
+ 		ret = PyEval_CallObject(pyFunction, pyArgs);
+ 	else
+ 		ret = PyEval_CallObject(pyFunction, NULL);
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ //	Py_DECREF(pyFunction); // -Matevz
+ //	Py_DECREF(pyModule); // -Matevz
+@@ -172,7 +174,7 @@
+ //	for (int i=0; i<args.size(); i++)
+ //		Py_DECREF(args[i]); // -Matevz
+ 
+-    PyEval_ReleaseLock();
++    PyEval_ReleaseThread(state);
+ 	return ret;
+ }
+ 
+@@ -189,7 +191,8 @@
+ void *CASwigPython::callPycli(void*) {
+ 
+ 
+-    PyEval_AcquireLock();
++    PyThreadState *state = nullptr;
++    PyEval_AcquireThread(state);
+     PyThreadState_Swap(pycliThreadState);
+ 
+ 	QString fileName = thr_fileName;
+@@ -208,20 +211,20 @@
+ 
+ 	PyObject *pyModule = PyImport_ImportModule((char*)moduleName.toStdString().c_str());
+ 
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ 	// Get function object
+ 
+ 	//PyObject *pyFunction = PyObject_GetAttrString(pyModule, "pycli");
+ 	PyObject *pyFunction = PyObject_GetAttrString(pyModule, (char*)function.toStdString().c_str());
+ 
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ 	// Call the actual function
+ 	//
+ 	PyObject *ret;
+ 	ret = PyEval_CallObject(pyFunction, pyArgs);
+-	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseLock(); return NULL; }
++	if (PyErr_Occurred()) { PyErr_Print(); PyEval_ReleaseThread(state); return NULL; }
+ 
+ //	Py_DECREF(pyFunction); // -Matevz
+ //	Py_DECREF(pyArgs); /// \todo Crashes if uncommented?!d
+@@ -231,7 +234,7 @@
+ 
+ 
+     PyThreadState_Swap(mainThreadState);
+-    PyEval_ReleaseLock();
++    PyEval_ReleaseThread(state);
+ 
+ //	pthread_exit((void*)NULL);
+     return ret;
+diff -ruN canorus-0.7.3rc3-orig/src/widgets/pyconsole.cpp canorus-0.7.3rc3/src/widgets/pyconsole.cpp
+--- canorus-0.7.3rc3-orig/src/widgets/pyconsole.cpp	2018-07-25 15:07:33.211427602 +0300
++++ canorus-0.7.3rc3/src/widgets/pyconsole.cpp	2018-07-25 15:12:44.513167871 +0300
+@@ -305,14 +305,15 @@
+ 
+ // blocking operation;
+ PyThreadState_Swap(CASwigPython::mainThreadState);
+-PyEval_ReleaseLock();
++PyEval_ReleaseThread(CASwigPython::mainThreadState);
+ 
+ //Py_BEGIN_ALLOW_THREADS
+ 	_thrWaitMut->lock();
+ 	_thrWait->wait(_thrWaitMut);
+ //Py_END_ALLOW_THREADS
+ 
+-PyEval_AcquireLock();
++PyThreadState *state = nullptr;
++PyEval_AcquireThread(state);
+ PyThreadState_Swap(CASwigPython::pycliThreadState);
+ 
+ 	QString *str = new QString(_bufSend);	//put contents of _bufSend into buffer \todo: synch



More information about the arch-commits mailing list