[lazy admin writings] Backporting a deb package with Debian Linux

More recent yt-dlp versions (direct download ones) are complaining about EJS and warn that the build-in solution in yt-dlp will be deprecated. I wanted to prepare for this future deprecation so I had looked at the options before. The recommended one is Deno but I prefer to install from deb packages as much as possible and Deno could not be found in the Debian packages repositories. Then I had noticed that QuickJS (by the software genius Fabrice Bellard) is in the repositories but only from Debian Trixie and newer. The computer I use yt-dlp has Debian Bookworm and I’m not yet ready or too lazy or some such to make the jump from Bookwork to Trixie now.

What to do ? First I thought about apt-pinning which worked nice many years ago but in more recent years my experience with it was a bit too messy or chaotic. Chaos is fine but not too often 😉 So what then ?

Go Go Gadget! Backporting.

Years ago I had used backporting several times with Debian even for packages with a lot dependencies which meant backporting several other programs and libraries that the package depended on.

With QuickJS I expected things to be easy because Fabrice Bellard is a programmer which appears to avoid bloat and wants to use every bit as efficient as possible.

After a search engine search I quickly found what I needed, this page :

https://debian-handbook.info/browse/stable/debian-packaging.html

Let’s summarize how this backporting was a  success :

I made sure I had compile tools installed.

# apt install build-essential

(# implies sudo or su to temporary have root privileges $ implies regular user)

Then installed the devscripts deb and one of the suggestions (dh-make) which I am not sure that it was actually needed :

# apt install devscripts dh-make

In /etc/apt/sources.list I added one new line (without the #)  :

# deb-src http://deb.debian.org/debian/ trixie main contrib non-free

Then ran # apt update

As regular user :

$ apt source quickjs

After this command had downloaded the source, navigate into the new directory.

$ cd quickjs-2025.04.26/

Now an optional step which you can omit.

$ dch –local +falcot

Then the big moment. I still was not sure whether it needed more dependencies so this could fail.

$ dpkg-buildpackage -us -uc

And the compiling started and finished well.

The result were in the directory above (After compiling it will also mention that)

it resulted among other in two deb files : quickjs_2025.04.26-1_amd64.deb and libquickjs_2025.04.26-1_amd64.deb

The final step of backporting and installing :

# dpkg -i quickjs*deb libquickjs_2025.04.26-1_amd64.deb

That looked good, no errors.

Then the first new step with yt-dlp :

$ yt-dlp_linux –js-runtimes quickjs:/bin/qjs [and YouTube link here]

(Syntax following :  https://github.com/yt-dlp/yt-dlp/wiki/EJS)

And there it was in the yt-dlp output, the final verdict, it worked! :

[youtube] [jsc:quickjs] Solving JS challenges using quickjs

[info] [YT-link part]: Downloading 1 format(s): 135+251

Of course this will be more difficult or even very difficult or almost impossible if the package you’d like to backport has many dependencies but

you never know unless you try! 🙂

 

 

#backporting #compiling #debian #linux #opensource #ytDlp
EJS

A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp

GitHub

Tutorial: How to cross-compile for AmigaOS 4

George Sokianos provides a brief introduction to compiling OS4 code on alien platforms in a blog post.

https://www.amiga-news.de/en/news/AN-2025-12-00049-EN.html

#AmigaOS4 #tutorial #compiling

amiga-news.de - Tutorial: How to cross-compile for AmigaOS 4

Poor 8th-gen Intel. It’s doing its best.

Sadly, a 2018 laptop struggles to continually re-compile software for a “minimal” system… Hmm.

Compiling Ruby To Machine Language - Pat Shaughnessy

Playground: Checking build for KaiChat on Haiku, earlier added a fix for building with Qt 6.10.0 upstream.
Now I only need to figure out ollama? 😇

#HaikuOS #haikuports #KDE #Qt #KaiChat #KTextAddons #opensource #compiling #scripting

🛠️🎉 #Zig finally got its Async/Await back! 🙄 The world's most anticipated feature for a #language no one's heard of—because, obviously, we don't have enough async/await in other languages. 😂 But hey, #compiling from the master branch makes you a real programmer, right? 🤓✨
https://charlesfonseca.substack.com/p/asyncawait-is-finally-back-in-zig #AsyncAwait #Programming #DeveloperHumor #HackerNews #ngated
Async/Await is finally back in Zig

What changed, why it matters, and how to use the new API.

Charles Fonseca's Substack
I currently have a programming rig running WinBlows 11, but would love to get away from it, since MicroSloth seem determined to foist intrusive AI and tracking on us.
The problem is - Unreal Engine 5.6+ still does not run perfectly on Linux. Or my available M1 Macs. (Apple aren’t a lot better, but it seems easier to block/disable their stuff and I still need Vellum for my novels)
Has anyone found a Linux setup that allows UE5 development without sacrificing functionality or capabilities?
Seriously need to get rid of MS and their crap for good.
#linux #linuxdeveloper #UnrealEngine5 #unrealengine #programming #coding #compiling #prototyping

One fucking busy system 😜

#linuxadmin #linux #kernel #compiling #opensource

One fucking busy system 😜

#linuxadmin #linux #kernel #compiling #opensource

Gentoo was trying to download rust-bin 1.74.1 to compile rust 1.74.1 to compile rust 1.75.0 to compile rust 1.76.0 to compile rust 1.77.1 to compile rust 1.78.0 to compile rust 1.79.0 to compile rust 1.80.1 to compile rust 1.81.0 to compile rust 1.82.0 to compile rust 1.83.0 to compile rust 1.84.1 to compile rust 1.85.1 to compile rust 1.86.0 to compile rust 1.87.0 to compile rust 1.88.0 to compile rust 1.89.0 🫠

#Gentoo #Linux #portage #emerge #compiling #gentoolinux