Page MenuHomeFreeBSD

[NEW] games/runelite: Open source Old School RuneScape client
ClosedPublic

Authored by Alexander88207_protonmail.com on Apr 17 2021, 11:30 PM.

Details

Summary
[NEW] games/runelite: Open source Old School RuneScape client

Popular free, open-source and super fast client for Old School RuneScape.

WWW: https://runelite.net

PR: 255160
Reviewed_by: koobs, arrowd
Differential_Revision: D29816
Test Plan
  • portlint: Looks fine.
  • testport: 13-Release amd64: Ok
  • runtime: Logged in and played a bit

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

  • Update to 2.2.0
  • Set a fixed java binary so that other openjdk installations are not used by mistake.
arrowd added a subscriber: arrowd.

Ouch, I thought I reviewed this, sorry.

Will push later today.

This revision is now accepted and ready to land.Oct 1 2021, 4:22 AM
koobs requested changes to this revision.Oct 1 2021, 5:26 AM
  • Does this pass QA (portlint (and or portfmt) and poudriere?)
  • Replace hard-coded /usr/local with PREFIX [1]

[1] https://docs.freebsd.org/en/books/porters-handbook/testing/#porting-prefix

This revision now requires changes to proceed.Oct 1 2021, 5:26 AM
koobs retitled this revision from New Port: games/runelite: Open source Old School RuneScape client to [NEW] games/runelite: Open source Old School RuneScape client.Oct 1 2021, 5:27 AM
koobs edited the summary of this revision. (Show Details)
koobs edited the test plan for this revision. (Show Details)
games/runelite/Makefile
41

${LOCALBASE} instead of /usr/local

games/runelite/Makefile
41

I believe the recommendation is PREFIX

games/runelite/Makefile
41

You install into PREFIX, but call stuff from LOCALBASE.

Actually, doesn't USE_JAVA=yes provide some sort of JAVA_CMD?

games/runelite/Makefile
41

Is Java different such that the recommendation in PH doesn't apply?

https://docs.freebsd.org/en/books/porters-handbook/testing/#porting-prefix

games/runelite/Makefile
41

What recommendation, exactly? The section you linked says the same thing as me:

Refer to programs and files from other ports with the variables mentioned above, not explicit pathnames. For instance, if the port requires a macro PAGER to have the full pathname of less, do not use a literal path of /usr/local/bin/less. Instead, use ${LOCALBASE}:
-DPAGER=\"${LOCALBASE}/bin/less\"

This port doesn't install bin/java, but uses it. So it should look for it in LOCALBASE.

games/runelite/Makefile
41
Avoiding hard-coded /usr/local paths in the source makes the port much more flexible and able to cater to the needs of other sites. Often, this can be accomplished by replacing occurrences of /usr/local in the port’s various Makefiles with ${PREFIX}. This variable is automatically passed down to every stage of the build and install processes.

Make sure the application is not installing things in /usr/local instead of PREFIX.
games/runelite/Makefile
41

That paragraph talks about different thing.

Let me explain on example of this port. The user uses official FreeBSD packages, which are installed into /usr/local. However, for some reason the user want to install this port into a different PREFIX. At the same time, the bin/java executable is still located under LOCALBASE. The PREFIX is the location where we install this port, while LOCALBASE is where it should look for other things.

This line creates a script that calls bin/java. The script itself is installed into PREFIX, but its contents should reference LOCALBASE.

games/runelite/Makefile
41

Yep, I didn't grok the context of the (ECHO) entry.

Carry on!

Hello you two,

the paths should be now correct.

A testport will follow.

games/runelite/Makefile
41

Still wrong. Maybe this?

LGTM. @koobs what do you think?

Pending QA confirmation LGTM πŸ‘

This revision is now accepted and ready to land.Oct 3 2021, 1:27 AM

Poudriere Testport on 13-RELEASE amd64: Fine

===>   runelite-2.2.0 depends on file: /usr/local/openjdk11/bin/java - found
===>   Returning to build of runelite-2.2.0
===========================================================================
=>> Recording filesystem state for prestage... done
=======================<phase: stage          >============================
===>  Staging for runelite-2.2.0
===>   runelite-2.2.0 depends on file: /usr/local/openjdk11/bin/java - found
===>   Generating temporary packing list
install  -m 0644 /portdistfiles/runelite/2.2.0/RuneLite.jar  /wrkdirs/usr/ports/games/runelite/work/stage/usr/local/share/runelite/RuneLite.jar
install  -m 0644 /portdistfiles/runelite/2.2.0/runelite.png  /wrkdirs/usr/ports/games/runelite/work/stage/usr/local/share/pixmaps/runelite.png
echo "exec /usr/local/openjdk11/bin/java -jar /usr/local/share/runelite/RuneLite.jar" >> /wrkdirs/usr/ports/games/runelite/work/runelite
install  -m 555 /wrkdirs/usr/ports/games/runelite/work/runelite /wrkdirs/usr/ports/games/runelite/work/stage/usr/local/bin
====> Compressing man pages (compress-man)
===========================================================================
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
=>> Checking for staging violations... done
=======================<phase: package        >============================
===>  Building package for runelite-2.2.0
install -l rs /tmp/pkgs/runelite-2.2.0.pkg /tmp/pkgs/runelite-2.2.0.txz
===========================================================================
=>> Recording filesystem state for preinst... done
=======================<phase: install        >============================
===>  Installing for runelite-2.2.0
===>  Checking if runelite is already installed
===>   Registering installation for runelite-2.2.0
[13Ramd64-HEAD] Installing runelite-2.2.0...
===========================================================================
=>> Checking shared library dependencies
=======================<phase: deinstall      >============================
===>  Deinstalling for runelite
===>   Deinstalling runelite-2.2.0
Updating database digests format: .......... done
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	runelite: 2.2.0

Number of packages to be removed: 1

The operation will free 2 MiB.
[13Ramd64-HEAD] [1/1] Deinstalling runelite-2.2.0...
[13Ramd64-HEAD] [1/1] Deleting files for runelite-2.2.0: ....... done
===========================================================================
=>> Checking for extra files and directories
[01:27:29] Installing from package
[13Ramd64-HEAD] Installing runelite-2.2.0...
[13Ramd64-HEAD] Extracting runelite-2.2.0: ....... done
[01:27:30] Cleaning up
===>  Cleaning for runelite-2.2.0
[01:27:30] Deinstalling package
Updating database digests format: . done
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
	runelite: 2.2.0

Number of packages to be removed: 1

The operation will free 2 MiB.
[13Ramd64-HEAD] [1/1] Deinstalling runelite-2.2.0...
[13Ramd64-HEAD] [1/1] Deleting files for runelite-2.2.0: ....... done
build of games/runelite | runelite-2.2.0 ended at Tue Oct  5 19:59:53 CEST 2021
build time: 00:00:32
[01:27:30] Logs: /usr/local/poudriere/data/logs/bulk/13Ramd64-HEAD/2021-10-05_18h32m23s
[01:27:30] Cleaning up
[01:27:30] Unmounting file systems

Instead of trying to fetch from all mastersites, "5.4.9. Multiple Distribution or Patches Files from Multiple Locations" should be followed in Porters Handbook

This revision now requires review to proceed.Oct 8 2021, 1:30 PM
This revision is now accepted and ready to land.Oct 10 2021, 11:43 AM