Spec URL: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM URL: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-1.fc11.src.rpm Description: This package adds a Haskell major mode to Emacs. The Haskell mode supports font locking, declaration scanning, documentation, indentation, and interaction with Hugs and GHCi. Links to koji builds: Fedora 10: http://koji.fedoraproject.org/koji/taskinfo?taskID=1603637 Fedora 11: http://koji.fedoraproject.org/koji/taskinfo?taskID=1603639 Note:This is my first package.
#01 It should be: Patch0: Patch1: with capital 'P'. #02 Don't rename the source file. Although the latest sources say haskell-mode.tar.gz, please use the exact version: haskell-mode-2.4.tar.gz You have mentioned the same in the .spec file as "Version: 2.4" #03 You should add the "-b .patch" extension when applying "%patch -p1" #04 In the Makefile patch, substitute install command with a variable, like: INSTALL = /usr/bin/install #05 Put the 'clean' target in the Makefile as the last target, at the bottom. #06 Please remove control characters in haskell-site-file.el (^L), and check for the same in other files. #07 Don't include ~ files in the source package!
(In reply to comment #1) > #01 It should be: > > Patch0: > Patch1: > > with capital 'P'. > > #02 Don't rename the source file. Although the latest sources say > haskell-mode.tar.gz, please use the exact version: > > haskell-mode-2.4.tar.gz > > You have mentioned the same in the .spec file as "Version: 2.4" > > #03 You should add the "-b .patch" extension when applying "%patch -p1" > > #04 In the Makefile patch, substitute install command with a variable, like: > > INSTALL = /usr/bin/install > > #05 Put the 'clean' target in the Makefile as the last target, at the bottom. > > #06 Please remove control characters in haskell-site-file.el (^L), and check > for the same in other files. > > #07 Don't include ~ files in the source package! The changes has been made SPEC file: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-2.fc11.src.rpm Links to successfull koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=1604549 -Fedora 10 http://koji.fedoraproject.org/koji/taskinfo?taskID=1604576 -Fedora 11
The upstream developer suggested me to use the code in CVS , which contains bugfixes to the previous release.so i updated the spec file. Link to the spec file: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec Link to the SRPM: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-3.20091015cvs.fc11.src.rpm Links to successful koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=1606727 -fedora 10 http://koji.fedoraproject.org/koji/taskinfo?taskID=1606744 -fedora 11
(In reply to comment #3) > The upstream developer suggested me to use the code in CVS , which contains > bugfixes to the previous release.so i updated the spec file. > > Link to the spec file: > http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec > > Link to the SRPM: > http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-3.20091015cvs.fc11.src.rpm > > Links to successful koji builds: > > http://koji.fedoraproject.org/koji/taskinfo?taskID=1606727 -fedora 10 > http://koji.fedoraproject.org/koji/taskinfo?taskID=1606744 -fedora 11 Date of Snapshot is wrong, it should be 20090815. Its fixed now. SPEC File: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM : http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-4.20090815cvs.fc11.src.rpm Link to koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=1607485 - Fedora 10 http://koji.fedoraproject.org/koji/taskinfo?taskID=1607487 - Fedora 11
#08 The %changelog entry should be 2.4-3.20090815cvs. Please change that. #09 If you are using a cvs snapshot, why are the sources still using emacs-haskell-2.4.tar.gz? #06 Please remove control characters in haskell-site-file.el (^L), and check for the same in other files. This still exists in the .src.rpm!
(In reply to comment #5) > #08 The %changelog entry should be 2.4-3.20090815cvs. Please change that. > > #09 If you are using a cvs snapshot, why are the sources still using > emacs-haskell-2.4.tar.gz? > > #06 Please remove control characters in haskell-site-file.el (^L), and check > for the same in other files. > > This still exists in the .src.rpm! SPEC File: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM : http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm Link to koji builds: http://koji.fedoraproject.org/koji/taskinfo?taskID=1610169 -Fedora 10 http://koji.fedoraproject.org/koji/taskinfo?taskID=1610177 -Fedora 11
Any one interested in reviewing this package? Its open to all :)
I noticed the following messages when I downloaded http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm and began to build under my user id and also root: rpm -i emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root other than that, I have not noticed any problems after building the rpms, installing and using it in emacs.
(In reply to comment #8) > I noticed the following messages when I downloaded > http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm > and began to build under my user id and also root: > > rpm -i emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm > warning: user zer0c00l does not exist - using root > warning: group zer0c00l does not exist - using root > warning: user zer0c00l does not exist - using root > warning: group zer0c00l does not exist - using root > warning: user zer0c00l does not exist - using root > warning: group zer0c00l does not exist - using root > warning: user zer0c00l does not exist - using root > warning: group zer0c00l does not exist - using root > > other than that, I have not noticed any problems after building the rpms, > installing and using it in emacs. Hi, Thanks for the review.You are getting the warnings as you don't have the user zer0c00l in your machine. Please build the src.rpm as normal user. 'rpmbuild --rebuild emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm' works fine for me (no warnings). You can install resulted rpms using 'yum localinstall <rpm> --nogpgcheck'
(In reply to comment #8) Another question, How did you built the binary rpms from the source rpm?
Running under my user id produces aforementioned user/group warnings, but does not seem to stop the creation of the rpms. i.e. rpmbuild --rebuild emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm Installing emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root warning: user zer0c00l does not exist - using root warning: group zer0c00l does not exist - using root Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.9GAaOw + umask 022 + cd /home/kkalihi/rpmbuild/BUILD + LANG=C + export LANG + unset DISPLAY + cd /home/kkalihi/rpmbuild/BUILD + rm -rf haskell-mode-2.4.20090815 + /usr/bin/gzip -dc /home/kkalihi/rpmbuild/SOURCES/haskell-mode-2.4.20090815.tar.gz + /bin/tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' (etc.) I had originally created the binary rpms in this manner: rpm -i emacs-haskell-mode-2.4-5.20090815cvs.fc11.src.rpm rpmbuild -bb rpmbuild/SPECS/emacs-haskell-mode.spec BTW, I ran this under both i686 and x86_64 machines with identical outcomes (i.e. successful outcomes in spite of warnings).
I think those errors are normal and can be ignored.
Hi, I will have a look at this review on Monday but meantime I will like to ask submitter to go through 1)http://fedoraproject.org/wiki/PackageMaintainers/NewPackageProcess 2)http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored 3)http://fedoraproject.org/wiki/PackageMaintainers/Join So You need to start reviewing other packages in http://fedoraproject.org/PackageReviewStatus/NEW.html This will show you know packaging well and understands it. Do you have any other new package submissions?If not try submitting few more packages.
(In reply to comment #13) Hi, > Hi, > I will have a look at this review on Monday but meantime I will like to ask > submitter to go through > 1)http://fedoraproject.org/wiki/PackageMaintainers/NewPackageProcess > 2)http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored > 3)http://fedoraproject.org/wiki/PackageMaintainers/Join > > So You need to start reviewing other packages in > http://fedoraproject.org/PackageReviewStatus/NEW.html sure. > This will show you know packaging well and understands it. > > Do you have any other new package submissions?If not try submitting few more > packages. yes, i tried submitting new packages https://bugzilla.redhat.com/show_bug.cgi?id=522046 but it was closed as duplicate as i didn't check http://fedoraproject.org/PackageReviewStatus/REVIEW.html before submitting. I reviewed https://bugzilla.redhat.com/show_bug.cgi?id=508316
any more unofficial reviews you done?
No, But i started packaging emacs-goodies http://sagarun.fedorapeople.org/SPECS/emacs-goodies.spec Will do more reviews in future.
(In reply to comment #15) Hi, > any more unofficial reviews you done? I reviewed https://bugzilla.redhat.com/show_bug.cgi?id=501101 ;
Added new review request: emacs-goodies -Misc addons for GNU/emacs and gnus https://bugzilla.redhat.com/show_bug.cgi?id=530090
The comment about removing the Ctrl-L characters is wrong. Those characters are commonly used in Elisp source files to separate sections. There is no benefit to removing them.
BTW have you thought about xemacs? Not sure if any xemacs-packages bundle haskell-mode, maybe not?
Upstream says: "This release should work on any recent version of Emacs. If it doesn't: complain. If it works on XEmacs, consider yourself lucky." I haven't tried haskell-mode in XEmacs; Will try when i get time; New version is released , will update shortly; http://projects.haskell.org/haskellmode-emacs/
The xemacs-packages-extra package contains version 2.1 of haskell-mode. I'll look into getting that updated.
Updated to version 2.5.1 SPEC File: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.5.1-1.fc11.src.rpm http://koji.fedoraproject.org/koji/taskinfo?taskID=1775729 http://koji.fedoraproject.org/koji/taskinfo?taskID=1775731
I think it is better just to move haskell-mode-init.patch into "Source1: haskell-mode-init.el" - doing it as a patch doesn't really make sense. Have you submitted the Makefile patch upstream - it looks pretty sane and non-fedora specific to me. Otherwise I think the package looks pretty reasonable to me. https://fedoraproject.org/wiki/Packaging:Emacs#Template_for_a_add-on_package_for_GNU_Emacs_only
(In reply to comment #24) > I think it is better just to move haskell-mode-init.patch > into "Source1: haskell-mode-init.el" - doing it as a patch > doesn't really make sense. Moved the haskell-mode-init.patch to source1 SPEC : http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM : http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.5.1-2.fc11.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1807135 > > Have you submitted the Makefile patch upstream - it looks > pretty sane and non-fedora specific to me. > Not submitted, but asked the maintainer about the Makefile his reply was "> I tried to package emacs-haskell-mode addon ( > http://www.iro.umontreal.ca/~monnier/elisp/haskell-mode.tar.gz ), when i > examined the Makefile, it didn't really compile haskell-ghci.el and > haskell-hugs.el. Is there any specific reason for not compiling those files? They're obsolete, only left there for those few people who insist on using them." I will send the patch to the maintainer. > Otherwise I think the package looks pretty reasonable to me. > https://fedoraproject.org/wiki/Packaging:Emacs#Template_for_a_add-on_package_for_GNU_Emacs_only Thanks for the review, hope someone sponsors this package ;
Spec URL: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM URL: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.7.0-1.fc12.src.rpm Koji build: F11 http://koji.fedoraproject.org/koji/taskinfo?taskID=1851091 Updated to latest version 2.7.0
(In reply to comment #25) > Thanks for the review, hope someone sponsors this package ; I'll sponsor since I've taken your package review request for irsim-mode. Can you give me your FAS username please ? Also, for spice-mode and irsim, I'm hoping to see them into EL-5 branch too. Are you going to package haskell-mode for EL-5 ?
(In reply to comment #27) > (In reply to comment #25) > > Thanks for the review, hope someone sponsors this package ; > > > I'll sponsor since I've taken your package review request for irsim-mode. > > Can you give me your FAS username please ? It is 'sagarun' > Also, for spice-mode and irsim, I'm hoping to see them into EL-5 branch too. yeah, sure > Are you going to package haskell-mode for EL-5 ? Yes, Koji build works fine EL-5 so i think there will be a problem in doing so. http://koji.fedoraproject.org/koji/taskinfo?taskID=1851124
Arun, before I can support you. I would like to know whether you are familiar with rpm packaging. Don't take me wrong since I've got some packagers which I sponsor in the past are still badly packaging their tools. Hence I would appreciate if you can improve the draft spec file which I've uploaded for nescc. It has an emacs mode. So since it's in your field, I believe it should be simple for you. https://fedorahosted.org/fedora-electronic-lab/ticket/85 You can upload your spec file there. Also, can you package spice-mode for us. It seems you are the emacs expert :) https://fedorahosted.org/fedora-electronic-lab/ticket/75
(In reply to comment #29) > Arun, before I can support you. I would like to know whether you are familiar > with rpm packaging. Don't take me wrong since I've got some packagers which I > sponsor in the past are still badly packaging their tools. > > Hence I would appreciate if you can improve the draft spec file which I've > uploaded for nescc. It has an emacs mode. So since it's in your field, I > believe it should be simple for you. > > https://fedorahosted.org/fedora-electronic-lab/ticket/85 > > You can upload your spec file there. Ok, i will improve the emacs mode part in nescc draft spec. :-) > Also, can you package spice-mode for us. It seems you are the emacs expert :) > https://fedorahosted.org/fedora-electronic-lab/ticket/75 yes, i can package spice-mode.
#08 In %build, you can use: emacs -batch -f batch-byte-compile *.el I have tested this package, and it works fine.
Actually, you can use: %_emacs_bytecompile *.el See /etc/rpm/macros.emacs for other available macros.
%_emacs_bytecompile *.el is failing on my Fedora 12 laptop with: === OUTPUT === + /usr/bin/emacs -batch --no-init-file --no-site-file -f batch-byte-compile haskell-c.el haskell-cabal.el haskell-decl-scan.el haskell-doc.el haskell-font-lock.el haskell-ghci.el haskell-hugs.el haskell-indent.el haskell-indentation.el haskell-mode.el haskell-simple-indent.el haskell-site-file.el inf-haskell.el In toplevel form: haskell-c.el:28:1:Error: Cannot open load file: haskell-mode Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-cabal.elc In toplevel form: haskell-decl-scan.el:130:1:Error: Cannot open load file: haskell-mode In toplevel form: haskell-doc.el:356:1:Error: Cannot open load file: haskell-mode In toplevel form: haskell-font-lock.el:104:13:Error: Cannot open load file: haskell-mode In haskell-ghci-locate-next-error: haskell-ghci.el:302:32:Warning: `string-to-int' is an obsolete function (as of Emacs 22.1); use `string-to-number' instead. In end of data: haskell-ghci.el:334:1:Warning: the function `comint-mode' might not be defined at runtime. Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-ghci.elc In haskell-hugs-gen-load-file: haskell-hugs.el:283:25:Warning: `string-to-int' is an obsolete function (as of Emacs 22.1); use `string-to-number' instead. Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-hugs.elc Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-indent.elc In haskell-indentation-mode: haskell-indentation.el:100:32:Warning: assignment to free variable `haskell-indent-last-position' In haskell-indentation-indent-line: haskell-indentation.el:264:20:Warning: assignment to free variable `haskell-indent-last-position' haskell-indentation.el:272:20:Warning: reference to free variable `haskell-indent-last-position' Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-indentation.elc In end of data: haskell-mode.el:621:1:Warning: the function `compile-internal' is not known to be defined. Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-mode.elc Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-simple-indent.elc Wrote /home/foo/rpmbuild/BUILD/haskell-mode-2.7.0/haskell-site-file.elc In toplevel form: inf-haskell.el:38:1:Error: Cannot open load file: haskell-mode nilerror: Bad exit status from /var/tmp/rpm-tmp.rSeL06 (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.rSeL06 (%build) === END === Now, when I try using "emacs -batch -f batch-byte-compile *.el", I get the above error. But, using "emacs --batch --eval '(setq load-path (cons "." load-path))' -f batch-byte-compile *.el" builds fine though.
I had no problems rebuilding http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.7.0-1.fc12.src.rpm on F-12.
Hi, Updated the package to make it work with centos. Spec URL: http://sagarun.fedorapeople.org/SPECS/emacs-haskell-mode.spec SRPM URL: http://sagarun.fedorapeople.org/SRPMS/emacs-haskell-mode-2.7.0-3.fc12.src.rpm
- MUST: The package is named according to the Package Naming Guidelines. - MUST: The spec file name matches the base package emacs-%{name} - MUST: The package meets the Packaging Guidelines. - MUST: The package is licensed with an open-source compatible license and meet other legal requirements as defined in the legal section of Packaging Guidelines. - MUST: The License field in the package spec file matches the actual license. - MUST: The spec file must be written in American English. - MUST: The spec file for the package is be legible. - MUST: The sources used to build the package must matches the upstream source, as provided in the spec URL. - MUST: The package successfully compiles and builds into binary rpms on at least i686. - MUST: All build dependencies is listed in BuildRequires. - MUST: The spec file handles locales properly. Emacs-haskell-mode does not have any. - MUST: If the package does not contain shared library files located in the dynamic linker's default paths. Emacs-haskell-mode does not have any. - MUST: the package is not designed to be relocatable - MUST: the package owns all directories that it creates. - MUST: the package does not contain any duplicate files in the %files listing. - MUST: Permissions on files are set properly. - MUST: The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). - MUST: The package consistently uses macros, as described in the macros section of Packaging Guidelines. - MUST: The package contains code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines. - MUST: There are no Large documentation files. Emacs-spice-mode does not have any. - MUST: %doc does not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. - MUST: There are no Header files or static libraries - MUST: The package does not contain library files with a suffix - MUST: Package does NOT contain any .la libtool archives - MUST: Package containing GUI applications includes a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. - MUST: Package does not own files or directories already owned by other packages. SHOULD Items: - SHOULD: mock builds successfully in i686. - SHOULD: The reviewer tested that the package functions as described. A package should not segfault instead of running, for example. - SHOULD: No scriptlets were used, those scriptlets must be sane. APPROVED
New Package CVS Request ======================= Package Name: emacs-haskell-mode Short Description: Haskell editing mode for Emacs Owners: sagarun chitlesh Branches: F-11 F-12 EL-5
cvs done.
Thanks :) I added haskell-sig to the CC list for this package.
I already pushed the package (on 22/12/09) ,but i don't know why it didn't post the status here https://admin.fedoraproject.org/pkgdb/packages/name/emacs-haskell-mode
(In reply to comment #40) > I already pushed the package (on 22/12/09) ,but i don't know why it didn't post > the status here The packagedb doesn't know about review bugs: it is your responsibility to close once the package is imported and built. :)
Hi, could you please add emacs-haskell-mode to EPEL 7 too? :)