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
6
pkgname=dosbox-djcrx
7
pkgver=2.05
8
pkgrel=25
9
libmver=0.8.1
10
pkgdesc="Headers and utilities for the djgpp dosbox cross-compiler"
11
arch=('i686' 'x86_64')
12
url="http://www.delorie.com/djgpp/"
13
depends=('glibc' 'gcc-libs')
14
license=('GPL' 'LGPL' 'custom:djgpp')
15
source=("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)
24
makedepends=('dosbox-gcc' 'bison' 'sed')
25
sha256sums=('SKIP'
26
'SKIP'
27
'SKIP'
28
'SKIP'
29
'SKIP'
30
'SKIP'
31
'SKIP'
32
'SKIP'
33
'SKIP')
34
options=('!buildflags' '!makeflags' '!strip')
35
_target='i586-pc-msdosdjgpp'
36
37
prepare() {
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
69
build() {
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
98
package() {
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) | Severity | Rules |
|---|---|---|
| 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 |