Package Details: ticemu 2.0-1

Git Clone URL: https://aur.archlinux.org/ticemu.git (read-only, click to copy)
Package Base: ticemu
Description: Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features
Upstream URL: https://ce-programming.github.io/CEmu/
Licenses: GPL
Submitter: Juju
Maintainer: Juju (commandblockguy)
Last Packager: commandblockguy
Votes: 2
Popularity: 0.000000
First Submitted: 2020-06-14 00:20 (UTC)
Last Updated: 2024-09-05 23:29 (UTC)

Latest Comments

HurricanePootis commented on 2025-11-18 21:30 (UTC)

diff --git a/PKGBUILD b/PKGBUILD
index 7ee3e33..ad1e413 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,39 +6,51 @@ pkgname=ticemu
 pkgver=2.0
 url='https://ce-programming.github.io/CEmu/'
 pkgrel=1
-makedepends=('git')
-depends=('qt5-base' 'libarchive')
+makedepends=('git' 'cmake' 'ninja')
+depends=('qt6-base' 'libarchive' 'libusb' 'gcc-libs' 'glibc')
 pkgdesc='Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features'
-license=('GPL')
+license=('GPL-3.0-or-later')
 arch=('x86_64')
-_subpkgver=('7eb89e56d219bbca5ca5cd82c98dce69bd75004b'
-            'f627164d42e1b8757e70b12c8d8c7913a4496cf0')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/CE-Programming/CEmu/archive/v$pkgver.tar.gz"
-   "https://github.com/CE-Programming/zdis/archive/${_subpkgver[0]}.tar.gz"
-   "https://github.com/adriweb/tivars_lib_cpp/archive/${_subpkgver[1]}.tar.gz")
-md5sums=('556651cc60756c85684b7eaa224ac2d8'
-         'f4e1cb5120afda89b90d8867d7c89b10'
-         '872b754ebfb07878d22de6abc651d9b4')
+source=("$pkgname::git+https://github.com/CE-Programming/CEmu.git"
+   "git+https://github.com/CE-Programming/zdis.git"
+   "git+https://github.com/adriweb/tivars_lib_cpp.git")
+md5sums=('SKIP'
+         'SKIP'
+         'SKIP')
 prepare(){
-  cd "$srcdir/CEmu-$pkgver"
+  cd "$srcdir/$pkgname"
+  git submodule init
+  git config submodule."core/debug/zdis".url "$srcdir/zdis"
+  git config submodule."gui/qt/tivars_lib_cpp".url "$srcdir/tivars_lib_cpp"
+  git -c protocol.file.allow=always submodule update

-  rm -r core/debug/zdis
-  cp -r "${srcdir}"/zdis-${_subpkgver[0]} core/debug/zdis
+  sed -i 's/FILENAME_VARIABLE deploy_script/OUTPUT_SCRIPT deploy_script/g' gui/qt/CMakeLists.txt

-  rm -r gui/qt/tivars_lib_cpp
-  cp -r "${srcdir}"/tivars_lib_cpp-${_subpkgver[1]} gui/qt/tivars_lib_cpp
 }
 build() {
-  cd "$srcdir/CEmu-$pkgver/gui/qt"
+  cd "$srcdir"
+
+  cmake -B build -S "$srcdir/$pkgname/gui/qt" \
+  -GNinja \
+  -DCMAKE_INSTALL_PREFIX=/usr \
+  -DCMAKE_BUILD_TYPE=None \
+  -DCMAKE_C_FLAGS="$CFLAGS -DNDEBUG" \
+  -DCMAKE_CXX_FLAGS="$CXXFLAGS -DNDEBUG" \
+  -DCMAKE_SKIP_RPATH=ON \
+  -DCMAKE_SKIP_INSTALL_RPATH=ON \
+  -DSHORT_VERSION="v${pkgver}" \
+  -DIS_OFFICIAL_RELEASE_VERSION=ON \
+
+  cmake --build build

-  qmake -r CEmu.pro "PREFIX=$pkgdir/usr" "CEMU_VERSION=v$pkgver"
-  make
 }
 package() {
-  install -Dm644 "$srcdir/CEmu-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-  install -Dm644 "$srcdir/CEmu-$pkgver/gui/qt/resources/linux/cemu.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
-  install -Dm644 "$srcdir/CEmu-$pkgver/gui/qt/resources/icons/linux/cemu-512x512.png" "$pkgdir/usr/share/pixmaps/cemu.png"
+  install -Dm644 "$srcdir/$pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+  install -Dm644 "$srcdir/$pkgname/gui/qt/resources/linux/cemu.desktop" "$pkgdir/usr/share/applications/CEmu.desktop"
+  install -Dm644 "$srcdir/$pkgname/gui/qt/resources/icons/linux/cemu-512x512.png" "$pkgdir/usr/share/pixmaps/CEmu.png"
+  install -Dm644 "$srcdir/$pkgname/gui/qt/resources/linux/cemu.xml" "$pkgdir/usr/share/mime/packages/cemu.xml"
+  install -Dm755 "$srcdir/build/CEmu" "$pkgdir/usr/bin/CEmu"
+
+  sed -i 's/Icon=cemu/Icon=CEmu/g' "$pkgdir/usr/share/applications/CEmu.desktop"

-  cd "$srcdir/CEmu-$pkgver/gui/qt"
-  make install
 }

I recently made changes to ticemu-git. This package needs changes too 1. Switch to CMake 2. Update depends() and makedepends() to properly reflect realities of the package 3. Use git submodules. There is no reason to manually download this 4. Set package version in CMake command list 5. Install application file, icon file, and modify application file to be named after the resourceClass of the application. This is needed to get the icon to show on wayland systems.

mgunt5 commented on 2024-06-26 15:47 (UTC) (edited on 2024-06-26 15:49 (UTC) by mgunt5)

include-stdexcept.patch (Note: Append this code to the end of your include-stdexcept.patch file so that the PKGBUILD script can work. DO NOT REMOVE THE OTHER LINES OF CODE FROM THE FILE)

"namespace autotester { diff --unified --recursive --text CEmu-1.3.orig/tests/autotester/autotester.cpp CEmu-1.3.new/tests/autotester/autotester.cpp

@@ -23,4 +23,5 @@

include "crc32.hpp"
include "json11.hpp"
+#include <cstring>

include "autotester.h"
"

run "# updpkgsums"

diff --unified --recursive --text CEmu-1.3.orig/tests/autotester/autotester.cpp CEmu-1.3.new/tests/autotester/autotester.cpp
--- CEmu-1.3.orig/tests/autotester/autotester.cpp   2019-06-22 05:20:44.000000000 -0400
+++ CEmu-1.3.new/tests/autotester/autotester.cpp    2020-06-13 19:35:49.180893653 -0400
@@ -23,4 +23,5 @@
 #include "crc32.hpp"
 #include "json11.hpp"
+#include <cstring>

 #include "autotester.h"

mgunt5 commented on 2024-06-26 15:46 (UTC)

When attempting to build the PKGBUILD script, I got an error about some issue with autotester.cpp. I asked a LLM called Claude 3.5 Sonnet for help, it generated some code to modify the PKGBUILD and .patch files, and I tested it. It worked. Here are the codes.

PKGBUILD

# Maintainer: Julien Savard <juju@juju2143.ca>
# Contributor: Nathaniel van Diepen <eeems@eeems.codes>

pkgname=ticemu
pkgver=1.3
url='https://ce-programming.github.io/CEmu/'
pkgrel=1
makedepends=('git')
depends=('qt5-base' 'libarchive')
pkgdesc='Third-party TI-84 Plus CE / TI-83 Premium CE emulator, focused on developer features'
license=('GPL')
arch=('x86_64')
_subpkgver=('7eb89e56d219bbca5ca5cd82c98dce69bd75004b')
source=("$pkgname-$pkgver.tar.gz::https://github.com/CE-Programming/CEmu/archive/v$pkgver.tar.gz"
        "https://github.com/CE-Programming/zdis/archive/${_subpkgver[0]}.tar.gz"
        "include-stdexcept.patch")
md5sums=('SKIP'
         'SKIP'
         'SKIP')
prepare(){
  cd "$srcdir/CEmu-$pkgver"
  rm -r core/debug/zdis
  cp -r "${srcdir}"/zdis-${_subpkgver[0]} core/debug/zdis
  patch --forward --strip=1 --input="${srcdir}/include-stdexcept.patch"
}
build() {
  cd "$srcdir/CEmu-$pkgver/gui/qt"

  qmake -r CEmu.pro "PREFIX=$pkgdir/usr" "CEMU_VERSION=v$pkgver"
  make
}
package() {
  install -Dm644 "$srcdir/CEmu-$pkgver/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm644 "$srcdir/CEmu-$pkgver/gui/qt/resources/linux/cemu.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
  install -Dm644 "$srcdir/CEmu-$pkgver/gui/qt/resources/icons/linux/cemu-512x512.png" "$pkgdir/usr/share/pixmaps/cemu.png"

  cd "$srcdir/CEmu-$pkgver/gui/qt"
  make install
}

See next comment from me for the other file to patch.

Thyrum commented on 2024-06-10 13:36 (UTC)

A different missing "#include <cstring>" has been added upstream but is somehow missing in this release, see https://github.com/CE-Programming/CEmu/blob/master/tests/autotester/autotester.cpp

maxrdz commented on 2023-07-13 23:45 (UTC)

@19tylermalone94 thanks! Hopefully this can be resolved by the maintainer.

19tylermalone94 commented on 2022-09-05 09:37 (UTC) (edited on 2022-09-05 15:53 (UTC) by 19tylermalone94)

find the patch file "/ticemu/src/include-stdexcept.patch". Add this to the bottom of the patch file:

"namespace autotester { diff --unified --recursive --text CEmu-1.3.orig/tests/autotester/autotester.cpp CEmu-1.3.new/tests/autotester/autotester.cpp

@@ -23,4 +23,5 @@

include "crc32.hpp"
include "json11.hpp"

+#include <cstring>

include "autotester.h"

"

run "# updpkgsums"

install with makepkg -si and you're good

<deleted-account> commented on 2022-06-29 06:33 (UTC)

I've submitted a PR upstream, now we wait

Oman395 commented on 2022-06-18 00:23 (UTC)

Currently getting a build error, "‘memcpy’ was not declared in this scope". Looks like there's a missing #include <cstring>.

Luk313 commented on 2021-10-18 13:17 (UTC)

Hello, I am getting a "Erreur de segmentation (core dumped)" (segmentation error - core dumped) error at first launch. Somone has any clue please ? (all qt5 dependencies have been installed, i would say: e.g. qt5-quickcontrols) Thanks :)

alve commented on 2021-02-05 09:52 (UTC)

I think this package (and it's -git package) should have a provides= and conflicts= because you can't have both installed at the same time