truedat101 / dlang-sv-community

A community repository for stuff related to #dlang Silicon Valley Meetup group
http://www.meetup.com/D-Lang-Silicon-Valley/
2 stars 1 forks source link

ArchLinux ARM needs a package maintainer for ldc2 #57

Closed truedat101 closed 5 years ago

truedat101 commented 5 years ago

There is no package maintainer any longer, at least, the maintained packages lost their maintainer, and so they also got pulled out of ArchLinux ARM's repository. I see from a search that there are a couple of packages that show up but these haven't made their way down to ArchLinux ARM. Possibly these are broken? Or just not current.

https://aur.archlinux.org/packages/?O=0&SeB=nd&K=ldc&outdated=&SB=n&SO=a&PP=50&do_Search=Go

Related issues #44 and #45 .

joakim-noah commented 5 years ago

What's wrong with this?

truedat101 commented 5 years ago

Good question. At some point in the near past, the packages for D (there were a handful: ldc, gdc, libphobos) fell out of maintenance (I want to say it was the GDC package, but this was awhile back). Consequently, the downstream project, ArchLinux ARM which uses these packages, couldn't pass through builds, and therefore, Kevin (from Arch Linux ARM) removed these packages from the downstream project. Since it looks like these packages are actively maintained, I'll bug Kevin about why these aren't re-added to his distributions.

see http://archlinuxarm.org package repo:

archilinuxarm
truedat101 commented 5 years ago

@kmihelich do you recall why all Dlang packages were removed from Arch Linux Arm aur packages? Specifically when I was working on this stuff a few years back, there was still a gdc, a phobos, and I think an ldc package. I vaguely recall you said the packages were broken and had lost their maintainer. It looks like someone is actively maintaining the upstream aur packages now. What do I need to do to help this along to get this back into Arch Linux Arm?

kmihelich commented 5 years ago

gdc was in the community repo, and was the only D compiler that built for ARM. When it was dropped from upstream Arch, I dropped it for ARM like any other discontinued upstream package. AUR packages aren't official Arch packages, and users are expected to build those themselves.

joakim-noah commented 5 years ago

LDC is in the community repo now and supports both ARM and AArch64, would be good to get it back in.

truedat101 commented 5 years ago

What I'm scratching my head about, so Go is in there (in Arch Linux ARM) but is listed as community. Not sure I understand how this is supposed to work: https://archlinuxarm.org/packages/aarch64/go . How can I distinguish between official packages and AUR packages?

kmihelich commented 5 years ago

Community is an official repository. https://wiki.archlinux.org/index.php/Official_repositories

truedat101 commented 5 years ago

So LDC and gdc are in Community, correct?

kmihelich commented 5 years ago

Yep. Looks like gdc is back now.

truedat101 commented 5 years ago

Should we file a ticket or something on ArchLinux ARM. Not sure what the standard practice is to lobby for a package to get added back.

kmihelich commented 5 years ago

I'll look into it and see if it compiles.

kmihelich commented 5 years ago

I've added gdc for all architectures, ldc for v7 and v8.

truedat101 commented 5 years ago

Awesome! Thanks. I'll fire this up over the weekend on my espressobin.

truedat101 commented 5 years ago

See in archlinuxarm packages:

aarch64 community ldc 2:1.12.0-1 A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2
armv7h community ldc 2:1.12.0-1 A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2
truedat101 commented 5 years ago

I verified the packages work great! Size of output binary is much smaller than the gdc:

-rwxr-xr-x 2 root root 4621088 Mar 12 03:32 dlang-testbench -rwxr-xr-x 1 root root 549120 Mar 12 03:32 dlang-testbench-ldc

truedat101 commented 5 years ago

ldc details:

 ldc --version
LDC - the LLVM D compiler (1.14.0):
  based on DMD v2.084.1 and LLVM 7.0.1
  built with LDC - the LLVM D compiler (1.13.0)
  Default target: aarch64-unknown-linux-gnu
  Host CPU: cortex-a53
  http://dlang.org - http://wiki.dlang.org/LDC

  Registered Targets:
    aarch64    - AArch64 (little endian)
    aarch64_be - AArch64 (big endian)
    amdgcn     - AMD GCN GPUs
    arm        - ARM
    arm64      - ARM64 (little endian)
    armeb      - ARM (big endian)
    bpf        - BPF (host endian)
    bpfeb      - BPF (big endian)
    bpfel      - BPF (little endian)
    hexagon    - Hexagon
    lanai      - Lanai
    mips       - Mips
    mips64     - Mips64 [experimental]
    mips64el   - Mips64el [experimental]
    mipsel     - Mipsel
    msp430     - MSP430 [experimental]
    nvptx      - NVIDIA PTX 32-bit
    nvptx64    - NVIDIA PTX 64-bit
    ppc32      - PowerPC 32
    ppc64      - PowerPC 64
    ppc64le    - PowerPC 64 LE
    r600       - AMD GPUs HD2XXX-HD6XXX
    sparc      - Sparc
    sparcel    - Sparc LE
    sparcv9    - Sparc V9
    systemz    - SystemZ
    thumb      - Thumb
    thumbeb    - Thumb (big endian)
    x86        - 32-bit X86: Pentium-Pro and above
    x86-64     - 64-bit X86: EM64T and AMD64
    xcore      - XCore