Created attachment 253160 [details] Zipped file of the port files Hello, I "upgraded" the port java/eclipse to version 4.32. There is a port, but an older for version 4.24 I can build the port manually - that means online in a terminal (meaning with online downloads and somewhere as a user on the system), or use the ports. I made tests for myself and created the folder /usr/ports/java/eclipse-4.32 and put the required files into, then run "make && make install" - and it worked. I will put the port files as attachment, but for more information have may have a look on my personal github repository: https://github.com/NorbertXYZ/eclipse Maybe it would make sense to (re-)use the eclipse port and put this version inside?! And overall, maybe I will be the maintainer?! I hope that a lot of people would like to use it - and more, I hope it works :-) By the way: I compiled it for amd64, aarch64, powerpc64 and powerpc64le architectures, but I could only check the amd64. And another user did it too. His "manual" build worked. Have a good day, Norbert
testbuild@work
(In reply to Kurt Jaeger from comment #1) fails during build with: ===> Building for eclipse-4.32 cd /wrkdirs/usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32 && /usr/bin/tar --no-same-owner -xvzf../../files/binaries.tgz tar: Error opening archive: Failed to open '../../files/binaries.tgz' *** Error code 1
could you check if in /wrkdirs/usr/ports/java/eclipse/ there exists files/binaries.tgz and files/eclipse.patches I had no error when I build it here... maybe I programmed wrong with WRKDIR and WRKSRC ??
there was missing a blank before the file specification cd ${WRKSRC} && ${TAR} --no-same-owner -xvzf ../../files/binaries.tgz I added this - maybe it was the failure?
cd ${WRKSRC} && ${TAR} --no-same-owner -xvzf../../files/binaries.tgz Make it without binary files in port please.
Mmhhhmmm... But I need them - and by the way, I called it binary, but they are just the FreeBSD adapted source files and folders as the counterpart for Linux source files... which has to be added to get the build working.
If you have another idea how to add files to a source tree - let me know... :-)
(In reply to ngrundmann from comment #7) 1. Text files add to files/ (or allowed to files/SOMESUBDIR/ if you have hundreds files). Then you can copy them in WRKSRC in pre-patch or post-patch. Also you can create patch like this: --- dir/file.name.orig 1970-01-01 00:00:00 UTC +++ dir/file.name @@ -0,0 +1,4 @@ +Test file +Test file +Test file +Test file 2. cd ${WRKSRC} && ${PATCH} < ../../files/eclipse.patches Why manually patch??? Just rename it to files/patch-eclipse and remove this line. P.S. Don't try to reinvent the wheel - all such mechanisms have long been in the ports framework.
Thanks for the comments - I am new in writing a port... sorry ;-) I try to adapt as much as possible - and let you know when you may start a build again, okay :-) Cheers, Norbert
(In reply to ngrundmann from comment #0) Thanks for the patch! BTW, if possible, please set your name at https://bugs.freebsd.org/bugzilla/userprefs.cgi?tab=account so we can use it in the Author field in the git commit.
Created attachment 253167 [details] Nwer port file Newer port file
So I added the changes for files and binaries and removed the explizit paching call... For port files either you look on https://github.com/NorbertXYZ/eclipse/ or you take the attached tar file which contains the files for /usr/ports/eclipse Hope it works now :-)
Comment on attachment 253167 [details] Nwer port file This is the updated port file
(In reply to Norbert Grundmann from comment #13) Launched a test build in poudriere 14.1 amd64…
(In reply to Norbert Grundmann from comment #13) - cd ${WRKSRC} && ${CP} -R ../../files/addons/ . + cd ${WRKSRC} && ${CP} -R ${FILESDIR}/addons/ .
(In reply to Vladimir Druzenko from comment #14) Build fine. Trying to build on live system 14.1 amd64 and run it.
Work for me. Norbert, do you want to become the maintainer of this port?
Created attachment 253176 [details] Newest archive / version of the port files So this is the "final" version with a small change in Makefile.
Hello @Vladimir, nice to read that the port worked for you. Yes, I would like to become the maintainer. When will the package be in latest / quaterly? Have a nice day, Norbert
(In reply to Norbert Grundmann from comment #19) Can I do some formatting + fix warnings from portclippy?
no problem - but what actually do you mean?? :-)
(In reply to Norbert Grundmann from comment #21) portclippy is a command line tool from ports-mgmt/portfmt which checks certain rules of ports Makefiles. It helps getting them into some generic sequence of lines/fields.
(In reply to Norbert Grundmann from comment #21) PORTNAME= eclipse DISTVERSION= 4.32 CATEGORIES= java devel ECLIPSE_TAG= R4_32 DIST_SUBDIR= ${PORTNAME} MAINTAINER= ngrundmann@gmx.de COMMENT= Eclipse IDE WWW= https://www.eclipse.org/ LICENSE= EPL ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 powerpc64le BUILD_DEPENDS= git:devel/git \ mvn:devel/maven39 \ zip:archivers/zip LIB_DEPENDS= libsecret-1.so:security/libsecret \ libwebkit2gtk-4.0.so:www/webkit2-gtk3 USES= compiler:c++17-lang gmake pkgconfig gnome # The github repositories. The repository under NorbertXYZ is for a predefined maven # download, so the build does not need to download while do-build is running USE_GITHUB= yes GH_TUPLE= eclipse-platform:eclipse.platform.releng.aggregator:${ECLIPSE_TAG} \ eclipse-jdt:eclipse.jdt:${ECLIPSE_TAG}:a/eclipse.jdt \ eclipse-jdt:eclipse.jdt.core:${ECLIPSE_TAG}:b/eclipse.jdt.core \ eclipse-jdt:eclipse.jdt.core.binaries:${ECLIPSE_TAG}:c/eclipse.jdt.core.binaries \ eclipse-jdt:eclipse.jdt.debug:${ECLIPSE_TAG}:d/eclipse.jdt.debug \ eclipse-jdt:eclipse.jdt.ui:${ECLIPSE_TAG}:e/eclipse.jdt.ui \ eclipse-pde:eclipse.pde:${ECLIPSE_TAG}:f/eclipse.pde \ eclipse-platform:eclipse.platform:${ECLIPSE_TAG}:g/eclipse.platform \ eclipse-platform:eclipse.platform.runtime:fd42b6e331:h/eclipse.platform.runtime \ eclipse-platform:eclipse.platform.swt:${ECLIPSE_TAG}:i/eclipse.platform.swt \ eclipse-platform:eclipse.platform.ui:${ECLIPSE_TAG}:j/eclipse.platform.ui \ eclipse-equinox:equinox:${ECLIPSE_TAG}:k/equinox \ eclipse-equinox:equinox.binaries:${ECLIPSE_TAG}:l/rt.equinox.binaries \ eclipse-equinox:p2:${ECLIPSE_TAG}:m/rt.equinox.p2 \ NorbertXYZ:eclipse-maven:${DISTVERSION}:n USE_GNOME= gtk30 USE_JAVA= 17+ DESKTOP_ENTRIES= "Eclipse" \ "${COMMENT}" \ "${PORTNAME}" \ "${PORTNAME}" \ "Development;IDE;Java;" \ "false" PORTSCOUT= ignore:1 SUB_FILES= ${PORTNAME} .include <bsd.port.pre.mk> MAVEN_ENV= MAVEN_OPTS=-Xmx2048m CC=${CC} CFLAGS="${CFLAGS}" JAVA_HOME=${JAVA_HOME} # To make the build working, set the (maven) architecture to x86_64 instead of amd64 # Finally there are problems with amd64 .if ${ARCH} == amd64 MAVEN_ARCH= x86_64 .else MAVEN_ARCH= ${ARCH} .endif MAVEN_PARAMS= --offline \ -Dmaven.repo.local=${WRKDIR}/eclipse-maven-${DISTVERSION} \ -Dnative=gtk.freebsd.${MAVEN_ARCH} \ -DskipTests clean verify ECLIPSE_RESULT= eclipse.platform.releng.tychoeclipsebuilder/eclipse.platform.repository/target/products/org.eclipse.sdk.ide-freebsd.gtk.${MAVEN_ARCH}.tar.gz .if ${COMPILER_TYPE} == clang CFLAGS+= -Wno-deprecated-non-prototype .endif pre-patch: cd ${WRKSRC} && ${CP} -R ${FILESDIR}/addons/ . do-build: cd ${WRKSRC} && ${SETENV} ${MAVEN_ENV} mvn ${MAVEN_PARAMS} do-install: ${MKDIR} ${STAGEDIR}${DATADIR} ${TAR} -x --directory ${STAGEDIR}${DATADIR}/.. --file ${WRKSRC}/${ECLIPSE_RESULT} ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin # Generate dynamic plist, to cater for different ARCHS post-install: cd ${STAGEDIR}${PREFIX} && ${FIND} -s bin/${PORTNAME} share/${PORTNAME} -not -type d >> ${TMPPLIST} cd ${STAGEDIR}${PREFIX} && ${FIND} -ds share/${PORTNAME} -type d | ${SED} -e 's,^,@dir ,' >> ${TMPPLIST} .include <bsd.port.post.mk>
okay :-)
In poudriere and on live system same build error with last port version: ... [INFO] [test-bundle] PDE DS Tests 1.3.300-SNAPSHOT ........ SUCCESS [ 1.313 s] [INFO] org.eclipse.core.filesystem.freebsd.powerpc64 1.4.200-SNAPSHOT FAILURE [ 0.318 s] [INFO] org.eclipse.compare.win32 1.3.400-SNAPSHOT ......... SKIPPED ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 14:21 min [INFO] Finished at: 2024-08-30T12:36:16+03:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:4.0.8:package-plugin (default-package-plugin) on project org.eclipse.core.filesystem.freebsd.powerpc64: /usr/obj/usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64/build.properties: bin.includes value(s) [os/] do not match any files. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn <args> -rf :org.eclipse.core.filesystem.freebsd.powerpc64 *** Error code 1
Did you run on a powerpc platform?
I will crosscheck later when I have time...
(In reply to Norbert Grundmann from comment #26) No. 14.1 amd64.
Created attachment 253182 [details] Updated ports file I hope it works now - folders had been missing. Please take only the files/addons and put them in the build ports. E.g. Makefile is "old" formatted
by the way - github does not provide folders without files - that was the reason the build broke...
by the way - I checked on my PC - the build is working now again :-)
(In reply to Norbert Grundmann from comment #30) Without "gitshit" shit: pre-patch: cd ${WRKSRC} && ${CP} -R ${FILESDIR}/addons/ . .for a in aarch64 powerpc64 powerpc64le x86_64 ${MKDIR} ${WRKSRC}/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.${a}/os/freebsd/${a} ${MKDIR} ${WRKSRC}/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.${a}/target ${MKDIR} ${WRKSRC}/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.${a} .endfor ${MKDIR} ${WRKSRC}/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target
Hi Vladimir, I was "smiling" abou yout "gitshit" comment :-) :-) But couldn't it be as it is without that additional code lines in Makefile? So I make changes only in files/* which is easier for me to maintain (in future). Maybe I rename the files "gitshit" to "empty" or something - I was a bit upset about git's behaviour, which is defferent from subversion, what I mainly use. What do you think about staying without additional code lines? All the best, Norbert
So, after one day... I think that your approach makes sense... let's see how to integrate it. I would like to implement it similar to following idea: EMPTY_DIRS= eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/os/freebsd/powerpc64le \ eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/target \ ... pre-patch: cd ${WRKSRC} && ${CP} -R ${FILESDIR}/addons/ . .for DIR in ${EMPTY_DIRS}; do ${MKDIR} -p ${DIR} .endfor Would that be okay? Cheers, Norbert
I added the changes in Makefile and files/addons on my website: https://github.com/NorbertXYZ/eclipse see port. I rerun this as a local port in a jail and it was successful :-)
(In reply to Norbert Grundmann from comment #35) We can use: MAVEN_ARCH= ${ARCH:S|amd64|x86_64|} Instead of: .if ${ARCH} == amd64 MAVEN_ARCH= x86_64 .else MAVEN_ARCH= ${ARCH} .endif Also this way I like more: # Directories needed, but cannot be stored in git, because they are empty EMPTY_DIRS= eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.%%ARCH%%/os/freebsd/%%ARCH%% \ eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.%%ARCH%%/target \ eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target \ rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.%%ARCH%% pre-patch: cd ${WRKSRC} && ${CP} -R ${FILESDIR}/addons/ . .for DIR in ${EMPTY_DIRS} . for _ARCH in aarch64 powerpc64 powerpc64le x86_64 ${MKDIR} -p ${WRKSRC}/${DIR:S|%%ARCH%%|${_ARCH}|g} . endfor .endfor P.S. Sorry, I've been very busy in "real life".
So I changed the Makefile on my github account https://github.com/NorbertXYZ/eclipse in port/Makefile and added an attachment here (port.tgz) - which contains all files and the newest changes
Created attachment 253371 [details] Adpated the newest small changes in Makefile Compress some statements for readability
(In reply to Norbert Grundmann from comment #38) Do we need 0 byte files: java/eclipse/files/addons/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/aarch64/eclipse java/eclipse/files/addons/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64/eclipse java/eclipse/files/addons/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64le/eclipse java/eclipse/files/addons/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/x86_64/eclipse ? If we want to save empty directories in git, then we have another mechanism for this. Also, many files are missing the end-of-line character on the last line.
Thanks... but there was a reason for the 0 byte files "eclipse": it did not compile - there was an error message, sorry - I cannot find the reason... But it was not enough to have an empty folder. I let it as it is and added files called "eclipse" with a short comment inside. About the missing newlines... I did not remove them, they are in the original sources - mostly I did not touch, maybe only 2 or 3 file for patching. Are they really needed? I don't want to add, what is not important for a build - it would increase the patch-eclipse file unnecessarily. You can take what I put on my website https://github.com/NorbertXYZ/eclipse in files/addons I hope you can agree - because compilation is working manually and over port folder since weeks... Please set the port free :-) Cheers, Norbert
(In reply to Norbert Grundmann from comment #40) 1. # Directories needed, but cannot be stored in git, because they are empty EMPTY_DIRS= eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.%%ARCH%%/os/freebsd/%%ARCH%% \ eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.%%ARCH%%/target \ eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target \ rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/%%ARCH%% \ rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.%%ARCH%% pre-patch: ${CP} -R ${FILESDIR}/addons/ ${WRKSRC} .for DIR in ${EMPTY_DIRS} . for _ARCH in aarch64 powerpc64 powerpc64le x86_64 ${MKDIR} ${WRKSRC}/${DIR:S|%%ARCH%%|${_ARCH}|g} ${TOUCH} ${WRKSRC}/${DIR:S|%%ARCH%%|${_ARCH}|g}/empty . endfor .endfor 2. One of the commit hook in the ports git repository prevents committing files without a newline character on the last line - I tried to commit this patch yesterday.
Hello Vladimir, could you tell me about the state of this portage / version? Would be nice to have it running. If necessary, I would try to see, what I can do with missing newlines in the files section... Norbert
(In reply to Norbert Grundmann from comment #42) Do you agree with my last suggestion?
Yes I did. Changes (added newlines) are in files/addons :-) download from here: https://github.com/NorbertXYZ/eclipse port -> files -> addons Norbert :-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=27eb99fc47558129e3decbaaa06262aaf36f62cc commit 27eb99fc47558129e3decbaaa06262aaf36f62cc Author: Norbert Grundmann <ngrundmann@gmx.de> AuthorDate: 2024-09-13 00:48:18 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-09-13 00:48:18 +0000 java/eclipse: Update 4.24 → 4.32, take maintainership PR: 281123 java/eclipse/Makefile | 106 +- java/eclipse/Makefile.plugins (gone) | 11 - java/eclipse/distinfo | 78 +- .../.project (new) | 22 + .../org.eclipse.core.resources.prefs (new) | 2 + .../.settings/org.eclipse.core.runtime.prefs (new) | 2 + .../META-INF/MANIFEST.MF (new) | 9 + .../about.html (new) | 36 + .../build.properties (new) | 19 + .../fragment.properties (new) | 15 + .../pom.xml (new) | 28 + .../.project (new) | 22 + .../org.eclipse.core.resources.prefs (new) | 2 + .../.settings/org.eclipse.core.runtime.prefs (new) | 2 + .../META-INF/MANIFEST.MF (new) | 9 + .../about.html (new) | 36 + .../build.properties (new) | 19 + .../fragment.properties (new) | 15 + .../pom.xml (new) | 28 + .../.project (new) | 22 + .../org.eclipse.core.resources.prefs (new) | 2 + .../.settings/org.eclipse.core.runtime.prefs (new) | 2 + .../META-INF/MANIFEST.MF (new) | 9 + .../about.html (new) | 36 + .../build.properties (new) | 19 + .../fragment.properties (new) | 15 + .../pom.xml (new) | 28 + .../.project (new) | 22 + .../org.eclipse.core.resources.prefs (new) | 2 + .../.settings/org.eclipse.core.runtime.prefs (new) | 2 + .../BUILD_INFO.txt (new) | 19 + .../META-INF/MANIFEST.MF (new) | 9 + .../about.html (new) | 36 + .../build.properties (new) | 19 + .../fragment.properties (new) | 15 + .../pom.xml (new) | 63 + .../natives/unix/freebsd/Makefile (new) | 42 + .../org.eclipse.core.net.freebsd/.classpath (new) | 7 + .../org.eclipse.core.net.freebsd/.project (new) | 28 + .../org.eclipse.core.resources.prefs (new) | 2 + .../.settings/org.eclipse.jdt.core.prefs (new) | 15 + .../.settings/org.eclipse.jdt.ui.prefs (new) | 145 ++ .../META-INF/MANIFEST.MF (new) | 12 + .../org.eclipse.core.net.freebsd/about.html (new) | 36 + .../build.properties (new) | 20 + .../forceQualifierUpdate.txt (new) | 3 + .../fragment.properties (new) | 15 + .../org.eclipse.core.net.freebsd/pom.xml (new) | 29 + .../org/eclipse/core/net/ProxyProvider.java (new) | 387 +++++ .../.project (new) | 22 + .../META-INF/MANIFEST.MF (new) | 10 + .../about.html (new) | 36 + .../build.properties (new) | 25 + .../launcher.gtk.freebsd.aarch64.properties (new) | 15 + .../.project (new) | 22 + .../META-INF/MANIFEST.MF (new) | 10 + .../about.html (new) | 36 + .../build.properties (new) | 25 + .../forceQualifierUpdate.txt (new) | 2 + ...launcher.gtk.freebsd.powerpc64.properties (new) | 15 + .../.project (new) | 22 + .../META-INF/MANIFEST.MF (new) | 10 + .../about.html (new) | 36 + .../build.properties (new) | 25 + .../forceQualifierUpdate.txt (new) | 2 + ...uncher.gtk.freebsd.powerpc64le.properties (new) | 15 + .../.project (new) | 22 + .../.settings/org.eclipse.pde.core.prefs (new) | 4 + .../META-INF/MANIFEST.MF (new) | 10 + .../about.html (new) | 36 + .../build.properties (new) | 25 + .../forceQualifierUpdate.txt (new) | 3 + .../launcher.gtk.freebsd.x86_64.properties (new) | 15 + .../.classpath (new) | 7 + .../.project (new) | 34 + .../.settings/org.eclipse.core.runtime.prefs (new) | 2 + .../.settings/org.eclipse.jdt.core.prefs (new) | 118 ++ .../.settings/org.eclipse.jdt.ui.prefs (new) | 109 ++ .../META-INF/MANIFEST.MF (new) | 13 + .../about.html (new) | 36 + .../build.properties (new) | 21 + .../forceQualifierUpdate.txt (new) | 4 + .../fragment.properties (new) | 17 + .../fragment.xml (new) | 18 + .../pom.xml (new) | 45 + .../internal/security/linux/GBusType.java (new) | 21 + .../internal/security/linux/GError.java (new) | 35 + .../internal/security/linux/GList.java (new) | 42 + .../linux/LinuxPasswordProvider.java (new) | 186 +++ .../linux/LinuxPasswordProviderMessages.java (new) | 34 + .../linux/SecretCollectionFlags.java (new) | 19 + .../security/linux/SecretSchema.java (new) | 50 + .../linux/SecretSchemaAttribute.java (new) | 37 + .../linux/SecretSchemaAttributeType.java (new) | 20 + .../security/linux/SecretSchemaFlags.java (new) | 19 + .../security/linux/SecretServiceFlags.java (new) | 20 + .../security/linux/messages.properties (new) | 18 + java/eclipse/files/patch-eclipse (new) | 1490 ++++++++++++++++++++ .../files/patch-eclipse-platform-parent (gone) | 52 - java/eclipse/files/patch-eclipse.pde (gone) | 146 -- .../files/patch-eclipse.platform.releng (gone) | 88 -- ...ipse.platform.releng.tychoeclipsebuilder (gone) | 268 ---- .../files/patch-eclipse.platform.resources (gone) | 314 ----- .../files/patch-eclipse.platform.runtime (gone) | 24 - .../files/patch-eclipse.platform.swt (gone) | 357 ----- .../patch-eclipse.platform.swt.binaries (gone) | 327 ----- .../files/patch-eclipse.platform.team (gone) | 110 -- .../files/patch-eclipse.platform.text (gone) | 12 - .../eclipse/files/patch-eclipse.platform.ua (gone) | 65 - .../eclipse/files/patch-eclipse.platform.ui (gone) | 233 --- java/eclipse/files/patch-rt.equinox.bundles (gone) | 108 -- .../files/patch-rt.equinox.framework (gone) | 531 ------- java/eclipse/files/patch-rt.equinox.p2 (gone) | 58 - java/eclipse/pkg-descr | 4 + java/eclipse/scripts/pre-build | 25 +- java/eclipse/scripts/pre-patch (gone) | 53 - 116 files changed, 4278 insertions(+), 2877 deletions(-)
Thanks!
Created attachment 253531 [details] Missing addons Hello... nice to have a new port - but a big sorry, but 4.32 does not build - there are missing the folders in the portage files/addons/eclipse.platform.swt and files/addons/rt.equinox.binaries Please add the files from the attachment... Norbert
(In reply to commit-hook from comment #45) This commit broke some port depends on java/eclipse/Makefile.plugin(s) (devel/subversive only?), putting aside that those software can be built against eclipse 4.32. I found the problem by executing "make index", which is failed in devel/subversive. [[[ $ cd /usr/ports $ find * -maxdepth 2 -depth 2 -name 'Makefile*' -exec fgrep -q '../../java/eclipse/Makefile.plugins' '{}' \; -print devel/subversive/Makefile ]]]
(In reply to Norbert Grundmann from comment #47) 1. Thanks to .gitignore with line: *.sw[p-z] !!! [/usr/ports]$ git add java/eclipse/files/addons/eclipse.platform.swt The following paths are ignored by one of your .gitignore files: java/eclipse/files/addons/eclipse.platform.swt hint: Use -f if you really want to add them. hint: Disable this message with "git config advice.addIgnoredFile false" 2. Also we removed Makefile.plugins used for devel/subversive. Before deleting I searched for where it is used, but I never found it and therefore thought that it was some old rudiment. But it turns out that there are user ports. I will search again and test everything I find.
Thanks for your work :-) I did not find the .gitignore problem...
/usr/ports/java/eclipse # make patch ===> Patching for eclipse-4.32 cp -f -R /usr/ports/java/eclipse/files/addons/ /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32 /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.aarch64/os/freebsd/aarch64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.aarch64/os/freebsd/aarch64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64/os/freebsd/powerpc64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64/os/freebsd/powerpc64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/os/freebsd/powerpc64le /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/os/freebsd/powerpc64le/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.x86_64/os/freebsd/x86_64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.x86_64/os/freebsd/x86_64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.aarch64/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.aarch64/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.powerpc64le/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.x86_64/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.freebsd.x86_64/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/eclipse.platform/team/bundles/org.eclipse.core.net.freebsd/target/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/aarch64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/aarch64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64le /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/powerpc64le/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/x86_64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/freebsd/x86_64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.aarch64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.aarch64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.powerpc64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.powerpc64/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.powerpc64le /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.powerpc64le/.empty /bin/mkdir -p /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.x86_64 /usr/bin/touch /usr/ports/java/eclipse/work/eclipse.platform.releng.aggregator-R4_32/rt.equinox.binaries/org.eclipse.equinox.launcher.gtk.freebsd.x86_64/.empty ===> Applying FreeBSD patches for eclipse-4.32 from /usr/ports/java/eclipse/files File to patch:
mmhhmm - interesting. I did not know that creating a port would take nearly as long as I found the adaptations / patches for the original software... I hope I find a way through all this and can keep the maintainer or at last one of the maintainers... :-)
(In reply to Ale from comment #51) It's asking me which file should be patched...
(In reply to Ale from comment #53) Is there any way to know which file is using as patch and which file is trying to patch? Could the verbosity of make patch be increased somehow?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=c94e4ced329298efb06189d1c6db26e3d6ff3eef commit c94e4ced329298efb06189d1c6db26e3d6ff3eef Author: Vladimir Druzenko <vvd@FreeBSD.org> AuthorDate: 2024-09-13 12:54:52 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2024-09-13 13:07:02 +0000 java/eclipse: fix build consumer devel/subversive, commit files ignored with .gitignore - Return file Makefile.plugins required for consumer devel/subversive. - Update java version in Makefile.plugins from 8 to 17 - eclipse require at least 17. - Thanks to .gitignore with line "*.sw[p-z]": $ git add java/eclipse/files/addons/eclipse.platform.swt The following paths are ignored by one of your .gitignore files: java/eclipse/files/addons/eclipse.platform.swt hint: Use -f if you really want to add them. hint: Disable this message with "git config advice.addIgnoredFile false" Force add this directory. PR: 281123 Reported by: yasu (email), antoine (email), Norbert Grundmann Approved by: Norbert Grundmann <ngrundmann@gmx.de> (maintainer) Fixes: 27eb99fc4755 (Update 4.24 → 4.32, take maintainership) java/eclipse/Makefile.plugins (new) | 11 + .../.project (new) | 117 ++++++ .../.settings/.api_filters (new) | 467 +++++++++++++++++++++ .../META-INF/MANIFEST.MF (new) | 35 ++ .../build.properties (new) | 47 +++ .../fragment.properties (new) | 12 + .../libswt-atk-gtk-4965r11.so (new +x) | 3 + .../libswt-awt-gtk-4965r11.so (new +x) | 3 + .../libswt-cairo-gtk-4965r11.so (new +x) | 3 + .../libswt-glx-gtk-4965r11.so (new +x) | 3 + .../libswt-gtk-4965r11.so (new +x) | 3 + .../libswt-pi3-gtk-4965r11.so (new +x) | 3 + .../libswt-webkit-gtk-4965r11.so (new +x) | 3 + .../.project (new) | 117 ++++++ .../.settings/.api_filters (new) | 467 +++++++++++++++++++++ .../META-INF/MANIFEST.MF (new) | 35 ++ .../build.properties (new) | 47 +++ .../fragment.properties (new) | 12 + .../libswt-atk-gtk-4965r11.so (new +x) | 3 + .../libswt-awt-gtk-4965r11.so (new +x) | 3 + .../libswt-cairo-gtk-4965r11.so (new +x) | 3 + .../libswt-glx-gtk-4965r11.so (new +x) | 3 + .../libswt-gtk-4965r11.so (new +x) | 3 + .../libswt-pi3-gtk-4965r11.so (new +x) | 3 + .../libswt-webkit-gtk-4965r11.so (new +x) | 3 + .../.project (new) | 117 ++++++ .../.settings/.api_filters (new) | 467 +++++++++++++++++++++ .../META-INF/MANIFEST.MF (new) | 35 ++ .../build.properties (new) | 47 +++ .../fragment.properties (new) | 12 + .../libswt-atk-gtk-4965r11.so (new +x) | 3 + .../libswt-awt-gtk-4965r11.so (new +x) | 3 + .../libswt-cairo-gtk-4965r11.so (new +x) | 3 + .../libswt-glx-gtk-4965r11.so (new +x) | 3 + .../libswt-gtk-4965r11.so (new +x) | 3 + .../libswt-pi3-gtk-4965r11.so (new +x) | 3 + .../libswt-webkit-gtk-4965r11.so (new +x) | 3 + .../.project (new) | 117 ++++++ .../.settings/.api_filters (new) | 467 +++++++++++++++++++++ .../META-INF/MANIFEST.MF (new) | 35 ++ .../build.properties (new) | 48 +++ .../fragment.properties (new) | 12 + .../libswt-atk-gtk-4965r11.so (new +x) | 3 + .../libswt-awt-gtk-4965r11.so (new +x) | 3 + .../libswt-cairo-gtk-4965r11.so (new +x) | 3 + .../libswt-glx-gtk-4965r11.so (new +x) | 3 + .../libswt-gtk-4965r11.so (new +x) | 3 + .../libswt-pi3-gtk-4965r11.so (new +x) | 3 + .../libswt-webkit-gtk-4965r11.so (new +x) | 3 + 49 files changed, 2808 insertions(+)
(In reply to Ale from comment #54) Try aborting (^C) on "File to patch:" prompt. Yes, it surely fails, and make would show you the list of successful and failed patch.
(In reply to Tomoaki AOKI from comment #56) Thank you! File to patch: ^C===> FAILED Applying FreeBSD patch-eclipse.platform.swt ===> Cleanly applied FreeBSD patch(es) patch-eclipse ===> FAILED to apply cleanly FreeBSD patch(es) patch-eclipse.platform.swt *** Error code 1
(In reply to commit-hook from comment #55) That should fix bug #281476.
(In reply to Ale from comment #57) So the patch file should be files/patch-eclipse.platform.swt. After running make extract I can't find the following two files: - eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk - eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml Removing the lines of those two files and running make patch again I'm getting: ===> Applying FreeBSD patches for eclipse-4.32 from /usr/ports/java/eclipse/files 1 out of 1 hunks failed--saving rejects to eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java.rej 3 out of 5 hunks failed--saving rejects to eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh.rej 1 out of 1 hunks failed--saving rejects to eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak.rej 1 out of 1 hunks failed--saving rejects to eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup.rej 2 out of 2 hunks failed--saving rejects to eclipse.platform.swt/pom.xml.rej ===> FAILED Applying FreeBSD patch-eclipse.platform.swt ===> Cleanly applied FreeBSD patch(es) patch-eclipse ===> FAILED to apply cleanly FreeBSD patch(es) patch-eclipse.platform.swt *** Error code 1
(In reply to Ale from comment #59) File "files/patch-eclipse.platform.swt" was removed - update your ports tree.
(In reply to Vladimir Druzenko from comment #60) It was updated, otherwise I wouldn't have found myself updating java/eclipse. It seems that gitup did not remove the file (?).
(In reply to Vladimir Druzenko from comment #60) After removing the file the build started. Thanks.
Thanks to all who helped building this port :-)
(In reply to Norbert Grundmann from comment #52) Very happy, that Eclipse has a maintainer again and we get new versions. Hard to understand that Eclipse makes a port so difficult, as Eclipse is a Java software with a small native SWT layer (the Linux version of Idea just works in FreeBSD). Looks like most of the port is replacing lots and lots of if windows elsif linux elsif mac with freebsd. It's natural to think of a common source path for Linux and FreeBSD, I doubt that SWT uses any Linux specific system call. Common compilation would either require to force the FreeBSD Java VM to return Linux for "os.name". I believe you can System.setProperty ("os.name", ..). Or to have a central point in eclipse that sets a system property os.type.posix=os.name == FreeBSD || Linux. And then change all conditions to if windows elsif posix This cleaning up Eclipse have to be done, or at least be accepted, by the Eclipse people. I had asked once in the Eclipse forums for that, got a positive feedback, but hadn't the time to persue that. https://www.eclipse.org/forums/index.php/t/1109965/
Thanks for the comment, I will try my best to maintain as long as possible... Regarding the Java side - it would be nice, if it would be 100% Java :-) But Eclipse has a jna interface, which needs OS dependent adaptations. This I added. Also the changes of the configuration files for adding FreeBSD specified build options. I took time and a lot of the former port 4.24, but there had been differences, because the internal package structure changed (a bit). Thanks to the former maintainer - otherwise I would not make it :-) Regarding the eclipse (forum). I had some contact and was "asked" for integration of FreeBSD - or at least pointed to. I said, I would first make my "port" work. After all this struggle, I wrote back, that I would also be interested in a "direct" integration into the eclipse framework. It would definitly be the best way. Lets see how it will go. Actually the build for amd64 seems to work, I got errors for aarch64. I don't know about powerpc64 builds. It is a bit tricky, I try o find the source of error and make them also work. It seemed to be working before - and I am asking myself, why it breaks now... All the best, Norbert