dosbox-djcrx

maintainer janezz55 · 1 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds a cross-compiler toolchain from source archives hosted on the project's official domain (delorie.com) and GitHub; despite non-whitelisted hosts and skipped checksums, the sources are legitimate project releases and the build process is transparent and self-contained.

Triggered rules

LOW AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds a cross-compiler toolchain from source archives hosted on the project's official domain (delorie.com) and GitHub; despite non-whitelisted hosts and skipped checksums, the sources are legitimate project releases and the build process is transparent and self-contained.

1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:15 source=("ftp://www.delorie.com/pub/djgpp/current/v2/djcrx${pkgver//./}.zip"

PKGBUILD

1 offending line(s) highlighted
1# Contributor: carstene1ns <arch carsten-teibes de>
2# Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==>
3# Contributor: Schala
4# Contributor: janezz55
5
6pkgname=dosbox-djcrx
7pkgver=2.05
8pkgrel=25
9libmver=0.8.1
10pkgdesc="Headers and utilities for the djgpp dosbox cross-compiler"
11arch=('i686' 'x86_64')
12url="http://www.delorie.com/djgpp/"
13depends=('glibc' 'gcc-libs')
14license=('GPL' 'LGPL' 'custom:djgpp')
15source=("ftp://www.delorie.com/pub/djgpp/current/v2/djcrx${pkgver//./}.zip"
16 "ftp://www.delorie.com/pub/djgpp/current/v2/djlsr${pkgver//./}.zip"
17 "https://github.com/JuliaMath/openlibm/archive/refs/tags/v${libmver}.zip"
18 ttyscrn.patch
19 nmemalign.patch
20 fseeko64.patch
21 asm.patch
22 dxegen.patch
23 djgpp-djcrx-gcccompat.patch)
24makedepends=('dosbox-gcc' 'bison' 'sed')
25sha256sums=('SKIP'
26 'SKIP'
27 'SKIP'
28 'SKIP'
29 'SKIP'
30 'SKIP'
31 'SKIP'
32 'SKIP'
33 'SKIP')
34options=('!buildflags' '!makeflags' '!strip')
35_target='i586-pc-msdosdjgpp'
36
37prepare() {
38 # fix build with gcc >= 8
39 patch -Np1 < djgpp-djcrx-gcccompat.patch
40
41 # gcc provides its own float.h which masks this one
42 ln -fs float.h include/djfloat.h
43 sed -i 's/<float\.h>/<djfloat.h>/' src/libc/{go32/dpmiexcp,emu387/npxsetup}.c src/utils/redir.c
44
45 # fix libc bugs
46 patch -Np0 < ttyscrn.patch
47 patch -Np0 < nmemalign.patch
48 patch -Np0 < fseeko64.patch
49 patch -Np0 < asm.patch
50
51 # allow using dxe3gen without DJDIR and without dxe3res in PATH
52 patch -Np0 < dxegen.patch
53
54 sed -i 's/ln/ln -f/' src/dxe/makefile.dxe
55 sed -i 's/O2/O3/g;s/i[[:digit:]]86/i586/g;s/Werror/Wno-error/g' src/makefile src/makefile.cfg src/makefile.def src/dxe/makefile.dxe
56 sed -i 's/-I$(GCC_INC_DIR)/-isystem$(GCC_INC_DIR)/' src/makefile.inc
57
58 # be verbose
59 #sed -i '/@$(MISC) echo - / d; s/^\t@/\t/' src/makefile.inc src/libc/makefile src/utils/makefile
60
61 #
62 sed -i 's/-std=c99/-std=gnu99/' openlibm-${libmver}/Make.inc
63 sed -i 's/override ARCH := i387//' openlibm-${libmver}/Make.inc
64 sed -i 's/ifneq ($(filter $(ARCH),i387 amd64/ifneq ($(filter $(ARCH),i586 amd64/' openlibm-${libmver}/Make.inc
65 sed -i 's/SUBDIRS = src $(ARCH) bsdsrc/SUBDIRS = src bsdsrc/' openlibm-${libmver}/Makefile
66 sed -i 's/ifneq ($(filter $(ARCH),i387 amd64),)/ifneq ($(filter $(ARCH),i586 amd64),)/' openlibm-${libmver}/Makefile
67}
68
69build() {
70 cd openlibm-${libmver}
71 make clean
72 CC=${_target}-gcc make ARCH=i586 MARCH=i586 CFLAGS="-nostdinc -isystem$srcdir/include -s" libopenlibm.a
73 mv libopenlibm.a ../lib/
74 cp include/*.h ../include/
75 cd ..
76
77 cd src
78 make clean
79 make -j1
80
81 cd dxe
82 make -f makefile.dxe
83
84 cd $srcdir/lib
85 mv libopenlibm.a libm.a
86
87 cd ../include
88 rm -f math.h complex.h fenv.h libm/math.h
89 ln -s openlibm_math.h math.h
90 ln -s openlibm_math.h libm/math.h
91 ln -s openlibm_complex.h complex.h
92 ln -s openlibm_fenv.h fenv.h
93
94 sed -i 's/\/\/typedef __double_t double_t/typedef double double_t/' math.h
95 sed -i 's/\/\/typedef __float_t float_t/typedef float float_t/' math.h
96}
97
98package() {
99 install -d $pkgdir/usr/bin
100 install -d $pkgdir/usr/$_target/bin
101
102 cp -r lib include $pkgdir/usr/$_target
103
104 cd hostbin
105 for _file in djasm mkdoc stubedit stubify; do
106 install -m0755 $_file.exe $pkgdir/usr/$_target/bin/$_file
107 ln -s ../$_target/bin/$_file $pkgdir/usr/bin/$_target-$_file
108 done
109
110 cd ../src/dxe
111 for _file in dxe3gen dxe3res; do
112 install -m0755 $_file $pkgdir/usr/$_target/bin/$_file
113 ln -s ../$_target/bin/$_file $pkgdir/usr/bin/$_target-$_file
114 done
115 ln -s dxe3gen $pkgdir/usr/$_target/bin/dxegen
116
117 cd $srcdir
118 install -Dm644 copying.dj $pkgdir/usr/share/licenses/$pkgname/copying.dj
119
120 #${_target}-strip -s $pkgdir/usr/$_target/lib/*.a
121}
122

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion