AOSC-Dev / aosc-os-abbs

ABBS/ACBS tree for AOSC OS package metadata, build configuration, scripts, and patches
https://packages.aosc.io
GNU General Public License v2.0
106 stars 85 forks source link

rethinkdb: FTBFS #2037

Closed KexyBiscuit closed 4 years ago

KexyBiscuit commented 5 years ago

Bug description

    [23/441] CC build/release/obj/rdb_protocol/ql2.pb.o
/var/cache/acbs/build/acbs.xp_g158f/rethinkdb-2.3.7/drivers/javascript/errors.coffee:3:9: error: Can't reference 'this' before calling super in derived class constructors
        @name = @constructor.name
        ^
make[1]: *** [drivers/javascript/build.mk:25: build/drivers/javascript/coffee/errors.js] Error 1
make[1]: *** Deleting file 'build/drivers/javascript/coffee/errors.js'
make[1]: *** Waiting for unfinished jobs....

acbs-build_2_5en26i.log

Reproducing steps

Build rethinkdb.

Update channel(s)

Stable-Proposed

Package and version

b0d2b465dd918c03574522e3f7432e7d9c61d360

LionNatsu commented 4 years ago

Here is more context of the code:

class ReqlError extends Error
    constructor: (msg, term, frames) ->
        @name = @constructor.name
        @msg = msg
        ...

The failure was because of the breaking changes in syntax from CoffeeScript 1.x to 2.0 http://coffeescript.org/v2/#breaking-changes-super-this and it is fundamentally because the new limitation in ES2015. Notations like @xxxx are the shorthand of this.xxxx and in CoffeeScript 2.0 it is not allowed before a super call.

Adding a single line can fix the problem:

class ReqlError extends Error
    constructor: (msg, term, frames) ->
        super
        @name = @constructor.name
        @msg = msg
        ...

But there are many such things in the code.

A simpler solution: (locally, if it's possible) downgrade coffeescript to 1.x. But how? cc: @liushuyu

LionNatsu commented 4 years ago

See also: https://github.com/jashkenas/coffeescript/issues/4547 https://github.com/hyperledger/hyperledger-rocket-chat-hubot/issues/16

MingcongBai commented 4 years ago

We are dropping this package, no point maintaining a package that no one asked for. Open a package request if needed.