Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#79070 - [sdcc] Add additional mcs51 models to default build

Attached to Project: Arch Linux
Opened by Mark Gallagher (maaarghk) - Wednesday, 12 July 2023, 01:55 GMT
Last edited by George Rawlinson (rawlinsong) - Friday, 25 August 2023, 08:59 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To George Rawlinson (rawlinsong)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hey,

I'd like to suggest that the build is updated to include all possible mcs51 targets.

At the minute, medium-stack-auto and huge-stack-auto are not built by default. This is inconvenient for e.g. developers intending to use Contiki (https://github.com/contiki-os/contiki/wiki/8051-Requirements includes instructions for recompiling sdcc).

The reason given by the SDCC devs for not bundling these by default was given 18 years ago [https://sdcc-user.narkive.com/tRiYWp8k/compiling-sdcc-with-libary-xstack-mmcs51-model-mcs51-xstack-auto] as "to keep the load on the compile farm small".

I've made the following patch to pkgbuild locally, which is equivalent to the change suggested by the Contiki wiki for version 4.3.0:

```
diff --git a/PKGBUILD b/PKGBUILD
index b487d9b..33a301c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,6 +22,8 @@ sha256sums=('2a6fc0f021080103daf393ac0efea8ce0f5e9fe2140dce30b999282c81c893cd')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
sed -i 's|CC -E|CC -O2 -E|g' support/sdbinutils/libiberty/configure
+ # Build all models for mcs51 by default
+ sed -i 's|models small-mcs51-stack-auto large-mcs51-stack-auto|models model-mcs51-stack-auto|g' device/lib/Makefile.in
}

build() {
```

This builds the extra models. The package size is 9.2MB with or without the patch; the installed size goes from 352M to 353M with the patch. So I think the additional overhead is worth the improved convenience.

Cheers,

Mark


   PKGBUILD (1.5 KiB)
This task depends upon

Closed by  George Rawlinson (rawlinsong)
Friday, 25 August 2023, 08:59 GMT
Reason for closing:  Implemented
Additional comments about closing:  4.3.0-1
Comment by Toolybird (Toolybird) - Wednesday, 12 July 2023, 06:13 GMT
Unfortunately it's an orphaned pkg (i.e. no Arch maintainer). But I have notified the PM of the only related pkg (sigrok-firmware-fx2lafw).
Comment by Mark Gallagher (maaarghk) - Tuesday, 18 July 2023, 11:02 GMT
@Toolybird, is there an argument it should be downgraded to AUR in that case? Otherwise, is there yet a process where I can sign up to the Arch gitlab and make a pull request with the attached PKGBUILD to get at least the upgrade from 4.2 to 4.3 in repos?
Comment by George Rawlinson (rawlinsong) - Tuesday, 22 August 2023, 22:04 GMT
Hey! I've just picked up maintenance of sdcc. Currently having issues getting 4.3.0 to build, so if you've managed to build 4.3.0 with the included feature request, I can get this through shortly.
Comment by loqs (loqs) - Wednesday, 23 August 2023, 18:15 GMT
I was able to get 4.3.0 to build by applying parts of upstream revision 14312, see attached diff.
Comment by George Rawlinson (rawlinsong) - Friday, 25 August 2023, 08:59 GMT
Thanks loqs!

Loading...