diff --git a/abi_libs b/abi_libs
new file mode 100644
--- /dev/null
+++ b/abi_libs
@@ -0,0 +1 @@
+ankirspy.cpython-37m-x86_64-linux-gnu.so
diff --git a/abi_symbols b/abi_symbols
new file mode 100644
--- /dev/null
+++ b/abi_symbols
@@ -0,0 +1,2 @@
+ankirspy.cpython-37m-x86_64-linux-gnu.so:PyInit_ankirspy
+ankirspy.cpython-37m-x86_64-linux-gnu.so:rust_eh_personality
diff --git a/abi_used_libs b/abi_used_libs
--- a/abi_used_libs
+++ b/abi_used_libs
@@ -1,3 +1,4 @@
+UNKNOWN
ld-linux-x86-64.so.2
libc.so.6
libdl.so.2
diff --git a/abi_used_symbols b/abi_used_symbols
new file mode 100644
--- /dev/null
+++ b/abi_used_symbols
@@ -0,0 +1,272 @@
+UNKNOWN:PyBaseObject_Type
+UNKNOWN:PyBytes_AsString
+UNKNOWN:PyBytes_FromStringAndSize
+UNKNOWN:PyBytes_Size
+UNKNOWN:PyCFunction_NewEx
+UNKNOWN:PyDict_Copy
+UNKNOWN:PyDict_DelItem
+UNKNOWN:PyDict_GetItem
+UNKNOWN:PyDict_Next
+UNKNOWN:PyDict_SetItemString
+UNKNOWN:PyDict_Size
+UNKNOWN:PyErr_Fetch
+UNKNOWN:PyErr_GivenExceptionMatches
+UNKNOWN:PyErr_NewException
+UNKNOWN:PyErr_Occurred
+UNKNOWN:PyErr_Print
+UNKNOWN:PyErr_PrintEx
+UNKNOWN:PyErr_Restore
+UNKNOWN:PyEval_RestoreThread
+UNKNOWN:PyEval_SaveThread
+UNKNOWN:PyExc_AttributeError
+UNKNOWN:PyExc_BaseException
+UNKNOWN:PyExc_Exception
+UNKNOWN:PyExc_OverflowError
+UNKNOWN:PyExc_RuntimeError
+UNKNOWN:PyExc_SystemError
+UNKNOWN:PyExc_TypeError
+UNKNOWN:PyExc_UnicodeDecodeError
+UNKNOWN:PyExc_ValueError
+UNKNOWN:PyGILState_Ensure
+UNKNOWN:PyGILState_Release
+UNKNOWN:PyList_Append
+UNKNOWN:PyList_New
+UNKNOWN:PyList_SetItem
+UNKNOWN:PyLong_AsLong
+UNKNOWN:PyLong_FromLong
+UNKNOWN:PyModule_Create2
+UNKNOWN:PyNumber_Index
+UNKNOWN:PyObject_CallFinalizerFromDealloc
+UNKNOWN:PyObject_Free
+UNKNOWN:PyObject_GC_Del
+UNKNOWN:PyObject_GetAttr
+UNKNOWN:PyObject_SetAttr
+UNKNOWN:PyObject_Str
+UNKNOWN:PyTuple_GetSlice
+UNKNOWN:PyTuple_New
+UNKNOWN:PyTuple_SetItem
+UNKNOWN:PyType_GenericAlloc
+UNKNOWN:PyType_Modified
+UNKNOWN:PyType_Ready
+UNKNOWN:PyUnicode_AsEncodedString
+UNKNOWN:PyUnicode_AsUTF8AndSize
+UNKNOWN:PyUnicode_FromStringAndSize
+UNKNOWN:Py_Finalize
+UNKNOWN:Py_InitializeEx
+UNKNOWN:Py_IsInitialized
+UNKNOWN:_Py_Dealloc
+UNKNOWN:_Py_NoneStruct
+ld-linux-x86-64.so.2:__tls_get_addr
+libc.so.6:__ctype_b_loc
+libc.so.6:__cxa_atexit
+libc.so.6:__fdelt_chk
+libc.so.6:__fprintf_chk
+libc.so.6:__fxstat
+libc.so.6:__fxstat64
+libc.so.6:__fxstatat64
+libc.so.6:__isoc99_sscanf
+libc.so.6:__lxstat64
+libc.so.6:__memcpy_chk
+libc.so.6:__memset_chk
+libc.so.6:__register_atfork
+libc.so.6:__res_init
+libc.so.6:__sprintf_chk
+libc.so.6:__stack_chk_fail
+libc.so.6:__strcat_chk
+libc.so.6:__vfprintf_chk
+libc.so.6:__xpg_strerror_r
+libc.so.6:__xstat
+libc.so.6:__xstat64
+libc.so.6:_longjmp
+libc.so.6:_setjmp
+libc.so.6:abort
+libc.so.6:access
+libc.so.6:bcmp
+libc.so.6:bind
+libc.so.6:calloc
+libc.so.6:clock_gettime
+libc.so.6:closedir
+libc.so.6:dirfd
+libc.so.6:dl_iterate_phdr
+libc.so.6:epoll_create
+libc.so.6:epoll_ctl
+libc.so.6:epoll_wait
+libc.so.6:fchmod
+libc.so.6:fchown
+libc.so.6:fclose
+libc.so.6:fcntl
+libc.so.6:fcntl64
+libc.so.6:feof
+libc.so.6:ferror
+libc.so.6:fflush
+libc.so.6:fgets
+libc.so.6:fileno
+libc.so.6:fopen
+libc.so.6:fopen64
+libc.so.6:fputc
+libc.so.6:fputs
+libc.so.6:fread
+libc.so.6:free
+libc.so.6:freeaddrinfo
+libc.so.6:fseek
+libc.so.6:ftell
+libc.so.6:ftruncate64
+libc.so.6:fwrite
+libc.so.6:gai_strerror
+libc.so.6:getaddrinfo
+libc.so.6:getcontext
+libc.so.6:getcwd
+libc.so.6:getenv
+libc.so.6:geteuid
+libc.so.6:getpeername
+libc.so.6:getpid
+libc.so.6:getpwuid_r
+libc.so.6:getsockopt
+libc.so.6:gettimeofday
+libc.so.6:getuid
+libc.so.6:gmtime_r
+libc.so.6:ioctl
+libc.so.6:isatty
+libc.so.6:link
+libc.so.6:localtime
+libc.so.6:localtime_r
+libc.so.6:makecontext
+libc.so.6:malloc
+libc.so.6:memchr
+libc.so.6:memcmp
+libc.so.6:memcpy
+libc.so.6:memmove
+libc.so.6:memrchr
+libc.so.6:memset
+libc.so.6:mkdir
+libc.so.6:mmap
+libc.so.6:mmap64
+libc.so.6:mprotect
+libc.so.6:mremap
+libc.so.6:munmap
+libc.so.6:nanosleep
+libc.so.6:opendir
+libc.so.6:perror
+libc.so.6:pipe
+libc.so.6:poll
+libc.so.6:posix_memalign
+libc.so.6:prctl
+libc.so.6:pthread_attr_destroy
+libc.so.6:pthread_attr_init
+libc.so.6:pthread_self
+libc.so.6:qsort
+libc.so.6:readdir
+libc.so.6:readdir64_r
+libc.so.6:readlink
+libc.so.6:readv
+libc.so.6:realloc
+libc.so.6:rename
+libc.so.6:rmdir
+libc.so.6:sched_getaffinity
+libc.so.6:sched_yield
+libc.so.6:secure_getenv
+libc.so.6:select
+libc.so.6:setcontext
+libc.so.6:setenv
+libc.so.6:setsockopt
+libc.so.6:shmat
+libc.so.6:shmdt
+libc.so.6:shmget
+libc.so.6:shutdown
+libc.so.6:sigaltstack
+libc.so.6:signal
+libc.so.6:socket
+libc.so.6:stderr
+libc.so.6:stdin
+libc.so.6:strcasecmp
+libc.so.6:strchr
+libc.so.6:strcmp
+libc.so.6:strcpy
+libc.so.6:strcspn
+libc.so.6:strlen
+libc.so.6:strncasecmp
+libc.so.6:strncmp
+libc.so.6:strncpy
+libc.so.6:strrchr
+libc.so.6:strspn
+libc.so.6:strtok
+libc.so.6:strtol
+libc.so.6:strtoul
+libc.so.6:syscall
+libc.so.6:sysconf
+libc.so.6:tcgetattr
+libc.so.6:tcsetattr
+libc.so.6:time
+libc.so.6:timegm
+libc.so.6:uname
+libc.so.6:unlink
+libc.so.6:usleep
+libc.so.6:utimes
+libc.so.6:writev
+libdl.so.2:dlclose
+libdl.so.2:dlerror
+libdl.so.2:dlopen
+libdl.so.2:dlsym
+libgcc_s.so.1:_Unwind_Backtrace
+libgcc_s.so.1:_Unwind_DeleteException
+libgcc_s.so.1:_Unwind_GetDataRelBase
+libgcc_s.so.1:_Unwind_GetIP
+libgcc_s.so.1:_Unwind_GetIPInfo
+libgcc_s.so.1:_Unwind_GetLanguageSpecificData
+libgcc_s.so.1:_Unwind_GetRegionStart
+libgcc_s.so.1:_Unwind_GetTextRelBase
+libgcc_s.so.1:_Unwind_RaiseException
+libgcc_s.so.1:_Unwind_Resume
+libgcc_s.so.1:_Unwind_SetGR
+libgcc_s.so.1:_Unwind_SetIP
+libm.so.6:ceil
+libm.so.6:log
+libm.so.6:roundf
+libpthread.so.0:__errno_location
+libpthread.so.0:accept
+libpthread.so.0:close
+libpthread.so.0:connect
+libpthread.so.0:fsync
+libpthread.so.0:lseek64
+libpthread.so.0:open
+libpthread.so.0:open64
+libpthread.so.0:pthread_attr_getguardsize
+libpthread.so.0:pthread_attr_getstack
+libpthread.so.0:pthread_attr_setstacksize
+libpthread.so.0:pthread_cond_broadcast
+libpthread.so.0:pthread_cond_destroy
+libpthread.so.0:pthread_cond_init
+libpthread.so.0:pthread_cond_signal
+libpthread.so.0:pthread_cond_timedwait
+libpthread.so.0:pthread_cond_wait
+libpthread.so.0:pthread_condattr_destroy
+libpthread.so.0:pthread_condattr_init
+libpthread.so.0:pthread_condattr_setclock
+libpthread.so.0:pthread_create
+libpthread.so.0:pthread_detach
+libpthread.so.0:pthread_getattr_np
+libpthread.so.0:pthread_getspecific
+libpthread.so.0:pthread_join
+libpthread.so.0:pthread_key_create
+libpthread.so.0:pthread_key_delete
+libpthread.so.0:pthread_mutex_destroy
+libpthread.so.0:pthread_mutex_init
+libpthread.so.0:pthread_mutex_lock
+libpthread.so.0:pthread_mutex_trylock
+libpthread.so.0:pthread_mutex_unlock
+libpthread.so.0:pthread_mutexattr_destroy
+libpthread.so.0:pthread_mutexattr_init
+libpthread.so.0:pthread_mutexattr_settype
+libpthread.so.0:pthread_once
+libpthread.so.0:pthread_rwlock_destroy
+libpthread.so.0:pthread_rwlock_init
+libpthread.so.0:pthread_rwlock_rdlock
+libpthread.so.0:pthread_rwlock_unlock
+libpthread.so.0:pthread_rwlock_wrlock
+libpthread.so.0:pthread_setspecific
+libpthread.so.0:read
+libpthread.so.0:recv
+libpthread.so.0:send
+libpthread.so.0:sendmsg
+libpthread.so.0:sigaction
+libpthread.so.0:write
diff --git a/files/0002-fix-makefile.patch b/files/0002-fix-makefile.patch
--- a/files/0002-fix-makefile.patch
+++ b/files/0002-fix-makefile.patch
@@ -40,7 +40,7 @@
. "${ACTIVATE_SCRIPT}"; \
- $(SUBMAKE) -C rspy build BUILDFLAGS="$(BUILDFLAGS)"
+ $(SUBMAKE) -C rspy build BUILDFLAGS="$(BUILDFLAGS)"; \
-+ python -m pip install ./dist/ankirspy-release-cp37-cp37m-manylinux1_x86_64.whl
++ python -m pip install ./dist/ankirspy-2.1.35-cp37-cp37m-linux_x86_64.whl
.PHONY: build-pylib
build-pylib:
diff --git a/files/0004-fix-rust-build-errors.patch b/files/0004-fix-rust-build-errors.patch
deleted file mode 100644
--- a/files/0004-fix-rust-build-errors.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/rslib/build.rs b/rslib/build.rs
-index acc1ed09..797ddcec 100644
---- a/rslib/build.rs
-+++ b/rslib/build.rs
-@@ -210,11 +210,11 @@ fn main() -> std::io::Result<()> {
- .compile_protos(&["../proto/backend.proto"], &["../proto"])
- .unwrap();
- // rustfmt the protobuf code
-- let rustfmt = Command::new("rustfmt")
-- .arg(Path::new("src/backend_proto.rs"))
-- .status()
-- .unwrap();
-- assert!(rustfmt.success(), "rustfmt backend_proto.rs failed");
-+ //let rustfmt = Command::new("rustfmt")
-+ // .arg(Path::new("src/backend_proto.rs"))
-+ // .status()
-+ // .unwrap();
-+ //assert!(rustfmt.success(), "rustfmt backend_proto.rs failed");
-
- // write the other language ftl files
- let mut ftl_lang_dirs = vec!["./ftl/repo/core".to_string()];
-diff --git a/rspy/rust-toolchain b/rspy/rust-toolchain
-index 2bf5ad04..22bde816 100644
---- a/rspy/rust-toolchain
-+++ b/rspy/rust-toolchain
-@@ -1 +1 @@
--stable
-+nightly-2020-12-27
diff --git a/files/0004-use-native-rust.patch b/files/0004-use-native-rust.patch
new file mode 100644
--- /dev/null
+++ b/files/0004-use-native-rust.patch
@@ -0,0 +1,55 @@
+diff --git a/rslib/build.rs b/rslib/build.rs
+index acc1ed09..797ddcec 100644
+--- a/rslib/build.rs
++++ b/rslib/build.rs
+@@ -210,11 +210,11 @@ fn main() -> std::io::Result<()> {
+ .compile_protos(&["../proto/backend.proto"], &["../proto"])
+ .unwrap();
+ // rustfmt the protobuf code
+- let rustfmt = Command::new("rustfmt")
+- .arg(Path::new("src/backend_proto.rs"))
+- .status()
+- .unwrap();
+- assert!(rustfmt.success(), "rustfmt backend_proto.rs failed");
++ //let rustfmt = Command::new("rustfmt")
++ // .arg(Path::new("src/backend_proto.rs"))
++ // .status()
++ // .unwrap();
++ //assert!(rustfmt.success(), "rustfmt backend_proto.rs failed");
+
+ // write the other language ftl files
+ let mut ftl_lang_dirs = vec!["./ftl/repo/core".to_string()];
+diff --git a/rspy/Makefile b/rspy/Makefile
+index 5eb9ea8f..e3336edb 100644
+--- a/rspy/Makefile
++++ b/rspy/Makefile
+@@ -88,9 +88,9 @@ RUST_TOOLCHAIN := $(shell cat rust-toolchain)
+
+ .build/tools: requirements.txt rust-toolchain
+ python -m pip install -r requirements.txt
+- rustup toolchain install $(RUST_TOOLCHAIN)
+- rustup component add rustfmt-preview --toolchain $(RUST_TOOLCHAIN)
+- rustup component add clippy-preview --toolchain $(RUST_TOOLCHAIN)
++ #rustup toolchain install $(RUST_TOOLCHAIN)
++ #rustup component add rustfmt-preview --toolchain $(RUST_TOOLCHAIN)
++ #rustup component add clippy-preview --toolchain $(RUST_TOOLCHAIN)
+ @touch $@
+
+ # we should not call clippy because it break things when running make check Mac OS
+diff --git a/rslib/Makefile b/rslib/Makefile
+index 7a18b53e..c0becde7 100644
+--- a/rslib/Makefile
++++ b/rslib/Makefile
+@@ -36,9 +36,9 @@ ALL_SOURCE := $(shell "${FIND}" src -type f | egrep -v "i18n/autogen|i18n/ftl|_p
+ RUST_TOOLCHAIN := $(shell cat rust-toolchain)
+
+ .build/rs-tools: rust-toolchain
+- rustup toolchain install $(RUST_TOOLCHAIN)
+- rustup component add rustfmt-preview --toolchain $(RUST_TOOLCHAIN)
+- rustup component add clippy-preview --toolchain $(RUST_TOOLCHAIN)
++ #rustup toolchain install $(RUST_TOOLCHAIN)
++ #rustup component add rustfmt-preview --toolchain $(RUST_TOOLCHAIN)
++ #rustup component add clippy-preview --toolchain $(RUST_TOOLCHAIN)
+ @touch $@
+
+ .build/check: ftl/repo .build/rs-tools $(ALL_SOURCE)
diff --git a/files/series b/files/series
--- a/files/series
+++ b/files/series
@@ -1,4 +1,4 @@
0001-Move-aqt_data-to-sys.prefix-share.patch
0002-fix-makefile.patch
0003-fix-translation-install.patch
-0004-fix-rust-build-errors.patch
+0004-use-native-rust.patch
diff --git a/package.yml b/package.yml
--- a/package.yml
+++ b/package.yml
@@ -1,6 +1,6 @@
name : anki
version : 2.1.35
-release : 20
+release : 21
source :
- https://github.com/ankitects/anki/archive/2.1.35.tar.gz : 188c0756bd2acda0b5d675c2f8462b4bca32aed451e7ffa495e9de5c387aebd0
license : AGPL-3.0-or-later
@@ -12,6 +12,7 @@
builddeps :
- pkgconfig(portaudiocpp)
- pkgconfig(python3)
+ - cargo
- flask-cors
- git
- nodejs
@@ -23,6 +24,7 @@
- python-distro
- python-jsonschema
- python-markdown
+ - python-maturin
- python-mock
- python-mypy
- python-protobuf
@@ -33,13 +35,13 @@
- python-waitress
- python-wheel
- rsync
- - rustup
rundeps :
- flask-cors
- gtk2-engine-murrine
- mpv
- PyAudio
- python-decorator
+ - python-distro
- python-beautifulsoup4
- python-jsonschema
- python-markdown
@@ -48,6 +50,7 @@
- python-qtwebengine
- python-send2trash
- python-waitress
+ - vala-panel-appmenu
setup : |
#Fix Makefile and build scripts
sed -i s/release/$version/ $pkgfiles/0002-fix-makefile.patch
diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml
--- a/pspec_x86_64.xml
+++ b/pspec_x86_64.xml
@@ -24,6 +24,7 @@
/usr/lib/python3.7/site-packages/anki-2.1.35.dist-info/METADATA
/usr/lib/python3.7/site-packages/anki-2.1.35.dist-info/RECORD
/usr/lib/python3.7/site-packages/anki-2.1.35.dist-info/WHEEL
+ /usr/lib/python3.7/site-packages/anki-2.1.35.dist-info/direct_url.json
/usr/lib/python3.7/site-packages/anki-2.1.35.dist-info/top_level.txt
/usr/lib/python3.7/site-packages/anki/__init__.py
/usr/lib/python3.7/site-packages/anki/__pycache__/__init__.cpython-37.pyc
@@ -120,11 +121,13 @@
/usr/lib/python3.7/site-packages/ankirspy-2.1.35.dist-info/METADATA
/usr/lib/python3.7/site-packages/ankirspy-2.1.35.dist-info/RECORD
/usr/lib/python3.7/site-packages/ankirspy-2.1.35.dist-info/WHEEL
+ /usr/lib/python3.7/site-packages/ankirspy-2.1.35.dist-info/direct_url.json
/usr/lib/python3.7/site-packages/ankirspy.cpython-37m-x86_64-linux-gnu.so
/usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/INSTALLER
/usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/METADATA
/usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/RECORD
/usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/WHEEL
+ /usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/direct_url.json
/usr/lib/python3.7/site-packages/aqt-2.1.35.dist-info/top_level.txt
/usr/lib/python3.7/site-packages/aqt/__init__.py
/usr/lib/python3.7/site-packages/aqt/__pycache__/__init__.cpython-37.pyc
@@ -662,8 +665,8 @@
-
- 2020-12-27
+
+ 2021-05-01
2.1.35
Packaging update
Thomas Staudinger