Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#38485 closed submission (fixed)

rethinkdb: add new package

Reported by: anatol (Anatol Pomozov) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: drkp (Dan Ports)
Port: rethinkdb

Description

RethinkDB is a new hotness. It is NoSQL database with replication out-of-box and claims that it fixes MongoDB pitfalls.

http://http://www.rethinkdb.com/

The package installs binaries correctly, but probably needs cleanup.

Attachments (1)

Portfile (2.1 KB) - added by anatol (Anatol Pomozov) 11 years ago.

Download all attachments as: .zip

Change History (8)

Changed 11 years ago by anatol (Anatol Pomozov)

Attachment: Portfile added

comment:1 Changed 11 years ago by anatol (Anatol Pomozov)

Here is startup line from Linux Arch for rethinkdb.

Environment=CLUSTER_PORT=29015
Environment=DRIVER_PORT=28015
Environment=HTTP_PORT=8080
Environment=PORT_OFFSET=0
/usr/bin/rethinkdb serve -d /var/lib/rethinkdb --cluster-port $CLUSTER_PORT --driver-port $DRIVER_PORT --port-offset $PORT_OFFSET --http-port $HTTP_PORT --pid-file /run/rethinkdb/rethinkdb.pid

macports should use similar command (but use correct prefix).

Last edited 11 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: dports@… added; dports removed
Owner: changed from macports-tickets@… to ryandesign@…
Status: newassigned

Thanks. Note that if you were trying to Cc Dan Ports for some reason, the Cc field requires complete email addresses, and that you should use WikiFormatting when writing in Trac.

comment:3 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

I have committed your port in r104261 with these changes

  • changed tabs to spaces and removed trailing whitespace
  • changed the maintainers line to nomaintainer (unless you want to maintain this port?)
  • removed the lines "distname rethinkdb-${version}", "use_configure yes" and "worksrcdir rethinkdb-${version}" because those are the defaults
  • allowed nodejs-devel to satisfy the nodejs dependency
  • changed creation of empty ${destroot}${prefix}/var/lib/rethinkdb/ directory into a destroot.keepdirs invocation, which I assume is what you wanted, because otherwise MacPorts deletes empty directories after the destroot phase
  • removed comment "correct permissions for files?" and changed xinstall invocations to not set the execute bit on files that don't need it
  • made a variable for ${prefix}/share/rethinkdb/web and used it throughout
  • modified the livecheck slightly
  • reordered some lines
  • disabled universal variant and indicated support only for i386 and x86_64 architectures, to match nodejs
  • shortened the description

1.4.1 is out already. Should we update?

I did not add a startup script. On OS X, we would use a launchd plist, which in MacPorts is created using using the startupitem keywords. Feel free to open a new ticket with a patch to add that.

I noticed that rethinkdb only actually links with libv8 and libprotobuf; do we know more about how rethinkdb uses boost, nodejs and coffee-script? Maybe they need to be a different dependency type instead of depends_lib.

comment:4 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

The Snow Leopard buildbot failed to build the port, saying:

* Detecting system configuration
Bash:                           3.2.48(1)-release
Operating System:               Darwin
OS Version:                     Darwin 10.8.0 x86_64
Without tcmalloc:               yes
Build client drivers:           yes
Architecture:                   x86_64
C++ Compiler:                   too old
* Error: GCC 4.2.1 is too old. At least GCC 4.4.3 is required

So I blacklisted old gcc compilers in r104262.

comment:5 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

That didn't help so we'll have to investigate further. I've filed a new ticket for that: #38490.

comment:6 Changed 11 years ago by anatol (Anatol Pomozov)

Thanks for updates. I'll open another ticket. I'll

  • update to 1.4.1
  • add startup item
  • check boost, nodejs and coffee-script. I am positive that it uses boost during compilation (I saw boost related errors), maybe they use static compilation? Anyway I'll doublecheck it.

comment:7 in reply to:  6 Changed 11 years ago by cooljeanius (Eric Gallager)

Replying to anatol.pomozov@…:

Thanks for updates. I'll open another ticket. I'll

  • update to 1.4.1
  • add startup item
  • check boost, nodejs and coffee-script. I am positive that it uses boost during compilation (I saw boost related errors), maybe they use static compilation? Anyway I'll doublecheck it.

(This is #38497 btw)

Note: See TracTickets for help on using tickets.